digiKam Developer Documentation
Professional Photo Management with the Power of Open Source
Loading...
Searching...
No Matches
Digikam::DbEngineParameters Class Reference

This class encapsulates all parameters needed to establish a connection to a database (inspired by the API of Qt::Sql). More...

Public Member Functions

 DbEngineParameters (const QString &_type, const QString &_databaseNameCore, const QString &_connectOptions=QString(), const QString &_hostName=QString(), int _port=-1, bool _walMode=false, bool _internalServer=false, const QString &_userName=QString(), const QString &_password=QString(), const QString &_databaseNameThumbnails=QString(), const QString &_databaseNameFace=QString(), const QString &_databaseNameSimilarity=QString(), const QString &_internalServerDBPath=QString(), const QString &_internalServerMariaDBInitCmd=QString(), const QString &_internalServerMariaDBAdminCmd=QString(), const QString &_internalServerMariaDBServerCmd=QString(), const QString &_internalServerMariaDBUpgradeCmd=QString())
 DbEngineParameters (const QUrl &url)
 QUrl helpers.
DbEngineParameters faceParameters () const
 Replaces databaseName with databaseNameFace.
QString getCoreDatabaseNameOrDir () const
QString getFaceDatabaseNameOrDir () const
QString getSimilarityDatabaseNameOrDir () const
QString getThumbsDatabaseNameOrDir () const
QByteArray hash () const
 Creates a unique hash of the values stored in this object.
void insertInUrl (QUrl &url) const
QString internalServerPath () const
bool isMariaDB () const
bool isSQLite () const
bool isValid () const
 Performs basic checks that the parameters are not empty and have the information required for the databaseType.
void legacyAndDefaultChecks (const QString &suggestedPath=QString())
bool operator!= (const DbEngineParameters &other) const
bool operator== (const DbEngineParameters &other) const
void readFromConfig (const QString &configGroup=QString())
 Read and write parameters from config.
void removeLegacyConfig ()
void setCoreDatabasePath (const QString &folderOrFileOrName)
 Use these methods if you set a file or a folder.
void setFaceDatabasePath (const QString &folderOrFileOrName)
void setInternalServerPath (const QString &path)
 For MariaDB internal server: manage the database path to store database files.
void setSimilarityDatabasePath (const QString &folderOrFileOrName)
void setThumbsDatabasePath (const QString &folderOrFileOrName)
DbEngineParameters similarityParameters () const
 Replaces databaseName with databaseNameFace.
QString SQLiteDatabaseFile () const
DbEngineParameters thumbnailParameters () const
 Replaces databaseName with databaseNameThumbnails.
void writeToConfig (const QString &configGroup=QString()) const

Static Public Member Functions

static QString coreDatabaseDirectorySQLite (const QString &path)
static QString coreDatabaseFileSQLite (const QString &folderOrFile)
static QString defaultMariaDBAdminCmd ()
 Return the default MariaDB server administration name (Internal server only).
static QString defaultMariaDBInitCmd ()
 Return the default MariaDB initialization command name (Internal server only).
static QString defaultMariaDBServerCmd ()
 Return the default MariaDB server command name (Internal server only).
static QString defaultMariaDBUpgradeCmd ()
 Return the default MariaDB upgrade command name (Internal server only).
static DbEngineParameters defaultParameters (const QString &databaseType)
 Return a set of default parameters for the given type.
static QString faceDatabaseDirectorySQLite (const QString &path)
static QString faceDatabaseFileSQLite (const QString &folderOrFile)
static QString MariaDBDatabaseType ()
static DbEngineParameters parametersForSQLite (const QString &databaseFile)
 Convenience methods to create a DbEngineParameters object for an SQLITE database specified by the local file path.
static DbEngineParameters parametersForSQLiteDefaultFile (const QString &directory)
static DbEngineParameters parametersFromConfig (const QString &configGroup=QString())
static void removeFromUrl (QUrl &url)
static QString serverPrivatePath ()
 Return the hidden path from home directory to store private data used by internal MariaDB server.
static QString similarityDatabaseDirectorySQLite (const QString &path)
static QString similarityDatabaseFileSQLite (const QString &folderOrFile)
static QString SQLiteDatabaseType ()
 Returns the databaseType designating the said database.
static QString thumbnailDatabaseDirectorySQLite (const QString &path)
static QString thumbnailDatabaseFileSQLite (const QString &folderOrFile)

Public Attributes

QString connectOptions
QString databaseNameCore
QString databaseNameFace
QString databaseNameSimilarity
QString databaseNameThumbnails
QString databaseType
QString hostName
bool internalServer = false
QString internalServerDBPath
QString internalServerMariaDBAdminCmd
QString internalServerMariaDBInitCmd
 Settings stored in config file and used only with internal server at runtime to start server instance or init database tables.
QString internalServerMariaDBServerCmd
QString internalServerMariaDBUpgradeCmd
QString password
int port = -1
QString userName
bool walMode = false

Detailed Description

The values can be read from and written to a QUrl.

Member Function Documentation

◆ defaultParameters()

DbEngineParameters Digikam::DbEngineParameters::defaultParameters ( const QString & databaseType)
static

For MariaDB, it return internal server configuration.

◆ getCoreDatabaseNameOrDir()

QString Digikam::DbEngineParameters::getCoreDatabaseNameOrDir ( ) const
Note
In case of SQLite, the database name typically is a file. For non-SQLite, this simply handle the database name.

◆ readFromConfig()

void Digikam::DbEngineParameters::readFromConfig ( const QString & configGroup = QString())

You can specify the group, or use the default value.

◆ SQLiteDatabaseType()

QString Digikam::DbEngineParameters::SQLiteDatabaseType ( )
static

If you have a DbEngineParameters object already, you can use isSQLite() as well. These strings are identical to the driver identifiers in the Qt SQL module.