in exposed-jdbc/src/main/kotlin/org/jetbrains/exposed/v1/jdbc/statements/jdbc/JdbcDatabaseMetadataImpl.kt [401:430]
override fun sequences(): List<String> {
val dialect = currentDialect
val fieldName = "SEQUENCE_NAME"
return when (dialect) {
is OracleDialect -> metadata.connection.executeSQL("SELECT $fieldName FROM USER_SEQUENCES") { rs ->
rs.iterate {
val seqName = getString(fieldName)
if (identifierManager.isDotPrefixedAndUnquoted(seqName)) "\"$seqName\"" else seqName
}
}
is H2Dialect -> metadata.connection.executeSQL("SELECT $fieldName FROM INFORMATION_SCHEMA.SEQUENCES") { rs ->
rs.iterate {
val seqName = getString(fieldName)
if (dialect.h2Mode == H2CompatibilityMode.Oracle && identifierManager.isDotPrefixedAndUnquoted(seqName)) {
"\"$seqName\""
} else {
seqName
}
}
}
is SQLServerDialect -> metadata.connection.executeSQL("SELECT name AS $fieldName FROM sys.sequences") { rs ->
rs.iterate {
getString(fieldName)
}
}
else -> metadata.getTables(null, null, null, arrayOf("SEQUENCE")).iterate {
getString(3)
}
} ?: emptyList()
}