diff options
author | unknown <sanja@montyprogram.com> | 2012-09-28 14:01:17 +0300 |
---|---|---|
committer | unknown <sanja@montyprogram.com> | 2012-09-28 14:01:17 +0300 |
commit | 7327cd9717f0b98499f0f5b19c84e5e3e48241df (patch) | |
tree | f652710ef9b4e4f9709728f1bca3b01ee52fdfc9 /mysql-test/t/dyncol.test | |
parent | 4db207d56da2f832d8bc6cc1d935a17efcbc1035 (diff) | |
download | mariadb-git-7327cd9717f0b98499f0f5b19c84e5e3e48241df.tar.gz |
MDEV-377 Name support for dynamic columns
MDEV-127 Optimization of memory allocation
MDEV-483 Make column_check function which cheсks dynamic columns integrit
JSON conversion function
Diffstat (limited to 'mysql-test/t/dyncol.test')
-rw-r--r-- | mysql-test/t/dyncol.test | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/mysql-test/t/dyncol.test b/mysql-test/t/dyncol.test index 66e308540f4..143a833fe8d 100644 --- a/mysql-test/t/dyncol.test +++ b/mysql-test/t/dyncol.test @@ -550,3 +550,125 @@ select hex(COLUMN_CREATE(0, COLUMN_GET(@a, 9 AS DECIMAL(19,0)))); select hex(COLUMN_CREATE(0, COLUMN_GET(COLUMN_CREATE(0, 0.0 as decimal), 0 as decimal))); select hex(COLUMN_CREATE(0, 0.0 as decimal)); + +--echo # +--echo # test of symbolic names +--echo # +--echo # creation test (names) +set names utf8; +select hex(column_create("адын", 1212)); +select hex(column_create("1212", 1212)); +select hex(column_create(1212, 2, "www", 3)); +select hex(column_create("1212", 2, "www", 3)); +select hex(column_create("1212", 2, 3, 3)); +select hex(column_create("1212", 2, "адын", 1, 3, 3)); +set names default; + +--echo # fetching column test (names) +set names utf8; +select column_get(column_create("адын", 1212), "адын" as int); +select column_get(column_create("1212", 2, "адын", 1, 3, 3), "адын" as int); +select column_get(column_create("1212", 2, "адын", 1, 3, 3), 1212 as int); +select column_get(column_create("1212", 2, "адын", 1, 3, 3), "3" as int); +select column_get(column_create("1212", 2, "адын", 1, 3, 3), 3 as int); +select column_get(column_create("1212", 2, "адын", 1, 3, 3), 4 as int); +select column_get(column_create("1212", 2, "адын", 1, 3, 3), "4" as int); +set names default; + +--echo # column existance test (names) +set names utf8; +select column_exists(column_create("адын", 1212), "адын"); +select column_exists(column_create("адын", 1212), "aады"); +select column_exists(column_create("1212", 2, "адын", 1, 3, 3), "адын"); +select column_exists(column_create("1212", 2, "адын", 1, 3, 3), 1212); +select column_exists(column_create("1212", 2, "адын", 1, 3, 3), "3"); +select column_exists(column_create("1212", 2, "адын", 1, 3, 3), 3); +select column_exists(column_create("1212", 2, "адын", 1, 3, 3), 4); +select column_exists(column_create("1212", 2, "адын", 1, 3, 3), "4"); +set names default; + +--echo # column changing test (names) +select hex(column_add(column_create(1, "AAA"), "b", "BBB")); +select hex(column_add(column_create("1", "AAA"), "b", "BBB")); +select column_get(column_add(column_create(1, "AAA"), "b", "BBB"), 1 as char); +select column_get(column_add(column_create(1, "AAA"), "b", "BBB"), "b" as char); +select hex(column_add(column_create("a", "AAA"), 1, "BBB")); +select hex(column_add(column_create("a", "AAA"), "1", "BBB")); +select hex(column_add(column_create("a", 1212 as integer), "b", "1212" as integer)); +select hex(column_add(column_create("a", 1212 as integer), "a", "1212" as integer)); +select hex(column_add(column_create("a", 1212 as integer), "a", NULL as integer)); +select hex(column_add(column_create("a", 1212 as integer), "b", NULL as integer)); +select hex(column_add(column_create("a", 1212 as integer), "b", 1212 as integer, "a", 11 as integer)); +select column_get(column_add(column_create("a", 1212 as integer), "b", 1212 as integer, "a", 11 as integer), "a" as integer); +select column_get(column_add(column_create("a", 1212 as integer), "b", 1212 as integer, "a", 11 as integer), "b" as integer); +select hex(column_add(column_create("a", 1212 as integer), "a", 1212 as integer, "b", 11 as integer)); +select hex(column_add(column_create("a", NULL as integer), "a", 1212 as integer, "b", 11 as integer)); +select hex(column_add(column_create("a", 1212 as integer, "b", 1212 as integer), "a", 11 as integer)); +select hex(column_add(column_create("a", 1), "a", null)); +select column_list(column_add(column_create("a", 1), "a", null)); +select column_list(column_add(column_create("a", 1), "a", "")); +select hex(column_add("", "a", 1)); + +-- echo # column delete (names) +select hex(column_delete(column_create("a", 1212 as integer, "b", 1212 as integer), "a")); +select hex(column_delete(column_create("a", 1 as integer, "b", 2 as integer, "c", 3 as integer), "b")); +select hex(column_create("a", 1 as integer, "b", 2 as integer, "c", 3 as integer)); +select hex(column_delete(column_create("a", 1 as integer, "b", 2 as integer, "c", 3 as integer), "c")); +select hex(column_delete(column_create("a", 1 as integer, "b", 2 as integer, "c", 3 as integer), "d")); +select hex(column_delete(column_create("a", 1 as integer, "b", 2 as integer, "c", 3 as integer), "b", "a")); +select hex(column_delete(column_create("a", 1 as integer, "b", 2 as integer, "c", 3 as integer), "b", "c")); +select hex(column_delete(column_create("a", 1 as integer, "b", 2 as integer, "c", 3 as integer), "a", "b", "c")); +select hex(column_delete(column_create("a", 1 as integer, "b", 2 as integer, "c", 3 as integer), "a", "b", "c", "e")); +select hex(column_delete(column_create("a", 1), "a")); +select hex(column_delete("", "a")); + +--echo # +--echo # MDEV-458 DNAMES: Server crashes on using an unquoted string +--echo # as a dynamic column name +--echo # +--error ER_BAD_FIELD_ERROR +select COLUMN_CREATE(color, "black"); + +--echo # +--echo # MDEV-489 Assertion `offset < 0x1f' failed in +--echo # type_and_offset_store on COLUMN_ADD +--echo # +CREATE TABLE t1 (f1 tinyblob); + +INSERT INTO t1 VALUES (COLUMN_CREATE('col1', REPEAT('a',30))); +UPDATE t1 SET f1 = COLUMN_ADD( f1, REPEAT('b',211), 'val2' ); +--error ER_DYN_COL_WRONG_FORMAT +UPDATE t1 SET f1 = COLUMN_ADD( f1, REPEAT('c',211), 'val3' ); +drop table t1; + +--echo # +--echo # MDEV-490/MDEV-491 null as arguments +--echo # +SELECT COLUMN_GET( COLUMN_CREATE( 'col', 'val' ), NULL AS CHAR ); +SELECT COLUMN_GET( NULL, 'col' as char ); +SELECT COLUMN_EXISTS( COLUMN_CREATE( 'col', 'val' ), NULL); +SELECT COLUMN_EXISTS( NULL, 'col'); +SELECT COLUMN_CREATE( NULL, 'val' ); +SELECT COLUMN_ADD( NULL, 'val', 'col'); + +--echo # +--echo # MDEV-488: Assertion `column_name->length < 255' failed on a +--echo # column name with length 255 (precisely) +--echo # +SELECT hex(COLUMN_CREATE(REPEAT('a',255),1)); +--error ER_DYN_COL_DATA +SELECT hex(COLUMN_CREATE(REPEAT('a',256),1)); + +--echo # +--echo # JSON conversion +--echo # +select column_json(column_create("int", -1212 as int, "uint", 12334 as unsigned int, "decimal", "23.344" as decimal, "double", 1.23444e50 as double, "string", 'gdgd\\dhdjh"dhdhd' as char, "time", "0:45:49.000001" AS time, "datetime", "2011-04-05 0:45:49.000001" AS datetime, "date", "2011-04-05" AS date)); +select column_json(column_create(1, -1212 as int, 2, 12334 as unsigned int, 3, "23.344" as decimal, 4, 1.23444e50 as double, 5, 'gdgd\\dhdjh"dhdhd' as char, 6, "0:45:49.000001" AS time, 7, "2011-04-05 0:45:49.000001" AS datetime, 8, "2011-04-05" AS date)); + +--echo # +--echo # CHECK test +--echo # +SELECT COLUMN_CHECK(COLUMN_CREATE(1,'a')); +SELECT COLUMN_CHECK('abracadabra'); +SELECT COLUMN_CHECK(''); +SELECT COLUMN_CHECK(NULL); |