@Override
public Long getNextBatchId( DatabaseMeta dbm, Database ldb,
String schemaName, String tableName, String fieldName ) throws KettleDatabaseException {
ldb.setCommit( 10 );
Map<String, String> connectionExtraOptions = this.getExtraOptions();
String sequenceProp = this.getPluginId() + "." + SEQUENCE_FOR_BATCH_ID;
String autoIncSQLProp = this.getPluginId() + "." + AUTOINCREMENT_SQL_FOR_BATCH_ID;
if ( connectionExtraOptions != null ) {
if ( this.supportsSequences() && connectionExtraOptions.containsKey( sequenceProp ) ) {
return getNextBatchIdUsingSequence( connectionExtraOptions.get( sequenceProp ), schemaName, dbm, ldb );
} else if ( this.supportsAutoInc() && connectionExtraOptions.containsKey( autoIncSQLProp ) ) {
return getNextBatchIdUsingAutoIncSQL( connectionExtraOptions.get( autoIncSQLProp ), dbm, ldb );
}
}
return getNextBatchIdUsingLockTables( dbm, ldb, schemaName, tableName, fieldName );
}