diff options
author | Anel Husakovic <anel@mariadb.org> | 2020-12-01 15:40:44 +0100 |
---|---|---|
committer | Anel Husakovic <anel@mariadb.org> | 2020-12-01 15:40:53 +0100 |
commit | c5ef68e78c3bd47e2ce6c61227339fdcd51729b1 (patch) | |
tree | 26f47b5b5dd92a95038c5f5ab41be8bf4092724d | |
parent | c537576495e1e651bf3dc63e5a569fcddd9fbec8 (diff) | |
download | mariadb-git-bb-10.3-anel-MDEV-24139-check_constraint_value_field.tar.gz |
MDEV-24139: CHECK_CLAUSE field in INFORMATION_SCHEMA.CHECK_CONSTRAINTS truncate check constraints expressionsbb-10.3-anel-MDEV-24139-check_constraint_value_field
- Reviewed by: daniel@mariadb.org
-rw-r--r-- | mysql-test/suite/funcs_1/r/is_check_constraints.result | 5 | ||||
-rw-r--r-- | mysql-test/suite/funcs_1/t/is_check_constraints.test | 4 | ||||
-rw-r--r-- | sql/sql_show.cc | 2 |
3 files changed, 8 insertions, 3 deletions
diff --git a/mysql-test/suite/funcs_1/r/is_check_constraints.result b/mysql-test/suite/funcs_1/r/is_check_constraints.result index 1b54135e355..4c00662e4b5 100644 --- a/mysql-test/suite/funcs_1/r/is_check_constraints.result +++ b/mysql-test/suite/funcs_1/r/is_check_constraints.result @@ -90,7 +90,9 @@ CREATE TABLE t3 ( a int, b int check (b>0), # field constraint named 'b' -CONSTRAINT b check (b>10) # table constraint +CONSTRAINT b check (b>10), # table constraint +# `CHECK_CLAUSE` should allow more then `var(64)` constraints +CONSTRAINT b1 check (b<123456789012345678901234567890123456789012345678901234567890123456789) ) ENGINE=InnoDB; SELECT * from information_schema.check_constraints; CONSTRAINT_CATALOG CONSTRAINT_SCHEMA TABLE_NAME CONSTRAINT_NAME CHECK_CLAUSE @@ -104,6 +106,7 @@ def foo t2 CHK_dates `start_date` is null def foo t2 name char_length(`name`) > 2 def foo t3 b `b` > 0 def foo t3 b `b` > 10 +def foo t3 b1 `b` < 123456789012345678901234567890123456789012345678901234567890123456789 disconnect con1; CONNECT con2, localhost, boo2,, test; SELECT * from information_schema.check_constraints; diff --git a/mysql-test/suite/funcs_1/t/is_check_constraints.test b/mysql-test/suite/funcs_1/t/is_check_constraints.test index b539de67f73..ac6d2192ecb 100644 --- a/mysql-test/suite/funcs_1/t/is_check_constraints.test +++ b/mysql-test/suite/funcs_1/t/is_check_constraints.test @@ -69,7 +69,9 @@ CREATE TABLE t3 ( a int, b int check (b>0), # field constraint named 'b' -CONSTRAINT b check (b>10) # table constraint +CONSTRAINT b check (b>10), # table constraint +# `CHECK_CLAUSE` should allow more then `var(64)` constraints +CONSTRAINT b1 check (b<123456789012345678901234567890123456789012345678901234567890123456789) ) ENGINE=InnoDB; --sorted_result SELECT * from information_schema.check_constraints; diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 909963f5f7a..17b23d9e7d9 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -9814,7 +9814,7 @@ ST_FIELD_INFO check_constraints_fields_info[]= {"TABLE_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0, OPEN_FULL_TABLE}, {"CONSTRAINT_NAME", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0, OPEN_FULL_TABLE}, - {"CHECK_CLAUSE", NAME_CHAR_LEN, MYSQL_TYPE_STRING, 0, 0, 0, + {"CHECK_CLAUSE", 65535, MYSQL_TYPE_STRING, 0, 0, 0, OPEN_FULL_TABLE}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE} }; |