java.lang.Object
org.litebridge.db.spi.impl.AbstractDatabaseProvider
org.litebridge.db.postgres.PostgresDatabaseProvider
- All Implemented Interfaces:
DatabaseProvider
PostgresqlDatabaseProvider is a concrete implementation of AbstractDatabaseProvider
specifically designed to interact with PostgreSQL database instances.
-
Field Summary
Fields inherited from class org.litebridge.db.spi.impl.AbstractDatabaseProvider
columnIdentifierGenerator, deleteSqlGenerator, insertSqlGenerator, selectSqlGenerator, typeConverter, updateSqlGenerator -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a newPostgresDatabaseProviderusing a default type converter. -
Method Summary
Modifier and TypeMethodDescriptionprotected AliasTransformerCreate anAliasTransformerinstance for the database provider.protected PreparedStatementcreatePreparedStatementUsingConnection(PreparedSql preparedSql, boolean returnGeneratedKeys, TableMetaData tableMetaData, ManagedConnection connection) Creates aPreparedStatementusing the provided connection and prepared SQL.protected org.slf4j.LoggerReturn the logger instance for this database provider.getSequenceColumnValueGenerator(String sequence) Retrieves aSequenceColumnValueGeneratorinstance for generating SQL fragments that fetch the next value from a specified database sequence.Methods inherited from class org.litebridge.db.spi.impl.AbstractDatabaseProvider
createColumnIdentifierGenerator, createDeleteSqlGenerator, createInsertSqlGenerator, createSelectSqlGenerator, createSqlFunctionRegistryFactory, createUpdateSqlGenerator, delete, ensureTableMetaData, executeSqlInsert, executeSqlUpdate, extractGeneratedKeys, fetchTableMetaData, getAliasTransformer, getColumnMetaData, getGeneratedPrimaryKeyColumns, getPrimaryKeyColumnNames, getSqlFunctionRegistry, getTypeConverter, insert, nativeSqlQuery, nativeSqlUpdate, prepareNativeStatement, prepareStatement, select, tableMetaData, toSql, update, verifySchemaAndTableExists
-
Constructor Details
-
PostgresDatabaseProvider
public PostgresDatabaseProvider()Constructs a newPostgresDatabaseProviderusing a default type converter.
-
-
Method Details
-
createPreparedStatementUsingConnection
protected PreparedStatement createPreparedStatementUsingConnection(PreparedSql preparedSql, boolean returnGeneratedKeys, TableMetaData tableMetaData, ManagedConnection connection) throws SQLException Description copied from class:AbstractDatabaseProviderCreates aPreparedStatementusing the provided connection and prepared SQL.- Overrides:
createPreparedStatementUsingConnectionin classAbstractDatabaseProvider- Parameters:
preparedSql- the SQL and bind values to usereturnGeneratedKeys- whether to return generated keystableMetaData- the metadata for the table, required if returnGeneratedKeys is trueconnection- the connection to use for preparing the statement- Returns:
- the created prepared statement
- Throws:
SQLException- if a database access error occurs
-
getSequenceColumnValueGenerator
public SequenceColumnValueGenerator getSequenceColumnValueGenerator(String sequence) throws UnsupportedOperationException Description copied from interface:DatabaseProviderRetrieves aSequenceColumnValueGeneratorinstance for generating SQL fragments that fetch the next value from a specified database sequence. This is typically used in SQL statements such as INSERT or UPDATE to generate unique values from a sequence.- Specified by:
getSequenceColumnValueGeneratorin interfaceDatabaseProvider- Overrides:
getSequenceColumnValueGeneratorin classAbstractDatabaseProvider- Parameters:
sequence- the name of the database sequence from which the values will be generated. It is used to create the SQL fragment to retrieve the next value in the sequence.- Returns:
- a
SequenceColumnValueGeneratorinstance that generates SQL fragments for retrieving sequence values. - Throws:
UnsupportedOperationException- if the database provider does not support sequence-based value generation.
-
createAliasTransformer
Description copied from class:AbstractDatabaseProviderCreate anAliasTransformerinstance for the database provider.- Overrides:
createAliasTransformerin classAbstractDatabaseProvider- Returns:
- an
AliasTransformerinstance
-
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
-