Module litebridge.db.spi
Class SequenceColumnValueGenerator
java.lang.Object
org.litebridgedb.db.spi.generator.SequenceColumnValueGenerator
- All Implemented Interfaces:
ColumnValueGenerator
- Direct Known Subclasses:
DefaultSequenceColumnValueGenerator,OracleSequenceColumnValueGenerator,PostgresSequenceColumnValueGenerator
Abstract base class for generating SQL fragments to retrieve the next value from a database sequence
to be used in SQL statements such as INSERT or UPDATE.
Subclasses must implement the generate(ColumnMetaData) method to provide database-specific
SQL syntax for fetching the next sequence value.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSequenceColumnValueGenerator(String sequence) Constructs a new instance ofSequenceColumnValueGenerator. -
Method Summary
Modifier and TypeMethodDescriptionabstract Stringgenerate(ColumnMetaData columnMetaData) Generate a SQL fragment to retrieve the next value from a sequence for direct use in an INSERT or UPDATE statement, e.g. to generate "INSERT INTO LB.ACCOUNT(ACCOUNT_ID, ACCOUNT_NAME) VALUES (NEXT VALUE FOR sequence_name, ?)"
-
Field Details
-
sequence
-
-
Constructor Details
-
SequenceColumnValueGenerator
Constructs a new instance ofSequenceColumnValueGenerator.- Parameters:
sequence- the name of the database sequence from which values will be generated. This sequence name is used to create the SQL fragment for retrieving the next value in the sequence.
-
-
Method Details
-
generate
Generate a SQL fragment to retrieve the next value from a sequence for direct use in an INSERT or UPDATE statement, e.g. to generate "INSERT INTO LB.ACCOUNT(ACCOUNT_ID, ACCOUNT_NAME) VALUES (NEXT VALUE FOR sequence_name, ?)", this method returns "NEXT VALUE FOR sequence_name".- Specified by:
generatein interfaceColumnValueGenerator- Parameters:
columnMetaData- Column to generate a value for- Returns:
- a formatted SQL string representing the next sequence value for direct insertion
-