java.lang.Object
org.litebridgedb.db.spi.impl.AbstractDatabaseProvider
org.litebridgedb.db.sqlite.SQLiteDatabaseProvider
- All Implemented Interfaces:
DatabaseProvider
SQLite Database Provider for Litebridge.
This class provides SQLite-specific implementations for database interactions.
-
Field Summary
Fields inherited from class org.litebridgedb.db.spi.impl.AbstractDatabaseProvider
columnIdentifierGenerator, deleteSqlGenerator, insertSqlGenerator, selectSqlGenerator, typeConverter, updateSqlGenerator -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected PreparedStatementcreatePreparedStatementUsingConnection(PreparedSql preparedSql, boolean returnGeneratedKeys, TableMetaData tableMetaData, ManagedConnection connection) protected Map<ColumnMetaData, Object> extractGeneratedKeys(TableMetaData tableMetaData, PreparedStatement preparedStatement) protected TableMetaDatafetchTableMetaData(Table table, ConnectionProvider connectionProvider) Retrieve metadata for the specified table, including its primary keys and expressions.protected List<ColumnMetaData> getColumnMetaData(Table table, DatabaseMetaData databaseMetaData) protected org.slf4j.LoggerReturn the logger instance for this database provider.getSequenceColumnValueGenerator(String sequence) SQLite does not support sequences.Methods inherited from class org.litebridgedb.db.spi.impl.AbstractDatabaseProvider
createAliasTransformer, createColumnIdentifierGenerator, createDeleteSqlGenerator, createInsertSqlGenerator, createSelectSqlGenerator, createSqlFunctionRegistryFactory, createUpdateSqlGenerator, delete, ensureTableMetaData, executeSqlInsert, executeSqlUpdate, getAliasTransformer, getGeneratedPrimaryKeyColumns, getPrimaryKeyColumnNames, getSqlFunctionRegistry, getTypeConverter, insert, prepareStatement, select, tableMetaData, toSql, update, verifySchemaAndTableExists
-
Constructor Details
-
SQLiteDatabaseProvider
public SQLiteDatabaseProvider()
-
-
Method Details
-
createPreparedStatementUsingConnection
protected PreparedStatement createPreparedStatementUsingConnection(PreparedSql preparedSql, boolean returnGeneratedKeys, TableMetaData tableMetaData, ManagedConnection connection) throws SQLException - Overrides:
createPreparedStatementUsingConnectionin classAbstractDatabaseProvider- Throws:
SQLException
-
extractGeneratedKeys
protected Map<ColumnMetaData,Object> extractGeneratedKeys(TableMetaData tableMetaData, PreparedStatement preparedStatement) throws SQLException - Overrides:
extractGeneratedKeysin classAbstractDatabaseProvider- Throws:
SQLException
-
fetchTableMetaData
protected TableMetaData fetchTableMetaData(Table table, ConnectionProvider connectionProvider) throws SQLException Description copied from class:AbstractDatabaseProviderRetrieve metadata for the specified table, including its primary keys and expressions.This executes a database query to fetch database metadata.
- Overrides:
fetchTableMetaDatain classAbstractDatabaseProvider- Parameters:
table- the table for which metadata is being fetched, containing schema, catalog, and table name details- Returns:
- a
TableMetaDataobject containing details about the table's structure, primary keys, and column metadata - Throws:
SQLException- if an error occurs while fetching database metadata
-
getColumnMetaData
protected List<ColumnMetaData> getColumnMetaData(Table table, DatabaseMetaData databaseMetaData) throws SQLException - Overrides:
getColumnMetaDatain classAbstractDatabaseProvider- Throws:
SQLException
-
getSequenceColumnValueGenerator
public SequenceColumnValueGenerator getSequenceColumnValueGenerator(String sequence) throws UnsupportedOperationException SQLite does not support sequences. Throws anUnsupportedOperationExceptionif called.- Specified by:
getSequenceColumnValueGeneratorin interfaceDatabaseProvider- Overrides:
getSequenceColumnValueGeneratorin classAbstractDatabaseProvider- Parameters:
sequence- the sequence name- Returns:
- N/A; throws an
UnsupportedOperationException - Throws:
UnsupportedOperationException- if called
-
getLogger
protected org.slf4j.Logger getLogger()Description copied from class:AbstractDatabaseProviderReturn the logger instance for this database provider.- Overrides:
getLoggerin classAbstractDatabaseProvider- Returns:
- the logger instance
-