@Override public SequenceInformation locateSequenceInformation(QualifiedSequenceName sequenceName) { // again, follow legacy behavior if ( sequenceName.getCatalogName() != null || sequenceName.getSchemaName() != null ) { sequenceName = new QualifiedSequenceName( null, null, sequenceName.getSequenceName() ); } return sequenceInformationMap.get( sequenceName ); } }
@Override public String format(QualifiedSequenceName qualifiedSequenceName, Dialect dialect) { return format.format( qualifiedSequenceName.getCatalogName(), qualifiedSequenceName.getSchemaName(), qualifiedSequenceName.getSequenceName(), dialect ); }
/** * Get the database sequence increment value from the associated {@link SequenceInformation} object. * * @param jdbcEnvironment the current JdbcEnvironment * @param sequenceName sequence name * * @return sequence increment value */ private Long getSequenceIncrementValue(JdbcEnvironment jdbcEnvironment, String sequenceName) { return jdbcEnvironment.getExtractedDatabaseMetaData().getSequenceInformationList().stream().filter( sequenceInformation -> { Identifier catalog = sequenceInformation.getSequenceName().getCatalogName(); Identifier schema = sequenceInformation.getSequenceName().getSchemaName(); return sequenceName.equalsIgnoreCase( sequenceInformation.getSequenceName().getSequenceName().getText() ) && ( catalog == null || catalog.equals( jdbcEnvironment.getCurrentCatalog() ) ) && ( schema == null || schema.equals( jdbcEnvironment.getCurrentSchema() ) ); } ).map( SequenceInformation::getIncrementValue ).findFirst().orElse( null ); } }