Path: blob/main/singlestoredb/tests/test.sql
469 views
1CREATE ROWSTORE TABLE IF NOT EXISTS data (2id VARCHAR(255) NOT NULL,3name VARCHAR(255) NOT NULL,4value BIGINT NOT NULL,5PRIMARY KEY (id) USING HASH6) DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;78INSERT INTO data SET id='a', name='antelopes', value=2;9INSERT INTO data SET id='b', name='bears', value=2;10INSERT INTO data SET id='c', name='cats', value=5;11INSERT INTO data SET id='d', name='dogs', value=4;12INSERT INTO data SET id='e', name='elephants', value=0;1314COMMIT;1516CREATE ROWSTORE TABLE IF NOT EXISTS longer_data (17id VARCHAR(255) NOT NULL,18name VARCHAR(255) NOT NULL,19value BIGINT NOT NULL,20PRIMARY KEY (id) USING HASH21) DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;2223INSERT INTO longer_data SET id='a', name='antelopes', value=2;24INSERT INTO longer_data SET id='b', name='bears', value=2;25INSERT INTO longer_data SET id='c', name='cats', value=5;26INSERT INTO longer_data SET id='d', name='dogs', value=4;27INSERT INTO longer_data SET id='e', name='elephants', value=0;28INSERT INTO longer_data SET id='f', name='ferrets', value=2;29INSERT INTO longer_data SET id='g', name='gorillas', value=4;30INSERT INTO longer_data SET id='h', name='horses', value=6;31INSERT INTO longer_data SET id='i', name='iguanas', value=2;32INSERT INTO longer_data SET id='j', name='jaguars', value=0;33INSERT INTO longer_data SET id='k', name='kiwis', value=0;34INSERT INTO longer_data SET id='l', name='leopards', value=1;3536COMMIT;3738CREATE ROWSTORE TABLE IF NOT EXISTS data_with_nulls (39id VARCHAR(255) NOT NULL,40name VARCHAR(255),41value BIGINT,42PRIMARY KEY (id) USING HASH43) DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;4445INSERT INTO data_with_nulls SET id='a', name='antelopes', value=2;46INSERT INTO data_with_nulls SET id='b', name=NULL, value=2;47INSERT INTO data_with_nulls SET id='c', name=NULL, value=5;48INSERT INTO data_with_nulls SET id='d', name='dogs', value=NULL;49INSERT INTO data_with_nulls SET id='e', name='elephants', value=0;5051COMMIT;5253CREATE OR REPLACE PROCEDURE get_animal(nm VARCHAR(255) NOT NULL COLLATE utf8_unicode_ci) AS54BEGIN55ECHO SELECT value FROM data WHERE name = nm; --56ECHO SELECT 1, 2, 3; --57END;5859CREATE OR REPLACE PROCEDURE no_args() AS60BEGIN61ECHO SELECT 4, 5, 6; --62END;6364CREATE OR REPLACE PROCEDURE return_int() RETURNS BIGINT AS65BEGIN66RETURN 1234567890; --67END;6869CREATE OR REPLACE PROCEDURE result_set_and_return_int() RETURNS BIGINT AS70BEGIN71ECHO SELECT value FROM data WHERE name = 'cats'; --72ECHO SELECT 1, 2, 3; --73RETURN 1234567890; --74END;7576COMMIT;7778CREATE TABLE IF NOT EXISTS alltypes (79`id` INT(11),80`tinyint` TINYINT,81`unsigned_tinyint` TINYINT UNSIGNED,82`bool` BOOL,83`boolean` BOOLEAN,84`smallint` SMALLINT,85`unsigned_smallint` SMALLINT UNSIGNED,86`mediumint` MEDIUMINT,87`unsigned_mediumint` MEDIUMINT UNSIGNED,88`int24` MEDIUMINT,89`unsigned_int24` MEDIUMINT UNSIGNED,90`int` INT,91`unsigned_int` INT UNSIGNED,92`integer` INTEGER,93`unsigned_integer` INTEGER UNSIGNED,94`bigint` BIGINT,95`unsigned_bigint` BIGINT UNSIGNED,96`float` FLOAT,97`double` DOUBLE,98`real` REAL,99`decimal` DECIMAL(20,6),100`dec` DEC(20,6),101`fixed` FIXED(20,6),102`numeric` NUMERIC(20,6),103`date` DATE,104`time` TIME,105`time_6` TIME(6),106`datetime` DATETIME,107`datetime_6` DATETIME(6),108`timestamp` TIMESTAMP,109`timestamp_6` TIMESTAMP(6),110`year` YEAR,111`char_100` CHAR(100),112`binary_100` BINARY(100),113`varchar_200` VARCHAR(200),114`varbinary_200` VARBINARY(200),115`longtext` LONGTEXT,116`mediumtext` MEDIUMTEXT,117`text` TEXT,118`tinytext` TINYTEXT,119`longblob` LONGBLOB,120`mediumblob` MEDIUMBLOB,121`blob` BLOB,122`tinyblob` TINYBLOB,123`json` JSON,124-- `geographypoint` GEOGRAPHYPOINT,125-- `geography` GEOGRAPHY,126`enum` ENUM('one', 'two', 'three'),127`set` SET('one', 'two', 'three'),128`bit` BIT129)130COLLATE='utf8_unicode_ci';131132INSERT INTO alltypes SET133`id`=0,134`tinyint`=80,135`unsigned_tinyint`=85,136`bool`=0,137`boolean`=1,138`smallint`=-27897,139`unsigned_smallint`=27897,140`mediumint`=104729,141`unsigned_mediumint`=120999,142`int24`=-200899,143`unsigned_int24`=407709,144`int`=-1295369311,145`unsigned_int`=3872362332,146`integer`=-1741727421,147`unsigned_integer`=3198387363,148`bigint`=-266883847,149`unsigned_bigint`=980007287362,150`float`=-146486683.754744,151`double`=-474646154.719356,152`real`=-901409776.279346,153`decimal`=28111097.610822,154`dec`=389451155.931428,155`fixed`=-143773416.044092,156`numeric`=866689461.300046,157`date`='8524-11-10',158`time`='00:07:00',159`time_6`='01:10:00.000002',160`datetime`='9948-03-11 15:29:22',161`datetime_6`='1756-10-29 02:02:42.000008',162`timestamp`='1980-12-31 01:10:23',163`timestamp_6`='1991-01-02 22:15:10.000006',164`year`=1923,165`char_100`='This is a test of a 100 character column.',166`binary_100`=x'000102030405060708090A0B0C0D0E0F',167`varchar_200`='This is a test of a variable character column.',168`varbinary_200`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',169`longtext`='This is a longtext column.',170`mediumtext`='This is a mediumtext column.',171`text`='This is a text column.',172`tinytext`='This is a tinytext column.',173`longblob`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',174`mediumblob`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',175`blob`=x'000102030405060708090A0B0C0D0E0F',176`tinyblob`=x'0A0B0C0D0E0F',177`json`='{"a": 10, "b": 2.75, "c": "hello world"}',178`enum`='one',179`set`='two',180`bit`=128181;182183INSERT INTO alltypes SET184`id`=1,185`tinyint`=NULL,186`bool`=NULL,187`boolean`=NULL,188`smallint`=NULL,189`mediumint`=NULL,190`int24`=NULL,191`int`=NULL,192`integer`=NULL,193`bigint`=NULL,194`float`=NULL,195`double`=NULL,196`real`=NULL,197`decimal`=NULL,198`dec`=NULL,199`fixed`=NULL,200`numeric`=NULL,201`date`=NULL,202`time`=NULL,203`time_6`=NULL,204`datetime`=NULL,205`datetime_6`=NULL,206`timestamp`=NULL,207`timestamp_6`=NULL,208`year`=NULL,209`char_100`=NULL,210`binary_100`=NULL,211`varchar_200`=NULL,212`longtext`=NULL,213`mediumtext`=NULL,214`text`=NULL,215`tinytext`=NULL,216`longblob`=NULL,217`mediumblob`=NULL,218`blob`=NULL,219`tinyblob`=NULL,220`json`=NULL,221`enum`=NULL,222`set`=NULL,223`bit`=NULL224;225226-- Minimum values227INSERT INTO alltypes SET228`id`=2,229`tinyint`=-128,230`unsigned_tinyint`=0,231`bool`=-128,232`boolean`=-128,233`smallint`=-32768,234`unsigned_smallint`=0,235`mediumint`=-8388608,236`unsigned_mediumint`=0,237`int24`=-8388608,238`unsigned_int24`=0,239`int`=-2147483648,240`unsigned_int`=0,241`integer`=-2147483648,242`unsigned_integer`=0,243`bigint`=-9223372036854775808,244`unsigned_bigint`=0,245`float`=0,246`double`=-1.7976931348623158e308,247`real`=-1.7976931348623158e308,248`decimal`=-99999999999999.999999,249`dec`=-99999999999999.999999,250`fixed`=-99999999999999.999999,251`numeric`=-99999999999999.999999,252`date`='1000-01-01',253`time`='-838:59:59',254`time_6`='-838:59:59.000000',255`datetime`='1000-01-01 00:00:00',256`datetime_6`='1000-01-01 00:00:00.000000',257`timestamp`='1970-01-01 00:00:01',258`timestamp_6`='1970-01-01 00:00:01.000000',259`year`=1901,260`char_100`='',261`binary_100`=x'',262`varchar_200`='',263`varbinary_200`=x'',264`longtext`='',265`mediumtext`='',266`text`='',267`tinytext`='',268`longblob`=x'',269`mediumblob`=x'',270`blob`=x'',271`tinyblob`=x'',272`json`='{}',273`enum`='one',274`set`='two',275`bit`=0276;277278-- Maximum values279INSERT INTO alltypes SET280`id`=3,281`tinyint`=127,282`unsigned_tinyint`=255,283`bool`=127,284`boolean`=127,285`smallint`=32767,286`unsigned_smallint`=65535,287`mediumint`=8388607,288`unsigned_mediumint`=16777215,289`int24`=8388607,290`unsigned_int24`=16777215,291`int`=2147483647,292`unsigned_int`=4294967295,293`integer`=2147483647,294`unsigned_integer`=4294967295,295`bigint`=9223372036854775807,296`unsigned_bigint`=18446744073709551615,297`float`=0,298`double`=1.7976931348623158e308,299`real`=1.7976931348623158e308,300`decimal`=99999999999999.999999,301`dec`=99999999999999.999999,302`fixed`=99999999999999.999999,303`numeric`=99999999999999.999999,304`date`='9999-12-31',305`time`='838:59:59',306`time_6`='838:59:59.999999',307`datetime`='9999-12-31 23:59:59',308`datetime_6`='9999-12-31 23:59:59.999999',309`timestamp`='2038-01-18 21:14:07',310`timestamp_6`='2038-01-18 21:14:07.999999',311`year`=2155,312`char_100`='',313`binary_100`=x'',314`varchar_200`='',315`varbinary_200`=x'',316`longtext`='',317`mediumtext`='',318`text`='',319`tinytext`='',320`longblob`=x'',321`mediumblob`=x'',322`blob`=x'',323`tinyblob`=x'',324`json`='{}',325`enum`='one',326`set`='two',327`bit`=18446744073709551615328;329330-- Zero values331--332-- Note that v8 of SingleStoreDB does not allow zero date/times by333-- default, so they are set to NULL here.334--335INSERT INTO alltypes SET336`id`=4,337`tinyint`=0,338`unsigned_tinyint`=0,339`bool`=0,340`boolean`=0,341`smallint`=0,342`unsigned_smallint`=0,343`mediumint`=0,344`unsigned_mediumint`=0,345`int24`=0,346`unsigned_int24`=0,347`int`=0,348`unsigned_int`=0,349`integer`=0,350`unsigned_integer`=0,351`bigint`=0,352`unsigned_bigint`=0,353`float`=0,354`double`=0.0,355`real`=0.0,356`decimal`=0.0,357`dec`=0.0,358`fixed`=0.0,359`numeric`=0.0,360`date`=NULL,361`time`='00:00:00',362`time_6`='00:00:00.000000',363`datetime`=NULL,364`datetime_6`=NULL,365`timestamp`=NULL,366`timestamp_6`=NULL,367`year`=NULL,368`char_100`='',369`binary_100`=x'',370`varchar_200`='',371`varbinary_200`=x'',372`longtext`='',373`mediumtext`='',374`text`='',375`tinytext`='',376`longblob`=x'',377`mediumblob`=x'',378`blob`=x'',379`tinyblob`=x'',380`json`='{}',381`enum`='one',382`set`='two',383`bit`=0384;385386387CREATE TABLE IF NOT EXISTS alltypes_no_nulls (388`id` INT(11) NOT NULL,389`tinyint` TINYINT NOT NULL,390`unsigned_tinyint` TINYINT UNSIGNED NOT NULL,391`bool` BOOL NOT NULL,392`boolean` BOOLEAN NOT NULL,393`smallint` SMALLINT NOT NULL,394`unsigned_smallint` SMALLINT UNSIGNED NOT NULL,395`mediumint` MEDIUMINT NOT NULL,396`unsigned_mediumint` MEDIUMINT UNSIGNED NOT NULL,397`int24` MEDIUMINT NOT NULL,398`unsigned_int24` MEDIUMINT UNSIGNED NOT NULL,399`int` INT NOT NULL,400`unsigned_int` INT UNSIGNED NOT NULL,401`integer` INTEGER NOT NULL,402`unsigned_integer` INTEGER UNSIGNED NOT NULL,403`bigint` BIGINT NOT NULL,404`unsigned_bigint` BIGINT UNSIGNED NOT NULL,405`float` FLOAT NOT NULL,406`double` DOUBLE NOT NULL,407`real` REAL NOT NULL,408`decimal` DECIMAL(20,6) NOT NULL,409`dec` DEC(20,6) NOT NULL,410`fixed` FIXED(20,6) NOT NULL,411`numeric` NUMERIC(20,6) NOT NULL,412`date` DATE NOT NULL,413`time` TIME NOT NULL,414`time_6` TIME(6) NOT NULL,415`datetime` DATETIME NOT NULL,416`datetime_6` DATETIME(6) NOT NULL,417`timestamp` TIMESTAMP NOT NULL,418`timestamp_6` TIMESTAMP(6) NOT NULL,419`year` YEAR NOT NULL,420`char_100` CHAR(100) NOT NULL,421`binary_100` BINARY(100) NOT NULL,422`varchar_200` VARCHAR(200) NOT NULL,423`varbinary_200` VARBINARY(200) NOT NULL,424`longtext` LONGTEXT NOT NULL,425`mediumtext` MEDIUMTEXT NOT NULL,426`text` TEXT NOT NULL,427`tinytext` TINYTEXT NOT NULL,428`longblob` LONGBLOB NOT NULL,429`mediumblob` MEDIUMBLOB NOT NULL,430`blob` BLOB NOT NULL,431`tinyblob` TINYBLOB NOT NULL,432`json` JSON NOT NULL,433-- `geographypoint` GEOGRAPHYPOINT NOT NULL,434-- `geography` GEOGRAPHY NOT NULL,435`enum` ENUM('one', 'two', 'three') NOT NULL,436`set` SET('one', 'two', 'three') NOT NULL,437`bit` BIT NOT NULL438)439COLLATE='utf8_unicode_ci';440441INSERT INTO alltypes_no_nulls SET442`id`=0,443`tinyint`=80,444`unsigned_tinyint`=85,445`bool`=0,446`boolean`=1,447`smallint`=-27897,448`unsigned_smallint`=27897,449`mediumint`=104729,450`unsigned_mediumint`=120999,451`int24`=-200899,452`unsigned_int24`=407709,453`int`=-1295369311,454`unsigned_int`=3872362332,455`integer`=-1741727421,456`unsigned_integer`=3198387363,457`bigint`=-266883847,458`unsigned_bigint`=980007287362,459`float`=-146486683.754744,460`double`=-474646154.719356,461`real`=-901409776.279346,462`decimal`=28111097.610822,463`dec`=389451155.931428,464`fixed`=-143773416.044092,465`numeric`=866689461.300046,466`date`='8524-11-10',467`time`='00:07:00',468`time_6`='01:10:00.000002',469`datetime`='9948-03-11 15:29:22',470`datetime_6`='1756-10-29 02:02:42.000008',471`timestamp`='1980-12-31 01:10:23',472`timestamp_6`='1991-01-02 22:15:10.000006',473`year`=1923,474`char_100`='This is a test of a 100 character column.',475`binary_100`=x'000102030405060708090A0B0C0D0E0F',476`varchar_200`='This is a test of a variable character column.',477`varbinary_200`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',478`longtext`='This is a longtext column.',479`mediumtext`='This is a mediumtext column.',480`text`='This is a text column.',481`tinytext`='This is a tinytext column.',482`longblob`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',483`mediumblob`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',484`blob`=x'000102030405060708090A0B0C0D0E0F',485`tinyblob`=x'0A0B0C0D0E0F',486`json`='{"a": 10, "b": 2.75, "c": "hello world"}',487`enum`='one',488`set`='two',489`bit`=128490;491492-- Minimum values493INSERT INTO alltypes_no_nulls SET494`id`=2,495`tinyint`=-128,496`unsigned_tinyint`=0,497`bool`=-128,498`boolean`=-128,499`smallint`=-32768,500`unsigned_smallint`=0,501`mediumint`=-8388608,502`unsigned_mediumint`=0,503`int24`=-8388608,504`unsigned_int24`=0,505`int`=-2147483648,506`unsigned_int`=0,507`integer`=-2147483648,508`unsigned_integer`=0,509`bigint`=-9223372036854775808,510`unsigned_bigint`=0,511`float`=0,512`double`=-1.7976931348623158e308,513`real`=-1.7976931348623158e308,514`decimal`=-99999999999999.999999,515`dec`=-99999999999999.999999,516`fixed`=-99999999999999.999999,517`numeric`=-99999999999999.999999,518`date`='1000-01-01',519`time`='-838:59:59',520`time_6`='-838:59:59.000000',521`datetime`='1000-01-01 00:00:00',522`datetime_6`='1000-01-01 00:00:00.000000',523`timestamp`='1970-01-01 00:00:01',524`timestamp_6`='1970-01-01 00:00:01.000000',525`year`=1901,526`char_100`='',527`binary_100`=x'',528`varchar_200`='',529`varbinary_200`=x'',530`longtext`='',531`mediumtext`='',532`text`='',533`tinytext`='',534`longblob`=x'',535`mediumblob`=x'',536`blob`=x'',537`tinyblob`=x'',538`json`='{}',539`enum`='one',540`set`='two',541`bit`=0542;543544-- Maximum values545INSERT INTO alltypes_no_nulls SET546`id`=3,547`tinyint`=127,548`unsigned_tinyint`=255,549`bool`=127,550`boolean`=127,551`smallint`=32767,552`unsigned_smallint`=65535,553`mediumint`=8388607,554`unsigned_mediumint`=16777215,555`int24`=8388607,556`unsigned_int24`=16777215,557`int`=2147483647,558`unsigned_int`=4294967295,559`integer`=2147483647,560`unsigned_integer`=4294967295,561`bigint`=9223372036854775807,562`unsigned_bigint`=18446744073709551615,563`float`=0,564`double`=1.7976931348623158e308,565`real`=1.7976931348623158e308,566`decimal`=99999999999999.999999,567`dec`=99999999999999.999999,568`fixed`=99999999999999.999999,569`numeric`=99999999999999.999999,570`date`='9999-12-31',571`time`='838:59:59',572`time_6`='838:59:59.999999',573`datetime`='9999-12-31 23:59:59',574`datetime_6`='9999-12-31 23:59:59.999999',575`timestamp`='2038-01-18 21:14:07',576`timestamp_6`='2038-01-18 21:14:07.999999',577`year`=2155,578`char_100`='',579`binary_100`=x'',580`varchar_200`='',581`varbinary_200`=x'',582`longtext`='',583`mediumtext`='',584`text`='',585`tinytext`='',586`longblob`=x'',587`mediumblob`=x'',588`blob`=x'',589`tinyblob`=x'',590`json`='{}',591`enum`='one',592`set`='two',593`bit`=18446744073709551615594;595596597--598-- Table of extended data types599--600CREATE ROWSTORE TABLE IF NOT EXISTS `extended_types` (601`id` INT(11),602`geography` GEOGRAPHY,603`geographypoint` GEOGRAPHYPOINT,604`vectors` BLOB,605`dt` DATETIME,606`d` DATE,607`t` TIME,608`td` TIME,609`testkey` LONGTEXT610)611COLLATE='utf8_unicode_ci';612613614--615-- Invalid utf8 table616--617-- These sequences were breaking during fetch on a customer's machine618-- however, they seem to work fine in our tests.619--620CREATE TABLE IF NOT EXISTS `badutf8` (621`text` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci622)623COLLATE='utf8_unicode_ci';624625626INSERT INTO `badutf8` VALUES ('🥷🧙👻.eth');627INSERT INTO `badutf8` VALUES ('🥒rick.eth');628629630CREATE TABLE IF NOT EXISTS `f32_vectors` (631id INT(11),632a VECTOR(3)633);634INSERT INTO f32_vectors VALUES(1, '[0.267261237,0.534522474,0.801783681]');635INSERT INTO f32_vectors VALUES(2, '[0.371390671,0.557085991,0.742781341]');636INSERT INTO f32_vectors VALUES(3, '[-0.424264073,-0.565685451,0.707106829]');637638CREATE TABLE IF NOT EXISTS `f64_vectors` (639id INT(11),640a VECTOR(3, F64)641);642INSERT INTO f64_vectors VALUES(1, '[0.267261237,0.534522474,0.801783681]');643INSERT INTO f64_vectors VALUES(2, '[0.371390671,0.557085991,0.742781341]');644INSERT INTO f64_vectors VALUES(3, '[-0.424264073,-0.565685451,0.707106829]');645646CREATE TABLE `i8_vectors` (647id INT(11),648a VECTOR(3, I8)649);650INSERT INTO i8_vectors VALUES(1, '[1, 2, 3]');651INSERT INTO i8_vectors VALUES(2, '[4, 5, 6]');652INSERT INTO i8_vectors VALUES(3, '[-1, -4, 8]');653654CREATE TABLE `i16_vectors` (655id INT(11),656a VECTOR(3, I16)657);658INSERT INTO i16_vectors VALUES(1, '[1, 2, 3]');659INSERT INTO i16_vectors VALUES(2, '[4, 5, 6]');660INSERT INTO i16_vectors VALUES(3, '[-1, -4, 8]');661662CREATE TABLE `i32_vectors` (663id INT(11),664a VECTOR(3, I32)665);666INSERT INTO i32_vectors VALUES(1, '[1, 2, 3]');667INSERT INTO i32_vectors VALUES(2, '[4, 5, 6]');668INSERT INTO i32_vectors VALUES(3, '[-1, -4, 8]');669670CREATE TABLE `i64_vectors` (671id INT(11),672a VECTOR(3, I64)673);674INSERT INTO i64_vectors VALUES(1, '[1, 2, 3]');675INSERT INTO i64_vectors VALUES(2, '[4, 5, 6]');676INSERT INTO i64_vectors VALUES(3, '[-1, -4, 8]');677678679COMMIT;680681682