diff --git a/adminer/drivers/mssql.inc.php b/adminer/drivers/mssql.inc.php index 4a44386f..2529e839 100644 --- a/adminer/drivers/mssql.inc.php +++ b/adminer/drivers/mssql.inc.php @@ -678,7 +678,7 @@ WHERE sys1.xtype = 'TR' AND sys2.name = " . q($table) } function support($feature) { - return preg_match('~^(comment|columns|database|drop_col|indexes|descidx|scheme|sql|table|trigger|view|view_trigger)$~', $feature); //! routine| + return preg_match('~^(check|comment|columns|database|drop_col|indexes|descidx|scheme|sql|table|trigger|view|view_trigger)$~', $feature); //! routine| } function driver_config() { diff --git a/adminer/include/editing.inc.php b/adminer/include/editing.inc.php index 27c182b9..5c699950 100644 --- a/adminer/include/editing.inc.php +++ b/adminer/include/editing.inc.php @@ -539,8 +539,8 @@ function create_routine($routine, $row) { function check_constraints($table) { // MariaDB contains CHECK_CONSTRAINTS.TABLE_NAME, MySQL and PostrgreSQL not return get_key_vals("SELECT c.CONSTRAINT_NAME, CHECK_CLAUSE -FROM information_schema.CHECK_CONSTRAINTS c -JOIN information_schema.TABLE_CONSTRAINTS t ON c.CONSTRAINT_SCHEMA = t.CONSTRAINT_SCHEMA AND c.CONSTRAINT_NAME = t.CONSTRAINT_NAME +FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS c +JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS t ON c.CONSTRAINT_SCHEMA = t.CONSTRAINT_SCHEMA AND c.CONSTRAINT_NAME = t.CONSTRAINT_NAME WHERE c.CONSTRAINT_SCHEMA = " . q($_GET["ns"] != "" ? $_GET["ns"] : DB) . " AND t.TABLE_NAME = " . q($table) . " AND CHECK_CLAUSE NOT LIKE '% IS NOT NULL'"); // ignore default IS NOT NULL checks in PostrgreSQL diff --git a/changes.txt b/changes.txt index ded6505f..71e2dfb8 100644 --- a/changes.txt +++ b/changes.txt @@ -1,6 +1,6 @@ Adminer 4.17.0-dev: Hide index column options by default -MySQL, PostgreSQL: Support CHECK constraint +MySQL, PostgreSQL, MS SQL: Support CHECK constraint PostgreSQL: Link user defined types PostgreSQL: Constraint enum values in editing (bug #270) SQLite: Show all supported pragmas in Variables