override fun existingCheckConstraints()

in exposed-jdbc/src/main/kotlin/org/jetbrains/exposed/v1/jdbc/statements/jdbc/JdbcDatabaseMetadataImpl.kt [295:323]


    override fun existingCheckConstraints(vararg tables: Table): Map<Table, List<CheckConstraint>> {
        val result = mutableMapOf<Table, List<CheckConstraint>>()
        tables.forEach { table ->
            val transaction = TransactionManager.current()
            val checkConstraints = mutableListOf<CheckConstraint>()
            metadata.connection.executeSQL(
                """
                    SELECT tc.CONSTRAINT_NAME, cc.CHECK_CLAUSE
                    FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
                    JOIN INFORMATION_SCHEMA.CHECK_CONSTRAINTS cc
                        ON tc.CONSTRAINT_NAME = cc.CONSTRAINT_NAME
                    WHERE tc.CONSTRAINT_TYPE = 'CHECK'
                    AND tc.TABLE_NAME = '${table.nameInDatabaseCaseUnquoted()}';
                """.trimIndent()
            ) { rs ->
                while (rs.next()) {
                    checkConstraints.add(
                        CheckConstraint(
                            tableName = transaction.identity(table),
                            checkName = rs.getString(1),
                            checkOp = rs.getString(2)
                        )
                    )
                }
            }
            result[table] = checkConstraints
        }
        return result
    }