|
ImagingTools Core SDK
|
Database Abstraction Layer (ORM Framework) for ImtCore applications. More...
Classes | |
| class | CSqlDatabaseCollectionStructureIterator |
| class | CSqlDatabaseObjectCollectionComp |
| class | CSqlDatabaseObjectCollectionIterator |
| interface | IDatabaseConnector |
| Manages database connection lifecycle for remote database servers. More... | |
| interface | IDatabaseEngine |
| Core database engine interface for low-level SQL execution and transaction management. More... | |
| interface | IDatabaseLoginSettings |
| Configuration interface for database connection credentials and parameters. More... | |
| interface | IDatabaseObjectDelegate |
| Core ORM interface for object-to-database mapping and SQL query generation. More... | |
| interface | IDependentMetaInfoController |
| Manages cascading metadata updates when related objects are deleted. More... | |
| interface | IJsonBasedMetaInfoDelegate |
| Converts document metadata to/from JSON representation. More... | |
| class | IMetaInfoTableDelegate |
| interface | IMigrationController |
| Controls database schema versioning and migration execution. More... | |
| interface | ISqlDatabaseObjectCollection |
| SQL-specific extension of IObjectCollection for database-backed object collections. More... | |
| class | ISqlDatabaseObjectDelegate |
| interface | ISqlJsonXPathExtractor |
| Database-specific JSON field extraction abstraction. More... | |
Functions | |
| QString | SqlEncode (const QString &sqlQuery) |
| Encodes a string for safe SQL usage. | |
| QString | GetSqlResourcePath (const IDatabaseEngine &databaseEngine, const QString &fileName) |
| Returns the resource path for an SQL script file based on the database driver. | |
Variables | |
| static const QString | NULL_DATA_LITERAL = QStringLiteral("NULL") |
| SQL NULL literal constant. | |
| static const QString | DEFAULT_DATA_LITERAL = QStringLiteral("DEFAULT") |
| SQL DEFAULT literal constant. | |
Database Abstraction Layer (ORM Framework) for ImtCore applications.
The imtdb namespace provides a comprehensive database abstraction layer that enables multi-database support, object-relational mapping, transaction management, and schema migrations.
This library offers:
The library follows a layered architecture:
* Application Layer (IObjectCollection) * ↓ * ORM Layer (ISqlDatabaseObjectDelegate) * ↓ * SQL Generation (Query Builders) * ↓ * Database Engine (IDatabaseEngine) * ↓ * Qt SQL Driver (QSqlDatabase) * ↓ * Database Server (PostgreSQL/SQLite) *
This package is system independent and provides platform-agnostic database abstractions.
| QString imtdb::GetSqlResourcePath | ( | const IDatabaseEngine & | databaseEngine, |
| const QString & | fileName | ||
| ) |
Returns the resource path for an SQL script file based on the database driver.
Selects between :/SQL/SQLite/ and :/SQL/Postgres/ prefixes depending on whether the engine uses the QSQLITE driver.
| databaseEngine | The database engine to query for the driver ID. |
| fileName | The SQL script file name (e.g. "CreateUsersTable.sql"). |
| QString imtdb::SqlEncode | ( | const QString & | sqlQuery | ) |
Encodes a string for safe SQL usage.
Escapes special characters in SQL strings to prevent SQL injection attacks and syntax errors. Specifically:
| sqlQuery | The SQL string to encode |
Example:
|
static |