1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-11-27 08:21:15 +03:00

move mtr suites here

This commit is contained in:
mariadb-RomanNavrotskiy
2021-01-29 16:09:44 +02:00
parent 86a32c2bc3
commit 73b4147cf3
1672 changed files with 1017242 additions and 13 deletions

View File

@@ -41,7 +41,6 @@ local Pipeline(branch, platform, event) = {
local socket_path = if (pkg_format == 'rpm') then '/var/lib/mysql/mysql.sock' else '/run/mysqld/mysqld.sock',
local img = if (std.split(platform, ':')[0] == 'centos') then platform else 'romcheck/' + std.strReplace(platform, '/', '-'),
local regression_ref = if (std.split(branch, '-')[0] == 'develop') then branch else 'develop-5',
local mtr_ref = regression_ref,
local pipeline = self,
@@ -99,24 +98,14 @@ local Pipeline(branch, platform, event) = {
name: 'mtr',
image: 'docker:git',
volumes: [pipeline._volumes.docker],
environment: {
MTR_REF: '${MTR_REF:-' + mtr_ref + '}',
},
commands: [
// clone mtr repo
'git clone --branch $$MTR_REF --depth 1 https://github.com/mariadb-corporation/columnstore-tests',
# where are we now?
'cd columnstore-tests',
'git rev-parse --abbrev-ref HEAD && git rev-parse HEAD',
'cd ..',
'docker run --volume /sys/fs/cgroup:/sys/fs/cgroup:ro --env MYSQL_TEST_DIR=' + mtr_path + ' --env DEBIAN_FRONTEND=noninteractive --env MCS_USE_S3_STORAGE=0 --name mtr$${DRONE_BUILD_NUMBER} --privileged --detach ' + img + ' ' + init + ' --unit=basic.target',
'docker cp result mtr$${DRONE_BUILD_NUMBER}:/',
if (std.split(platform, '/')[0] == 'opensuse') then 'docker exec -t mtr$${DRONE_BUILD_NUMBER} bash -c "zypper install -y which hostname rsyslog patch perl-Data-Dumper-Concise perl-Memoize-ExpireLRU && zypper install -y --allow-unsigned-rpm /result/*.' + pkg_format + '"' else '',
if (std.split(platform, ':')[0] == 'centos') then 'docker exec -t mtr$${DRONE_BUILD_NUMBER} bash -c "yum install -y epel-release diffutils which rsyslog hostname patch perl-Data-Dumper perl-Getopt-Long perl-Memoize perl-Time-HiRes cracklib-dicts && yum install -y /result/*.' + pkg_format + '"' else '',
if (pkg_format == 'deb') then 'docker exec -t mtr$${DRONE_BUILD_NUMBER} bash -c "apt update && apt install -y rsyslog hostname patch && apt install -y -f /result/*.' + pkg_format + '"' else '',
'docker cp columnstore-tests/mysql-test/suite/columnstore mtr$${DRONE_BUILD_NUMBER}:' + mtr_path + '/suite/',
'docker cp mtr mtr$${DRONE_BUILD_NUMBER}:' + mtr_path + '/suite/',
'docker exec -t mtr$${DRONE_BUILD_NUMBER} mv ' + mtr_path + '/suite/mtr ' + mtr_path + '/suite/columnstore',
'docker exec -t mtr$${DRONE_BUILD_NUMBER} chown -R mysql:mysql ' + mtr_path,
// disable systemd 'ProtectSystem' (we need to write to /usr/share/)
'docker exec -t mtr$${DRONE_BUILD_NUMBER} sed -i "/ProtectSystem/d" /usr/lib/systemd/system/mariadb.service',

15
mtr/.gitignore vendored Normal file
View File

@@ -0,0 +1,15 @@
# ignore all logs
*.log
# ignore all mtr actual result files
*.reject
# ignore all swap files
*.swp
# ignore all bad/error test data files
*.bad
*.err
# ignore nohup output files
nohup.*

87
mtr/README Normal file
View File

@@ -0,0 +1,87 @@
Objective
---------
The 'columnstore' test suite includes tests suites aimed at testing MariaDB Columnstore
Database Engine (MCS).
https://mariadb.com/kb/en/mariadb-columnstore/
Test Repo
---------
https://github.com/mariadb-corporation/columnstore-tests/tree/master/mysql-test/suite/columnstore
Test structure
--------------
The current directory structure is shown below:
columnstore/
├── basic
│   ├── r
│   └── t
├── csinternal
│   ├── autopilot
│   │   ├── r
│   │   └── t
│   ├── devregression
│   │   ├── r
│   │   └── t
│   └── include
│   ├── dbt3
│   └── ssb
├── extended
├── include
└── std_data
't' dir contains the tests.
'r' dir contains the expected result files.
'include' dir contains common libraries used by the tests.
'std_data' dir containt test data files.
Test suites:
1. basic
Mostly sanity, high value, shorter execution time tests
2. extended
More complex and involved tests - longer execution time, variations
3. csinternal
Limited to CS internal team - Uses seeded test data. The tests in this are divided into the following two sub-suites:
autopilot - Autopilot cases migrated to MTR
devregression - Part of Dev test suite migrated to MTR
Prerequisites
-------------
1.
MariaDB Server and Columnstore are already installed on the test box, let's call it INSTALL_DIR. Usually it is /usr/share/mysql.
mysql-test is already installed, let's call it MYSQLTEST_DIR. Usually it is /usr/share/mysql-test.
Columnstore-tests local repository, let's call it MCSTEST_DIR. Usually it is columnstore-tests/mysql-test/suite/columnstore
cd MYSQLTEST_DIR
ln -s MCSTEST_DIR MYSQLTEST_DIR/suite/columnstore
2. Only for csinternal tests
For csinternal test run requires the test data 'dbt3' and 'ssb' stored at https://drive.google.com/drive/folders/1dAV4ltxLrvC_7TrZ4zLu42gxx17wzH15?usp=sharing to be available at the following location on the test box:
/data/qa/source/
dbt3
ssb
Setup test environment by running the following:
./mtr --suite=columnstore/csinternal regression_env_setup --extern socket=/var/lib/mysql/mysql.sock
Test Run
--------
Run test suite:
mtr --force --suite=columnstore/basic --extern socket=/var/lib/mysql/mysql.sock
mtr --force --suite=columnstore/extended --extern socket=/var/lib/mysql/mysql.sock
mtr --force --suite=columnstore/csinternal --extern socket=/var/lib/mysql/mysql.sock
mtr --force --suite=columnstore/csinternal/autopilot --extern socket=/var/lib/mysql/mysql.sock
mtr --force --suite=columnstore/csinternal/devregression --extern socket=/var/lib/mysql/mysql.sock
Run individual test:
example
mtr --suite=columnstore/basic mcs12_alter_table.test --extern socket=/var/lib/mysql/mysql.sock
Run by skipping list of tests:
example
mtr --force --skip-test-list=failed.def --suite=columnstore/basic --extern socket=/var/lib/mysql/mysql.sock
failed.def file lists test names in separated lines.

4
mtr/basic/failed.def Normal file
View File

@@ -0,0 +1,4 @@
mcs80_set_operations : BUG#MCOL-4273 2020-08-27 susil.behera@mariadb.com
mcs251_time_to_sec_function : BUG#MCOL-4414 2020-11-30 bharath.bokka@maridb.com
mcs212_idbExtentMax_function : 2020-11-30 bharath.bokka@mariadb.com
mcs213_idbExtentMin_function : 2020-11-30 bharath.bokka@mariadb.com

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

109
mtr/basic/r/func_bit.result Normal file
View File

@@ -0,0 +1,109 @@
DROP DATABASE IF EXISTS func_bit;
CREATE DATABASE func_bit;
USE func_bit;
CREATE TABLE t1 (a DECIMAL(30,1) NOT NULL);
INSERT INTO t1 VALUES (99999999999999999999999999999.9);
INSERT INTO t1 VALUES (28446744073709551615);
INSERT INTO t1 VALUES (2.9);
INSERT INTO t1 VALUES (-2.9);
INSERT INTO t1 VALUES (-28446744073709551615);
INSERT INTO t1 VALUES (-99999999999999999999999999999.9);
SELECT a, a & a, a | a, a^0, a<<2, a>>2, bit_count(a) FROM t1;
a a & a a | a a^0 a<<2 a>>2 bit_count(a)
99999999999999999999999999999.9 18446744073709551615 18446744073709551615 18446744073709551615 18446744073709551612 4611686018427387903 64
28446744073709551615.0 18446744073709551615 18446744073709551615 18446744073709551615 18446744073709551612 4611686018427387903 64
2.9 3 3 3 12 0 2
-2.9 18446744073709551613 18446744073709551613 18446744073709551613 18446744073709551604 4611686018427387903 63
-28446744073709551615.0 9223372036854775808 9223372036854775808 9223372036854775808 0 2305843009213693952 1
-99999999999999999999999999999.9 9223372036854775808 9223372036854775808 9223372036854775808 0 2305843009213693952 1
DROP TABLE t1;
CREATE TABLE t1 (a DECIMAL(20,0) NOT NULL);
INSERT INTO t1 VALUES (99999999999999999999);
INSERT INTO t1 VALUES (28446744073709551615);
INSERT INTO t1 VALUES (-28446744073709551615);
INSERT INTO t1 VALUES (-99999999999999999999);
SELECT a, a & a, a | a, a^0, a<<2, a<<0, a>>1, bit_count(a) FROM t1;
a a & a a | a a^0 a<<2 a<<0 a>>1 bit_count(a)
99999999999999999999 18446744073709551615 18446744073709551615 18446744073709551615 18446744073709551612 18446744073709551615 9223372036854775807 64
28446744073709551615 18446744073709551615 18446744073709551615 18446744073709551615 18446744073709551612 18446744073709551615 9223372036854775807 64
-28446744073709551615 9223372036854775808 9223372036854775808 9223372036854775808 0 9223372036854775808 4611686018427387904 1
-99999999999999999999 9223372036854775808 9223372036854775808 9223372036854775808 0 9223372036854775808 4611686018427387904 1
DROP TABLE t1;
CREATE TABLE t1 (a DECIMAL(10,1) NOT NULL);
INSERT INTO t1 VALUES (999999999.9);
INSERT INTO t1 VALUES (3.5);
INSERT INTO t1 VALUES (3.4);
INSERT INTO t1 VALUES (2.9);
INSERT INTO t1 VALUES (-2.9);
INSERT INTO t1 VALUES (-3.4);
INSERT INTO t1 VALUES (-3.5);
INSERT INTO t1 VALUES (-999999999.9);
SELECT a, a & a, a | a, a^0, a<<2, a>>2, bit_count(a) FROM t1;
a a & a a | a a^0 a<<2 a>>2 bit_count(a)
999999999.9 1000000000 1000000000 1000000000 4000000000 250000000 13
3.5 4 4 4 16 1 1
3.4 3 3 3 12 0 2
2.9 3 3 3 12 0 2
-2.9 18446744073709551613 18446744073709551613 18446744073709551613 18446744073709551604 4611686018427387903 63
-3.4 18446744073709551613 18446744073709551613 18446744073709551613 18446744073709551604 4611686018427387903 63
-3.5 18446744073709551612 18446744073709551612 18446744073709551612 18446744073709551600 4611686018427387903 62
-999999999.9 18446744072709551616 18446744072709551616 18446744072709551616 18446744069709551616 4611686018177387904 43
DROP TABLE t1;
CREATE TABLE t1 (a DECIMAL(10,0) NOT NULL);
INSERT INTO t1 VALUES (9999999999);
INSERT INTO t1 VALUES (3);
INSERT INTO t1 VALUES (-3);
INSERT INTO t1 VALUES (-9999999999);
SELECT a, a & a, a | a, a^0, a<<2, a<<0, a>>1, bit_count(a) FROM t1;
a a & a a | a a^0 a<<2 a<<0 a>>1 bit_count(a)
9999999999 9999999999 9999999999 9999999999 39999999996 9999999999 4999999999 20
3 3 3 3 12 3 1 2
-3 18446744073709551613 18446744073709551613 18446744073709551613 18446744073709551604 18446744073709551613 9223372036854775806 63
-9999999999 18446744063709551617 18446744063709551617 18446744063709551617 18446744033709551620 18446744063709551617 9223372031854775808 45
DROP TABLE t1;
CREATE TABLE t1 (a VARCHAR(30) NOT NULL);
INSERT INTO t1 VALUES ('2.9');
INSERT INTO t1 VALUES ('18446744073709551610');
SELECT a, a & a, a | a, a^0, a<<1, a<<0, a>>1, bit_count(a) FROM t1;
a a & a a | a a^0 a<<1 a<<0 a>>1 bit_count(a)
2.9 3 3 3 6 3 1 2
18446744073709551610 18446744073709551610 18446744073709551610 18446744073709551610 18446744073709551604 18446744073709551610 9223372036854775805 62
DROP TABLE t1;
CREATE TABLE t1 (a DOUBLE NOT NULL);
INSERT INTO t1 VALUES (2.9);
INSERT INTO t1 VALUES (10e30);
SELECT a, a & a, a | a, a^0, a<<2, a<<0, a>>1, bit_count(a) FROM t1;
a a & a a | a a^0 a<<2 a<<0 a>>1 bit_count(a)
2.9 3 3 3 12 3 1 2
1e31 18446744073709551615 18446744073709551615 18446744073709551615 18446744073709551612 18446744073709551615 9223372036854775807 64
DROP TABLE t1;
CREATE TABLE t1 (a TIME(1) NOT NULL);
INSERT INTO t1 VALUES ('00:00:02.9');
INSERT INTO t1 VALUES ('800:00:02.9');
INSERT INTO t1 VALUES ('-800:00:02.9');
SELECT a, a & a, a | a, a^0, a<<1, a<<0, a>>1, bit_count(a) FROM t1;
a a & a a | a a^0 a<<1 a<<0 a>>1 bit_count(a)
00:00:02.9 3 3 3 6 3 1 2
800:00:02.9 8000003 8000003 8000003 16000006 8000003 4000001 9
-800:00:02.9 18446744073701551613 18446744073701551613 18446744073701551613 18446744073693551610 18446744073701551613 9223372036850775806 56
DROP TABLE t1;
CREATE TABLE t1 (a DATETIME(1) NOT NULL);
INSERT INTO t1 VALUES ('2001-01-01 00:00:02.9');
INSERT INTO t1 VALUES ('2001-01-01 23:59:59.9');
INSERT INTO t1 VALUES ('9999-12-31 23:59:59.9');
SELECT a, a & a, a | a, a^0, a<<1, a<<0, a>>1, bit_count(a) FROM t1;
a a & a a | a a^0 a<<1 a<<0 a>>1 bit_count(a)
2001-01-01 00:00:02.9 20010101000003 20010101000003 20010101000003 40020202000006 20010101000003 10005050500001 24
2001-01-01 23:59:59.9 20010101235960 20010101235960 20010101235960 40020202471920 20010101235960 10005050617980 25
9999-12-31 23:59:59.9 99991231235960 99991231235960 99991231235960 199982462471920 99991231235960 49995615617980 23
DROP TABLE t1;
CREATE TABLE t1 (a INT NOT NULL);
INSERT INTO t1 VALUES (63),(64),(65);
SELECT a, 1<<a,1>>a FROM t1;
a 1<<a 1>>a
63 9223372036854775808 0
64 0 0
65 0 0
DROP TABLE t1;
DROP DATABASE func_bit;
USE test;

1303
mtr/basic/r/mcol_2000.result Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,88 @@
DROP DATABASE IF EXISTS mcol_4222_db;
CREATE DATABASE mcol_4222_db;
USE mcol_4222_db;
CREATE TABLE t1_i (
`C_` varchar(100) DEFAULT NULL
) ENGINE=innodb DEFAULT CHARSET=utf8 ;
CREATE TABLE t1_cs (
`C_` varchar(100) DEFAULT NULL
) ENGINE=columnstore DEFAULT CHARSET=utf8 ;
CREATE PROCEDURE generate_data()
BEGIN NOT ATOMIC
DECLARE i INT DEFAULT 0;
TRUNCATE TABLE t1_i;
TRUNCATE TABLE t1_cs;
START TRANSACTION;
WHILE i < 70000 DO
INSERT INTO t1_i VALUES (i);
SET i = i + 1;
END WHILE;
COMMIT;
END//
CALL generate_data();
INSERT INTO t1_cs SELECT * FROM t1_i;
SELECT COUNT(*), SUM(t1_i.C_ IS NULL) FROM t1_i;
COUNT(*) SUM(t1_i.C_ IS NULL)
70000 0
SELECT COUNT(*), SUM(t1_cs.C_ IS NULL) FROM t1_cs;
COUNT(*) SUM(t1_cs.C_ IS NULL)
70000 0
CREATE TABLE t2 LIKE t1_i;
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_cs) derived;
SELECT COUNT(*), SUM(C_ IS NULL) FROM t2;
COUNT(*) SUM(C_ IS NULL)
70000 0
DROP TABLE t2;
CREATE TABLE t2 LIKE t1_cs;
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_i) derived;
SELECT COUNT(*), SUM(C_ IS NULL) FROM t2;
COUNT(*) SUM(C_ IS NULL)
70000 0
DROP TABLE t2;
CREATE TABLE t2 LIKE t1_cs;
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_cs) derived;
SELECT COUNT(*), SUM(C_ IS NULL) FROM t2;
COUNT(*) SUM(C_ IS NULL)
70000 0
DROP TABLE t2;
DROP TABLE IF EXISTS t1_i;
DROP TABLE IF EXISTS t1_cs;
CREATE TABLE t1_i (
`C_` varchar(100) NOT NULL DEFAULT 123
) ENGINE=innodb DEFAULT CHARSET=utf8 ;
CREATE TABLE t1_cs (
`C_` varchar(100) NOT NULL DEFAULT 123
) ENGINE=columnstore DEFAULT CHARSET=utf8 ;
CALL generate_data();
INSERT INTO t1_cs SELECT * FROM t1_i;
SELECT COUNT(*), SUM(t1_i.C_ IS NULL) FROM t1_i;
COUNT(*) SUM(t1_i.C_ IS NULL)
70000 0
SELECT COUNT(*), SUM(t1_cs.C_ IS NULL) FROM t1_cs;
COUNT(*) SUM(t1_cs.C_ IS NULL)
70000 0
CREATE TABLE t2 LIKE t1_i;
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_cs) derived;
SELECT * FROM t2 LIMIT 3;
C_
0
1
2
DROP TABLE t2;
CREATE TABLE t2 LIKE t1_cs;
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_i) derived;
SELECT * FROM t2 LIMIT 3;
C_
0
1
2
DROP TABLE t2;
CREATE TABLE t2 LIKE t1_cs;
INSERT INTO t2 SELECT * FROM (SELECT * FROM t1_cs) derived;
SELECT * FROM t2 LIMIT 3;
C_
0
1
2
DROP TABLE t2;
DROP DATABASE mcol_4222_db;

View File

@@ -0,0 +1,29 @@
DROP DATABASE IF EXISTS mcs102_db1;
CREATE DATABASE mcs102_db1;
USE mcs102_db1;
CREATE TABLE discounts (
id INT NOT NULL,
title VARCHAR(255) NOT NULL,
expired_date DATE NOT NULL,
amount DECIMAL(10, 2) NULL
) ENGINE=Columnstore;
LOAD DATA INFILE '/tmp/mcs102.csv' INTO TABLE discounts FIELDS TERMINATED BY ',';
ERROR 22007: Incorrect date value: 'Jan 04 2014' for column `mcs102_db1`.`discounts`.`expired_date` at row 1
LOAD DATA INFILE '/tmp/mcs102.csv' INTO TABLE discounts FIELDS TERMINATED BY ','
(id, title, @expired_date, amount)
SET expired_date = STR_TO_DATE(@expired_date, "%M %d %Y");
LOAD DATA LOCAL INFILE '/tmp/mcs102.csv' INTO TABLE discounts FIELDS TERMINATED BY ','
(id, title, @expired_date, amount)
SET expired_date = STR_TO_DATE(@expired_date, "%M %d %Y");
SELECT * FROM discounts ORDER BY id;
id title expired_date amount
1 Sprint Break 2014 2014-01-04 20.00
1 Sprint Break 2014 2014-01-04 20.00
2 Back to Scholl 2014 2014-01-09 25.00
2 Back to Scholl 2014 2014-01-09 25.00
3 Summer 2014 2014-06-25 10.00
3 Summer 2014 2014-06-25 10.00
SELECT COUNT(*) FROM discounts;
COUNT(*)
6
DROP DATABASE IF EXISTS mcs102_db1;

View File

@@ -0,0 +1,27 @@
DROP DATABASE IF EXISTS mcs103_db;
CREATE DATABASE mcs103_db;
USE mcs103_db;
CREATE TABLE discounts (
id INT NOT NULL,
title VARCHAR(255) NOT NULL,
expired_date DATE NOT NULL,
amount DECIMAL(10, 2) NULL
) ENGINE=Columnstore;
LOAD DATA INFILE '/tmp/mcs103.csv' INTO TABLE discounts FIELDS TERMINATED BY ',';
ERROR 22007: Incorrect date value: ' San Jose"' for column `mcs103_db`.`discounts`.`expired_date` at row 1
LOAD DATA INFILE '/tmp/mcs103.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"';
LOAD DATA LOCAL INFILE '/tmp/mcs103.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ENCLOSED BY '"';
SELECT * FROM discounts ORDER BY id;
id title expired_date amount
1 Sprint Break, San Jose 2014-01-04 20.00
1 Sprint Break, San Jose 2014-01-04 20.00
2 Back to Scholl, San Jose 2014-01-09 25.00
2 Back to Scholl, San Jose 2014-01-09 25.00
3 Summer, San Jose 2014-06-25 10.00
3 Summer, San Jose 2014-06-25 10.00
4 Spring 2014-06-25 10.00
4 Spring 2014-06-25 10.00
SELECT COUNT(*) FROM discounts;
COUNT(*)
8
DROP DATABASE IF EXISTS mcs103_db;

View File

@@ -0,0 +1,41 @@
DROP DATABASE IF EXISTS mcs104_db;
CREATE DATABASE mcs104_db;
USE mcs104_db;
CREATE TABLE discounts (
id INT NOT NULL,
title VARCHAR(255) NOT NULL,
amount INT NOT NULL
) ENGINE=Columnstore;
LOAD DATA INFILE '/tmp/mcs104.csv' INTO TABLE discounts FIELDS TERMINATED BY ',';
LOAD DATA LOCAL INFILE '/tmp/mcs104.csv' INTO TABLE discounts FIELDS TERMINATED BY ',';
SELECT * FROM discounts ORDER BY id;
id title amount
1 "Sprint Break - San Jose" 20
1 "Sprint Break - San Jose" 20
2 "Back to Scholl - San Jose" 25
2 "Back to Scholl - San Jose" 25
3 "Summer - San Jose" 10
3 "Summer - San Jose" 10
4 Spring 10
4 Spring 10
SELECT COUNT(*) FROM discounts;
COUNT(*)
8
TRUNCATE discounts;
LOAD DATA INFILE '/tmp/mcs104.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ESCAPED BY '\\';
LOAD DATA LOCAL INFILE '/tmp/mcs104.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ESCAPED BY '\\';
SELECT * FROM discounts ORDER BY id;
id title amount
1 Sprint Break , San Jose 20
1 Sprint Break , San Jose 20
2 Back to Scholl , San Jose 25
2 Back to Scholl , San Jose 25
3 Summer, San Jose 10
3 Summer, San Jose 10
SELECT COUNT(*) FROM discounts;
COUNT(*)
6
TRUNCATE discounts;
LOAD DATA INFILE '/tmp/mcs104.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' ESCAPED BY '\\';
ERROR 22007: Incorrect integer value: ' San Jose' for column `mcs104_db`.`discounts`.`amount` at row 3
DROP DATABASE IF EXISTS mcs104_db;

View File

@@ -0,0 +1,58 @@
DROP DATABASE IF EXISTS mcs105_db;
CREATE DATABASE mcs105_db;
USE mcs105_db;
CREATE TABLE discounts (
id INT NOT NULL,
title VARCHAR(255) NOT NULL
) ENGINE=Columnstore;
LOAD DATA INFILE '/tmp/mcs105.csv' INTO TABLE discounts FIELDS TERMINATED BY ',';
LOAD DATA LOCAL INFILE '/tmp/mcs105.csv' INTO TABLE discounts FIELDS TERMINATED BY ',';
SELECT * FROM discounts ORDER BY id;
id title
1 Sprint Break - San Jose
1 Sprint Break - San Jose
2 Back to Scholl - San Jose
2 Back to Scholl - San Jose
3 Summer - San Jose
3 Summer - San Jose
4 Spring
4 Spring
SELECT COUNT(*) FROM discounts;
COUNT(*)
8
TRUNCATE discounts;
LOAD DATA INFILE '/tmp/mcs105.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
LOAD DATA LOCAL INFILE '/tmp/mcs105.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
SELECT * FROM discounts ORDER BY id;
id title
1 Sprint Break - San Jose
1 Sprint Break - San Jose
2 Back to Scholl - San Jose
2 Back to Scholl - San Jose
3 Summer - San Jose
3 Summer - San Jose
4 Spring
4 Spring
SELECT COUNT(*) FROM discounts;
COUNT(*)
8
TRUNCATE discounts;
LOAD DATA INFILE '/tmp/mcs105.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' LINES TERMINATED BY '|';
LOAD DATA LOCAL INFILE '/tmp/mcs105.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' LINES TERMINATED BY '|';
SELECT * FROM discounts ORDER BY id;
id title
1 Sprint Break - San Jose
1 Sprint Break - San Jose
2 Back to Scholl - San Jose
2 Back to Scholl - San Jose
3 Summer - San Jose
3 Summer - San Jose
4 Spring
4 Spring
SELECT COUNT(*) FROM discounts;
COUNT(*)
8
TRUNCATE discounts;
DROP DATABASE IF EXISTS mcs105_db;

View File

@@ -0,0 +1,61 @@
DROP DATABASE IF EXISTS mcs106_db;
CREATE DATABASE mcs106_db;
USE mcs106_db;
CREATE TABLE discounts (
id INT NOT NULL,
title VARCHAR(255) NOT NULL,
amount INT NOT NULL
) ENGINE=Columnstore;
LOAD DATA INFILE '/tmp/mcs106.csv' INTO TABLE discounts FIELDS TERMINATED BY ',';
LOAD DATA LOCAL INFILE '/tmp/mcs106.csv' INTO TABLE discounts FIELDS TERMINATED BY ',';
SELECT * FROM discounts ORDER BY id;
id title amount
1 Sprint Break - San Jose 20
1 Sprint Break - San Jose 20
2 Back to Scholl - San Jose 25
2 Back to Scholl - San Jose 25
3 Summer - San Jose 10
3 Summer - San Jose 10
4 Spring 10
4 Spring 10
SELECT COUNT(*) FROM discounts;
COUNT(*)
8
TRUNCATE discounts;
LOAD DATA INFILE '/tmp/mcs106.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' IGNORE 0 ROWS;
LOAD DATA LOCAL INFILE '/tmp/mcs106.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' IGNORE 0 ROWS;
SELECT * FROM discounts ORDER BY id;
id title amount
1 Sprint Break - San Jose 20
1 Sprint Break - San Jose 20
2 Back to Scholl - San Jose 25
2 Back to Scholl - San Jose 25
3 Summer - San Jose 10
3 Summer - San Jose 10
4 Spring 10
4 Spring 10
SELECT COUNT(*) FROM discounts;
COUNT(*)
8
TRUNCATE discounts;
LOAD DATA INFILE '/tmp/mcs106.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' IGNORE 1 ROWS;
LOAD DATA LOCAL INFILE '/tmp/mcs106.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' IGNORE 1 ROWS;
SELECT * FROM discounts ORDER BY id;
id title amount
1 Sprint Break - San Jose 20
1 Sprint Break - San Jose 20
2 Back to Scholl - San Jose 25
2 Back to Scholl - San Jose 25
3 Summer - San Jose 10
3 Summer - San Jose 10
4 Spring 10
4 Spring 10
SELECT COUNT(*) FROM discounts;
COUNT(*)
8
TRUNCATE discounts;
LOAD DATA INFILE '/tmp/mcs106.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' IGNORE -1 ROWS;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-1 ROWS' at line 1
LOAD DATA LOCAL INFILE '/tmp/mcs106.csv' INTO TABLE discounts FIELDS TERMINATED BY ',' IGNORE -1 ROWS;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-1 ROWS' at line 1
DROP DATABASE IF EXISTS mcs106_db;

View File

@@ -0,0 +1,76 @@
DROP DATABASE IF EXISTS mcs10_db1;
DROP DATABASE IF EXISTS mcs10_db2;
DROP DATABASE mcs10_db1;
ERROR HY000: Can't drop database 'mcs10_db1'; database doesn't exist
DROP DATABASE mcs10_db1, mcs10_db2;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' mcs10_db2' at line 1
DROP DATABASE mcs10_db1 mcs10_db2;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'mcs10_db2' at line 1
CREATE DATABASE mcs10_db1;
DROP DATABASE mcs10_db1;
USE mcs10_db1;
ERROR 42000: Unknown database 'mcs10_db1'
CREATE DATABASE mcs10_db1;
CREATE DATABASE mcs10_db2;
USE mcs10_db1;
DROP DATABASE mcs10_db2;
DROP DATABASE mcs10_db1;
CREATE DATABASE mcs10_db1;
CREATE DATABASE mcs10_db2;
USE mcs10_db1;
DROP TABLE IF EXISTS t_innodb, t_columnstore;
Warnings:
Note 1051 Unknown table 'mcs10_db1.t_innodb,mcs10_db1.t_columnstore'
DROP TABLE IF EXISTS t_innodb;
Warnings:
Note 1051 Unknown table 'mcs10_db1.t_innodb'
DROP TABLE IF EXISTS t_columnstore;
Warnings:
Note 1051 Unknown table 'mcs10_db1.t_columnstore'
DROP TABLE t_innodb;
ERROR 42S02: Unknown table 'mcs10_db1.t_innodb'
DROP TABLE t_columnstore;
ERROR 42S02: Unknown table 'mcs10_db1.t_columnstore'
CREATE TABLE t_innodb (id int) engine=innodb;
CREATE TABLE t_columnstore (id int) engine=columnstore;
DROP TABLE t_innodb;
DROP TABLE IF EXISTS t_innodb;
Warnings:
Note 1051 Unknown table 'mcs10_db1.t_innodb'
DROP TABLE t_columnstore;
DROP TABLE IF EXISTS t_columnstore;
Warnings:
Note 1051 Unknown table 'mcs10_db1.t_columnstore'
CREATE TABLE t_columnstore1 (id int) engine=columnstore;
CREATE TABLE t_columnstore2 (id int) engine=columnstore;
DROP TABLE t_columnstore1, t_columnstore2;
DROP TABLE IF EXISTS t_columnstore1, t_columnstore2;
Warnings:
Note 1051 Unknown table 'mcs10_db1.t_columnstore1,mcs10_db1.t_columnstore2'
DROP DATABASE mcs10_db1;
DROP DATABASE mcs10_db2;
CREATE DATABASE mcs10_db1;
CREATE DATABASE mcs10_db2;
CREATE TABLE mcs10_db1.t_columnstore1 (id int) engine=columnstore;
CREATE TABLE mcs10_db2.t_columnstore1 (id int) engine=columnstore;
DROP TABLE mcs10_db1.t_columnstore1, mcs10_db1.t_columnstore1;
ERROR 42000: Not unique table/alias: 't_columnstore1'
DROP TABLE IF EXISTS mcs10_db1.t_columnstore1, mcs10_db1.t_columnstore1;
ERROR 42000: Not unique table/alias: 't_columnstore1'
DROP TABLE mcs10_db1.t_columnstore1;
DROP TABLE IF EXISTS mcs10_db2.t_columnstore1;
USE mcs10_db1;
CREATE TABLE t_columnstore1 (id int) engine=columnstore;
CREATE TABLE t_columnstore2 (id int) engine=columnstore;
connect addconroot1, localhost, root,,;
connect addconroot2, localhost, root,,;
connection addconroot1;
DROP TABLE mcs10_db1.t_columnstore1;
connection addconroot2;
DROP TABLE mcs10_db1.t_columnstore1;
ERROR 42S02: Unknown table 'mcs10_db1.t_columnstore1'
USE mcs10_db1;
DROP TABLE IF EXISTS t_columnstore2;
connection default;
DROP DATABASE IF EXISTS mcs10_db1;
DROP DATABASE mcs10_db2;

View File

@@ -0,0 +1,79 @@
DROP DATABASE IF EXISTS mcs111_db;
CREATE DATABASE mcs111_db;
USE mcs111_db;
CREATE TABLE t1
(
t1_INT INT,
t1_DECIMAL DECIMAL(12,5),
t1_TEXT TEXT,
t1_DATE DATE,
t1_TIME TIME
)ENGINE=Columnstore;
INSERT INTO t1 VALUES(103, 1234.5699, 'pqrstuvwxyz', '1997-12-12', '22:12:02');
INSERT INTO t1 VALUES(-7299, 111.99, 'abcdefghijklm', '2001-1-1', '23:59:59');
INSERT INTO t1 VALUES(9913, 98765.4321, repeat('q', 5), '09-12-11', '01:08:59');
SELECT 12 > 1 FROM t1 LIMIT 1;
12 > 1
1
SELECT 12.11 < 1 FROM t1 LIMIT 1;
12.11 < 1
0
SELECT '12' = 12 FROM t1 LIMIT 1;
'12' = 12
1
SELECT 12.1701 != 1.181 FROM t1 LIMIT 1;
12.1701 != 1.181
1
SELECT 12 <> 1 FROM t1 LIMIT 1;
12 <> 1
1
SELECT 12 >= 1 FROM t1 LIMIT 1;
12 >= 1
1
SELECT 'a' <= 'b' FROM t1 LIMIT 1;
'a' <= 'b'
1
SELECT t1_INT, t1_DECIMAL, t1_INT > t1_DECIMAL FROM t1 ORDER BY 1;
ERROR 42000: The storage engine for the table doesn't support IDB-1001: Function '>' isn't supported.
SELECT t1_INT, t1_DECIMAL, t1_INT < t1_DECIMAL FROM t1 ORDER BY 1;
ERROR 42000: The storage engine for the table doesn't support IDB-1001: Function '<' isn't supported.
SELECT t1_INT, t1_DECIMAL, t1_INT >= t1_DECIMAL FROM t1 ORDER BY 1;
ERROR 42000: The storage engine for the table doesn't support IDB-1001: Function '>=' isn't supported.
SELECT t1_INT, t1_DECIMAL, t1_INT <= t1_DECIMAL FROM t1 ORDER BY 1;
ERROR 42000: The storage engine for the table doesn't support IDB-1001: Function '<=' isn't supported.
SELECT t1_INT, t1_DECIMAL, t1_INT <> t1_DECIMAL FROM t1 ORDER BY 1;
ERROR 42000: The storage engine for the table doesn't support IDB-1001: Function '<>' isn't supported.
SELECT t1_INT, t1_DECIMAL, t1_INT = t1_DECIMAL FROM t1 ORDER BY 1;
ERROR 42000: The storage engine for the table doesn't support IDB-1001: Function '=' isn't supported.
SELECT t1_INT, t1_DECIMAL, t1_INT != t1_DECIMAL FROM t1 ORDER BY 1;
ERROR 42000: The storage engine for the table doesn't support IDB-1001: Function '<>' isn't supported.
SELECT t1_INT, t1_DECIMAL from t1 WHERE t1_INT != t1_DECIMAL ORDER BY 1;
t1_INT t1_DECIMAL
-7299 111.99000
103 1234.56990
9913 98765.43210
SELECT t1_INT, t1_DECIMAL from t1 WHERE t1_INT = t1_DECIMAL ORDER BY 1;
t1_INT t1_DECIMAL
SELECT t1_INT, t1_DECIMAL from t1 WHERE t1_INT >= t1_DECIMAL ORDER BY 1;
t1_INT t1_DECIMAL
SELECT t1_INT, t1_DECIMAL from t1 WHERE t1_INT <= t1_DECIMAL ORDER BY 1;
t1_INT t1_DECIMAL
-7299 111.99000
103 1234.56990
9913 98765.43210
SELECT t1_INT, t1_DECIMAL from t1 WHERE t1_INT <=> t1_DECIMAL ORDER BY 1;
t1_INT t1_DECIMAL
SELECT t1_INT, t1_DECIMAL from t1 WHERE t1_INT <> t1_DECIMAL ORDER BY 1;
t1_INT t1_DECIMAL
-7299 111.99000
103 1234.56990
9913 98765.43210
SELECT t1_DATE from t1 where t1_DATE > '0000-00-00' ORDER BY 1;
t1_DATE
1997-12-12
2001-01-01
2009-12-11
SELECT t1_DATE from t1 where t1_DATE <= '2000-01-10' ORDER BY 1;
t1_DATE
1997-12-12
DROP DATABASE mcs111_db;

View File

@@ -0,0 +1,64 @@
DROP DATABASE IF EXISTS mcs114_db;
CREATE DATABASE mcs114_db;
USE mcs114_db;
SET default_storage_engine=Columnstore;
SELECT 1+2/*hello*/+3;
1+2/*hello*/+3
6
SELECT 1 /* long
multi line comment */;
1
1
SELECT 1 /*!32301 +1 */;
1 +1
2
SELECT 1 /*!952301 +1 */;
1
1
SELECT 1--1;
1--1
2
SELECT 1 # The rest of the row will be ignored
;
1
1
/* line with only comment */;
SELECT 1 /*M! +1 */;
1 +1
2
SELECT 1 /*M!50000 +1 */;
1 +1
2
SELECT 1 /*M!50300 +1 */;
1 +1
2
SELECT 2 /*M!99999 +1 */;
2 +1
3
SELECT 2 /*M!100000 +1 */;
2 +1
3
SELECT 2 /*M!999999 +1 */;
2
2
SELECT 2 /*M!0000 +1 */;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '0000 +1 */' at line 1
SELECT 1 /*!50699 +1*/;
1 +1
2
SELECT 1 /*!50700 +1*/;
1
1
SELECT 1 /*!50999 +1*/;
1
1
SELECT 1 /*!99999 +1*/;
1
1
SELECT 1 /*!100000 +1*/;
1 +1
2
SELECT 1 /*!110000 +1*/;
1
1
DROP DATABASE mcs114_db;

View File

@@ -0,0 +1,15 @@
DROP DATABASE IF EXISTS mcs115_db;
CREATE DATABASE mcs115_db;
USE mcs115_db;
CREATE TABLE t1 (a INT, b CHAR(1))ENGINE=Columnstore;
INSERT INTO t1 VALUES(NULL, ''),(1, 'z'),(2, 'y'),(1, 'y'),(2, 'z'),(3, 'z');
SELECT COUNT(a) FROM t1;
COUNT(a)
5
SELECT COUNT(DISTINCT a) FROM t1;
COUNT(DISTINCT a)
3
SELECT COUNT(DISTINCT b) FROM t1;
COUNT(DISTINCT b)
2
DROP DATABASE mcs115_db;

View File

@@ -0,0 +1,8 @@
DROP DATABASE IF EXISTS mcs116_db;
CREATE DATABASE mcs116_db;
USE mcs116_db;
CREATE OR REPLACE TABLE IF NOT EXISTS t1 (a INT);
ERROR HY000: Incorrect usage of OR REPLACE and IF NOT EXISTS
CREATE OR REPLACE TABLE t1 (a INT)ENGINE=Columnstore;
ERROR 42000: The storage engine for the table doesn't support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
DROP DATABASE mcs116_db;

View File

@@ -0,0 +1,39 @@
set names utf8;
DROP DATABASE IF EXISTS mcs117_db;
CREATE DATABASE имя_базы_в_кодировке_утф8_длиной_большеем_45;
USE имя_базы_в_кодировке_утф8_длиной_большеем_45;
SELECT DATABASE();
DATABASE()
имя_базы_в_кодировке_утф8_длиной_большеем_45
CREATE DATABASE mcs117_db;
USE mcs117_db;
SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.schemata
WHERE schema_name='имя_базы_в_кодировке_утф8_длиной_большеем_45';
SCHEMA_NAME
имя_базы_в_кодировке_утф8_длиной_большеем_45
DROP DATABASE имя_базы_в_кодировке_утф8_длиной_большеем_45;
CREATE TABLE имя_таблицы_в_кодировке_утф8_длиной_большеем_48
(
имя_поля_в_кодировке_утф8_длиной_большеем_45 INT
)ENGINE=Columnstore;
SHOW CREATE TABLE имя_таблицы_в_кодировке_утф8_длиной_большеем_48;
Table Create Table
имя_таблицы_в_кодировке_утф8_длиной_большеем_48 CREATE TABLE `имя_таблицы_в_кодировке_утф8_длиной_большеем_48` (
`имя_поля_в_кодировке_утф8_длиной_большеем_45` int(11) DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1
CREATE VIEW имя_вью_кодировке_утф8_длиной_большеем_42 AS SELECT * FROM имя_таблицы_в_кодировке_утф8_длиной_большеем_48;
SHOW CREATE VIEW имя_вью_кодировке_утф8_длиной_большеем_42;
View Create View character_set_client collation_connection
имя_вью_кодировке_утф8_длиной_большеем_42 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `имя_вью_кодировке_утф8_длиной_большеем_42` AS select `имя_таблицы_в_кодировке_утф8_длиной_большеем_48`.`имя_поля_в_кодировке_утф8_длиной_большеем_45` AS `имя_поля_в_кодировке_утф8_длиной_большеем_45` from `имя_таблицы_в_кодировке_утф8_длиной_большеем_48` utf8 utf8_general_ci
select TABLE_NAME from information_schema.tables where table_schema='mcs117_db' order by 1;
TABLE_NAME
имя_вью_кодировке_утф8_длиной_большеем_42
имя_таблицы_в_кодировке_утф8_длиной_большеем_48
select COLUMN_NAME from information_schema.columns where table_schema='mcs117_db' order by 1;
COLUMN_NAME
имя_поля_в_кодировке_утф8_длиной_большеем_45
имя_поля_в_кодировке_утф8_длиной_большеем_45
select TABLE_NAME from information_schema.views where table_schema='mcs117_db' order by 1;
TABLE_NAME
имя_вью_кодировке_утф8_длиной_большеем_42
DROP DATABASE mcs117_db;

View File

@@ -0,0 +1,21 @@
DROP DATABASE IF EXISTS mcs118_db;
CREATE DATABASE mcs118_db DEFAULT CHARACTER SET latin5;
USE mcs118_db;
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET latin1, b VARCHAR(10) CHARACTER SET utf8)ENGINE=Columnstore;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(10) CHARACTER SET latin1 DEFAULT NULL,
`b` varchar(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin5
ALTER TABLE t1 CONVERT TO CHARACTER SET utf8, CHARACTER SET latin1;
ERROR HY000: Conflicting declarations: 'CHARACTER SET utf8' and 'CHARACTER SET latin1'
ALTER TABLE t1 CONVERT TO CHARACTER SET utf8, CHARACTER SET DEFAULT;
ERROR HY000: Conflicting declarations: 'CHARACTER SET utf8' and 'CHARACTER SET DEFAULT'
ALTER TABLE t1 CONVERT TO CHARACTER SET latin1, CHARACTER SET utf8;
ERROR HY000: Conflicting declarations: 'CHARACTER SET latin1' and 'CHARACTER SET utf8'
ALTER TABLE t1 CONVERT TO CHARACTER SET latin1, CHARACTER SET DEFAULT;
ERROR HY000: Conflicting declarations: 'CHARACTER SET latin1' and 'CHARACTER SET DEFAULT'
ALTER TABLE t1 CONVERT TO CHARACTER SET DEFAULT, CHARACTER SET utf8;
ERROR HY000: Conflicting declarations: 'CHARACTER SET latin5' and 'CHARACTER SET utf8'
DROP DATABASE mcs118_db;

View File

@@ -0,0 +1,85 @@
DROP DATABASE IF EXISTS mcs119_db;
CREATE DATABASE mcs119_db;
USE mcs119_db;
CREATE TABLE t1 (date CHAR(30), format CHAR(30))ENGINE=Columnstore;
INSERT INTO t1 VALUES
('2023-01-02 10:11:12', '%Y-%m-%d %H:%i:%S'),
('2203-01-02 10:11:12 PM', '%Y-%m-%d %h:%i:%S %p'),
('2023-01-02 01:11:12.12345AM', '%Y-%m-%d %h:%i:%S.%f%p'),
('2013-01-02 02:11:12.12345AM', '%Y-%m-%d %h:%i:%S.%f %p'),
('2001-01-02 12:11:12.12345 am', '%Y-%m-%d %h:%i:%S.%f%p'),
('2113-01-02 11:11:12Pm', '%Y-%m-%d %h:%i:%S%p'),
('10:20:10', '%H:%i:%s'),
('10:20:10', '%h:%i:%s.%f'),
('10:20:10', '%T'),
('10:20:10AM', '%h:%i:%s%p'),
('10:20:10AM', '%r'),
('10:20:10.44AM', '%h:%i:%s.%f%p'),
('15-01-2001 12:59:58', '%d-%m-%Y %H:%i:%S'),
('15 September 2001', '%d %M %Y'),
('15 SEPTEMB 1001', '%d %M %Y'),
('15 MAY 2221', '%d %b %Y'),
('15th May 2111', '%D %b %Y'),
('Sunday 15 MAY 2021', '%W %d %b %Y'),
('Sund 15 MAY 2011', '%W %d %b %Y'),
('Tuesday 00 2002', '%W %U %Y'),
('Thursday 53 1998', '%W %u %Y'),
('Sunday 01 1111', '%W %v %x'),
('Tuesday 52 2901', '%W %V %X'),
('060 1004', '%j %Y'),
('4 53 1998', '%w %u %Y'),
('15-01-2001', '%d-%m-%Y %H:%i:%S'),
('15-01-11', '%d-%m-%y'),
('15-2021-1', '%d-%Y-%c');
SELECT date, format, STR_TO_DATE(date, format) as str_to_date FROM t1;
date format str_to_date
2023-01-02 10:11:12 %Y-%m-%d %H:%i:%S 2023-01-02 10:11:12.000000
2203-01-02 10:11:12 PM %Y-%m-%d %h:%i:%S %p 2203-01-02 22:11:12.000000
2023-01-02 01:11:12.12345AM %Y-%m-%d %h:%i:%S.%f%p 2023-01-02 01:11:12.123450
2013-01-02 02:11:12.12345AM %Y-%m-%d %h:%i:%S.%f %p 2013-01-02 02:11:12.123450
2001-01-02 12:11:12.12345 am %Y-%m-%d %h:%i:%S.%f%p 2001-01-02 00:11:12.123450
2113-01-02 11:11:12Pm %Y-%m-%d %h:%i:%S%p 2113-01-02 23:11:12.000000
10:20:10 %H:%i:%s 0000-00-00 10:20:10.000000
10:20:10 %h:%i:%s.%f NULL
10:20:10 %T 0000-00-00 10:20:10.000000
10:20:10AM %h:%i:%s%p 0000-00-00 10:20:10.000000
10:20:10AM %r 0000-00-00 10:20:10.000000
10:20:10.44AM %h:%i:%s.%f%p 0000-00-00 10:20:10.440000
15-01-2001 12:59:58 %d-%m-%Y %H:%i:%S 2001-01-15 12:59:58.000000
15 September 2001 %d %M %Y 2001-00-15 00:00:00.000000
15 SEPTEMB 1001 %d %M %Y 2001-00-15 00:00:00.000000
15 MAY 2221 %d %b %Y 2221-05-15 00:00:00.000000
15th May 2111 %D %b %Y 2111-05-15 00:00:00.000000
Sunday 15 MAY 2021 %W %d %b %Y 2021-05-15 00:00:00.000000
Sund 15 MAY 2011 %W %d %b %Y NULL
Tuesday 00 2002 %W %U %Y 2002-00-00 00:00:00.000000
Thursday 53 1998 %W %u %Y 1999-01-07 00:00:00.000000
Sunday 01 1111 %W %v %x 1111-01-01 00:00:00.000000
Tuesday 52 2901 %W %V %X 2901-12-27 00:00:00.000000
060 1004 %j %Y 1004-02-29 00:00:00.000000
4 53 1998 %w %u %Y 1999-01-07 00:00:00.000000
15-01-2001 %d-%m-%Y %H:%i:%S NULL
15-01-11 %d-%m-%y 2011-01-15 00:00:00.000000
15-2021-1 %d-%Y-%c 2021-01-15 00:00:00.000000
DROP TABLE t1;
CREATE TABLE t1(t1_d DATE, t1_t TIME, t1_dt DATETIME)ENGINE=Columnstore;
INSERT INTO t1 VALUES(NULL, NULL, NULL);
INSERT INTO t1 VALUES('0000-00-00', '00:00:00', '0000-00-00');
INSERT INTO t1 VALUES('2222-11-11', '12:12:12', '2020-11-11 12:12:12');
INSERT INTO t1 VALUES('2020-01-01', '11:11:11', '2020-12-31 12:34:56');
INSERT INTO t1 VALUES('2016-02-01', '11:11:11', '2017-02-01 12:12:12');
SELECT t1_dt, DATE_FORMAT(t1_dt, '%Y-%m-%d') a, DATE_FORMAT(t1_d, '%a %D %b %Y') b, DATE_FORMAT(t1_d, '%W %D %M %Y') c FROM t1;
t1_dt a b c
NULL NULL NULL NULL
0000-00-00 00:00:00 0000-00-00 Sun 0th NON_VALID 0000 Sunday 0th NON_VALID 0000
2020-11-11 12:12:12 2020-11-11 Mon 11th Nov 2222 Monday 11th November 2222
2020-12-31 12:34:56 2020-12-31 Wed 1st Jan 2020 Wednesday 1st January 2020
2017-02-01 12:12:12 2017-02-01 Mon 1st Feb 2016 Monday 1st February 2016
SELECT t1_dt, DATE_FORMAT(t1_dt, '%Y/%m/%d %T') a, DATE_FORMAT(t1_dt, '%a %D %b %Y %H:%i') b, DATE_FORMAT(t1_dt, '%W %D %M %Y %T') c FROM t1;
t1_dt a b c
NULL NULL NULL NULL
0000-00-00 00:00:00 0000/00/00 00:00:00 Sun 0th NON_VALID 0000 00:00 Sunday 0th NON_VALID 0000 00:00:00
2020-11-11 12:12:12 2020/11/11 12:12:12 Wed 11th Nov 2020 12:12 Wednesday 11th November 2020 12:12:12
2020-12-31 12:34:56 2020/12/31 12:34:56 Thu 31st Dec 2020 12:34 Thursday 31st December 2020 12:34:56
2017-02-01 12:12:12 2017/02/01 12:12:12 Wed 1st Feb 2017 12:12 Wednesday 1st February 2017 12:12:12
DROP DATABASE mcs119_db;

View File

@@ -0,0 +1,77 @@
DROP DATABASE IF EXISTS mcs11_db1;
DROP DATABASE IF EXISTS mcs11_db2;
CREATE DATABASE mcs11_db1;
CREATE SCHEMA mcs11_db2;
SHOW DATABASES LIKE 'mcs11%';
Database (mcs11%)
mcs11_db1
mcs11_db2
SHOW SCHEMAS LIKE 'mcs11%';
Database (mcs11%)
mcs11_db1
mcs11_db2
SHOW TABLES IN mcs11_db1;
Tables_in_mcs11_db1
USE mcs11_db2;
SHOW TABLES;
Tables_in_mcs11_db2
CREATE TABLE mcs11_db1.t1 (id INT) engine=innodb;
CREATE TABLE mcs11_db1.t2 (id INT) engine=columnstore;
SHOW TABLES IN mcs11_db1;
Tables_in_mcs11_db1
t1
t2
USE mcs11_db1;
SHOW TABLES;
Tables_in_mcs11_db1
t1
t2
USE mcs11_db2;
CREATE TABLE t1 (id INT) engine=innodb;
CREATE TABLE t2 (id INT) engine=columnstore;
CREATE TEMPORARY TABLE tmp1 (id INT) engine=innodb;
CREATE TEMPORARY TABLE tmp1 (id INT) engine=columnstore;
ERROR 42S01: Table 'tmp1' already exists
SHOW TABLES;
Tables_in_mcs11_db2
t1
t2
SHOW TABLES IN mcs11_db2;
Tables_in_mcs11_db2
t1
t2
connect addconroot1, localhost, root,,;
connect addconroot2, localhost, root,,;
connection addconroot1;
SHOW DATABASES LIKE 'mcs11%';
Database (mcs11%)
mcs11_db1
mcs11_db2
SHOW TABLES IN mcs11_db1;
Tables_in_mcs11_db1
t1
t2
USE mcs11_db1;
SHOW TABLES;
Tables_in_mcs11_db1
t1
t2
connection addconroot2;
SHOW SCHEMAS LIKE 'mcs11%';
Database (mcs11%)
mcs11_db1
mcs11_db2
SHOW TABLES IN mcs11_db2;
Tables_in_mcs11_db2
t1
t2
USE mcs11_db2;
SHOW TABLES;
Tables_in_mcs11_db2
t1
t2
connection default;
disconnect addconroot1;
disconnect addconroot2;
DROP DATABASE IF EXISTS mcs11_db1;
DROP DATABASE IF EXISTS mcs11_db2;

View File

@@ -0,0 +1,22 @@
DROP DATABASE IF EXISTS mcs120_db;
CREATE DATABASE mcs120_db;
USE mcs120_db;
CREATE TABLE t1 (x INT)ENGINE=Columnstore;
SELECT * FROM t1;
x
SELECT COUNT(*) FROM t1;
COUNT(*)
0
SHOW STATUS LIKE 'Empty_queries';
Variable_name Value
Empty_queries 1
SELECT * FROM t1 LIMIT 0;
x
SHOW STATUS LIKE 'Empty_queries';
Variable_name Value
Empty_queries 2
DROP TABLE t1;
SHOW STATUS LIKE 'Empty_queries';
Variable_name Value
Empty_queries 2
DROP DATABASE mcs120_db;

View File

@@ -0,0 +1,50 @@
DROP DATABASE IF EXISTS mcs123_db;
CREATE DATABASE mcs123_db;
USE mcs123_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 12),('c', 1861),('c', 1991),('d', 10701),('d', 1071);
SELECT a, b, CUME_DIST() OVER(ORDER BY a) cume_dist_val FROM t1;
a b cume_dist_val
NULL NULL 0.1250000000
a 1 0.3750000000
a 123 0.3750000000
b 12 0.5000000000
c 1991 0.7500000000
c 1861 0.7500000000
d 1071 1.0000000000
d 10701 1.0000000000
SELECT a, b, CUME_DIST() OVER(ORDER BY b DESC) cume_dist_val FROM t1;
a b cume_dist_val
d 10701 0.1250000000
c 1991 0.2500000000
c 1861 0.3750000000
d 1071 0.5000000000
a 123 0.6250000000
b 12 0.7500000000
a 1 0.8750000000
NULL NULL 1.0000000000
SELECT a, b, CUME_DIST() OVER w cume_dist_val FROM t1 WINDOW w AS (ORDER BY a DESC);
a b cume_dist_val
d 10701 0.2500000000
d 1071 0.2500000000
c 1861 0.5000000000
c 1991 0.5000000000
b 12 0.6250000000
a 123 0.8750000000
a 1 0.8750000000
NULL NULL 1.0000000000
SELECT a, b, CUME_DIST() OVER w cume_dist_val FROM t1 WINDOW w AS (ORDER BY b);
a b cume_dist_val
NULL NULL 0.1250000000
a 1 0.2500000000
b 12 0.3750000000
a 123 0.5000000000
d 1071 0.6250000000
c 1861 0.7500000000
c 1991 0.8750000000
d 10701 1.0000000000
SELECT a, b, CUME_DIST(a) OVER(ORDER BY a) cume_dist_val FROM t1;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'a) OVER(ORDER BY a) cume_dist_val FROM t1' at line 1
SELECT a, b, CUME_DIST() OVER(PARTITION BY b) cume_dist_val FROM t1;
ERROR HY000: No order list in window specification for 'cume_dist'
DROP DATABASE mcs123_db;

View File

@@ -0,0 +1,131 @@
DROP DATABASE IF EXISTS mcs124_db;
CREATE DATABASE mcs124_db;
USE mcs124_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, DENSE_RANK() OVER(ORDER BY a) rank FROM t1;
a b rank
NULL NULL 1
a 92 2
a 1 2
a 123 2
b 123 3
c 1991 4
c 1861 4
d 1071 5
d 10701 5
SELECT a, b, DENSE_RANK() OVER(ORDER BY b DESC) rank FROM t1;
a b rank
d 10701 1
c 1991 2
c 1861 3
d 1071 4
a 123 5
b 123 5
a 92 6
a 1 7
NULL NULL 8
SELECT a, b, DENSE_RANK() OVER(ORDER BY a) rank FROM t1;
a b rank
NULL NULL 1
a 92 2
a 1 2
a 123 2
b 123 3
c 1991 4
c 1861 4
d 1071 5
d 10701 5
SELECT a, b, DENSE_RANK() OVER(ORDER BY b DESC) rank FROM t1;
a b rank
d 10701 1
c 1991 2
c 1861 3
d 1071 4
a 123 5
b 123 5
a 92 6
a 1 7
NULL NULL 8
SELECT a, b, DENSE_RANK() OVER w rank FROM t1 WINDOW w AS (ORDER BY a DESC);
a b rank
d 10701 1
d 1071 1
c 1861 2
c 1991 2
b 123 3
a 92 4
a 123 4
a 1 4
NULL NULL 5
SELECT a, b, DENSE_RANK() OVER w rank FROM t1 WINDOW w AS (ORDER BY b);
a b rank
NULL NULL 1
a 1 2
a 92 3
b 123 4
a 123 4
d 1071 5
c 1861 6
c 1991 7
d 10701 8
SELECT a, b, DENSE_RANK() OVER(PARTITION BY a ORDER BY a DESC) rank FROM t1;
a b rank
NULL NULL 1
a 92 1
a 1 1
a 123 1
b 123 1
c 1991 1
c 1861 1
d 1071 1
d 10701 1
SELECT a, b, DENSE_RANK() OVER(PARTITION BY a ORDER BY b DESC) rank FROM t1;
a b rank
NULL NULL 1
a 123 1
a 92 2
a 1 3
b 123 1
c 1991 1
c 1861 2
d 10701 1
d 1071 2
SELECT a, b, DENSE_RANK() OVER(PARTITION BY a ORDER BY b ASC) rank FROM t1;
a b rank
NULL NULL 1
a 1 1
a 92 2
a 123 3
b 123 1
c 1861 1
c 1991 2
d 1071 1
d 10701 2
SELECT a, b, DENSE_RANK() OVER(PARTITION BY b ORDER BY a DESC) rank FROM t1;
a b rank
NULL NULL 1
a 1 1
a 92 1
b 123 1
a 123 2
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, DENSE_RANK() OVER(PARTITION BY b ORDER BY b DESC) rank FROM t1;
a b rank
NULL NULL 1
a 1 1
a 92 1
b 123 1
a 123 1
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, DENSE_RANK() OVER(PARTITION BY a) rank FROM t1;
ERROR HY000: No order list in window specification for 'dense_rank'
SELECT a, b, DENSE_RANK() OVER(PARTITION BY b) rank FROM t1;
ERROR HY000: No order list in window specification for 'dense_rank'
DROP DATABASE mcs124_db;

View File

@@ -0,0 +1,149 @@
DROP DATABASE IF EXISTS mcs125_db;
CREATE DATABASE mcs125_db;
USE mcs125_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, FIRST_VALUE(b) OVER(ORDER BY a DESC) fv FROM t1;
a b fv
d 10701 10701
d 1071 10701
c 1861 10701
c 1991 10701
b 123 10701
a 92 10701
a 123 10701
a 1 10701
NULL NULL 10701
SELECT a, b, FIRST_VALUE(a) OVER(ORDER BY a DESC) fv FROM t1;
a b fv
d 10701 d
d 1071 d
c 1861 d
c 1991 d
b 123 d
a 92 d
a 123 d
a 1 d
NULL NULL d
SELECT a, b, FIRST_VALUE(b) OVER(ORDER BY b) fv FROM t1;
a b fv
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 NULL
a 123 NULL
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, FIRST_VALUE(a) OVER(ORDER BY b) fv FROM t1;
a b fv
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 NULL
a 123 NULL
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, FIRST_VALUE(b) OVER w fv FROM t1 WINDOW w AS (PARTITION BY a DESC);
a b fv
NULL NULL NULL
a 92 92
a 1 92
a 123 92
b 123 123
c 1991 1991
c 1861 1991
d 1071 1071
d 10701 1071
SELECT a, b, FIRST_VALUE(a) OVER w fv FROM t1 WINDOW w AS (PARTITION BY b);
a b fv
NULL NULL NULL
a 1 a
a 92 a
b 123 b
a 123 b
d 1071 d
c 1861 c
c 1991 c
d 10701 d
SELECT a, b, FIRST_VALUE(b) OVER(PARTITION BY b) fv FROM t1;
a b fv
NULL NULL NULL
a 1 1
a 92 92
b 123 123
a 123 123
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
SELECT a, b, FIRST_VALUE(a) OVER(PARTITION BY a) fv FROM t1;
a b fv
NULL NULL NULL
a 92 a
a 1 a
a 123 a
b 123 b
c 1991 c
c 1861 c
d 1071 d
d 10701 d
SELECT a, b, FIRST_VALUE(a) OVER(PARTITION BY a ORDER BY a DESC) fv FROM t1;
a b fv
NULL NULL NULL
a 92 a
a 1 a
a 123 a
b 123 b
c 1991 c
c 1861 c
d 1071 d
d 10701 d
SELECT a, b, FIRST_VALUE(b) OVER(PARTITION BY a ORDER BY b DESC) fv FROM t1;
a b fv
NULL NULL NULL
a 123 123
a 92 123
a 1 123
b 123 123
c 1991 1991
c 1861 1991
d 10701 10701
d 1071 10701
SELECT a, b, FIRST_VALUE(a) OVER(PARTITION BY a ORDER BY b ASC) fv FROM t1;
a b fv
NULL NULL NULL
a 1 a
a 92 a
a 123 a
b 123 b
c 1861 c
c 1991 c
d 1071 d
d 10701 d
SELECT a, b, FIRST_VALUE(a) OVER(PARTITION BY b ORDER BY a DESC) fv FROM t1;
a b fv
NULL NULL NULL
a 1 a
a 92 a
b 123 b
a 123 b
d 1071 d
c 1861 c
c 1991 c
d 10701 d
SELECT a, b, FIRST_VALUE(b) OVER(PARTITION BY b ORDER BY b DESC) fv FROM t1;
a b fv
NULL NULL NULL
a 1 1
a 92 92
b 123 123
a 123 123
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
DROP DATABASE mcs125_db;

View File

@@ -0,0 +1,186 @@
DROP DATABASE IF EXISTS mcs126_db;
CREATE DATABASE mcs126_db;
USE mcs126_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, LAG(a) OVER(ORDER BY a) pc FROM t1;
a b pc
NULL NULL NULL
a 92 NULL
a 1 a
a 123 a
b 123 a
c 1991 b
c 1861 c
d 1071 c
d 10701 d
SELECT a, b, LAG(b) OVER(ORDER BY b DESC) pc FROM t1;
a b pc
d 10701 NULL
c 1991 10701
c 1861 1991
d 1071 1861
a 123 1071
b 123 123
a 92 123
a 1 92
NULL NULL 1
SELECT a, b, LAG(a) OVER(ORDER BY b) pc FROM t1;
a b pc
NULL NULL NULL
a 1 NULL
a 92 a
b 123 a
a 123 b
d 1071 a
c 1861 d
c 1991 c
d 10701 c
SELECT a, b, LAG(b) OVER(ORDER BY a DESC) pc FROM t1;
a b pc
d 10701 NULL
d 1071 10701
c 1861 1071
c 1991 1861
b 123 1991
a 92 123
a 123 92
a 1 123
NULL NULL 1
SELECT a, b, LAG(a) OVER w lag_value FROM t1 WINDOW w AS (ORDER BY a DESC);
a b lag_value
d 10701 NULL
d 1071 d
c 1861 d
c 1991 c
b 123 c
a 92 b
a 123 a
a 1 a
NULL NULL a
SELECT a, b, LAG(b) OVER w lag_value FROM t1 WINDOW w AS (ORDER BY b);
a b lag_value
NULL NULL NULL
a 1 NULL
a 92 1
b 123 92
a 123 123
d 1071 123
c 1861 1071
c 1991 1861
d 10701 1991
SELECT a, b, LAG(a) OVER(PARTITION BY a ORDER BY a DESC) lag_value FROM t1;
a b lag_value
NULL NULL NULL
a 92 NULL
a 1 a
a 123 a
b 123 NULL
c 1991 NULL
c 1861 c
d 1071 NULL
d 10701 d
SELECT a, b, LAG(a) OVER(PARTITION BY a ORDER BY b DESC) lag_value FROM t1;
a b lag_value
NULL NULL NULL
a 123 NULL
a 92 a
a 1 a
b 123 NULL
c 1991 NULL
c 1861 c
d 10701 NULL
d 1071 d
SELECT a, b, LAG(a) OVER(PARTITION BY a ORDER BY b ASC) lag_value FROM t1;
a b lag_value
NULL NULL NULL
a 1 NULL
a 92 a
a 123 a
b 123 NULL
c 1861 NULL
c 1991 c
d 1071 NULL
d 10701 d
SELECT a, b, LAG(a) OVER(PARTITION BY b ORDER BY a DESC) lag_value FROM t1;
a b lag_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 NULL
a 123 b
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, LAG(a) OVER(PARTITION BY b ORDER BY b DESC) lag_value FROM t1;
a b lag_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 NULL
a 123 b
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, LAG(b) OVER(PARTITION BY a ORDER BY a DESC) lag_value FROM t1;
a b lag_value
NULL NULL NULL
a 92 NULL
a 1 92
a 123 1
b 123 NULL
c 1991 NULL
c 1861 1991
d 1071 NULL
d 10701 1071
SELECT a, b, LAG(b) OVER(PARTITION BY a ORDER BY b DESC) lag_value FROM t1;
a b lag_value
NULL NULL NULL
a 123 NULL
a 92 123
a 1 92
b 123 NULL
c 1991 NULL
c 1861 1991
d 10701 NULL
d 1071 10701
SELECT a, b, LAG(b) OVER(PARTITION BY a ORDER BY b ASC) lag_value FROM t1;
a b lag_value
NULL NULL NULL
a 1 NULL
a 92 1
a 123 92
b 123 NULL
c 1861 NULL
c 1991 1861
d 1071 NULL
d 10701 1071
SELECT a, b, LAG(b) OVER(PARTITION BY b ORDER BY a DESC) lag_value FROM t1;
a b lag_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 NULL
a 123 123
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, LAG(b) OVER(PARTITION BY b ORDER BY b DESC) lag_value FROM t1;
a b lag_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 NULL
a 123 123
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, LAG(a) OVER(PARTITION BY b) lag_value FROM t1;
ERROR HY000: No order list in window specification for 'lag'
SELECT a, b, LAG(a) OVER(PARTITION BY a) lag_value FROM t1;
ERROR HY000: No order list in window specification for 'lag'
DROP DATABASE mcs126_db;

View File

@@ -0,0 +1,153 @@
DROP DATABASE IF EXISTS mcs127_db;
CREATE DATABASE mcs127_db;
USE mcs127_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, LAST_VALUE(b) OVER(ORDER BY a) last_value FROM t1;
a b last_value
NULL NULL NULL
a 92 123
a 1 123
a 123 123
b 123 123
c 1991 1861
c 1861 1861
d 1071 10701
d 10701 10701
SELECT a, b, LAST_VALUE(b) OVER(ORDER BY b DESC) last_value FROM t1;
a b last_value
d 10701 10701
c 1991 1991
c 1861 1861
d 1071 1071
a 123 123
b 123 123
a 92 92
a 1 1
NULL NULL NULL
SELECT a, b, LAST_VALUE(a) OVER(ORDER BY b) last_value FROM t1;
a b last_value
NULL NULL NULL
a 1 a
a 92 a
b 123 a
a 123 a
d 1071 d
c 1861 c
c 1991 c
d 10701 d
SELECT a, b, LAST_VALUE(b) OVER(ORDER BY a DESC) last_value FROM t1;
a b last_value
d 10701 1071
d 1071 1071
c 1861 1991
c 1991 1991
b 123 123
a 92 1
a 123 1
a 1 1
NULL NULL NULL
SELECT a, b, LAST_VALUE(a) OVER w last_value FROM t1 WINDOW w AS (ORDER BY a DESC);
a b last_value
d 10701 d
d 1071 d
c 1861 c
c 1991 c
b 123 b
a 92 a
a 123 a
a 1 a
NULL NULL NULL
SELECT a, b, LAST_VALUE(b) OVER w last_value FROM t1 WINDOW w AS (ORDER BY b);
a b last_value
NULL NULL NULL
a 1 1
a 92 92
b 123 123
a 123 123
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
SELECT a, b, LAST_VALUE(b) OVER(PARTITION BY b) last_value FROM t1;
a b last_value
NULL NULL NULL
a 1 1
a 92 92
b 123 123
a 123 123
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
SELECT a, b, LAST_VALUE(b) OVER(PARTITION BY a) last_value FROM t1;
a b last_value
NULL NULL NULL
a 92 123
a 1 123
a 123 123
b 123 123
c 1991 1861
c 1861 1861
d 1071 10701
d 10701 10701
SELECT a, b, LAST_VALUE(a) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1;
a b last_value
NULL NULL d
a 1 d
a 92 d
b 123 d
a 123 d
d 1071 d
c 1861 d
c 1991 d
d 10701 d
SELECT a, b, LAST_VALUE(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1;
a b last_value
NULL NULL 10701
a 1 10701
a 92 10701
b 123 10701
a 123 10701
d 1071 10701
c 1861 10701
c 1991 10701
d 10701 10701
SELECT a, b, LAST_VALUE(b) OVER(PARTITION BY b ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1;
a b last_value
NULL NULL NULL
a 1 1
a 92 92
b 123 123
a 123 123
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
SELECT a, b, LAST_VALUE(a) OVER(PARTITION BY b ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1;
a b last_value
NULL NULL NULL
a 1 a
a 92 a
b 123 a
a 123 a
d 1071 d
c 1861 c
c 1991 c
d 10701 d
SELECT a, b, LAST_VALUE(b) OVER(PARTITION BY a ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1;
a b last_value
NULL NULL NULL
a 123 1
a 92 1
a 1 1
b 123 123
c 1991 1861
c 1861 1861
d 10701 1071
d 1071 1071
SELECT a, b, LAST_VALUE(b) OVER(PARTITION BY a ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
SELECT a, b, LAST_VALUE(b) OVER(PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs127_db;

View File

@@ -0,0 +1,219 @@
DROP DATABASE IF EXISTS mcs128_db;
CREATE DATABASE mcs128_db;
USE mcs128_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, LEAD(a) OVER(ORDER BY a) lead_value FROM t1;
a b lead_value
NULL NULL a
a 92 a
a 1 a
a 123 b
b 123 c
c 1991 c
c 1861 d
d 1071 d
d 10701 NULL
SELECT a, b, LEAD(b) OVER(ORDER BY b DESC) lead_value FROM t1;
a b lead_value
d 10701 1991
c 1991 1861
c 1861 1071
d 1071 123
a 123 123
b 123 92
a 92 1
a 1 NULL
NULL NULL NULL
SELECT a, b, LEAD(a) OVER(ORDER BY b) lead_value FROM t1;
a b lead_value
NULL NULL a
a 1 a
a 92 b
b 123 a
a 123 d
d 1071 c
c 1861 c
c 1991 d
d 10701 NULL
SELECT a, b, LEAD(b) OVER(ORDER BY a DESC) lead_value FROM t1;
a b lead_value
d 10701 1071
d 1071 1861
c 1861 1991
c 1991 123
b 123 92
a 92 123
a 123 1
a 1 NULL
NULL NULL NULL
SELECT a, b, LEAD(b, 0) OVER(ORDER BY a DESC) lead_value FROM t1;
a b lead_value
d 10701 10701
d 1071 1071
c 1861 1861
c 1991 1991
b 123 123
a 92 92
a 123 123
a 1 1
NULL NULL NULL
SELECT a, b, LEAD(b, -1) OVER(ORDER BY a DESC) lead_value FROM t1;
a b lead_value
d 10701 NULL
d 1071 10701
c 1861 1071
c 1991 1861
b 123 1991
a 92 123
a 123 92
a 1 123
NULL NULL 1
SELECT a, b, LEAD(b, 2) OVER(ORDER BY a DESC) lead_value FROM t1;
a b lead_value
d 10701 1861
d 1071 1991
c 1861 123
c 1991 92
b 123 123
a 92 1
a 123 NULL
a 1 NULL
NULL NULL NULL
SELECT a, b, LEAD(a) OVER w lead_value FROM t1 WINDOW w AS (ORDER BY a DESC);
a b lead_value
d 10701 d
d 1071 c
c 1861 c
c 1991 b
b 123 a
a 92 a
a 123 a
a 1 NULL
NULL NULL NULL
SELECT a, b, LEAD(b) OVER w lead_value FROM t1 WINDOW w AS (ORDER BY b);
a b lead_value
NULL NULL 1
a 1 92
a 92 123
b 123 123
a 123 1071
d 1071 1861
c 1861 1991
c 1991 10701
d 10701 NULL
SELECT a, b, LEAD(a) OVER(PARTITION BY a ORDER BY a DESC) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 92 a
a 1 a
a 123 NULL
b 123 NULL
c 1991 c
c 1861 NULL
d 1071 d
d 10701 NULL
SELECT a, b, LEAD(a) OVER(PARTITION BY a ORDER BY b DESC) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 123 a
a 92 a
a 1 NULL
b 123 NULL
c 1991 c
c 1861 NULL
d 10701 d
d 1071 NULL
SELECT a, b, LEAD(a) OVER(PARTITION BY a ORDER BY b ASC) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 1 a
a 92 a
a 123 NULL
b 123 NULL
c 1861 c
c 1991 NULL
d 1071 d
d 10701 NULL
SELECT a, b, LEAD(a) OVER(PARTITION BY b ORDER BY a DESC) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 a
a 123 NULL
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, LEAD(a) OVER(PARTITION BY b ORDER BY b DESC) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 a
a 123 NULL
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY a ORDER BY a DESC) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 92 1
a 1 123
a 123 NULL
b 123 NULL
c 1991 1861
c 1861 NULL
d 1071 10701
d 10701 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY a ORDER BY b DESC) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 123 92
a 92 1
a 1 NULL
b 123 NULL
c 1991 1861
c 1861 NULL
d 10701 1071
d 1071 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY a ORDER BY b ASC) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 1 92
a 92 123
a 123 NULL
b 123 NULL
c 1861 1991
c 1991 NULL
d 1071 10701
d 10701 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY b ORDER BY a DESC) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 123
a 123 NULL
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY b ORDER BY b DESC) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 123
a 123 NULL
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, LEAD(a) OVER(PARTITION BY b) lead_value FROM t1;
ERROR HY000: No order list in window specification for 'lead'
SELECT a, b, LEAD(a) OVER(PARTITION BY a) lead_value FROM t1;
ERROR HY000: No order list in window specification for 'lead'
DROP DATABASE mcs128_db;

View File

@@ -0,0 +1,219 @@
DROP DATABASE IF EXISTS mcs129_db;
CREATE DATABASE mcs129_db;
USE mcs129_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, NTH_VALUE(a, 2) OVER(ORDER BY b DESC) second_value FROM t1;
a b second_value
d 10701 NULL
c 1991 c
c 1861 c
d 1071 c
a 123 c
b 123 c
a 92 c
a 1 c
NULL NULL c
SELECT a, b, NTH_VALUE(b, 8) OVER(ORDER BY b) eight_value FROM t1;
a b eight_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 NULL
a 123 NULL
d 1071 NULL
c 1861 NULL
c 1991 1991
d 10701 1991
SELECT a, b, NTH_VALUE(a, 3) OVER(ORDER BY b) third_value FROM t1;
a b third_value
NULL NULL NULL
a 1 NULL
a 92 a
b 123 a
a 123 a
d 1071 a
c 1861 a
c 1991 a
d 10701 a
SELECT a, b, NTH_VALUE(b, 3) OVER(ORDER BY a DESC) third_value FROM t1;
a b third_value
d 10701 NULL
d 1071 NULL
c 1861 1861
c 1991 1861
b 123 1861
a 92 1861
a 123 1861
a 1 1861
NULL NULL 1861
SELECT a, b, NTH_VALUE(a, 1) OVER(ORDER BY b DESC) first_value FROM t1;
a b first_value
d 10701 d
c 1991 d
c 1861 d
d 1071 d
a 123 d
b 123 d
a 92 d
a 1 d
NULL NULL d
SELECT a, b, NTH_VALUE(a, 4) OVER w fourth_value FROM t1 WINDOW w AS (ORDER BY a DESC);
a b fourth_value
d 10701 NULL
d 1071 NULL
c 1861 c
c 1991 c
b 123 c
a 92 c
a 123 c
a 1 c
NULL NULL c
SELECT a, b, NTH_VALUE(b, 4) OVER w fourth_value FROM t1 WINDOW w AS (ORDER BY b);
a b fourth_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 123
a 123 123
d 1071 123
c 1861 123
c 1991 123
d 10701 123
SELECT a, b, NTH_VALUE(a, 2) OVER(PARTITION BY b) second_value FROM t1;
a b second_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 a
a 123 a
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, NTH_VALUE(a, 2) OVER(PARTITION BY a) second_value FROM t1;
a b second_value
NULL NULL NULL
a 92 a
a 1 a
a 123 a
b 123 NULL
c 1991 c
c 1861 c
d 1071 d
d 10701 d
SELECT a, b, NTH_VALUE(a, 2) OVER(PARTITION BY a ORDER BY b DESC) second_value FROM t1;
a b second_value
NULL NULL NULL
a 123 NULL
a 92 a
a 1 a
b 123 NULL
c 1991 NULL
c 1861 c
d 10701 NULL
d 1071 d
SELECT a, b, NTH_VALUE(a, 2) OVER(PARTITION BY a ORDER BY b ASC) second_value FROM t1;
a b second_value
NULL NULL NULL
a 1 NULL
a 92 a
a 123 a
b 123 NULL
c 1861 NULL
c 1991 c
d 1071 NULL
d 10701 d
SELECT a, b, NTH_VALUE(a, 2) OVER(PARTITION BY b ORDER BY b DESC) second_value FROM t1;
a b second_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 a
a 123 a
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, NTH_VALUE(b, 2) OVER(PARTITION BY a ORDER BY b DESC) second_value FROM t1;
a b second_value
NULL NULL NULL
a 123 NULL
a 92 92
a 1 92
b 123 NULL
c 1991 NULL
c 1861 1861
d 10701 NULL
d 1071 1071
SELECT a, b, NTH_VALUE(b, 2) OVER(PARTITION BY a ORDER BY b ASC) second_value FROM t1;
a b second_value
NULL NULL NULL
a 1 NULL
a 92 92
a 123 92
b 123 NULL
c 1861 NULL
c 1991 1991
d 1071 NULL
d 10701 10701
SELECT a, b, NTH_VALUE(b, 2) OVER(PARTITION BY b ORDER BY b DESC) second_value FROM t1;
a b second_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 123
a 123 123
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, NTH_VALUE(a, 2) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) second_value FROM t1;
a b second_value
NULL NULL NULL
a 1 a
a 92 a
a 123 a
b 123 NULL
c 1861 c
c 1991 c
d 1071 d
d 10701 d
SELECT a, b, NTH_VALUE(b, 2) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) second_value FROM t1;
a b second_value
NULL NULL NULL
a 1 92
a 92 92
a 123 92
b 123 NULL
c 1861 1991
c 1991 1991
d 1071 10701
d 10701 10701
SELECT a, b, NTH_VALUE(a, 2) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) second_value FROM t1;
a b second_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 a
a 123 a
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, NTH_VALUE(b, 2) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) second_value FROM t1;
a b second_value
NULL NULL NULL
a 1 NULL
a 92 NULL
b 123 123
a 123 123
d 1071 NULL
c 1861 NULL
c 1991 NULL
d 10701 NULL
SELECT a, b, NTH_VALUE(b, 2) OVER(PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) second_value FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
SELECT a, b, NTH_VALUE(a, 2) OVER(PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) second_value FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs129_db;

View File

@@ -0,0 +1,154 @@
DROP DATABASE IF EXISTS mcs12_db1;
DROP DATABASE IF EXISTS mcs12_db2;
CREATE DATABASE mcs12_db1;
CREATE DATABASE mcs12_db2;
USE mcs12_db1;
CREATE TABLE t1 (a INTEGER, c1 CHAR(10));
INSERT INTO t1 VALUES (1, 'a'),(2, 'b');
ALTER TABLE t1 ENGINE=Columnstore;
ALTER TABLE t1 ENGINE=INNODB;
INSERT INTO t1 VALUES (3, 'c'),(4, 'd');
ALTER TABLE mcs12_db1.t1 ENGINE=Columnstore;
INSERT INTO mcs12_db1.t1 VALUES (3, 'c'),(4, 'd');
SHOW CREATE TABLE mcs12_db1.t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`c1` char(10) DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1
SELECT * FROM mcs12_db1.t1;
a c1
1 a
2 b
3 c
4 d
3 c
4 d
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`c1` char(10) DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1
SELECT * FROM t1;
a c1
1 a
2 b
3 c
4 d
3 c
4 d
ALTER TABLE t1 RENAME t2;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` int(11) DEFAULT NULL,
`c1` char(10) DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1
SELECT * FROM t2;
a c1
1 a
2 b
3 c
4 d
3 c
4 d
ALTER TABLE t2 RENAME TO mcs12_db1.t1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`c1` char(10) DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1
SELECT * FROM t1;
a c1
1 a
2 b
3 c
4 d
3 c
4 d
ALTER TABLE mcs12_db1.t1 RENAME TO mcs12_db2.t1;
ERROR HY000: Internal error: CAL0001: Alter table Failed: The new tablename is already in use.
DROP TABLE t1;
CREATE TABLE t1 (i INTEGER) ENGINE=Columnstore;
ALTER TABLE t1 ADD COLUMN (c CHAR(10));
INSERT INTO t1 VALUES (1, 'a'),(2, 'b');
ALTER TABLE t1 ADD t TIMESTAMP;
ALTER TABLE t1 ADD COLUMN i2 INT COMMENT 'Add one more column.';
INSERT INTO t1 VALUES (1, 'a', '2020-07-08', 11);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`i` int(11) DEFAULT NULL,
`c` char(10) DEFAULT NULL,
`t` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`i2` int(11) DEFAULT NULL COMMENT 'Add one more column.'
) ENGINE=Columnstore DEFAULT CHARSET=latin1
ALTER TABLE t1 DROP COLUMN t;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`i` int(11) DEFAULT NULL,
`c` char(10) DEFAULT NULL,
`i2` int(11) DEFAULT NULL COMMENT 'Add one more column.'
) ENGINE=Columnstore DEFAULT CHARSET=latin1
SELECT * FROM t1;
i c i2
1 a NULL
2 b NULL
1 a 11
ALTER TABLE t1 CHANGE i new_i INTEGER;
INSERT INTO t1 VALUES (2, 'b', 22);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`new_i` int(11) DEFAULT NULL,
`c` char(10) DEFAULT NULL,
`i2` int(11) DEFAULT NULL COMMENT 'Add one more column.'
) ENGINE=Columnstore DEFAULT CHARSET=latin1
SELECT * FROM t1;
new_i c i2
1 a NULL
2 b NULL
1 a 11
2 b 22
DROP TABLE t1;
CREATE TABLE t1 (i INTEGER) ENGINE=Columnstore;
connect addconroot1, localhost, root,,;
connect addconroot2, localhost, root,,;
connection addconroot1;
SHOW CREATE TABLE mcs12_db1.t1;
Table Create Table
t1 CREATE TABLE `t1` (
`i` int(11) DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1
ALTER TABLE mcs12_db1.t1 ADD COLUMN c CHAR(10);
INSERT INTO mcs12_db1.t1 VALUES (1, 'a'),(2, 'b');
connection addconroot2;
ALTER TABLE mcs12_db1.t1 ADD t TIMESTAMP;
INSERT INTO mcs12_db1.t1 VALUES (3, 'c', '2020-07-08');
connection addconroot1;
ALTER TABLE mcs12_db1.t1 DROP COLUMN t;
INSERT INTO mcs12_db1.t1 VALUES (4, 'd');
connection addconroot2;
ALTER TABLE mcs12_db1.t1 ADD COLUMN i2 INT COMMENT 'Add one more column.';
INSERT INTO mcs12_db1.t1 VALUES (5, 'e', 55);
connection default;
SHOW CREATE TABLE mcs12_db1.t1;
Table Create Table
t1 CREATE TABLE `t1` (
`i` int(11) DEFAULT NULL,
`c` char(10) DEFAULT NULL,
`i2` int(11) DEFAULT NULL COMMENT 'Add one more column.'
) ENGINE=Columnstore DEFAULT CHARSET=latin1
SELECT * FROM mcs12_db1.t1;
i c i2
1 a NULL
2 b NULL
3 c NULL
4 d NULL
5 e 55
disconnect addconroot1;
disconnect addconroot2;
DROP DATABASE mcs12_db1;

View File

@@ -0,0 +1,133 @@
DROP DATABASE IF EXISTS mcs130_db;
CREATE DATABASE mcs130_db;
USE mcs130_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, NTILE(3) OVER(ORDER BY b DESC) ntile FROM t1;
a b ntile
d 10701 1
c 1991 1
c 1861 1
d 1071 2
a 123 2
b 123 2
a 92 3
a 1 3
NULL NULL 3
SELECT a, b, NTILE(4) OVER(ORDER BY a DESC) ntile FROM t1;
a b ntile
d 10701 1
d 1071 1
c 1861 1
c 1991 2
b 123 2
a 92 3
a 123 3
a 1 4
NULL NULL 4
SELECT a, b, NTILE(3) OVER w ntile FROM t1 WINDOW w AS (ORDER BY a DESC);
a b ntile
d 10701 1
d 1071 1
c 1861 1
c 1991 2
b 123 2
a 92 2
a 123 3
a 1 3
NULL NULL 3
SELECT a, b, NTILE(3) OVER w ntile FROM t1 WINDOW w AS (ORDER BY b);
a b ntile
NULL NULL 1
a 1 1
a 92 1
b 123 2
a 123 2
d 1071 2
c 1861 3
c 1991 3
d 10701 3
SELECT a, b, NTILE(3) OVER(PARTITION BY b) ntile FROM t1;
a b ntile
NULL NULL 1
a 1 1
a 92 1
b 123 1
a 123 2
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, NTILE(3) OVER(PARTITION BY a) ntile FROM t1;
a b ntile
NULL NULL 1
a 92 1
a 1 2
a 123 3
b 123 1
c 1991 1
c 1861 2
d 1071 1
d 10701 2
SELECT a, b, NTILE(3) OVER(PARTITION BY a ORDER BY b DESC) ntile FROM t1;
a b ntile
NULL NULL 1
a 123 1
a 92 2
a 1 3
b 123 1
c 1991 1
c 1861 2
d 10701 1
d 1071 2
SELECT a, b, NTILE(3) OVER(PARTITION BY b ORDER BY b DESC) ntile FROM t1;
a b ntile
NULL NULL 1
a 1 1
a 92 1
b 123 1
a 123 2
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, NTILE(3) OVER(PARTITION BY a ORDER BY b ASC) ntile FROM t1;
a b ntile
NULL NULL 1
a 1 1
a 92 2
a 123 3
b 123 1
c 1861 1
c 1991 2
d 1071 1
d 10701 2
SELECT a, b, NTILE(3) OVER(PARTITION BY b ORDER BY b DESC) ntile FROM t1;
a b ntile
NULL NULL 1
a 1 1
a 92 1
b 123 1
a 123 2
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, NTILE(-1) OVER(PARTITION BY b ORDER BY b DESC) ntile FROM t1;
a b ntile
NULL NULL 1
a 1 1
a 92 1
b 123 1
a 123 2
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, NTILE(0) OVER(PARTITION BY b ORDER BY b DESC) ntile FROM t1;
ERROR HY000: Internal error: IDB-9027: Argument '0' is out of range.
SELECT a, b, NTILE(3) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) ntile FROM t1;
ERROR HY000: Window frame is not allowed with 'ntile'
SELECT a, b, NTILE(3) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) ntile FROM t1;
ERROR HY000: Window frame is not allowed with 'ntile'
DROP DATABASE mcs130_db;

View File

@@ -0,0 +1,131 @@
DROP DATABASE IF EXISTS mcs131_db;
CREATE DATABASE mcs131_db;
USE mcs131_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, PERCENT_RANK() OVER(ORDER BY a) percent_rank FROM t1;
a b percent_rank
NULL NULL 0.0000000000
a 92 0.1250000000
a 1 0.1250000000
a 123 0.1250000000
b 123 0.5000000000
c 1991 0.6250000000
c 1861 0.6250000000
d 1071 0.8750000000
d 10701 0.8750000000
SELECT a, b, PERCENT_RANK() OVER(ORDER BY b DESC) percent_rank FROM t1;
a b percent_rank
d 10701 0.0000000000
c 1991 0.1250000000
c 1861 0.2500000000
d 1071 0.3750000000
a 123 0.5000000000
b 123 0.5000000000
a 92 0.7500000000
a 1 0.8750000000
NULL NULL 1.0000000000
SELECT a, b, PERCENT_RANK() OVER(ORDER BY a) percent_rank FROM t1;
a b percent_rank
NULL NULL 0.0000000000
a 92 0.1250000000
a 1 0.1250000000
a 123 0.1250000000
b 123 0.5000000000
c 1991 0.6250000000
c 1861 0.6250000000
d 1071 0.8750000000
d 10701 0.8750000000
SELECT a, b, PERCENT_RANK() OVER(ORDER BY b DESC) percent_rank FROM t1;
a b percent_rank
d 10701 0.0000000000
c 1991 0.1250000000
c 1861 0.2500000000
d 1071 0.3750000000
a 123 0.5000000000
b 123 0.5000000000
a 92 0.7500000000
a 1 0.8750000000
NULL NULL 1.0000000000
SELECT a, b, PERCENT_RANK() OVER w percent_rank FROM t1 WINDOW w AS (ORDER BY a DESC);
a b percent_rank
d 10701 0.0000000000
d 1071 0.0000000000
c 1861 0.2500000000
c 1991 0.2500000000
b 123 0.5000000000
a 92 0.6250000000
a 123 0.6250000000
a 1 0.6250000000
NULL NULL 1.0000000000
SELECT a, b, PERCENT_RANK() OVER w percent_rank FROM t1 WINDOW w AS (ORDER BY b);
a b percent_rank
NULL NULL 0.0000000000
a 1 0.1250000000
a 92 0.2500000000
b 123 0.3750000000
a 123 0.3750000000
d 1071 0.6250000000
c 1861 0.7500000000
c 1991 0.8750000000
d 10701 1.0000000000
SELECT a, b, PERCENT_RANK() OVER(PARTITION BY a ORDER BY a DESC) percent_rank FROM t1;
a b percent_rank
NULL NULL 0.0000000000
a 92 0.0000000000
a 1 0.0000000000
a 123 0.0000000000
b 123 0.0000000000
c 1991 0.0000000000
c 1861 0.0000000000
d 1071 0.0000000000
d 10701 0.0000000000
SELECT a, b, PERCENT_RANK() OVER(PARTITION BY a ORDER BY b DESC) percent_rank FROM t1;
a b percent_rank
NULL NULL 0.0000000000
a 123 0.0000000000
a 92 0.5000000000
a 1 1.0000000000
b 123 0.0000000000
c 1991 0.0000000000
c 1861 1.0000000000
d 10701 0.0000000000
d 1071 1.0000000000
SELECT a, b, PERCENT_RANK() OVER(PARTITION BY a ORDER BY b ASC) percent_rank FROM t1;
a b percent_rank
NULL NULL 0.0000000000
a 1 0.0000000000
a 92 0.5000000000
a 123 1.0000000000
b 123 0.0000000000
c 1861 0.0000000000
c 1991 1.0000000000
d 1071 0.0000000000
d 10701 1.0000000000
SELECT a, b, PERCENT_RANK() OVER(PARTITION BY b ORDER BY a DESC) percent_rank FROM t1;
a b percent_rank
NULL NULL 0.0000000000
a 1 0.0000000000
a 92 0.0000000000
b 123 0.0000000000
a 123 1.0000000000
d 1071 0.0000000000
c 1861 0.0000000000
c 1991 0.0000000000
d 10701 0.0000000000
SELECT a, b, PERCENT_RANK() OVER(PARTITION BY b ORDER BY b DESC) percent_rank FROM t1;
a b percent_rank
NULL NULL 0.0000000000
a 1 0.0000000000
a 92 0.0000000000
b 123 0.0000000000
a 123 0.0000000000
d 1071 0.0000000000
c 1861 0.0000000000
c 1991 0.0000000000
d 10701 0.0000000000
SELECT a, b, PERCENT_RANK() OVER(PARTITION BY a) percent_rank FROM t1;
ERROR HY000: No order list in window specification for 'percent_rank'
SELECT a, b, PERCENT_RANK() OVER(PARTITION BY b) percent_rank FROM t1;
ERROR HY000: No order list in window specification for 'percent_rank'
DROP DATABASE mcs131_db;

View File

@@ -0,0 +1,234 @@
DROP DATABASE IF EXISTS mcs132_db;
CREATE DATABASE mcs132_db;
USE mcs132_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('b', 15),('b', 16),('b', 17),('b', 18),('a', 19);
SELECT a, b, PERCENTILE_CONT(1) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 19.0000000000
a 13 19.0000000000
a 19 19.0000000000
b 14 18.0000000000
b 15 18.0000000000
b 16 18.0000000000
b 17 18.0000000000
b 18 18.0000000000
SELECT a, b, PERCENTILE_CONT(0) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 12.0000000000
a 13 12.0000000000
a 19 12.0000000000
b 14 14.0000000000
b 15 14.0000000000
b 16 14.0000000000
b 17 14.0000000000
b 18 14.0000000000
SELECT a, b, PERCENTILE_CONT(0.1) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 12.2000000000
a 13 12.2000000000
a 19 12.2000000000
b 14 14.4000000000
b 15 14.4000000000
b 16 14.4000000000
b 17 14.4000000000
b 18 14.4000000000
SELECT a, b, PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 13.0000000000
a 13 13.0000000000
a 19 13.0000000000
b 14 16.0000000000
b 15 16.0000000000
b 16 16.0000000000
b 17 16.0000000000
b 18 16.0000000000
SELECT a, b, PERCENTILE_CONT(0.6) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 14.2000000000
a 13 14.2000000000
a 19 14.2000000000
b 14 16.4000000000
b 15 16.4000000000
b 16 16.4000000000
b 17 16.4000000000
b 18 16.4000000000
SELECT a, b, PERCENTILE_CONT(0.61) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 14.3200000000
a 13 14.3200000000
a 19 14.3200000000
b 14 16.4400000000
b 15 16.4400000000
b 16 16.4400000000
b 17 16.4400000000
b 18 16.4400000000
SELECT a, b, PERCENTILE_CONT(0.65) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 14.8000000000
a 13 14.8000000000
a 19 14.8000000000
b 14 16.6000000000
b 15 16.6000000000
b 16 16.6000000000
b 17 16.6000000000
b 18 16.6000000000
SELECT a, b, PERCENTILE_CONT(0.69) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 15.2800000000
a 13 15.2800000000
a 19 15.2800000000
b 14 16.7600000000
b 15 16.7600000000
b 16 16.7600000000
b 17 16.7600000000
b 18 16.7600000000
SELECT a, b, PERCENTILE_CONT(0.7) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 15.4000000000
a 13 15.4000000000
a 19 15.4000000000
b 14 16.8000000000
b 15 16.8000000000
b 16 16.8000000000
b 17 16.8000000000
b 18 16.8000000000
SELECT a, b, PERCENTILE_CONT(0) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 12.0000000000
a 13 13.0000000000
b 14 14.0000000000
b 15 15.0000000000
b 16 16.0000000000
b 17 17.0000000000
b 18 18.0000000000
a 19 19.0000000000
SELECT a, b, PERCENTILE_CONT(1) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 12.0000000000
a 13 13.0000000000
b 14 14.0000000000
b 15 15.0000000000
b 16 16.0000000000
b 17 17.0000000000
b 18 18.0000000000
a 19 19.0000000000
SELECT a, b, PERCENTILE_CONT(0.1) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 12.0000000000
a 13 13.0000000000
b 14 14.0000000000
b 15 15.0000000000
b 16 16.0000000000
b 17 17.0000000000
b 18 18.0000000000
a 19 19.0000000000
SELECT a, b, PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 12.0000000000
a 13 13.0000000000
b 14 14.0000000000
b 15 15.0000000000
b 16 16.0000000000
b 17 17.0000000000
b 18 18.0000000000
a 19 19.0000000000
SELECT a, b, PERCENTILE_CONT(0.6) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 12.0000000000
a 13 13.0000000000
b 14 14.0000000000
b 15 15.0000000000
b 16 16.0000000000
b 17 17.0000000000
b 18 18.0000000000
a 19 19.0000000000
SELECT a, b, PERCENTILE_CONT(0.61) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 12.0000000000
a 13 13.0000000000
b 14 14.0000000000
b 15 15.0000000000
b 16 16.0000000000
b 17 17.0000000000
b 18 18.0000000000
a 19 19.0000000000
SELECT a, b, PERCENTILE_CONT(0.65) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 12.0000000000
a 13 13.0000000000
b 14 14.0000000000
b 15 15.0000000000
b 16 16.0000000000
b 17 17.0000000000
b 18 18.0000000000
a 19 19.0000000000
SELECT a, b, PERCENTILE_CONT(0.69) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 12.0000000000
a 13 13.0000000000
b 14 14.0000000000
b 15 15.0000000000
b 16 16.0000000000
b 17 17.0000000000
b 18 18.0000000000
a 19 19.0000000000
SELECT a, b, PERCENTILE_CONT(0.7) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
a b pc
NULL NULL NULL
a 12 12.0000000000
a 13 13.0000000000
b 14 14.0000000000
b 15 15.0000000000
b 16 16.0000000000
b 17 17.0000000000
b 18 18.0000000000
a 19 19.0000000000
SELECT a, b, PERCENTILE_CONT(0) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY b) pc FROM t1;
a b pc
NULL NULL NULL
a 12 12.0000000000
a 13 13.0000000000
b 14 14.0000000000
b 15 15.0000000000
b 16 16.0000000000
b 17 17.0000000000
b 18 18.0000000000
a 19 19.0000000000
SELECT a, b, PERCENTILE_CONT(0) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY a) pc FROM t1;
a b pc
NULL NULL NULL
a 19 19.0000000000
a 13 19.0000000000
a 12 19.0000000000
b 18 18.0000000000
b 17 18.0000000000
b 16 18.0000000000
b 15 18.0000000000
b 14 18.0000000000
SELECT a, b, PERCENTILE_CONT(-0.9) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY b DESC) pc FROM t1;
ERROR HY000: Internal error: IDB-9027: Argument '-0.9' is out of range.
SELECT a, b, PERCENTILE_CONT(-1) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY b DESC) pc FROM t1;
ERROR HY000: Internal error: IDB-9027: Argument '-1' is out of range.
SELECT a, b, PERCENTILE_CONT(1.1) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY b DESC) pc FROM t1;
ERROR HY000: Internal error: IDB-9027: Argument '1.1' is out of range.
SELECT a, b, PERCENTILE_CONT(0) WITHIN GROUP(ORDER BY a DESC) OVER(PARTITION BY a DESC) pc FROM t1;
ERROR HY000: Numeric datatype is required for percentile_cont function
DROP DATABASE mcs132_db;

View File

@@ -0,0 +1,298 @@
DROP DATABASE IF EXISTS mcs133_db;
CREATE DATABASE mcs133_db;
USE mcs133_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('b', 15),('b', 16),('b', 17),('b', 18),('a', 19);
SELECT a, b, PERCENTILE_DISC(1) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 19
a 13 19
a 19 19
b 14 18
b 15 18
b 16 18
b 17 18
b 18 18
SELECT a, b, PERCENTILE_DISC(0) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 12
a 13 12
a 19 12
b 14 14
b 15 14
b 16 14
b 17 14
b 18 14
SELECT a, b, PERCENTILE_DISC(0.1) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 12
a 13 12
a 19 12
b 14 14
b 15 14
b 16 14
b 17 14
b 18 14
SELECT a, b, PERCENTILE_DISC(0.5) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 13
a 13 13
a 19 13
b 14 16
b 15 16
b 16 16
b 17 16
b 18 16
SELECT a, b, PERCENTILE_DISC(0.6) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 13
a 13 13
a 19 13
b 14 16
b 15 16
b 16 16
b 17 16
b 18 16
SELECT a, b, PERCENTILE_DISC(0.61) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 13
a 13 13
a 19 13
b 14 17
b 15 17
b 16 17
b 17 17
b 18 17
SELECT a, b, PERCENTILE_DISC(0.65) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 13
a 13 13
a 19 13
b 14 17
b 15 17
b 16 17
b 17 17
b 18 17
SELECT a, b, PERCENTILE_DISC(0.69) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 19
a 13 19
a 19 19
b 14 17
b 15 17
b 16 17
b 17 17
b 18 17
SELECT a, b, PERCENTILE_DISC(0.7) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 19
a 13 19
a 19 19
b 14 17
b 15 17
b 16 17
b 17 17
b 18 17
SELECT a, b, PERCENTILE_DISC(0) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 12
a 13 13
b 14 14
b 15 15
b 16 16
b 17 17
b 18 18
a 19 19
SELECT a, b, PERCENTILE_DISC(1) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 12
a 13 13
b 14 14
b 15 15
b 16 16
b 17 17
b 18 18
a 19 19
SELECT a, b, PERCENTILE_DISC(0.1) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 12
a 13 13
b 14 14
b 15 15
b 16 16
b 17 17
b 18 18
a 19 19
SELECT a, b, PERCENTILE_DISC(0.5) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 12
a 13 13
b 14 14
b 15 15
b 16 16
b 17 17
b 18 18
a 19 19
SELECT a, b, PERCENTILE_DISC(0.6) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 12
a 13 13
b 14 14
b 15 15
b 16 16
b 17 17
b 18 18
a 19 19
SELECT a, b, PERCENTILE_DISC(0.61) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 12
a 13 13
b 14 14
b 15 15
b 16 16
b 17 17
b 18 18
a 19 19
SELECT a, b, PERCENTILE_DISC(0.65) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 12
a 13 13
b 14 14
b 15 15
b 16 16
b 17 17
b 18 18
a 19 19
SELECT a, b, PERCENTILE_DISC(0.69) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 12
a 13 13
b 14 14
b 15 15
b 16 16
b 17 17
b 18 18
a 19 19
SELECT a, b, PERCENTILE_DISC(0.7) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 12
a 13 13
b 14 14
b 15 15
b 16 16
b 17 17
b 18 18
a 19 19
SELECT a, b, PERCENTILE_DISC(0) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY b) pd FROM t1;
a b pd
NULL NULL 2147483647
a 12 12
a 13 13
b 14 14
b 15 15
b 16 16
b 17 17
b 18 18
a 19 19
SELECT a, b, PERCENTILE_DISC(0) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY a) pd FROM t1;
a b pd
NULL NULL 2147483647
a 19 19
a 13 19
a 12 19
b 18 18
b 17 18
b 16 18
b 15 18
b 14 18
SELECT a, b, PERCENTILE_DISC(0) WITHIN GROUP(ORDER BY a DESC) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 19 a
a 13 a
a 12 a
b 17 b
b 18 b
b 14 b
b 15 b
b 16 b
SELECT a, b, PERCENTILE_DISC(1) WITHIN GROUP(ORDER BY a DESC) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 19 a
a 13 a
a 12 a
b 17 b
b 18 b
b 14 b
b 15 b
b 16 b
SELECT a, b, PERCENTILE_DISC(0.5) WITHIN GROUP(ORDER BY a DESC) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 19 a
a 13 a
a 12 a
b 17 b
b 18 b
b 14 b
b 15 b
b 16 b
SELECT a, b, PERCENTILE_DISC(0) WITHIN GROUP(ORDER BY a DESC) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 12 a
a 13 a
b 14 b
b 15 b
b 16 b
b 17 b
b 18 b
a 19 a
SELECT a, b, PERCENTILE_DISC(1) WITHIN GROUP(ORDER BY a DESC) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 12 a
a 13 a
b 14 b
b 15 b
b 16 b
b 17 b
b 18 b
a 19 a
SELECT a, b, PERCENTILE_DISC(0.5) WITHIN GROUP(ORDER BY a DESC) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 12 a
a 13 a
b 14 b
b 15 b
b 16 b
b 17 b
b 18 b
a 19 a
SELECT a, b, PERCENTILE_DISC(-0.9) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY b DESC) pd FROM t1;
ERROR HY000: Internal error: IDB-9027: Argument '-0.9' is out of range.
SELECT a, b, PERCENTILE_DISC(-1) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY b DESC) pd FROM t1;
ERROR HY000: Internal error: IDB-9027: Argument '-1' is out of range.
SELECT a, b, PERCENTILE_DISC(1.1) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY b DESC) pd FROM t1;
ERROR HY000: Internal error: IDB-9027: Argument '1.1' is out of range.
DROP DATABASE mcs133_db;

View File

@@ -0,0 +1,131 @@
DROP DATABASE IF EXISTS mcs134_db;
CREATE DATABASE mcs134_db;
USE mcs134_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, RANK() OVER(ORDER BY a) rank FROM t1;
a b rank
NULL NULL 1
a 92 2
a 1 2
a 123 2
b 123 5
c 1991 6
c 1861 6
d 1071 8
d 10701 8
SELECT a, b, RANK() OVER(ORDER BY b DESC) rank FROM t1;
a b rank
d 10701 1
c 1991 2
c 1861 3
d 1071 4
a 123 5
b 123 5
a 92 7
a 1 8
NULL NULL 9
SELECT a, b, RANK() OVER(ORDER BY a) rank FROM t1;
a b rank
NULL NULL 1
a 92 2
a 1 2
a 123 2
b 123 5
c 1991 6
c 1861 6
d 1071 8
d 10701 8
SELECT a, b, RANK() OVER(ORDER BY b DESC) rank FROM t1;
a b rank
d 10701 1
c 1991 2
c 1861 3
d 1071 4
a 123 5
b 123 5
a 92 7
a 1 8
NULL NULL 9
SELECT a, b, RANK() OVER w rank FROM t1 WINDOW w AS (ORDER BY a DESC);
a b rank
d 10701 1
d 1071 1
c 1861 3
c 1991 3
b 123 5
a 92 6
a 123 6
a 1 6
NULL NULL 9
SELECT a, b, RANK() OVER w rank FROM t1 WINDOW w AS (ORDER BY b);
a b rank
NULL NULL 1
a 1 2
a 92 3
b 123 4
a 123 4
d 1071 6
c 1861 7
c 1991 8
d 10701 9
SELECT a, b, RANK() OVER(PARTITION BY a ORDER BY a DESC) rank FROM t1;
a b rank
NULL NULL 1
a 92 1
a 1 1
a 123 1
b 123 1
c 1991 1
c 1861 1
d 1071 1
d 10701 1
SELECT a, b, RANK() OVER(PARTITION BY a ORDER BY b DESC) rank FROM t1;
a b rank
NULL NULL 1
a 123 1
a 92 2
a 1 3
b 123 1
c 1991 1
c 1861 2
d 10701 1
d 1071 2
SELECT a, b, RANK() OVER(PARTITION BY a ORDER BY b ASC) rank FROM t1;
a b rank
NULL NULL 1
a 1 1
a 92 2
a 123 3
b 123 1
c 1861 1
c 1991 2
d 1071 1
d 10701 2
SELECT a, b, RANK() OVER(PARTITION BY b ORDER BY a DESC) rank FROM t1;
a b rank
NULL NULL 1
a 1 1
a 92 1
b 123 1
a 123 2
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, RANK() OVER(PARTITION BY b ORDER BY b DESC) rank FROM t1;
a b rank
NULL NULL 1
a 1 1
a 92 1
b 123 1
a 123 1
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, RANK() OVER(PARTITION BY a) rank FROM t1;
ERROR HY000: No order list in window specification for 'rank'
SELECT a, b, RANK() OVER(PARTITION BY b) rank FROM t1;
ERROR HY000: No order list in window specification for 'rank'
DROP DATABASE mcs134_db;

View File

@@ -0,0 +1,118 @@
DROP DATABASE IF EXISTS mcs135_db;
CREATE DATABASE mcs135_db;
USE mcs135_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 12),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, ROW_NUMBER() OVER(ORDER BY a) row_num FROM t1;
a b row_num
NULL NULL 1
a 92 2
a 1 3
a 123 4
b 12 5
c 1991 6
c 1861 7
d 1071 8
d 10701 9
SELECT a, b, ROW_NUMBER() OVER(ORDER BY b DESC) row_num FROM t1;
a b row_num
d 10701 1
c 1991 2
c 1861 3
d 1071 4
a 123 5
a 92 6
b 12 7
a 1 8
NULL NULL 9
SELECT a, b, ROW_NUMBER() OVER w row_num FROM t1 WINDOW w AS (ORDER BY a DESC);
a b row_num
d 10701 1
d 1071 2
c 1861 3
c 1991 4
b 12 5
a 92 6
a 123 7
a 1 8
NULL NULL 9
SELECT a, b, ROW_NUMBER() OVER w row_num FROM t1 WINDOW w AS (ORDER BY b);
a b row_num
NULL NULL 1
a 1 2
b 12 3
a 92 4
a 123 5
d 1071 6
c 1861 7
c 1991 8
d 10701 9
SELECT a, b, ROW_NUMBER() OVER(PARTITION BY a) row_num FROM t1;
a b row_num
NULL NULL 1
a 92 1
a 1 2
a 123 3
b 12 1
c 1991 1
c 1861 2
d 1071 1
d 10701 2
SELECT a, b, ROW_NUMBER() OVER(PARTITION BY b) row_num FROM t1;
a b row_num
NULL NULL 1
a 1 1
b 12 1
a 92 1
a 123 1
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, ROW_NUMBER() OVER(PARTITION BY a ORDER BY a DESC) row_num FROM t1;
a b row_num
NULL NULL 1
a 92 1
a 1 2
a 123 3
b 12 1
c 1991 1
c 1861 2
d 1071 1
d 10701 2
SELECT a, b, ROW_NUMBER() OVER(PARTITION BY a ORDER BY b DESC) row_num FROM t1;
a b row_num
NULL NULL 1
a 123 1
a 92 2
a 1 3
b 12 1
c 1991 1
c 1861 2
d 10701 1
d 1071 2
SELECT a, b, ROW_NUMBER() OVER(PARTITION BY b ORDER BY a DESC) row_num FROM t1;
a b row_num
NULL NULL 1
a 1 1
b 12 1
a 92 1
a 123 1
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, ROW_NUMBER() OVER(PARTITION BY b ORDER BY b DESC) row_num FROM t1;
a b row_num
NULL NULL 1
a 1 1
b 12 1
a 92 1
a 123 1
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, ROW_NUMBER(a) OVER(ORDER BY a) row_num FROM t1;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'a) OVER(ORDER BY a) row_num FROM t1' at line 1
DROP DATABASE mcs135_db;

View File

@@ -0,0 +1,127 @@
DROP DATABASE IF EXISTS mcs136_db;
CREATE DATABASE mcs136_db;
USE mcs136_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, SUM(b) OVER(ORDER BY a) sum FROM t1;
a b sum
NULL NULL NULL
a 92 216
a 1 216
a 123 216
b 123 339
c 1991 4191
c 1861 4191
d 1071 15963
d 10701 15963
SELECT a, b, SUM(b) OVER(ORDER BY b DESC) sum FROM t1;
a b sum
d 10701 10701
c 1991 12692
c 1861 14553
d 1071 15624
a 123 15870
b 123 15870
a 92 15962
a 1 15963
NULL NULL 15963
SELECT a, b, SUM(b) OVER w sum FROM t1 WINDOW w AS (ORDER BY a DESC);
a b sum
d 10701 11772
d 1071 11772
c 1861 15624
c 1991 15624
b 123 15747
a 92 15963
a 123 15963
a 1 15963
NULL NULL 15963
SELECT a, b, SUM(b) OVER w sum FROM t1 WINDOW w AS (ORDER BY b);
a b sum
NULL NULL NULL
a 1 1
a 92 93
b 123 339
a 123 339
d 1071 1410
c 1861 3271
c 1991 5262
d 10701 15963
SELECT a, b, SUM(b) OVER(PARTITION BY a) sum FROM t1;
a b sum
NULL NULL NULL
a 92 216
a 1 216
a 123 216
b 123 123
c 1991 3852
c 1861 3852
d 1071 11772
d 10701 11772
SELECT a, b, SUM(b) OVER(PARTITION BY b) sum FROM t1;
a b sum
NULL NULL NULL
a 1 1
a 92 92
b 123 246
a 123 246
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
SELECT a, b, SUM(b) OVER(PARTITION BY a ORDER BY a DESC) sum FROM t1;
a b sum
NULL NULL NULL
a 92 216
a 1 216
a 123 216
b 123 123
c 1991 3852
c 1861 3852
d 1071 11772
d 10701 11772
SELECT a, b, SUM(b) OVER(PARTITION BY a ORDER BY b DESC) sum FROM t1;
a b sum
NULL NULL NULL
a 123 123
a 92 215
a 1 216
b 123 123
c 1991 1991
c 1861 3852
d 10701 10701
d 1071 11772
SELECT a, b, SUM(b) OVER(PARTITION BY a ORDER BY b ASC) sum FROM t1;
a b sum
NULL NULL NULL
a 1 1
a 92 93
a 123 216
b 123 123
c 1861 1861
c 1991 3852
d 1071 1071
d 10701 11772
SELECT a, b, SUM(b) OVER(PARTITION BY b ORDER BY a DESC) sum FROM t1;
a b sum
NULL NULL NULL
a 1 1
a 92 92
b 123 123
a 123 246
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
SELECT a, b, SUM(b) OVER(PARTITION BY b ORDER BY b DESC) sum FROM t1;
a b sum
NULL NULL NULL
a 1 1
a 92 92
b 123 246
a 123 246
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
DROP DATABASE mcs136_db;

View File

@@ -0,0 +1,149 @@
DROP DATABASE IF EXISTS mcs137_db;
CREATE DATABASE mcs137_db;
USE mcs137_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, COUNT(b) OVER(ORDER BY a) count FROM t1;
a b count
NULL NULL 0
a 92 3
a 1 3
a 123 3
b 123 4
c 1991 6
c 1861 6
d 1071 8
d 10701 8
SELECT a, b, COUNT(b) OVER(ORDER BY b DESC) count FROM t1;
a b count
d 10701 1
c 1991 2
c 1861 3
d 1071 4
a 123 6
b 123 6
a 92 7
a 1 8
NULL NULL 8
SELECT a, b, COUNT(a) OVER(ORDER BY a) count FROM t1;
a b count
NULL NULL 0
a 92 3
a 1 3
a 123 3
b 123 4
c 1991 6
c 1861 6
d 1071 8
d 10701 8
SELECT a, b, COUNT(a) OVER(ORDER BY b DESC) count FROM t1;
a b count
d 10701 1
c 1991 2
c 1861 3
d 1071 4
a 123 6
b 123 6
a 92 7
a 1 8
NULL NULL 8
SELECT a, b, COUNT(b) OVER w count FROM t1 WINDOW w AS (ORDER BY a DESC);
a b count
d 10701 2
d 1071 2
c 1861 4
c 1991 4
b 123 5
a 92 8
a 123 8
a 1 8
NULL NULL 8
SELECT a, b, COUNT(b) OVER w count FROM t1 WINDOW w AS (ORDER BY b);
a b count
NULL NULL 0
a 1 1
a 92 2
b 123 4
a 123 4
d 1071 5
c 1861 6
c 1991 7
d 10701 8
SELECT a, b, COUNT(b) OVER(PARTITION BY a) count FROM t1;
a b count
NULL NULL 0
a 92 3
a 1 3
a 123 3
b 123 1
c 1991 2
c 1861 2
d 1071 2
d 10701 2
SELECT a, b, COUNT(b) OVER(PARTITION BY b) count FROM t1;
a b count
NULL NULL 0
a 1 1
a 92 1
b 123 2
a 123 2
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, COUNT(b) OVER(PARTITION BY a ORDER BY a DESC) count FROM t1;
a b count
NULL NULL 0
a 92 3
a 1 3
a 123 3
b 123 1
c 1991 2
c 1861 2
d 1071 2
d 10701 2
SELECT a, b, COUNT(b) OVER(PARTITION BY a ORDER BY b DESC) count FROM t1;
a b count
NULL NULL 0
a 123 1
a 92 2
a 1 3
b 123 1
c 1991 1
c 1861 2
d 10701 1
d 1071 2
SELECT a, b, COUNT(b) OVER(PARTITION BY a ORDER BY b ASC) count FROM t1;
a b count
NULL NULL 0
a 1 1
a 92 2
a 123 3
b 123 1
c 1861 1
c 1991 2
d 1071 1
d 10701 2
SELECT a, b, COUNT(b) OVER(PARTITION BY b ORDER BY a DESC) count FROM t1;
a b count
NULL NULL 0
a 1 1
a 92 1
b 123 1
a 123 2
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, COUNT(b) OVER(PARTITION BY b ORDER BY b DESC) count FROM t1;
a b count
NULL NULL 0
a 1 1
a 92 1
b 123 2
a 123 2
d 1071 1
c 1861 1
c 1991 1
d 10701 1
DROP DATABASE mcs137_db;

View File

@@ -0,0 +1,127 @@
DROP DATABASE IF EXISTS mcs138_db;
CREATE DATABASE mcs138_db;
USE mcs138_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, MAX(b) OVER(ORDER BY a) max FROM t1;
a b max
NULL NULL NULL
a 92 123
a 1 123
a 123 123
b 123 123
c 1991 1991
c 1861 1991
d 1071 10701
d 10701 10701
SELECT a, b, MAX(b) OVER(ORDER BY b DESC) max FROM t1;
a b max
d 10701 10701
c 1991 10701
c 1861 10701
d 1071 10701
a 123 10701
b 123 10701
a 92 10701
a 1 10701
NULL NULL 10701
SELECT a, b, MAX(b) OVER w max FROM t1 WINDOW w AS (ORDER BY a DESC);
a b max
d 10701 10701
d 1071 10701
c 1861 10701
c 1991 10701
b 123 10701
a 92 10701
a 123 10701
a 1 10701
NULL NULL 10701
SELECT a, b, MAX(b) OVER w max FROM t1 WINDOW w AS (ORDER BY b);
a b max
NULL NULL NULL
a 1 1
a 92 92
b 123 123
a 123 123
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
SELECT a, b, MAX(b) OVER(PARTITION BY a) max FROM t1;
a b max
NULL NULL NULL
a 92 123
a 1 123
a 123 123
b 123 123
c 1991 1991
c 1861 1991
d 1071 10701
d 10701 10701
SELECT a, b, MAX(b) OVER(PARTITION BY b) max FROM t1;
a b max
NULL NULL NULL
a 1 1
a 92 92
b 123 123
a 123 123
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
SELECT a, b, MAX(b) OVER(PARTITION BY a ORDER BY a DESC) max FROM t1;
a b max
NULL NULL NULL
a 92 123
a 1 123
a 123 123
b 123 123
c 1991 1991
c 1861 1991
d 1071 10701
d 10701 10701
SELECT a, b, MAX(b) OVER(PARTITION BY a ORDER BY b DESC) max FROM t1;
a b max
NULL NULL NULL
a 123 123
a 92 123
a 1 123
b 123 123
c 1991 1991
c 1861 1991
d 10701 10701
d 1071 10701
SELECT a, b, MAX(b) OVER(PARTITION BY a ORDER BY b ASC) max FROM t1;
a b max
NULL NULL NULL
a 1 1
a 92 92
a 123 123
b 123 123
c 1861 1861
c 1991 1991
d 1071 1071
d 10701 10701
SELECT a, b, MAX(b) OVER(PARTITION BY b ORDER BY a DESC) max FROM t1;
a b max
NULL NULL NULL
a 1 1
a 92 92
b 123 123
a 123 123
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
SELECT a, b, MAX(b) OVER(PARTITION BY b ORDER BY b DESC) max FROM t1;
a b max
NULL NULL NULL
a 1 1
a 92 92
b 123 123
a 123 123
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
DROP DATABASE mcs138_db;

View File

@@ -0,0 +1,127 @@
DROP DATABASE IF EXISTS mcs139_db;
CREATE DATABASE mcs139_db;
USE mcs139_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, MIN(b) OVER(ORDER BY a) min FROM t1;
a b min
NULL NULL NULL
a 92 1
a 1 1
a 123 1
b 123 1
c 1991 1
c 1861 1
d 1071 1
d 10701 1
SELECT a, b, MIN(b) OVER(ORDER BY b DESC) min FROM t1;
a b min
d 10701 10701
c 1991 1991
c 1861 1861
d 1071 1071
a 123 123
b 123 123
a 92 92
a 1 1
NULL NULL 1
SELECT a, b, MIN(b) OVER w min FROM t1 WINDOW w AS (ORDER BY a DESC);
a b min
d 10701 1071
d 1071 1071
c 1861 1071
c 1991 1071
b 123 123
a 92 1
a 123 1
a 1 1
NULL NULL 1
SELECT a, b, MIN(b) OVER w min FROM t1 WINDOW w AS (ORDER BY b);
a b min
NULL NULL NULL
a 1 1
a 92 1
b 123 1
a 123 1
d 1071 1
c 1861 1
c 1991 1
d 10701 1
SELECT a, b, MIN(b) OVER(PARTITION BY a) min FROM t1;
a b min
NULL NULL NULL
a 92 1
a 1 1
a 123 1
b 123 123
c 1991 1861
c 1861 1861
d 1071 1071
d 10701 1071
SELECT a, b, MIN(b) OVER(PARTITION BY b) min FROM t1;
a b min
NULL NULL NULL
a 1 1
a 92 92
b 123 123
a 123 123
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
SELECT a, b, MIN(b) OVER(PARTITION BY a ORDER BY a DESC) min FROM t1;
a b min
NULL NULL NULL
a 92 1
a 1 1
a 123 1
b 123 123
c 1991 1861
c 1861 1861
d 1071 1071
d 10701 1071
SELECT a, b, MIN(b) OVER(PARTITION BY a ORDER BY b DESC) min FROM t1;
a b min
NULL NULL NULL
a 123 123
a 92 92
a 1 1
b 123 123
c 1991 1991
c 1861 1861
d 10701 10701
d 1071 1071
SELECT a, b, MIN(b) OVER(PARTITION BY a ORDER BY b ASC) min FROM t1;
a b min
NULL NULL NULL
a 1 1
a 92 1
a 123 1
b 123 123
c 1861 1861
c 1991 1861
d 1071 1071
d 10701 1071
SELECT a, b, MIN(b) OVER(PARTITION BY b ORDER BY a DESC) min FROM t1;
a b min
NULL NULL NULL
a 1 1
a 92 92
b 123 123
a 123 123
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
SELECT a, b, MIN(b) OVER(PARTITION BY b ORDER BY b DESC) min FROM t1;
a b min
NULL NULL NULL
a 1 1
a 92 92
b 123 123
a 123 123
d 1071 1071
c 1861 1861
c 1991 1991
d 10701 10701
DROP DATABASE mcs139_db;

View File

@@ -0,0 +1,62 @@
DROP DATABASE IF EXISTS mcs13_db1;
DROP DATABASE IF EXISTS mcs13_db2;
CREATE DATABASE mcs13_db1;
CREATE DATABASE mcs13_db2;
USE mcs13_db1;
CREATE TABLE t1 (a INTEGER, c1 CHAR(10)) ENGINE=Columnstore;
INSERT INTO t1 VALUES (1, 'a'),(2, 'b');
ALTER TABLE t1 ENGINE=;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
ALTER TABLE t1 ENGINE=Invalid;
ERROR 42000: Unknown storage engine 'Invalid'
ALTER TABLE t1 ENGINE='#!~@$%^&*()_+-,.*`~';
ERROR 42000: Unknown storage engine '#!~@$%^&*()_+-,.*`~'
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`c1` char(10) DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1
DROP TABLE IF EXISTS nonexisting;
Warnings:
Note 1051 Unknown table 'mcs13_db1.nonexisting'
ALTER TABLE nonexisting RENAME t2;
ERROR 42S02: Table 'mcs13_db1.nonexisting' doesn't exist
ALTER TABLE t1 ADD COLUMN (c2 INVALIDDATATYPE);
ERROR HY000: Unknown data type: 'INVALIDDATATYPE'
ALTER TABLE t1 DROP COLUMN c2;
ERROR 42000: Can't DROP COLUMN `c2`; check that it exists
ALTER TABLE t1 CHANGE c2 c2 INTEGER;
ERROR 42S22: Unknown column 'c2' in 't1'
ALTER TABLE t1 CHANGE c1 c2 INVALIDDATATYPE;
ERROR HY000: Unknown data type: 'INVALIDDATATYPE'
ALTER TABLE t1 ADD KEY k1(c1);
ERROR 42000: Too many keys specified; max 0 keys allowed
ALTER TABLE t1 ADD INDEX idx1(c1);
ERROR 42000: Too many keys specified; max 0 keys allowed
ALTER TABLE t1 ADD PRIMARY KEY pk(c1);
ERROR 42000: Too many keys specified; max 0 keys allowed
ALTER TABLE t1 DROP KEY k1;
ERROR 42000: Can't DROP INDEX `k1`; check that it exists
connect addconroot1, localhost, root,,;
connect addconroot2, localhost, root,,;
connection addconroot1;
ALTER TABLE mcs13_db1.t1 CHANGE c1 c2 INVALIDDATATYPE;
ERROR HY000: Unknown data type: 'INVALIDDATATYPE'
connection addconroot1;
ALTER TABLE mcs13_db1.t1 ADD KEY k1(c1);
ERROR 42000: Too many keys specified; max 0 keys allowed
connection default;
SHOW CREATE TABLE mcs13_db1.t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`c1` char(10) DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1
SELECT * FROM mcs13_db1.t1;
a c1
1 a
2 b
disconnect addconroot1;
disconnect addconroot2;
DROP DATABASE mcs13_db1;

View File

@@ -0,0 +1,34 @@
DROP DATABASE IF EXISTS mcs140_db;
CREATE DATABASE mcs140_db;
USE mcs140_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, MEDIAN(b) OVER(PARTITION BY b) median FROM t1;
a b median
NULL NULL NULL
a 1 1.0000000000
a 92 92.0000000000
b 123 123.0000000000
a 123 123.0000000000
d 1071 1071.0000000000
c 1861 1861.0000000000
c 1991 1991.0000000000
d 10701 10701.0000000000
SELECT a, b, MEDIAN(b) OVER(PARTITION BY a) median FROM t1;
a b median
NULL NULL NULL
a 123 92.0000000000
a 92 92.0000000000
a 1 92.0000000000
b 123 123.0000000000
c 1991 1926.0000000000
c 1861 1926.0000000000
d 10701 5886.0000000000
d 1071 5886.0000000000
SELECT a, b, MEDIAN(b) OVER(ORDER BY b DESC) median FROM t1;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ORDER BY b DESC) median FROM t1' at line 1
SELECT a, b, MEDIAN(a) OVER(PARTITION BY a) median FROM t1;
ERROR HY000: Numeric datatype is required for percentile_cont function
SELECT a, b, MEDIAN(a) OVER(PARTITION BY b) median FROM t1;
ERROR HY000: Numeric datatype is required for percentile_cont function
DROP DATABASE mcs140_db;

View File

@@ -0,0 +1,138 @@
DROP DATABASE IF EXISTS mcs141_db;
CREATE DATABASE mcs141_db;
USE mcs141_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('b', 15),('b', 16),('b', 17),('b', 18),('a', 19);
SELECT a, b, STD(b) OVER(PARTITION BY a) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.0912
a 13 3.0912
a 12 3.0912
b 17 1.4142
b 18 1.4142
b 14 1.4142
b 15 1.4142
b 16 1.4142
SELECT a, b, STD(b) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.0912
a 13 3.0912
a 12 3.0912
b 17 1.4142
b 18 1.4142
b 14 1.4142
b 15 1.4142
b 16 1.4142
SELECT a, b, STD(b) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STD(b) OVER(PARTITION BY b) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STD(b) OVER(ORDER BY a) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.0912
a 13 3.0912
a 12 3.0912
b 17 2.2913
b 18 2.2913
b 14 2.2913
b 15 2.2913
b 16 2.2913
SELECT a, b, STD(b) OVER(ORDER BY b) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.5000
b 14 0.8165
b 15 1.1180
b 16 1.4142
b 17 1.7078
b 18 2.0000
a 19 2.2913
SELECT a, b, STD(b) OVER(ORDER BY a DESC) pd FROM t1;
a b pd
b 16 1.4142
b 15 1.4142
b 18 1.4142
b 17 1.4142
b 14 1.4142
a 19 2.2913
a 12 2.2913
a 13 2.2913
NULL NULL 2.2913
SELECT a, b, STD(b) OVER(ORDER BY b DESC) pd FROM t1;
a b pd
a 19 0.0000
b 18 0.5000
b 17 0.8165
b 16 1.1180
b 15 1.4142
b 14 1.7078
a 13 2.0000
a 12 2.2913
NULL NULL 2.2913
SELECT a, b, STD(b) OVER(PARTITION BY a ORDER BY b) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.5000
a 19 3.0912
b 14 0.0000
b 15 0.5000
b 16 0.8165
b 17 1.1180
b 18 1.4142
SELECT a, b, STD(b) OVER(PARTITION BY b ORDER BY a) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STD(b) OVER(PARTITION BY b ORDER BY b DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STD(b) OVER(PARTITION BY a ORDER BY a DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.0912
a 13 3.0912
a 12 3.0912
b 17 1.4142
b 18 1.4142
b 14 1.4142
b 15 1.4142
b 16 1.4142
DROP DATABASE mcs141_db;

View File

@@ -0,0 +1,138 @@
DROP DATABASE IF EXISTS mcs142_db;
CREATE DATABASE mcs142_db;
USE mcs142_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('b', 15),('b', 16),('b', 17),('b', 18),('a', 19);
SELECT a, b, STDDEV(b) OVER(PARTITION BY a) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.0912
a 13 3.0912
a 12 3.0912
b 17 1.4142
b 18 1.4142
b 14 1.4142
b 15 1.4142
b 16 1.4142
SELECT a, b, STDDEV(b) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.0912
a 13 3.0912
a 12 3.0912
b 17 1.4142
b 18 1.4142
b 14 1.4142
b 15 1.4142
b 16 1.4142
SELECT a, b, STDDEV(b) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV(b) OVER(PARTITION BY b) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV(b) OVER(ORDER BY a) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.0912
a 13 3.0912
a 12 3.0912
b 17 2.2913
b 18 2.2913
b 14 2.2913
b 15 2.2913
b 16 2.2913
SELECT a, b, STDDEV(b) OVER(ORDER BY b) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.5000
b 14 0.8165
b 15 1.1180
b 16 1.4142
b 17 1.7078
b 18 2.0000
a 19 2.2913
SELECT a, b, STDDEV(b) OVER(ORDER BY a DESC) pd FROM t1;
a b pd
b 16 1.4142
b 15 1.4142
b 18 1.4142
b 17 1.4142
b 14 1.4142
a 19 2.2913
a 12 2.2913
a 13 2.2913
NULL NULL 2.2913
SELECT a, b, STDDEV(b) OVER(ORDER BY b DESC) pd FROM t1;
a b pd
a 19 0.0000
b 18 0.5000
b 17 0.8165
b 16 1.1180
b 15 1.4142
b 14 1.7078
a 13 2.0000
a 12 2.2913
NULL NULL 2.2913
SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY b) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.5000
a 19 3.0912
b 14 0.0000
b 15 0.5000
b 16 0.8165
b 17 1.1180
b 18 1.4142
SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY a) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY b DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY a DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.0912
a 13 3.0912
a 12 3.0912
b 17 1.4142
b 18 1.4142
b 14 1.4142
b 15 1.4142
b 16 1.4142
DROP DATABASE mcs142_db;

View File

@@ -0,0 +1,138 @@
DROP DATABASE IF EXISTS mcs143_db;
CREATE DATABASE mcs143_db;
USE mcs143_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('b', 15),('b', 16),('b', 17),('b', 18),('a', 19);
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY a) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.0912
a 13 3.0912
a 12 3.0912
b 17 1.4142
b 18 1.4142
b 14 1.4142
b 15 1.4142
b 16 1.4142
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.0912
a 13 3.0912
a 12 3.0912
b 17 1.4142
b 18 1.4142
b 14 1.4142
b 15 1.4142
b 16 1.4142
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY a) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.0912
a 13 3.0912
a 12 3.0912
b 17 2.2913
b 18 2.2913
b 14 2.2913
b 15 2.2913
b 16 2.2913
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY b) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.5000
b 14 0.8165
b 15 1.1180
b 16 1.4142
b 17 1.7078
b 18 2.0000
a 19 2.2913
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY a DESC) pd FROM t1;
a b pd
b 16 1.4142
b 15 1.4142
b 18 1.4142
b 17 1.4142
b 14 1.4142
a 19 2.2913
a 12 2.2913
a 13 2.2913
NULL NULL 2.2913
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY b DESC) pd FROM t1;
a b pd
a 19 0.0000
b 18 0.5000
b 17 0.8165
b 16 1.1180
b 15 1.4142
b 14 1.7078
a 13 2.0000
a 12 2.2913
NULL NULL 2.2913
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY a ORDER BY b) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.5000
a 19 3.0912
b 14 0.0000
b 15 0.5000
b 16 0.8165
b 17 1.1180
b 18 1.4142
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b ORDER BY a) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b ORDER BY b DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY a ORDER BY a DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.0912
a 13 3.0912
a 12 3.0912
b 17 1.4142
b 18 1.4142
b 14 1.4142
b 15 1.4142
b 16 1.4142
DROP DATABASE mcs143_db;

View File

@@ -0,0 +1,138 @@
DROP DATABASE IF EXISTS mcs144_db;
CREATE DATABASE mcs144_db;
USE mcs144_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('b', 15),('b', 16),('b', 17),('b', 18),('a', 19);
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY a) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.7859
a 13 3.7859
a 12 3.7859
b 17 1.5811
b 18 1.5811
b 14 1.5811
b 15 1.5811
b 16 1.5811
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY a DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.7859
a 13 3.7859
a 12 3.7859
b 17 1.5811
b 18 1.5811
b 14 1.5811
b 15 1.5811
b 16 1.5811
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
b 15 NULL
b 16 NULL
b 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b) pd FROM t1;
a b pd
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
b 15 NULL
b 16 NULL
b 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY a) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.7859
a 13 3.7859
a 12 3.7859
b 17 2.4495
b 18 2.4495
b 14 2.4495
b 15 2.4495
b 16 2.4495
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY b) pd FROM t1;
a b pd
NULL NULL NULL
a 12 NULL
a 13 0.7071
b 14 1.0000
b 15 1.2910
b 16 1.5811
b 17 1.8708
b 18 2.1602
a 19 2.4495
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY a DESC) pd FROM t1;
a b pd
b 16 1.5811
b 15 1.5811
b 18 1.5811
b 17 1.5811
b 14 1.5811
a 19 2.4495
a 12 2.4495
a 13 2.4495
NULL NULL 2.4495
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY b DESC) pd FROM t1;
a b pd
a 19 NULL
b 18 0.7071
b 17 1.0000
b 16 1.2910
b 15 1.5811
b 14 1.8708
a 13 2.1602
a 12 2.4495
NULL NULL 2.4495
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY a ORDER BY b) pd FROM t1;
a b pd
NULL NULL NULL
a 12 NULL
a 13 0.7071
a 19 3.7859
b 14 NULL
b 15 0.7071
b 16 1.0000
b 17 1.2910
b 18 1.5811
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b ORDER BY a) pd FROM t1;
a b pd
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
b 15 NULL
b 16 NULL
b 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b ORDER BY b DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
b 15 NULL
b 16 NULL
b 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY a ORDER BY a DESC) pd FROM t1;
a b pd
NULL NULL NULL
a 19 3.7859
a 13 3.7859
a 12 3.7859
b 17 1.5811
b 18 1.5811
b 14 1.5811
b 15 1.5811
b 16 1.5811
DROP DATABASE mcs144_db;

View File

@@ -0,0 +1,138 @@
DROP DATABASE IF EXISTS mcs145_db;
CREATE DATABASE mcs145_db;
USE mcs145_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('b', 15),('b', 16),('b', 17),('b', 18),('a', 19);
SELECT a, b, VARIANCE(b) OVER(PARTITION BY a) variance FROM t1;
a b variance
NULL NULL NULL
a 19 9.5556
a 13 9.5556
a 12 9.5556
b 17 2.0000
b 18 2.0000
b 14 2.0000
b 15 2.0000
b 16 2.0000
SELECT a, b, VARIANCE(b) OVER(PARTITION BY a DESC) variance FROM t1;
a b variance
NULL NULL NULL
a 19 9.5556
a 13 9.5556
a 12 9.5556
b 17 2.0000
b 18 2.0000
b 14 2.0000
b 15 2.0000
b 16 2.0000
SELECT a, b, VARIANCE(b) OVER(PARTITION BY b DESC) variance FROM t1;
a b variance
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VARIANCE(b) OVER(PARTITION BY b) variance FROM t1;
a b variance
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VARIANCE(b) OVER(ORDER BY a) variance FROM t1;
a b variance
NULL NULL NULL
a 19 9.5556
a 13 9.5556
a 12 9.5556
b 17 5.2500
b 18 5.2500
b 14 5.2500
b 15 5.2500
b 16 5.2500
SELECT a, b, VARIANCE(b) OVER(ORDER BY b) variance FROM t1;
a b variance
NULL NULL NULL
a 12 0.0000
a 13 0.2500
b 14 0.6667
b 15 1.2500
b 16 2.0000
b 17 2.9167
b 18 4.0000
a 19 5.2500
SELECT a, b, VARIANCE(b) OVER(ORDER BY a DESC) variance FROM t1;
a b variance
b 16 2.0000
b 15 2.0000
b 18 2.0000
b 17 2.0000
b 14 2.0000
a 19 5.2500
a 12 5.2500
a 13 5.2500
NULL NULL 5.2500
SELECT a, b, VARIANCE(b) OVER(ORDER BY b DESC) variance FROM t1;
a b variance
a 19 0.0000
b 18 0.2500
b 17 0.6667
b 16 1.2500
b 15 2.0000
b 14 2.9167
a 13 4.0000
a 12 5.2500
NULL NULL 5.2500
SELECT a, b, VARIANCE(b) OVER(PARTITION BY a ORDER BY b) variance FROM t1;
a b variance
NULL NULL NULL
a 12 0.0000
a 13 0.2500
a 19 9.5556
b 14 0.0000
b 15 0.2500
b 16 0.6667
b 17 1.2500
b 18 2.0000
SELECT a, b, VARIANCE(b) OVER(PARTITION BY b ORDER BY a) variance FROM t1;
a b variance
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VARIANCE(b) OVER(PARTITION BY b ORDER BY b DESC) variance FROM t1;
a b variance
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VARIANCE(b) OVER(PARTITION BY a ORDER BY a DESC) variance FROM t1;
a b variance
NULL NULL NULL
a 19 9.5556
a 13 9.5556
a 12 9.5556
b 17 2.0000
b 18 2.0000
b 14 2.0000
b 15 2.0000
b 16 2.0000
DROP DATABASE mcs145_db;

View File

@@ -0,0 +1,138 @@
DROP DATABASE IF EXISTS mcs146_db;
CREATE DATABASE mcs146_db;
USE mcs146_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('b', 15),('b', 16),('b', 17),('b', 18),('a', 19);
SELECT a, b, VAR_POP(b) OVER(PARTITION BY a) var_pop FROM t1;
a b var_pop
NULL NULL NULL
a 19 9.5556
a 13 9.5556
a 12 9.5556
b 17 2.0000
b 18 2.0000
b 14 2.0000
b 15 2.0000
b 16 2.0000
SELECT a, b, VAR_POP(b) OVER(PARTITION BY a DESC) var_pop FROM t1;
a b var_pop
NULL NULL NULL
a 19 9.5556
a 13 9.5556
a 12 9.5556
b 17 2.0000
b 18 2.0000
b 14 2.0000
b 15 2.0000
b 16 2.0000
SELECT a, b, VAR_POP(b) OVER(PARTITION BY b DESC) var_pop FROM t1;
a b var_pop
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VAR_POP(b) OVER(PARTITION BY b) var_pop FROM t1;
a b var_pop
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VAR_POP(b) OVER(ORDER BY a) var_pop FROM t1;
a b var_pop
NULL NULL NULL
a 19 9.5556
a 13 9.5556
a 12 9.5556
b 17 5.2500
b 18 5.2500
b 14 5.2500
b 15 5.2500
b 16 5.2500
SELECT a, b, VAR_POP(b) OVER(ORDER BY b) var_pop FROM t1;
a b var_pop
NULL NULL NULL
a 12 0.0000
a 13 0.2500
b 14 0.6667
b 15 1.2500
b 16 2.0000
b 17 2.9167
b 18 4.0000
a 19 5.2500
SELECT a, b, VAR_POP(b) OVER(ORDER BY a DESC) var_pop FROM t1;
a b var_pop
b 16 2.0000
b 15 2.0000
b 18 2.0000
b 17 2.0000
b 14 2.0000
a 19 5.2500
a 12 5.2500
a 13 5.2500
NULL NULL 5.2500
SELECT a, b, VAR_POP(b) OVER(ORDER BY b DESC) var_pop FROM t1;
a b var_pop
a 19 0.0000
b 18 0.2500
b 17 0.6667
b 16 1.2500
b 15 2.0000
b 14 2.9167
a 13 4.0000
a 12 5.2500
NULL NULL 5.2500
SELECT a, b, VAR_POP(b) OVER(PARTITION BY a ORDER BY b) var_pop FROM t1;
a b var_pop
NULL NULL NULL
a 12 0.0000
a 13 0.2500
a 19 9.5556
b 14 0.0000
b 15 0.2500
b 16 0.6667
b 17 1.2500
b 18 2.0000
SELECT a, b, VAR_POP(b) OVER(PARTITION BY b ORDER BY a) var_pop FROM t1;
a b var_pop
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VAR_POP(b) OVER(PARTITION BY b ORDER BY b DESC) var_pop FROM t1;
a b var_pop
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
b 15 0.0000
b 16 0.0000
b 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VAR_POP(b) OVER(PARTITION BY a ORDER BY a DESC) var_pop FROM t1;
a b var_pop
NULL NULL NULL
a 19 9.5556
a 13 9.5556
a 12 9.5556
b 17 2.0000
b 18 2.0000
b 14 2.0000
b 15 2.0000
b 16 2.0000
DROP DATABASE mcs146_db;

View File

@@ -0,0 +1,138 @@
DROP DATABASE IF EXISTS mcs147_db;
CREATE DATABASE mcs147_db;
USE mcs147_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('b', 15),('b', 16),('b', 17),('b', 18),('a', 19);
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY a) var_samp FROM t1;
a b var_samp
NULL NULL NULL
a 19 14.3333
a 13 14.3333
a 12 14.3333
b 17 2.5000
b 18 2.5000
b 14 2.5000
b 15 2.5000
b 16 2.5000
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY a DESC) var_samp FROM t1;
a b var_samp
NULL NULL NULL
a 19 14.3333
a 13 14.3333
a 12 14.3333
b 17 2.5000
b 18 2.5000
b 14 2.5000
b 15 2.5000
b 16 2.5000
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b DESC) var_samp FROM t1;
a b var_samp
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
b 15 NULL
b 16 NULL
b 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b) var_samp FROM t1;
a b var_samp
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
b 15 NULL
b 16 NULL
b 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY a) var_samp FROM t1;
a b var_samp
NULL NULL NULL
a 19 14.3333
a 13 14.3333
a 12 14.3333
b 17 6.0000
b 18 6.0000
b 14 6.0000
b 15 6.0000
b 16 6.0000
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY b) var_samp FROM t1;
a b var_samp
NULL NULL NULL
a 12 NULL
a 13 0.5000
b 14 1.0000
b 15 1.6667
b 16 2.5000
b 17 3.5000
b 18 4.6667
a 19 6.0000
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY a DESC) var_samp FROM t1;
a b var_samp
b 16 2.5000
b 15 2.5000
b 18 2.5000
b 17 2.5000
b 14 2.5000
a 19 6.0000
a 12 6.0000
a 13 6.0000
NULL NULL 6.0000
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY b DESC) var_samp FROM t1;
a b var_samp
a 19 NULL
b 18 0.5000
b 17 1.0000
b 16 1.6667
b 15 2.5000
b 14 3.5000
a 13 4.6667
a 12 6.0000
NULL NULL 6.0000
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY a ORDER BY b) var_samp FROM t1;
a b var_samp
NULL NULL NULL
a 12 NULL
a 13 0.5000
a 19 14.3333
b 14 NULL
b 15 0.5000
b 16 1.0000
b 17 1.6667
b 18 2.5000
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b ORDER BY a) var_samp FROM t1;
a b var_samp
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
b 15 NULL
b 16 NULL
b 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b ORDER BY b DESC) var_samp FROM t1;
a b var_samp
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
b 15 NULL
b 16 NULL
b 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY a ORDER BY a DESC) var_samp FROM t1;
a b var_samp
NULL NULL NULL
a 19 14.3333
a 13 14.3333
a 12 14.3333
b 17 2.5000
b 18 2.5000
b 14 2.5000
b 15 2.5000
b 16 2.5000
DROP DATABASE mcs147_db;

View File

@@ -0,0 +1,10 @@
DROP DATABASE IF EXISTS mcs148_db;
CREATE DATABASE mcs148_db;
USE mcs148_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('b', 15),('b', 16),('b', 17),('b', 18),('a', 19);
SELECT a, b, BIT_OR(b) OVER(PARTITION BY a) FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_OR' is currently not supported in Columnstore.
SELECT a, b, BIT_OR(b) OVER(ORDER BY a) FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_OR' is currently not supported in Columnstore.
DROP DATABASE mcs148_db;

View File

@@ -0,0 +1,10 @@
DROP DATABASE IF EXISTS mcs149_db;
CREATE DATABASE mcs149_db;
USE mcs149_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('b', 15),('b', 16),('b', 17),('b', 18),('a', 19);
SELECT a, b, BIT_AND(b) OVER(PARTITION BY a) FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_AND' is currently not supported in Columnstore.
SELECT a, b, BIT_AND(b) OVER(ORDER BY a) FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_AND' is currently not supported in Columnstore.
DROP DATABASE mcs149_db;

View File

@@ -0,0 +1,89 @@
DROP DATABASE IF EXISTS mcs14_db1;
CREATE DATABASE mcs14_db1;
USE mcs14_db1;
CREATE TABLE t1 (a INTEGER, b INT,c1 CHAR(10)) ENGINE=Columnstore;
INSERT INTO t1 (a) VALUES (1),(2);
TRUNCATE TABLE t1;
SELECT COUNT(*) FROM t1;
COUNT(*)
0
INSERT INTO t1 VALUES (1, 2, "test");
SELECT COUNT(*) FROM t1;
COUNT(*)
1
TRUNCATE mcs14_db1.t1;
DROP TABLE IF EXISTS non_existing_table;
Warnings:
Note 1051 Unknown table 'mcs14_db1.non_existing_table'
TRUNCATE non_existing_table;
ERROR 42S02: Table 'mcs14_db1.non_existing_table' doesn't exist
DROP TABLE t1;
DROP TABLE IF EXISTS t2;
Warnings:
Note 1051 Unknown table 'mcs14_db1.t2'
CREATE TABLE t1 (id INT) ENGINE=INNODB;
CREATE TABLE t2 (id INT) ENGINE=Columnstore;
TRUNCATE t1, t2;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' t2' at line 1
TRUNCATE t1;
TRUNCATE t2;
DROP TABLE t1;
DROP TABLE t2;
CREATE TABLE t1 (id INT) ENGINE=Columnstore;
INSERT INTO t1 (id) VALUES (1), (2), (3), (4), (5);
CREATE VIEW v1 AS SELECT * FROM t1;
TRUNCATE v1;
ERROR 42S02: Table 'mcs14_db1.v1' doesn't exist
SELECT * FROM v1;
id
1
2
3
4
5
TRUNCATE v1;
ERROR 42S02: Table 'mcs14_db1.v1' doesn't exist
SELECT * FROM v1;
id
1
2
3
4
5
CREATE PROCEDURE p1() SET @a = 5;
TRUNCATE p1;
ERROR 42S02: Table 'mcs14_db1.p1' doesn't exist
DROP TABLE t1;
CREATE TABLE t1 AS SELECT 1 AS f1;
HANDLER t1 OPEN;
TRUNCATE t1;
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 'mcs14_db1.t1'
CREATE TABLE t1 (id INT) ENGINE=Columnstore;
INSERT INTO t1 (id) VALUES (1), (2), (3), (4), (5);
CREATE TABLE t2 LIKE t1;
INSERT INTO t2 SELECT * FROM t1;
connect addconroot1, localhost, root,,;
connect addconroot2, localhost, root,,;
connection addconroot1;
TRUNCATE mcs14_db1.t1;
connection addconroot2;
TRUNCATE mcs14_db1.t1;
connection addconroot1;
TRUNCATE mcs14_db1.t1;
connection addconroot2;
USE mcs14_db1;
TRUNCATE t2;
connection default;
USE mcs14_db1;
SELECT count(*) FROM t1;
count(*)
0
SELECT count(*) FROM t2;
count(*)
0
disconnect addconroot1;
disconnect addconroot2;
DROP DATABASE mcs14_db1;

View File

@@ -0,0 +1,10 @@
DROP DATABASE IF EXISTS mcs150_db;
CREATE DATABASE mcs150_db;
USE mcs150_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('b', 15),('b', 16),('b', 17),('b', 18),('a', 19);
SELECT a, b, BIT_XOR(b) OVER(PARTITION BY a) FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_XOR' is currently not supported in Columnstore.
SELECT a, b, BIT_XOR(b) OVER(ORDER BY a) FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_XOR' is currently not supported in Columnstore.
DROP DATABASE mcs150_db;

View File

@@ -0,0 +1,127 @@
DROP DATABASE IF EXISTS mcs151_db;
CREATE DATABASE mcs151_db;
USE mcs151_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
SELECT a, b, AVG(b) OVER(ORDER BY a) avg FROM t1;
a b avg
NULL NULL NULL
a 92 72.0000
a 1 72.0000
a 123 72.0000
b 123 84.7500
c 1991 698.5000
c 1861 698.5000
d 1071 1995.3750
d 10701 1995.3750
SELECT a, b, AVG(b) OVER(ORDER BY b DESC) avg FROM t1;
a b avg
d 10701 10701.0000
c 1991 6346.0000
c 1861 4851.0000
d 1071 3906.0000
a 123 2645.0000
b 123 2645.0000
a 92 2280.2857
a 1 1995.3750
NULL NULL 1995.3750
SELECT a, b, AVG(b) OVER w avg FROM t1 WINDOW w AS (ORDER BY a DESC);
a b avg
d 10701 5886.0000
d 1071 5886.0000
c 1861 3906.0000
c 1991 3906.0000
b 123 3149.4000
a 92 1995.3750
a 123 1995.3750
a 1 1995.3750
NULL NULL 1995.3750
SELECT a, b, AVG(b) OVER w avg FROM t1 WINDOW w AS (ORDER BY b);
a b avg
NULL NULL NULL
a 1 1.0000
a 92 46.5000
b 123 84.7500
a 123 84.7500
d 1071 282.0000
c 1861 545.1667
c 1991 751.7143
d 10701 1995.3750
SELECT a, b, AVG(b) OVER(PARTITION BY a) avg FROM t1;
a b avg
NULL NULL NULL
a 92 72.0000
a 1 72.0000
a 123 72.0000
b 123 123.0000
c 1991 1926.0000
c 1861 1926.0000
d 1071 5886.0000
d 10701 5886.0000
SELECT a, b, AVG(b) OVER(PARTITION BY b) avg FROM t1;
a b avg
NULL NULL NULL
a 1 1.0000
a 92 92.0000
b 123 123.0000
a 123 123.0000
d 1071 1071.0000
c 1861 1861.0000
c 1991 1991.0000
d 10701 10701.0000
SELECT a, b, AVG(b) OVER(PARTITION BY a ORDER BY a DESC) avg FROM t1;
a b avg
NULL NULL NULL
a 92 72.0000
a 1 72.0000
a 123 72.0000
b 123 123.0000
c 1991 1926.0000
c 1861 1926.0000
d 1071 5886.0000
d 10701 5886.0000
SELECT a, b, AVG(b) OVER(PARTITION BY a ORDER BY b DESC) avg FROM t1;
a b avg
NULL NULL NULL
a 123 123.0000
a 92 107.5000
a 1 72.0000
b 123 123.0000
c 1991 1991.0000
c 1861 1926.0000
d 10701 10701.0000
d 1071 5886.0000
SELECT a, b, AVG(b) OVER(PARTITION BY a ORDER BY b ASC) avg FROM t1;
a b avg
NULL NULL NULL
a 1 1.0000
a 92 46.5000
a 123 72.0000
b 123 123.0000
c 1861 1861.0000
c 1991 1926.0000
d 1071 1071.0000
d 10701 5886.0000
SELECT a, b, AVG(b) OVER(PARTITION BY b ORDER BY a DESC) avg FROM t1;
a b avg
NULL NULL NULL
a 1 1.0000
a 92 92.0000
b 123 123.0000
a 123 123.0000
d 1071 1071.0000
c 1861 1861.0000
c 1991 1991.0000
d 10701 10701.0000
SELECT a, b, AVG(b) OVER(PARTITION BY b ORDER BY b DESC) avg FROM t1;
a b avg
NULL NULL NULL
a 1 1.0000
a 92 92.0000
b 123 123.0000
a 123 123.0000
d 1071 1071.0000
c 1861 1861.0000
c 1991 1991.0000
d 10701 10701.0000
DROP DATABASE mcs151_db;

View File

@@ -0,0 +1,230 @@
DROP DATABASE IF EXISTS mcs152_db;
CREATE DATABASE mcs152_db;
USE mcs152_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, AVG(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) avg FROM t1;
a b avg
NULL NULL NULL
a 12 12.0000
a 13 12.5000
b 14 13.0000
c 15 13.5000
d 16 14.0000
d 17 14.5000
b 18 15.0000
a 19 15.5000
SELECT a, b, AVG(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) avg FROM t1;
a b avg
NULL NULL 15.5000
a 12 15.5000
a 13 16.0000
b 14 16.5000
c 15 17.0000
d 16 17.5000
d 17 18.0000
b 18 18.5000
a 19 19.0000
SELECT a, b, AVG(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) avg FROM t1;
a b avg
NULL NULL NULL
a 12 12.0000
a 13 12.5000
b 14 13.5000
c 15 14.5000
d 16 15.5000
d 17 16.5000
b 18 17.5000
a 19 18.5000
SELECT a, b, AVG(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) avg FROM t1;
a b avg
NULL NULL 12.0000
a 12 12.5000
a 13 13.0000
b 14 14.0000
c 15 15.0000
d 16 16.0000
d 17 17.0000
b 18 18.0000
a 19 18.5000
SELECT a, b, AVG(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) avg FROM t1;
a b avg
NULL NULL 15.5000
a 12 15.5000
a 13 15.5000
b 14 16.0000
c 15 16.5000
d 16 17.0000
d 17 17.5000
b 18 18.0000
a 19 18.5000
SELECT a, b, AVG(b) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) avg FROM t1;
a b avg
a 19 19.0000
b 18 18.5000
d 17 18.0000
d 16 17.5000
c 15 17.0000
b 14 16.5000
a 13 16.0000
a 12 15.5000
NULL NULL 15.5000
SELECT a, b, AVG(b) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) avg FROM t1;
a b avg
a 19 15.5000
b 18 15.0000
d 17 14.5000
d 16 14.0000
c 15 13.5000
b 14 13.0000
a 13 12.5000
a 12 12.0000
NULL NULL NULL
SELECT a, b, AVG(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) avg FROM t1;
a b avg
a 19 19.0000
b 18 18.5000
d 17 17.5000
d 16 16.5000
c 15 15.5000
b 14 14.5000
a 13 13.5000
a 12 12.5000
NULL NULL 12.0000
SELECT a, b, AVG(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) avg FROM t1;
a b avg
a 19 18.5000
b 18 18.0000
d 17 17.0000
d 16 16.0000
c 15 15.0000
b 14 14.0000
a 13 13.0000
a 12 12.5000
NULL NULL 12.0000
SELECT a, b, AVG(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) avg FROM t1;
a b avg
a 19 15.5000
b 18 15.5000
d 17 15.0000
d 16 14.5000
c 15 14.0000
b 14 13.5000
a 13 13.0000
a 12 12.5000
NULL NULL 12.0000
SELECT a, b, AVG(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) avg FROM t1;
a b avg
NULL NULL NULL
a 12 12.0000
a 13 12.5000
a 19 14.6667
b 14 14.0000
b 18 16.0000
c 15 15.0000
d 16 16.0000
d 17 16.5000
SELECT a, b, AVG(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) avg FROM t1;
a b avg
NULL NULL NULL
a 12 12.0000
a 13 13.0000
b 14 14.0000
c 15 15.0000
d 16 16.0000
d 17 17.0000
b 18 18.0000
a 19 19.0000
SELECT a, b, AVG(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) avg FROM t1;
a b avg
NULL NULL NULL
a 12 14.6667
a 13 16.0000
a 19 19.0000
b 14 16.0000
b 18 18.0000
c 15 15.0000
d 16 16.5000
d 17 17.0000
SELECT a, b, AVG(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) avg FROM t1;
a b avg
NULL NULL NULL
a 12 12.0000
a 13 13.0000
b 14 14.0000
c 15 15.0000
d 16 16.0000
d 17 17.0000
b 18 18.0000
a 19 19.0000
SELECT a, b, AVG(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) avg FROM t1;
a b avg
NULL NULL NULL
a 12 12.0000
a 13 12.5000
a 19 16.0000
b 14 14.0000
b 18 16.0000
c 15 15.0000
d 16 16.0000
d 17 16.5000
SELECT a, b, AVG(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) avg FROM t1;
a b avg
NULL NULL NULL
a 12 12.0000
a 13 13.0000
b 14 14.0000
c 15 15.0000
d 16 16.0000
d 17 17.0000
b 18 18.0000
a 19 19.0000
SELECT a, b, AVG(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) avg FROM t1;
a b avg
NULL NULL NULL
a 12 12.5000
a 13 14.6667
a 19 16.0000
b 14 16.0000
b 18 16.0000
c 15 15.0000
d 16 16.5000
d 17 16.5000
SELECT a, b, AVG(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) avg FROM t1;
a b avg
NULL NULL NULL
a 12 12.0000
a 13 13.0000
b 14 14.0000
c 15 15.0000
d 16 16.0000
d 17 17.0000
b 18 18.0000
a 19 19.0000
SELECT a, b, AVG(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) avg FROM t1;
a b avg
NULL NULL NULL
a 12 14.6667
a 13 14.6667
a 19 16.0000
b 14 16.0000
b 18 16.0000
c 15 15.0000
d 16 16.5000
d 17 16.5000
SELECT a, b, AVG(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) avg FROM t1;
a b avg
NULL NULL NULL
a 12 12.0000
a 13 13.0000
b 14 14.0000
c 15 15.0000
d 16 16.0000
d 17 17.0000
b 18 18.0000
a 19 19.0000
SELECT a, b, AVG(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) avg FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, AVG(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) avg FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs152_db;

View File

@@ -0,0 +1,20 @@
DROP DATABASE IF EXISTS mcs153_db;
CREATE DATABASE mcs153_db;
USE mcs153_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, BIT_AND(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_and FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_AND' is currently not supported in Columnstore.
SELECT a, b, BIT_AND(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) bit_and FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_AND' is currently not supported in Columnstore.
SELECT a, b, BIT_AND(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) bit_and FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_AND' is currently not supported in Columnstore.
SELECT a, b, BIT_AND(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) bit_and FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_AND' is currently not supported in Columnstore.
SELECT a, b, BIT_AND(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) bit_and FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_AND' is currently not supported in Columnstore.
SELECT a, b, BIT_AND(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_and FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, BIT_AND(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_and FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs153_db;

View File

@@ -0,0 +1,20 @@
DROP DATABASE IF EXISTS mcs154_db;
CREATE DATABASE mcs154_db;
USE mcs154_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, BIT_OR(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_or FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_OR' is currently not supported in Columnstore.
SELECT a, b, BIT_OR(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) bit_or FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_OR' is currently not supported in Columnstore.
SELECT a, b, BIT_OR(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) bit_or FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_OR' is currently not supported in Columnstore.
SELECT a, b, BIT_OR(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) bit_or FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_OR' is currently not supported in Columnstore.
SELECT a, b, BIT_OR(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) bit_or FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_OR' is currently not supported in Columnstore.
SELECT a, b, BIT_OR(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_or FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, BIT_OR(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_or FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs154_db;

View File

@@ -0,0 +1,20 @@
DROP DATABASE IF EXISTS mcs155_db;
CREATE DATABASE mcs155_db;
USE mcs155_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, BIT_XOR(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) BIT_XOR FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_XOR' is currently not supported in Columnstore.
SELECT a, b, BIT_XOR(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) BIT_XOR FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_XOR' is currently not supported in Columnstore.
SELECT a, b, BIT_XOR(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) BIT_XOR FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_XOR' is currently not supported in Columnstore.
SELECT a, b, BIT_XOR(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) BIT_XOR FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_XOR' is currently not supported in Columnstore.
SELECT a, b, BIT_XOR(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) BIT_XOR FROM t1;
ERROR HY000: Internal error: IDB-9018: Window Function 'BIT_XOR' is currently not supported in Columnstore.
SELECT a, b, BIT_XOR(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) BIT_XOR FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, BIT_XOR(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) BIT_XOR FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs155_db;

View File

@@ -0,0 +1,230 @@
DROP DATABASE IF EXISTS mcs156_db;
CREATE DATABASE mcs156_db;
USE mcs156_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, COUNT(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) count FROM t1;
a b count
NULL NULL 0
a 12 1
a 13 2
b 14 3
c 15 4
d 16 5
d 17 6
b 18 7
a 19 8
SELECT a, b, COUNT(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) count FROM t1;
a b count
NULL NULL 8
a 12 8
a 13 7
b 14 6
c 15 5
d 16 4
d 17 3
b 18 2
a 19 1
SELECT a, b, COUNT(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) count FROM t1;
a b count
NULL NULL 0
a 12 1
a 13 2
b 14 2
c 15 2
d 16 2
d 17 2
b 18 2
a 19 2
SELECT a, b, COUNT(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) count FROM t1;
a b count
NULL NULL 1
a 12 2
a 13 3
b 14 3
c 15 3
d 16 3
d 17 3
b 18 3
a 19 2
SELECT a, b, COUNT(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) count FROM t1;
a b count
NULL NULL 8
a 12 8
a 13 8
b 14 7
c 15 6
d 16 5
d 17 4
b 18 3
a 19 2
SELECT a, b, COUNT(a) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) count FROM t1;
a b count
a 19 1
b 18 2
d 17 3
d 16 4
c 15 5
b 14 6
a 13 7
a 12 8
NULL NULL 8
SELECT a, b, COUNT(a) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) count FROM t1;
a b count
a 19 8
b 18 7
d 17 6
d 16 5
c 15 4
b 14 3
a 13 2
a 12 1
NULL NULL 0
SELECT a, b, COUNT(a) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) count FROM t1;
a b count
a 19 1
b 18 2
d 17 2
d 16 2
c 15 2
b 14 2
a 13 2
a 12 2
NULL NULL 1
SELECT a, b, COUNT(a) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) count FROM t1;
a b count
a 19 2
b 18 3
d 17 3
d 16 3
c 15 3
b 14 3
a 13 3
a 12 2
NULL NULL 1
SELECT a, b, COUNT(a) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) count FROM t1;
a b count
a 19 8
b 18 8
d 17 7
d 16 6
c 15 5
b 14 4
a 13 3
a 12 2
NULL NULL 1
SELECT a, b, COUNT(a) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) count FROM t1;
a b count
NULL NULL 0
a 12 1
a 13 2
a 19 3
b 14 1
b 18 2
c 15 1
d 16 1
d 17 2
SELECT a, b, COUNT(a) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) count FROM t1;
a b count
NULL NULL 0
a 12 1
a 13 1
b 14 1
c 15 1
d 16 1
d 17 1
b 18 1
a 19 1
SELECT a, b, COUNT(a) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) count FROM t1;
a b count
NULL NULL 0
a 12 3
a 13 2
a 19 1
b 14 2
b 18 1
c 15 1
d 16 2
d 17 1
SELECT a, b, COUNT(a) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) count FROM t1;
a b count
NULL NULL 0
a 12 1
a 13 1
b 14 1
c 15 1
d 16 1
d 17 1
b 18 1
a 19 1
SELECT a, b, COUNT(a) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) count FROM t1;
a b count
NULL NULL 0
a 12 1
a 13 2
a 19 2
b 14 1
b 18 2
c 15 1
d 16 1
d 17 2
SELECT a, b, COUNT(a) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) count FROM t1;
a b count
NULL NULL 0
a 12 1
a 13 1
b 14 1
c 15 1
d 16 1
d 17 1
b 18 1
a 19 1
SELECT a, b, COUNT(a) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) count FROM t1;
a b count
NULL NULL 0
a 12 2
a 13 3
a 19 2
b 14 2
b 18 2
c 15 1
d 16 2
d 17 2
SELECT a, b, COUNT(a) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) count FROM t1;
a b count
NULL NULL 0
a 12 1
a 13 1
b 14 1
c 15 1
d 16 1
d 17 1
b 18 1
a 19 1
SELECT a, b, COUNT(a) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) count FROM t1;
a b count
NULL NULL 0
a 12 3
a 13 3
a 19 2
b 14 2
b 18 2
c 15 1
d 16 2
d 17 2
SELECT a, b, COUNT(a) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) count FROM t1;
a b count
NULL NULL 0
a 12 1
a 13 1
b 14 1
c 15 1
d 16 1
d 17 1
b 18 1
a 19 1
SELECT a, b, COUNT(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) count FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, COUNT(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) count FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs156_db;

View File

@@ -0,0 +1,230 @@
DROP DATABASE IF EXISTS mcs157_db;
CREATE DATABASE mcs157_db;
USE mcs157_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, LEAD(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) lead_value FROM t1;
a b lead_value
NULL NULL 12
a 12 13
a 13 14
b 14 15
c 15 16
d 16 17
d 17 18
b 18 19
a 19 NULL
SELECT a, b, LEAD(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) lead_value FROM t1;
a b lead_value
NULL NULL 12
a 12 13
a 13 14
b 14 15
c 15 16
d 16 17
d 17 18
b 18 19
a 19 NULL
SELECT a, b, LEAD(b, 2) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, LEAD(b, 0) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, LEAD(b, -1) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 18
SELECT a, b, LEAD(a) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) lead_value FROM t1;
a b lead_value
a 19 b
b 18 d
d 17 d
d 16 c
c 15 b
b 14 a
a 13 a
a 12 NULL
NULL NULL NULL
SELECT a, b, LEAD(a) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) lead_value FROM t1;
a b lead_value
a 19 b
b 18 d
d 17 d
d 16 c
c 15 b
b 14 a
a 13 a
a 12 NULL
NULL NULL NULL
SELECT a, b, LEAD(a) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) lead_value FROM t1;
a b lead_value
a 19 b
b 18 d
d 17 d
d 16 c
c 15 b
b 14 a
a 13 a
a 12 NULL
NULL NULL NULL
SELECT a, b, LEAD(a) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) lead_value FROM t1;
a b lead_value
a 19 b
b 18 d
d 17 d
d 16 c
c 15 b
b 14 a
a 13 a
a 12 NULL
NULL NULL NULL
SELECT a, b, LEAD(a) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) lead_value FROM t1;
a b lead_value
a 19 b
b 18 d
d 17 d
d 16 c
c 15 b
b 14 a
a 13 a
a 12 NULL
NULL NULL NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 12 13
a 13 19
a 19 NULL
b 14 18
b 18 NULL
c 15 NULL
d 16 17
d 17 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 12 13
a 13 19
a 19 NULL
b 14 18
b 18 NULL
c 15 NULL
d 16 17
d 17 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 12 13
a 13 19
a 19 NULL
b 14 18
b 18 NULL
c 15 NULL
d 16 17
d 17 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 12 13
a 13 19
a 19 NULL
b 14 18
b 18 NULL
c 15 NULL
d 16 17
d 17 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 12 13
a 13 19
a 19 NULL
b 14 18
b 18 NULL
c 15 NULL
d 16 17
d 17 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) lead_value FROM t1;
a b lead_value
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, LEAD(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) lead_value FROM t1;
ERROR HY000: No order list in window specification for 'lead'
SELECT a, b, LEAD(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) lead_value FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs157_db;

View File

@@ -0,0 +1,230 @@
DROP DATABASE IF EXISTS mcs158_db;
CREATE DATABASE mcs158_db;
USE mcs158_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, MAX(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) max FROM t1;
a b max
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, MAX(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) max FROM t1;
a b max
NULL NULL 19
a 12 19
a 13 19
b 14 19
c 15 19
d 16 19
d 17 19
b 18 19
a 19 19
SELECT a, b, MAX(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) max FROM t1;
a b max
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, MAX(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) max FROM t1;
a b max
NULL NULL 12
a 12 13
a 13 14
b 14 15
c 15 16
d 16 17
d 17 18
b 18 19
a 19 19
SELECT a, b, MAX(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) max FROM t1;
a b max
NULL NULL 19
a 12 19
a 13 19
b 14 19
c 15 19
d 16 19
d 17 19
b 18 19
a 19 19
SELECT a, b, MAX(b) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) max FROM t1;
a b max
a 19 19
b 18 19
d 17 19
d 16 19
c 15 19
b 14 19
a 13 19
a 12 19
NULL NULL 19
SELECT a, b, MAX(b) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) max FROM t1;
a b max
a 19 19
b 18 18
d 17 17
d 16 16
c 15 15
b 14 14
a 13 13
a 12 12
NULL NULL NULL
SELECT a, b, MAX(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) max FROM t1;
a b max
a 19 19
b 18 19
d 17 18
d 16 17
c 15 16
b 14 15
a 13 14
a 12 13
NULL NULL 12
SELECT a, b, MAX(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) max FROM t1;
a b max
a 19 19
b 18 19
d 17 18
d 16 17
c 15 16
b 14 15
a 13 14
a 12 13
NULL NULL 12
SELECT a, b, MAX(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) max FROM t1;
a b max
a 19 19
b 18 19
d 17 18
d 16 17
c 15 16
b 14 15
a 13 14
a 12 13
NULL NULL 12
SELECT a, b, MAX(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) max FROM t1;
a b max
NULL NULL NULL
a 12 12
a 13 13
a 19 19
b 14 14
b 18 18
c 15 15
d 16 16
d 17 17
SELECT a, b, MAX(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) max FROM t1;
a b max
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, MAX(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) max FROM t1;
a b max
NULL NULL NULL
a 12 19
a 13 19
a 19 19
b 14 18
b 18 18
c 15 15
d 16 17
d 17 17
SELECT a, b, MAX(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) max FROM t1;
a b max
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, MAX(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) max FROM t1;
a b max
NULL NULL NULL
a 12 12
a 13 13
a 19 19
b 14 14
b 18 18
c 15 15
d 16 16
d 17 17
SELECT a, b, MAX(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) max FROM t1;
a b max
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, MAX(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) max FROM t1;
a b max
NULL NULL NULL
a 12 13
a 13 19
a 19 19
b 14 18
b 18 18
c 15 15
d 16 17
d 17 17
SELECT a, b, MAX(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) max FROM t1;
a b max
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, MAX(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) max FROM t1;
a b max
NULL NULL NULL
a 12 19
a 13 19
a 19 19
b 14 18
b 18 18
c 15 15
d 16 17
d 17 17
SELECT a, b, MAX(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) max FROM t1;
a b max
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, MAX(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) max FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, MAX(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) max FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs158_db;

View File

@@ -0,0 +1,230 @@
DROP DATABASE IF EXISTS mcs159_db;
CREATE DATABASE mcs159_db;
USE mcs159_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, MIN(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) min FROM t1;
a b min
NULL NULL NULL
a 12 12
a 13 12
b 14 12
c 15 12
d 16 12
d 17 12
b 18 12
a 19 12
SELECT a, b, MIN(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) min FROM t1;
a b min
NULL NULL 12
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, MIN(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) min FROM t1;
a b min
NULL NULL NULL
a 12 12
a 13 12
b 14 13
c 15 14
d 16 15
d 17 16
b 18 17
a 19 18
SELECT a, b, MIN(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) min FROM t1;
a b min
NULL NULL 12
a 12 12
a 13 12
b 14 13
c 15 14
d 16 15
d 17 16
b 18 17
a 19 18
SELECT a, b, MIN(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) min FROM t1;
a b min
NULL NULL 12
a 12 12
a 13 12
b 14 13
c 15 14
d 16 15
d 17 16
b 18 17
a 19 18
SELECT a, b, MIN(b) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) min FROM t1;
a b min
a 19 19
b 18 18
d 17 17
d 16 16
c 15 15
b 14 14
a 13 13
a 12 12
NULL NULL 12
SELECT a, b, MIN(b) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) min FROM t1;
a b min
a 19 12
b 18 12
d 17 12
d 16 12
c 15 12
b 14 12
a 13 12
a 12 12
NULL NULL NULL
SELECT a, b, MIN(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) min FROM t1;
a b min
a 19 19
b 18 18
d 17 17
d 16 16
c 15 15
b 14 14
a 13 13
a 12 12
NULL NULL 12
SELECT a, b, MIN(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) min FROM t1;
a b min
a 19 18
b 18 17
d 17 16
d 16 15
c 15 14
b 14 13
a 13 12
a 12 12
NULL NULL 12
SELECT a, b, MIN(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) min FROM t1;
a b min
a 19 12
b 18 12
d 17 12
d 16 12
c 15 12
b 14 12
a 13 12
a 12 12
NULL NULL 12
SELECT a, b, MIN(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) min FROM t1;
a b min
NULL NULL NULL
a 12 12
a 13 12
a 19 12
b 14 14
b 18 14
c 15 15
d 16 16
d 17 16
SELECT a, b, MIN(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) min FROM t1;
a b min
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, MIN(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) min FROM t1;
a b min
NULL NULL NULL
a 12 12
a 13 13
a 19 19
b 14 14
b 18 18
c 15 15
d 16 16
d 17 17
SELECT a, b, MIN(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) min FROM t1;
a b min
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, MIN(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) min FROM t1;
a b min
NULL NULL NULL
a 12 12
a 13 12
a 19 13
b 14 14
b 18 14
c 15 15
d 16 16
d 17 16
SELECT a, b, MIN(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) min FROM t1;
a b min
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, MIN(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) min FROM t1;
a b min
NULL NULL NULL
a 12 12
a 13 12
a 19 13
b 14 14
b 18 14
c 15 15
d 16 16
d 17 16
SELECT a, b, MIN(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) min FROM t1;
a b min
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, MIN(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) min FROM t1;
a b min
NULL NULL NULL
a 12 12
a 13 12
a 19 13
b 14 14
b 18 14
c 15 15
d 16 16
d 17 16
SELECT a, b, MIN(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) min FROM t1;
a b min
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, MIN(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) min FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, MIN(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) min FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs159_db;

View File

@@ -0,0 +1,71 @@
DROP DATABASE IF EXISTS mcs15_db;
CREATE DATABASE mcs15_db;
USE mcs15_db;
CREATE TABLE t1(id INT)ENGINE=Columnstore;
CREATE VIEW IF NOT EXISTS v1 AS SELECT * FROM t1 WHERE id>10;
INSERT INTO t1 VALUES (5), (8), (10), (20), (30);
SELECT * FROM t1;
id
5
8
10
20
30
SELECT * FROM v1;
id
20
30
SELECT * FROM v2;
ERROR 42S02: Table 'mcs15_db.v2' doesn't exist
CREATE VIEW v1 AS SELECT * FROM t1 WHERE id>11;
ERROR 42S01: Table 'v1' already exists
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v1' AND TABLE_SCHEMA='mcs15_db';
VIEW_DEFINITION
select `mcs15_db`.`t1`.`id` AS `id` from `mcs15_db`.`t1` where `mcs15_db`.`t1`.`id` > 10
CREATE VIEW IF NOT EXISTS v1 AS SELECT * FROM t1 WHERE id>12;
Warnings:
Note 1050 Table 'v1' already exists
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v1' AND TABLE_SCHEMA='mcs15_db';
VIEW_DEFINITION
select `mcs15_db`.`t1`.`id` AS `id` from `mcs15_db`.`t1` where `mcs15_db`.`t1`.`id` > 10
CREATE OR REPLACE VIEW IF NOT EXISTS v1 AS SELECT * FROM t1 WHERE id>13;
ERROR HY000: Incorrect usage of OR REPLACE and IF NOT EXISTS
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v1' AND TABLE_SCHEMA='mcs15_db';
VIEW_DEFINITION
select `mcs15_db`.`t1`.`id` AS `id` from `mcs15_db`.`t1` where `mcs15_db`.`t1`.`id` > 10
CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1 WHERE id>40;
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME='v1' AND TABLE_SCHEMA='mcs15_db';
VIEW_DEFINITION
select `mcs15_db`.`t1`.`id` AS `id` from `mcs15_db`.`t1` where `mcs15_db`.`t1`.`id` > 40
INSERT INTO t1 VALUES (50), (80), (3), (2), (40);
SELECT * FROM t1;
id
5
8
10
20
30
50
80
3
2
40
SELECT * FROM v1;
id
50
80
DROP TABLE v1;
ERROR 42S02: 'mcs15_db.v1' is a view
DROP TABLE IF EXISTS v1;
Warnings:
Note 1965 'mcs15_db.v1' is a view
DROP VIEW v2;
ERROR 42S02: Unknown VIEW: 'mcs15_db.v2'
DROP TABLE t1;
SELECT * FROM v1;
ERROR HY000: View 'mcs15_db.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
DROP VIEW IF EXISTS v1;
DROP VIEW IF EXISTS t1;
Warnings:
Note 4092 Unknown VIEW: 'mcs15_db.t1'
DROP DATABASE mcs15_db;

View File

@@ -0,0 +1,16 @@
DROP DATABASE IF EXISTS mcs160_db;
CREATE DATABASE mcs160_db;
USE mcs160_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, NTILE(3) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) lead_value FROM t1;
ERROR HY000: Window frame is not allowed with 'ntile'
SELECT a, b, NTILE(3) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) lead_value FROM t1;
ERROR HY000: Window frame is not allowed with 'ntile'
SELECT a, b, NTILE(3) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) lead_value FROM t1;
ERROR HY000: Window frame is not allowed with 'ntile'
SELECT a, b, NTILE(3) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) lead_value FROM t1;
ERROR HY000: Window frame is not allowed with 'ntile'
SELECT a, b, NTILE(3) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) lead_value FROM t1;
ERROR HY000: Window frame is not allowed with 'ntile'
DROP DATABASE mcs160_db;

View File

@@ -0,0 +1,230 @@
DROP DATABASE IF EXISTS mcs161_db;
CREATE DATABASE mcs161_db;
USE mcs161_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, STD(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) std FROM t1;
a b std
NULL NULL NULL
a 12 0.0000
a 13 0.5000
b 14 0.8165
c 15 1.1180
d 16 1.4142
d 17 1.7078
b 18 2.0000
a 19 2.2913
SELECT a, b, STD(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) std FROM t1;
a b std
NULL NULL 2.2913
a 12 2.2913
a 13 2.0000
b 14 1.7078
c 15 1.4142
d 16 1.1180
d 17 0.8165
b 18 0.5000
a 19 0.0000
SELECT a, b, STD(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) std FROM t1;
a b std
NULL NULL NULL
a 12 0.0000
a 13 0.5000
b 14 0.5000
c 15 0.5000
d 16 0.5000
d 17 0.5000
b 18 0.5000
a 19 0.5000
SELECT a, b, STD(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) std FROM t1;
a b std
NULL NULL 0.0000
a 12 0.5000
a 13 0.8165
b 14 0.8165
c 15 0.8165
d 16 0.8165
d 17 0.8165
b 18 0.8165
a 19 0.5000
SELECT a, b, STD(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) std FROM t1;
a b std
NULL NULL 2.2913
a 12 2.2913
a 13 2.2913
b 14 2.0000
c 15 1.7078
d 16 1.4142
d 17 1.1180
b 18 0.8165
a 19 0.5000
SELECT a, b, STD(b) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) std FROM t1;
a b std
a 19 0.0000
b 18 0.5000
d 17 0.8165
d 16 1.1180
c 15 1.4142
b 14 1.7078
a 13 2.0000
a 12 2.2913
NULL NULL 2.2913
SELECT a, b, STD(b) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) std FROM t1;
a b std
a 19 2.2913
b 18 2.0000
d 17 1.7078
d 16 1.4142
c 15 1.1180
b 14 0.8165
a 13 0.5000
a 12 0.0000
NULL NULL NULL
SELECT a, b, STD(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) std FROM t1;
a b std
a 19 0.0000
b 18 0.5000
d 17 0.5000
d 16 0.5000
c 15 0.5000
b 14 0.5000
a 13 0.5000
a 12 0.5000
NULL NULL 0.0000
SELECT a, b, STD(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) std FROM t1;
a b std
a 19 0.5000
b 18 0.8165
d 17 0.8165
d 16 0.8165
c 15 0.8165
b 14 0.8165
a 13 0.8165
a 12 0.5000
NULL NULL 0.0000
SELECT a, b, STD(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) std FROM t1;
a b std
a 19 2.2913
b 18 2.2913
d 17 2.0000
d 16 1.7078
c 15 1.4142
b 14 1.1180
a 13 0.8165
a 12 0.5000
NULL NULL 0.0000
SELECT a, b, STD(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) std FROM t1;
a b std
NULL NULL NULL
a 12 0.0000
a 13 0.5000
a 19 3.0912
b 14 0.0000
b 18 2.0000
c 15 0.0000
d 16 0.0000
d 17 0.5000
SELECT a, b, STD(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) std FROM t1;
a b std
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STD(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) std FROM t1;
a b std
NULL NULL NULL
a 12 3.0912
a 13 3.0000
a 19 0.0000
b 14 2.0000
b 18 0.0000
c 15 0.0000
d 16 0.5000
d 17 0.0000
SELECT a, b, STD(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) std FROM t1;
a b std
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STD(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) std FROM t1;
a b std
NULL NULL NULL
a 12 0.0000
a 13 0.5000
a 19 3.0000
b 14 0.0000
b 18 2.0000
c 15 0.0000
d 16 0.0000
d 17 0.5000
SELECT a, b, STD(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) std FROM t1;
a b std
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STD(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) std FROM t1;
a b std
NULL NULL NULL
a 12 0.5000
a 13 3.0912
a 19 3.0000
b 14 2.0000
b 18 2.0000
c 15 0.0000
d 16 0.5000
d 17 0.5000
SELECT a, b, STD(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) std FROM t1;
a b std
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STD(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) std FROM t1;
a b std
NULL NULL NULL
a 12 3.0912
a 13 3.0912
a 19 3.0000
b 14 2.0000
b 18 2.0000
c 15 0.0000
d 16 0.5000
d 17 0.5000
SELECT a, b, STD(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) std FROM t1;
a b std
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STD(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) std FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, STD(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) std FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs161_db;

View File

@@ -0,0 +1,230 @@
DROP DATABASE IF EXISTS mcs162_db;
CREATE DATABASE mcs162_db;
USE mcs162_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, STDDEV(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1;
a b stddev
NULL NULL NULL
a 12 0.0000
a 13 0.5000
b 14 0.8165
c 15 1.1180
d 16 1.4142
d 17 1.7078
b 18 2.0000
a 19 2.2913
SELECT a, b, STDDEV(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) stddev FROM t1;
a b stddev
NULL NULL 2.2913
a 12 2.2913
a 13 2.0000
b 14 1.7078
c 15 1.4142
d 16 1.1180
d 17 0.8165
b 18 0.5000
a 19 0.0000
SELECT a, b, STDDEV(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) stddev FROM t1;
a b stddev
NULL NULL NULL
a 12 0.0000
a 13 0.5000
b 14 0.5000
c 15 0.5000
d 16 0.5000
d 17 0.5000
b 18 0.5000
a 19 0.5000
SELECT a, b, STDDEV(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) stddev FROM t1;
a b stddev
NULL NULL 0.0000
a 12 0.5000
a 13 0.8165
b 14 0.8165
c 15 0.8165
d 16 0.8165
d 17 0.8165
b 18 0.8165
a 19 0.5000
SELECT a, b, STDDEV(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) stddev FROM t1;
a b stddev
NULL NULL 2.2913
a 12 2.2913
a 13 2.2913
b 14 2.0000
c 15 1.7078
d 16 1.4142
d 17 1.1180
b 18 0.8165
a 19 0.5000
SELECT a, b, STDDEV(b) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1;
a b stddev
a 19 0.0000
b 18 0.5000
d 17 0.8165
d 16 1.1180
c 15 1.4142
b 14 1.7078
a 13 2.0000
a 12 2.2913
NULL NULL 2.2913
SELECT a, b, STDDEV(b) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) stddev FROM t1;
a b stddev
a 19 2.2913
b 18 2.0000
d 17 1.7078
d 16 1.4142
c 15 1.1180
b 14 0.8165
a 13 0.5000
a 12 0.0000
NULL NULL NULL
SELECT a, b, STDDEV(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) stddev FROM t1;
a b stddev
a 19 0.0000
b 18 0.5000
d 17 0.5000
d 16 0.5000
c 15 0.5000
b 14 0.5000
a 13 0.5000
a 12 0.5000
NULL NULL 0.0000
SELECT a, b, STDDEV(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) stddev FROM t1;
a b stddev
a 19 0.5000
b 18 0.8165
d 17 0.8165
d 16 0.8165
c 15 0.8165
b 14 0.8165
a 13 0.8165
a 12 0.5000
NULL NULL 0.0000
SELECT a, b, STDDEV(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) stddev FROM t1;
a b stddev
a 19 2.2913
b 18 2.2913
d 17 2.0000
d 16 1.7078
c 15 1.4142
b 14 1.1180
a 13 0.8165
a 12 0.5000
NULL NULL 0.0000
SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1;
a b stddev
NULL NULL NULL
a 12 0.0000
a 13 0.5000
a 19 3.0912
b 14 0.0000
b 18 2.0000
c 15 0.0000
d 16 0.0000
d 17 0.5000
SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1;
a b stddev
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) stddev FROM t1;
a b stddev
NULL NULL NULL
a 12 3.0912
a 13 3.0000
a 19 0.0000
b 14 2.0000
b 18 0.0000
c 15 0.0000
d 16 0.5000
d 17 0.0000
SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) stddev FROM t1;
a b stddev
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) stddev FROM t1;
a b stddev
NULL NULL NULL
a 12 0.0000
a 13 0.5000
a 19 3.0000
b 14 0.0000
b 18 2.0000
c 15 0.0000
d 16 0.0000
d 17 0.5000
SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) stddev FROM t1;
a b stddev
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) stddev FROM t1;
a b stddev
NULL NULL NULL
a 12 0.5000
a 13 3.0912
a 19 3.0000
b 14 2.0000
b 18 2.0000
c 15 0.0000
d 16 0.5000
d 17 0.5000
SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) stddev FROM t1;
a b stddev
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) stddev FROM t1;
a b stddev
NULL NULL NULL
a 12 3.0912
a 13 3.0912
a 19 3.0000
b 14 2.0000
b 18 2.0000
c 15 0.0000
d 16 0.5000
d 17 0.5000
SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) stddev FROM t1;
a b stddev
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, STDDEV(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs162_db;

View File

@@ -0,0 +1,230 @@
DROP DATABASE IF EXISTS mcs163_db;
CREATE DATABASE mcs163_db;
USE mcs163_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL NULL
a 12 0.0000
a 13 0.5000
b 14 0.8165
c 15 1.1180
d 16 1.4142
d 17 1.7078
b 18 2.0000
a 19 2.2913
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL 2.2913
a 12 2.2913
a 13 2.0000
b 14 1.7078
c 15 1.4142
d 16 1.1180
d 17 0.8165
b 18 0.5000
a 19 0.0000
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL NULL
a 12 0.0000
a 13 0.5000
b 14 0.5000
c 15 0.5000
d 16 0.5000
d 17 0.5000
b 18 0.5000
a 19 0.5000
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL 0.0000
a 12 0.5000
a 13 0.8165
b 14 0.8165
c 15 0.8165
d 16 0.8165
d 17 0.8165
b 18 0.8165
a 19 0.5000
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL 2.2913
a 12 2.2913
a 13 2.2913
b 14 2.0000
c 15 1.7078
d 16 1.4142
d 17 1.1180
b 18 0.8165
a 19 0.5000
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1;
a b STDDEV_POP
a 19 0.0000
b 18 0.5000
d 17 0.8165
d 16 1.1180
c 15 1.4142
b 14 1.7078
a 13 2.0000
a 12 2.2913
NULL NULL 2.2913
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) STDDEV_POP FROM t1;
a b STDDEV_POP
a 19 2.2913
b 18 2.0000
d 17 1.7078
d 16 1.4142
c 15 1.1180
b 14 0.8165
a 13 0.5000
a 12 0.0000
NULL NULL NULL
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1;
a b STDDEV_POP
a 19 0.0000
b 18 0.5000
d 17 0.5000
d 16 0.5000
c 15 0.5000
b 14 0.5000
a 13 0.5000
a 12 0.5000
NULL NULL 0.0000
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) STDDEV_POP FROM t1;
a b STDDEV_POP
a 19 0.5000
b 18 0.8165
d 17 0.8165
d 16 0.8165
c 15 0.8165
b 14 0.8165
a 13 0.8165
a 12 0.5000
NULL NULL 0.0000
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) STDDEV_POP FROM t1;
a b STDDEV_POP
a 19 2.2913
b 18 2.2913
d 17 2.0000
d 16 1.7078
c 15 1.4142
b 14 1.1180
a 13 0.8165
a 12 0.5000
NULL NULL 0.0000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL NULL
a 12 0.0000
a 13 0.5000
a 19 3.0912
b 14 0.0000
b 18 2.0000
c 15 0.0000
d 16 0.0000
d 17 0.5000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL NULL
a 12 3.0912
a 13 3.0000
a 19 0.0000
b 14 2.0000
b 18 0.0000
c 15 0.0000
d 16 0.5000
d 17 0.0000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL NULL
a 12 0.0000
a 13 0.5000
a 19 3.0000
b 14 0.0000
b 18 2.0000
c 15 0.0000
d 16 0.0000
d 17 0.5000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL NULL
a 12 0.5000
a 13 3.0912
a 19 3.0000
b 14 2.0000
b 18 2.0000
c 15 0.0000
d 16 0.5000
d 17 0.5000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL NULL
a 12 3.0912
a 13 3.0912
a 19 3.0000
b 14 2.0000
b 18 2.0000
c 15 0.0000
d 16 0.5000
d 17 0.5000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) STDDEV_POP FROM t1;
a b STDDEV_POP
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, STDDEV_POP(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs163_db;

View File

@@ -0,0 +1,230 @@
DROP DATABASE IF EXISTS mcs164_db;
CREATE DATABASE mcs164_db;
USE mcs164_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL NULL
a 12 NULL
a 13 0.7071
b 14 1.0000
c 15 1.2910
d 16 1.5811
d 17 1.8708
b 18 2.1602
a 19 2.4495
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL 2.4495
a 12 2.4495
a 13 2.1602
b 14 1.8708
c 15 1.5811
d 16 1.2910
d 17 1.0000
b 18 0.7071
a 19 NULL
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL NULL
a 12 NULL
a 13 0.7071
b 14 0.7071
c 15 0.7071
d 16 0.7071
d 17 0.7071
b 18 0.7071
a 19 0.7071
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL NULL
a 12 0.7071
a 13 1.0000
b 14 1.0000
c 15 1.0000
d 16 1.0000
d 17 1.0000
b 18 1.0000
a 19 0.7071
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL 2.4495
a 12 2.4495
a 13 2.4495
b 14 2.1602
c 15 1.8708
d 16 1.5811
d 17 1.2910
b 18 1.0000
a 19 0.7071
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
a 19 NULL
b 18 0.7071
d 17 1.0000
d 16 1.2910
c 15 1.5811
b 14 1.8708
a 13 2.1602
a 12 2.4495
NULL NULL 2.4495
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
a 19 2.4495
b 18 2.1602
d 17 1.8708
d 16 1.5811
c 15 1.2910
b 14 1.0000
a 13 0.7071
a 12 NULL
NULL NULL NULL
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
a 19 NULL
b 18 0.7071
d 17 0.7071
d 16 0.7071
c 15 0.7071
b 14 0.7071
a 13 0.7071
a 12 0.7071
NULL NULL NULL
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
a 19 0.7071
b 18 1.0000
d 17 1.0000
d 16 1.0000
c 15 1.0000
b 14 1.0000
a 13 1.0000
a 12 0.7071
NULL NULL NULL
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
a 19 2.4495
b 18 2.4495
d 17 2.1602
d 16 1.8708
c 15 1.5811
b 14 1.2910
a 13 1.0000
a 12 0.7071
NULL NULL NULL
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL NULL
a 12 NULL
a 13 0.7071
a 19 3.7859
b 14 NULL
b 18 2.8284
c 15 NULL
d 16 NULL
d 17 0.7071
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL NULL
a 12 3.7859
a 13 4.2426
a 19 NULL
b 14 2.8284
b 18 NULL
c 15 NULL
d 16 0.7071
d 17 NULL
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL NULL
a 12 NULL
a 13 0.7071
a 19 4.2426
b 14 NULL
b 18 2.8284
c 15 NULL
d 16 NULL
d 17 0.7071
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL NULL
a 12 0.7071
a 13 3.7859
a 19 4.2426
b 14 2.8284
b 18 2.8284
c 15 NULL
d 16 0.7071
d 17 0.7071
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL NULL
a 12 3.7859
a 13 3.7859
a 19 4.2426
b 14 2.8284
b 18 2.8284
c 15 NULL
d 16 0.7071
d 17 0.7071
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) STDDEV_SAMP FROM t1;
a b STDDEV_SAMP
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs164_db;

View File

@@ -0,0 +1,230 @@
DROP DATABASE IF EXISTS mcs165_db;
CREATE DATABASE mcs165_db;
USE mcs165_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, SUM(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) sum FROM t1;
a b sum
NULL NULL NULL
a 12 12
a 13 25
b 14 39
c 15 54
d 16 70
d 17 87
b 18 105
a 19 124
SELECT a, b, SUM(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) sum FROM t1;
a b sum
NULL NULL 124
a 12 124
a 13 112
b 14 99
c 15 85
d 16 70
d 17 54
b 18 37
a 19 19
SELECT a, b, SUM(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) sum FROM t1;
a b sum
NULL NULL NULL
a 12 12
a 13 25
b 14 27
c 15 29
d 16 31
d 17 33
b 18 35
a 19 37
SELECT a, b, SUM(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) sum FROM t1;
a b sum
NULL NULL 12
a 12 25
a 13 39
b 14 42
c 15 45
d 16 48
d 17 51
b 18 54
a 19 37
SELECT a, b, SUM(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) sum FROM t1;
a b sum
NULL NULL 124
a 12 124
a 13 124
b 14 112
c 15 99
d 16 85
d 17 70
b 18 54
a 19 37
SELECT a, b, SUM(b) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) sum FROM t1;
a b sum
a 19 19
b 18 37
d 17 54
d 16 70
c 15 85
b 14 99
a 13 112
a 12 124
NULL NULL 124
SELECT a, b, SUM(b) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) sum FROM t1;
a b sum
a 19 124
b 18 105
d 17 87
d 16 70
c 15 54
b 14 39
a 13 25
a 12 12
NULL NULL NULL
SELECT a, b, SUM(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) sum FROM t1;
a b sum
a 19 19
b 18 37
d 17 35
d 16 33
c 15 31
b 14 29
a 13 27
a 12 25
NULL NULL 12
SELECT a, b, SUM(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) sum FROM t1;
a b sum
a 19 37
b 18 54
d 17 51
d 16 48
c 15 45
b 14 42
a 13 39
a 12 25
NULL NULL 12
SELECT a, b, SUM(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) sum FROM t1;
a b sum
a 19 124
b 18 124
d 17 105
d 16 87
c 15 70
b 14 54
a 13 39
a 12 25
NULL NULL 12
SELECT a, b, SUM(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) sum FROM t1;
a b sum
NULL NULL NULL
a 12 12
a 13 25
a 19 44
b 14 14
b 18 32
c 15 15
d 16 16
d 17 33
SELECT a, b, SUM(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) sum FROM t1;
a b sum
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, SUM(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) sum FROM t1;
a b sum
NULL NULL NULL
a 12 44
a 13 32
a 19 19
b 14 32
b 18 18
c 15 15
d 16 33
d 17 17
SELECT a, b, SUM(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) sum FROM t1;
a b sum
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, SUM(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) sum FROM t1;
a b sum
NULL NULL NULL
a 12 12
a 13 25
a 19 32
b 14 14
b 18 32
c 15 15
d 16 16
d 17 33
SELECT a, b, SUM(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) sum FROM t1;
a b sum
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, SUM(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) sum FROM t1;
a b sum
NULL NULL NULL
a 12 25
a 13 44
a 19 32
b 14 32
b 18 32
c 15 15
d 16 33
d 17 33
SELECT a, b, SUM(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) sum FROM t1;
a b sum
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, SUM(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) sum FROM t1;
a b sum
NULL NULL NULL
a 12 44
a 13 44
a 19 32
b 14 32
b 18 32
c 15 15
d 16 33
d 17 33
SELECT a, b, SUM(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) sum FROM t1;
a b sum
NULL NULL NULL
a 12 12
a 13 13
b 14 14
c 15 15
d 16 16
d 17 17
b 18 18
a 19 19
SELECT a, b, SUM(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) sum FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, SUM(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) sum FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs165_db;

View File

@@ -0,0 +1,230 @@
DROP DATABASE IF EXISTS mcs166_db;
CREATE DATABASE mcs166_db;
USE mcs166_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, VAR_POP(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_POP FROM t1;
a b VAR_POP
NULL NULL NULL
a 12 0.0000
a 13 0.2500
b 14 0.6667
c 15 1.2500
d 16 2.0000
d 17 2.9167
b 18 4.0000
a 19 5.2500
SELECT a, b, VAR_POP(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) VAR_POP FROM t1;
a b VAR_POP
NULL NULL 5.2500
a 12 5.2500
a 13 4.0000
b 14 2.9167
c 15 2.0000
d 16 1.2500
d 17 0.6667
b 18 0.2500
a 19 0.0000
SELECT a, b, VAR_POP(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) VAR_POP FROM t1;
a b VAR_POP
NULL NULL NULL
a 12 0.0000
a 13 0.2500
b 14 0.2500
c 15 0.2500
d 16 0.2500
d 17 0.2500
b 18 0.2500
a 19 0.2500
SELECT a, b, VAR_POP(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VAR_POP FROM t1;
a b VAR_POP
NULL NULL 0.0000
a 12 0.2500
a 13 0.6667
b 14 0.6667
c 15 0.6667
d 16 0.6667
d 17 0.6667
b 18 0.6667
a 19 0.2500
SELECT a, b, VAR_POP(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VAR_POP FROM t1;
a b VAR_POP
NULL NULL 5.2500
a 12 5.2500
a 13 5.2500
b 14 4.0000
c 15 2.9167
d 16 2.0000
d 17 1.2500
b 18 0.6667
a 19 0.2500
SELECT a, b, VAR_POP(b) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_POP FROM t1;
a b VAR_POP
a 19 0.0000
b 18 0.2500
d 17 0.6667
d 16 1.2500
c 15 2.0000
b 14 2.9167
a 13 4.0000
a 12 5.2500
NULL NULL 5.2500
SELECT a, b, VAR_POP(b) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) VAR_POP FROM t1;
a b VAR_POP
a 19 5.2500
b 18 4.0000
d 17 2.9167
d 16 2.0000
c 15 1.2500
b 14 0.6667
a 13 0.2500
a 12 0.0000
NULL NULL NULL
SELECT a, b, VAR_POP(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) VAR_POP FROM t1;
a b VAR_POP
a 19 0.0000
b 18 0.2500
d 17 0.2500
d 16 0.2500
c 15 0.2500
b 14 0.2500
a 13 0.2500
a 12 0.2500
NULL NULL 0.0000
SELECT a, b, VAR_POP(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VAR_POP FROM t1;
a b VAR_POP
a 19 0.2500
b 18 0.6667
d 17 0.6667
d 16 0.6667
c 15 0.6667
b 14 0.6667
a 13 0.6667
a 12 0.2500
NULL NULL 0.0000
SELECT a, b, VAR_POP(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VAR_POP FROM t1;
a b VAR_POP
a 19 5.2500
b 18 5.2500
d 17 4.0000
d 16 2.9167
c 15 2.0000
b 14 1.2500
a 13 0.6667
a 12 0.2500
NULL NULL 0.0000
SELECT a, b, VAR_POP(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_POP FROM t1;
a b VAR_POP
NULL NULL NULL
a 12 0.0000
a 13 0.2500
a 19 9.5556
b 14 0.0000
b 18 4.0000
c 15 0.0000
d 16 0.0000
d 17 0.2500
SELECT a, b, VAR_POP(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_POP FROM t1;
a b VAR_POP
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VAR_POP(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) VAR_POP FROM t1;
a b VAR_POP
NULL NULL NULL
a 12 9.5556
a 13 9.0000
a 19 0.0000
b 14 4.0000
b 18 0.0000
c 15 0.0000
d 16 0.2500
d 17 0.0000
SELECT a, b, VAR_POP(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) VAR_POP FROM t1;
a b VAR_POP
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VAR_POP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) VAR_POP FROM t1;
a b VAR_POP
NULL NULL NULL
a 12 0.0000
a 13 0.2500
a 19 9.0000
b 14 0.0000
b 18 4.0000
c 15 0.0000
d 16 0.0000
d 17 0.2500
SELECT a, b, VAR_POP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) VAR_POP FROM t1;
a b VAR_POP
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VAR_POP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VAR_POP FROM t1;
a b VAR_POP
NULL NULL NULL
a 12 0.2500
a 13 9.5556
a 19 9.0000
b 14 4.0000
b 18 4.0000
c 15 0.0000
d 16 0.2500
d 17 0.2500
SELECT a, b, VAR_POP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VAR_POP FROM t1;
a b VAR_POP
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VAR_POP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VAR_POP FROM t1;
a b VAR_POP
NULL NULL NULL
a 12 9.5556
a 13 9.5556
a 19 9.0000
b 14 4.0000
b 18 4.0000
c 15 0.0000
d 16 0.2500
d 17 0.2500
SELECT a, b, VAR_POP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VAR_POP FROM t1;
a b VAR_POP
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VAR_POP(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_POP FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, VAR_POP(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_POP FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs166_db;

View File

@@ -0,0 +1,230 @@
DROP DATABASE IF EXISTS mcs167_db;
CREATE DATABASE mcs167_db;
USE mcs167_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL NULL
a 12 NULL
a 13 0.5000
b 14 1.0000
c 15 1.6667
d 16 2.5000
d 17 3.5000
b 18 4.6667
a 19 6.0000
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL 6.0000
a 12 6.0000
a 13 4.6667
b 14 3.5000
c 15 2.5000
d 16 1.6667
d 17 1.0000
b 18 0.5000
a 19 NULL
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL NULL
a 12 NULL
a 13 0.5000
b 14 0.5000
c 15 0.5000
d 16 0.5000
d 17 0.5000
b 18 0.5000
a 19 0.5000
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL NULL
a 12 0.5000
a 13 1.0000
b 14 1.0000
c 15 1.0000
d 16 1.0000
d 17 1.0000
b 18 1.0000
a 19 0.5000
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL 6.0000
a 12 6.0000
a 13 6.0000
b 14 4.6667
c 15 3.5000
d 16 2.5000
d 17 1.6667
b 18 1.0000
a 19 0.5000
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1;
a b VAR_SAMP
a 19 NULL
b 18 0.5000
d 17 1.0000
d 16 1.6667
c 15 2.5000
b 14 3.5000
a 13 4.6667
a 12 6.0000
NULL NULL 6.0000
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) VAR_SAMP FROM t1;
a b VAR_SAMP
a 19 6.0000
b 18 4.6667
d 17 3.5000
d 16 2.5000
c 15 1.6667
b 14 1.0000
a 13 0.5000
a 12 NULL
NULL NULL NULL
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1;
a b VAR_SAMP
a 19 NULL
b 18 0.5000
d 17 0.5000
d 16 0.5000
c 15 0.5000
b 14 0.5000
a 13 0.5000
a 12 0.5000
NULL NULL NULL
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VAR_SAMP FROM t1;
a b VAR_SAMP
a 19 0.5000
b 18 1.0000
d 17 1.0000
d 16 1.0000
c 15 1.0000
b 14 1.0000
a 13 1.0000
a 12 0.5000
NULL NULL NULL
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VAR_SAMP FROM t1;
a b VAR_SAMP
a 19 6.0000
b 18 6.0000
d 17 4.6667
d 16 3.5000
c 15 2.5000
b 14 1.6667
a 13 1.0000
a 12 0.5000
NULL NULL NULL
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL NULL
a 12 NULL
a 13 0.5000
a 19 14.3333
b 14 NULL
b 18 8.0000
c 15 NULL
d 16 NULL
d 17 0.5000
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL NULL
a 12 14.3333
a 13 18.0000
a 19 NULL
b 14 8.0000
b 18 NULL
c 15 NULL
d 16 0.5000
d 17 NULL
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL NULL
a 12 NULL
a 13 0.5000
a 19 18.0000
b 14 NULL
b 18 8.0000
c 15 NULL
d 16 NULL
d 17 0.5000
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL NULL
a 12 0.5000
a 13 14.3333
a 19 18.0000
b 14 8.0000
b 18 8.0000
c 15 NULL
d 16 0.5000
d 17 0.5000
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL NULL
a 12 14.3333
a 13 14.3333
a 19 18.0000
b 14 8.0000
b 18 8.0000
c 15 NULL
d 16 0.5000
d 17 0.5000
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VAR_SAMP FROM t1;
a b VAR_SAMP
NULL NULL NULL
a 12 NULL
a 13 NULL
b 14 NULL
c 15 NULL
d 16 NULL
d 17 NULL
b 18 NULL
a 19 NULL
SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, VAR_SAMP(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs167_db;

View File

@@ -0,0 +1,230 @@
DROP DATABASE IF EXISTS mcs168_db;
CREATE DATABASE mcs168_db;
USE mcs168_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
SELECT a, b, VARIANCE(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VARIANCE FROM t1;
a b VARIANCE
NULL NULL NULL
a 12 0.0000
a 13 0.2500
b 14 0.6667
c 15 1.2500
d 16 2.0000
d 17 2.9167
b 18 4.0000
a 19 5.2500
SELECT a, b, VARIANCE(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) VARIANCE FROM t1;
a b VARIANCE
NULL NULL 5.2500
a 12 5.2500
a 13 4.0000
b 14 2.9167
c 15 2.0000
d 16 1.2500
d 17 0.6667
b 18 0.2500
a 19 0.0000
SELECT a, b, VARIANCE(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) VARIANCE FROM t1;
a b VARIANCE
NULL NULL NULL
a 12 0.0000
a 13 0.2500
b 14 0.2500
c 15 0.2500
d 16 0.2500
d 17 0.2500
b 18 0.2500
a 19 0.2500
SELECT a, b, VARIANCE(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VARIANCE FROM t1;
a b VARIANCE
NULL NULL 0.0000
a 12 0.2500
a 13 0.6667
b 14 0.6667
c 15 0.6667
d 16 0.6667
d 17 0.6667
b 18 0.6667
a 19 0.2500
SELECT a, b, VARIANCE(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VARIANCE FROM t1;
a b VARIANCE
NULL NULL 5.2500
a 12 5.2500
a 13 5.2500
b 14 4.0000
c 15 2.9167
d 16 2.0000
d 17 1.2500
b 18 0.6667
a 19 0.2500
SELECT a, b, VARIANCE(b) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VARIANCE FROM t1;
a b VARIANCE
a 19 0.0000
b 18 0.2500
d 17 0.6667
d 16 1.2500
c 15 2.0000
b 14 2.9167
a 13 4.0000
a 12 5.2500
NULL NULL 5.2500
SELECT a, b, VARIANCE(b) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) VARIANCE FROM t1;
a b VARIANCE
a 19 5.2500
b 18 4.0000
d 17 2.9167
d 16 2.0000
c 15 1.2500
b 14 0.6667
a 13 0.2500
a 12 0.0000
NULL NULL NULL
SELECT a, b, VARIANCE(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) VARIANCE FROM t1;
a b VARIANCE
a 19 0.0000
b 18 0.2500
d 17 0.2500
d 16 0.2500
c 15 0.2500
b 14 0.2500
a 13 0.2500
a 12 0.2500
NULL NULL 0.0000
SELECT a, b, VARIANCE(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VARIANCE FROM t1;
a b VARIANCE
a 19 0.2500
b 18 0.6667
d 17 0.6667
d 16 0.6667
c 15 0.6667
b 14 0.6667
a 13 0.6667
a 12 0.2500
NULL NULL 0.0000
SELECT a, b, VARIANCE(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VARIANCE FROM t1;
a b VARIANCE
a 19 5.2500
b 18 5.2500
d 17 4.0000
d 16 2.9167
c 15 2.0000
b 14 1.2500
a 13 0.6667
a 12 0.2500
NULL NULL 0.0000
SELECT a, b, VARIANCE(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VARIANCE FROM t1;
a b VARIANCE
NULL NULL NULL
a 12 0.0000
a 13 0.2500
a 19 9.5556
b 14 0.0000
b 18 4.0000
c 15 0.0000
d 16 0.0000
d 17 0.2500
SELECT a, b, VARIANCE(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VARIANCE FROM t1;
a b VARIANCE
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VARIANCE(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) VARIANCE FROM t1;
a b VARIANCE
NULL NULL NULL
a 12 9.5556
a 13 9.0000
a 19 0.0000
b 14 4.0000
b 18 0.0000
c 15 0.0000
d 16 0.2500
d 17 0.0000
SELECT a, b, VARIANCE(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) VARIANCE FROM t1;
a b VARIANCE
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VARIANCE(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) VARIANCE FROM t1;
a b VARIANCE
NULL NULL NULL
a 12 0.0000
a 13 0.2500
a 19 9.0000
b 14 0.0000
b 18 4.0000
c 15 0.0000
d 16 0.0000
d 17 0.2500
SELECT a, b, VARIANCE(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) VARIANCE FROM t1;
a b VARIANCE
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VARIANCE(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VARIANCE FROM t1;
a b VARIANCE
NULL NULL NULL
a 12 0.2500
a 13 9.5556
a 19 9.0000
b 14 4.0000
b 18 4.0000
c 15 0.0000
d 16 0.2500
d 17 0.2500
SELECT a, b, VARIANCE(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VARIANCE FROM t1;
a b VARIANCE
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VARIANCE(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VARIANCE FROM t1;
a b VARIANCE
NULL NULL NULL
a 12 9.5556
a 13 9.5556
a 19 9.0000
b 14 4.0000
b 18 4.0000
c 15 0.0000
d 16 0.2500
d 17 0.2500
SELECT a, b, VARIANCE(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VARIANCE FROM t1;
a b VARIANCE
NULL NULL NULL
a 12 0.0000
a 13 0.0000
b 14 0.0000
c 15 0.0000
d 16 0.0000
d 17 0.0000
b 18 0.0000
a 19 0.0000
SELECT a, b, VARIANCE(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VARIANCE FROM t1;
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
SELECT a, b, VARIANCE(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VARIANCE FROM t1;
ERROR HY000: Numeric datatype is required for RANGE-type frame
DROP DATABASE mcs168_db;

View File

@@ -0,0 +1,59 @@
DROP DATABASE IF EXISTS mcs169_db;
CREATE DATABASE mcs169_db;
USE mcs169_db;
SET default_storage_engine=Columnstore;
CREATE TABLE t1 (a CHAR(1), b INT, c DATETIME, d DOUBLE);
INSERT INTO t1 VALUES ('', NULL, '0-0-0', NULL),('a', 12, '1212-12-12', 1.19691E+100),('b', 13, '1313-3-13 13:13:13', 2.1961E+18),('c', 14, '1414-4-14', 0.16191),('d', 15, '2015-5-15 15:15:15', 1.971917);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` char(1) DEFAULT NULL,
`b` int(11) DEFAULT NULL,
`c` datetime DEFAULT NULL,
`d` double DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1
SELECT BIN(2);
BIN(2)
10
SELECT BIN(3);
BIN(3)
11
SELECT a, BIN(a) FROM t1;
a BIN(a)
NULL NULL
a 0
b 0
c 0
d 0
SELECT b, BIN(b) FROM t1;
b BIN(b)
NULL NULL
12 1100
13 1101
14 1110
15 1111
SELECT c, BIN(c) FROM t1;
c BIN(c)
0000-00-00 00:00:00 0
1212-12-12 00:00:00 10010111100
1313-03-13 13:13:13 10100100001
1414-04-14 00:00:00 10110000110
2015-05-15 15:15:15 11111011111
SELECT d, BIN(d) FROM t1;
d BIN(d)
NULL NULL
1.19691e100 1
2.1961e18 10
0.16191 0
1.971917 1
SELECT BINARY "abcd";
BINARY "abcd"
abcd
SELECT BINARY a, BINARY b, BINARY c, BINARY d FROM t1;
BINARY a BINARY b BINARY c BINARY d
NULL NULL 0000-00-00 00:00:00 NULL
a 12 1212-12-12 00:00:00 1196909999999999904341
b 13 1313-03-13 13:13:13 2196100000000000000.00
c 14 1414-04-14 00:00:00 0.161910
d 15 2015-05-15 15:15:15 1.971917
DROP DATABASE mcs169_db;

View File

@@ -0,0 +1,83 @@
DROP DATABASE IF EXISTS mcs16_db;
CREATE DATABASE mcs16_db;
USE mcs16_db;
CREATE TABLE t1(x INT, y CHAR(10))ENGINE=Columnstore;
INSERT INTO t1 VALUES(1,'aaaaa'),(100,'bbbbbb'),(100,'ccccccc'),(300,'ddddddd');
CREATE FUNCTION f1(z INT) RETURNS INT DETERMINISTIC
RETURN (SELECT x FROM t1 WHERE x = z);
CREATE FUNCTION f2(z INT) RETURNS INT DETERMINISTIC
RETURN (SELECT * FROM t1 WHERE x = z);
SELECT f1(1);
f1(1)
1
SELECT f1(300);
f1(300)
300
SELECT f1(11);
f1(11)
NULL
SELECT f1();
ERROR 42000: Incorrect number of arguments for FUNCTION mcs16_db.f1; expected 1, got 0
SELECT f1(100);
ERROR 21000: Subquery returns more than 1 row
SELECT f2(1);
ERROR 21000: Operand should contain 1 column(s)
DROP FUNCTION f1;
DROP FUNCTION f2;
DROP FUNCTION f2;
ERROR 42000: FUNCTION mcs16_db.f2 does not exist
CREATE FUNCTION f3(i INT) RETURNS INT DETERMINISTIC
BEGIN
INSERT INTO t2 VALUES(i+1);
RETURN 42;
END //
CREATE TABLE t2(col1 INT)ENGINE=Columnstore;
SELECT f3(a);
ERROR 42S22: Unknown column 'a' in 'field list'
SELECT f3(123);
f3(123)
42
SELECT f3(86);
f3(86)
42
SELECT f3(07);
f3(07)
42
SELECT * FROM t2;
col1
124
87
8
DROP FUNCTION f3;
CREATE FUNCTION func1() RETURNS INT COMMENT 'comment for func1' LANGUAGE SQL DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER
BEGIN
RETURN 1;
END//
SHOW CREATE FUNCTION func1;
Function sql_mode Create Function character_set_client collation_connection Database Collation
func1 STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `func1`() RETURNS int(11)
DETERMINISTIC
COMMENT 'comment for func1'
BEGIN
RETURN 1;
END latin1 latin1_swedish_ci latin1_swedish_ci
SELECT func1();
func1()
1
CREATE FUNCTION func2() RETURNS CHAR(10) COMMENT 'comment for func2' LANGUAGE SQL NOT DETERMINISTIC NO SQL SQL SECURITY INVOKER
BEGIN
RETURN 'func2';
END//
SHOW CREATE FUNCTION func2;
Function sql_mode Create Function character_set_client collation_connection Database Collation
func2 STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `func2`() RETURNS char(10) CHARSET latin1
NO SQL
SQL SECURITY INVOKER
COMMENT 'comment for func2'
BEGIN
RETURN 'func2';
END latin1 latin1_swedish_ci latin1_swedish_ci
SELECT func2();
func2()
func2
DROP DATABASE mcs16_db;

View File

@@ -0,0 +1,23 @@
SET default_storage_engine=Columnstore;
DROP DATABASE IF EXISTS mcs170_db;
CREATE DATABASE mcs170_db;
USE mcs170_db;
SELECT CONNECTION_ID() > 0;
CONNECTION_ID() > 0
1
SELECT CURRENT_USER();
CURRENT_USER()
root@localhost
SELECT USER();
USER()
root@localhost
SELECT SESSION_USER();
SESSION_USER()
root@localhost
SELECT SYSTEM_USER();
SYSTEM_USER()
root@localhost
SELECT DATABASE();
DATABASE()
mcs170_db
DROP DATABASE mcs170_db;

View File

@@ -0,0 +1,114 @@
DROP DATABASE IF EXISTS mcs171_db;
CREATE DATABASE mcs171_db;
USE mcs171_db;
SET default_storage_engine=Columnstore;
CREATE TABLE t1 (a CHAR(1), b INT, c DATETIME, d DOUBLE);
INSERT INTO t1 VALUES ('', NULL, '0-0-0', NULL),('a', 12, '1212-12-12', 1.19691E+100),('b', 13, '1313-3-13 13:13:13', 2.1961E+18),('c', 14, '1414-4-14', 0.16191),('d', 15, '2015-5-15 15:15:15', 1.971917);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` char(1) DEFAULT NULL,
`b` int(11) DEFAULT NULL,
`c` datetime DEFAULT NULL,
`d` double DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1
SELECT IFNULL(NULL, 'abc');
IFNULL(NULL, 'abc')
abc
SELECT IFNULL(NULL, 123);
IFNULL(NULL, 123)
123
SELECT IFNULL('abc', 123);
IFNULL('abc', 123)
abc
SELECT ISNULL(NULL);
ISNULL(NULL)
1
SELECT ISNULL(1);
ISNULL(1)
0
SELECT ISNULL('a');
ISNULL('a')
0
SELECT NULLIF(1, 1);
NULLIF(1, 1)
NULL
SELECT NULLIF('abc', 'a');
NULLIF('abc', 'a')
abc
SELECT NULLIF(1, 'abcd');
NULLIF(1, 'abcd')
1
Warnings:
Warning 1292 Truncated incorrect DOUBLE value: 'abcd'
SELECT a, ISNULL(a) FROM t1;
a ISNULL(a)
NULL 1
a 0
b 0
c 0
d 0
SELECT b, ISNULL(b) FROM t1;
b ISNULL(b)
NULL 1
12 0
13 0
14 0
15 0
SELECT c, ISNULL(c) FROM t1;
c ISNULL(c)
0000-00-00 00:00:00 0
1212-12-12 00:00:00 0
1313-03-13 13:13:13 0
1414-04-14 00:00:00 0
2015-05-15 15:15:15 0
SELECT d, ISNULL(d) FROM t1;
d ISNULL(d)
NULL 1
1.19691e100 0
2.1961e18 0
0.16191 0
1.971917 0
SELECT a, IFNULL(a, 'Null Char') FROM t1;
a IFNULL(a, 'Null Char')
NULL Null Char
a a
b b
c c
d d
SELECT b, IFNULL(b, 'Null Integer') FROM t1;
b IFNULL(b, 'Null Integer')
NULL Null Integer
12 12
13 13
14 14
15 15
SELECT c, IFNULL(d, 'Null Decimal') FROM t1;
c IFNULL(d, 'Null Decimal')
0000-00-00 00:00:00 Null Decimal
1212-12-12 00:00:00 1.19691e100
1313-03-13 13:13:13 2.1961e18
1414-04-14 00:00:00 0.16191
2015-05-15 15:15:15 1.971917
SELECT a, NULLIF(a, 'c') FROM t1;
a NULLIF(a, 'c')
NULL NULL
a a
b b
c NULL
d d
SELECT b, NULLIF(b, 15) FROM t1;
b NULLIF(b, 15)
NULL -2147483648
12 12
13 13
14 14
15 NULL
SELECT c, NULLIF(c, '2015-5-15') FROM t1;
c NULLIF(c, '2015-5-15')
0000-00-00 00:00:00 0000-00-00 00:00:00
1212-12-12 00:00:00 1212-12-12 00:00:00
1313-03-13 13:13:13 1313-03-13 13:13:13
1414-04-14 00:00:00 1414-04-14 00:00:00
2015-05-15 15:15:15 2015-05-15 15:15:15
DROP DATABASE mcs171_db;

View File

@@ -0,0 +1,12 @@
DROP DATABASE IF EXISTS mcs172_db;
CREATE DATABASE mcs172_db;
USE mcs172_db;
SET default_storage_engine=Columnstore;
CREATE TABLE t1 (a INT COMMENT'autoincrement');
INSERT INTO t1 VALUES ();
SELECT LAST_INSERT_ID();
LAST_INSERT_ID()
0
SELECT LAST_INSERT_ID(a) FROM t1;
ERROR 42000: The storage engine for the table doesn't support IDB-1001: Function 'last_insert_id' isn't supported.
DROP DATABASE mcs172_db;

View File

@@ -0,0 +1,42 @@
DROP DATABASE IF EXISTS mcs173_db;
CREATE DATABASE mcs173_db;
USE mcs173_db;
SET default_storage_engine=Columnstore;
CREATE TABLE t1 (a CHAR(1), b INT, c DATETIME, d DOUBLE);
INSERT INTO t1 VALUES ('', NULL, '0-0-0', NULL),('a', 12, '1212-12-12', 1.19691E+100),('b', 13, '1313-3-13 13:13:13', 2.1961E+18),('c', 14, '1414-4-14', 0.16191),('d', 15, '2015-5-15 15:15:15', 1.971917);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` char(1) DEFAULT NULL,
`b` int(11) DEFAULT NULL,
`c` datetime DEFAULT NULL,
`d` double DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1
SELECT COALESCE(NULL, NULL, NULL, 'mariadb', NULL, 'columnstore');
COALESCE(NULL, NULL, NULL, 'mariadb', NULL, 'columnstore')
mariadb
SELECT COALESCE(NULL, 1, 2, 'columnstore');
COALESCE(NULL, 1, 2, 'columnstore')
1
SELECT a, COALESCE(a, 'na') FROM t1;
a COALESCE(a, 'na')
NULL na
a a
b b
c c
d d
SELECT b, COALESCE(b, 'null value') FROM t1;
b COALESCE(b, 'null value')
NULL null value
12 12
13 13
14 14
15 15
SELECT d, COALESCE(d, 'null value') FROM t1;
d COALESCE(d, 'null value')
NULL null value
1.19691e100 1.19691e100
2.1961e18 2.1961e18
0.16191 0.16191
1.971917 1.971917
DROP DATABASE mcs173_db;

Some files were not shown because too many files have changed in this diff Show More