mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-04-20 09:07:44 +03:00
67 lines
1.8 KiB
Plaintext
67 lines
1.8 KiB
Plaintext
#
|
|
# Some basic UPDATE statements #
|
|
# Author: Susil, susil.behera@mariadb.com
|
|
#
|
|
-- source ../include/have_columnstore.inc
|
|
#
|
|
--disable_warnings
|
|
DROP DATABASE IF EXISTS mcs30_db1;
|
|
--enable_warnings
|
|
|
|
CREATE DATABASE mcs30_db1;
|
|
USE mcs30_db1;
|
|
|
|
CREATE TABLE t1
|
|
( c1 INT, c2 CHAR(10), c3 TEXT DEFAULT 'ccc' ) ENGINE=Columnstore;
|
|
INSERT INTO t1 (c1, c2) VALUES (1, 'a'), (1, 'b'), (2, 'b');
|
|
UPDATE t1 SET c2 = 'b', c3 = 'bbb' WHERE c1 = 2;
|
|
SELECT * FROM t1;
|
|
|
|
INSERT INTO t1 VALUES (NULL, NULL, NULL);
|
|
INSERT INTO t1 (c1, c2) VALUES (NULL, NULL);
|
|
|
|
|
|
UPDATE t1 SET c1 = c1+1, c3 = 'bbb' WHERE c2 = 'b';
|
|
SELECT * FROM t1;
|
|
|
|
UPDATE t1 SET c2 = 'd' WHERE c3 IN ('bbb', 'ccc');
|
|
SELECT * FROM t1;
|
|
|
|
UPDATE t1 SET c2 = 'e', c3 = 'eee' WHERE c1 > 1 AND c3 = 'bbb';
|
|
SELECT * FROM t1;
|
|
|
|
UPDATE t1 SET c2 = NULL WHERE c3 = 'ccc';
|
|
SELECT * FROM t1;
|
|
|
|
#BUG<ID>
|
|
#Looks like a bug as result deffers from innodb
|
|
#UPDATE t1 SET c3 = NULL WHERE c1 IS NULL;
|
|
#SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
# Test variables
|
|
CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL) ENGINE=Columnstore;
|
|
INSERT INTO t1 VALUES (1,1),(1,2),(1,3),(3,1),(3,2),(3,3),(3,1),(3,2),(3,3),(2,1),(2,2),(2,3);
|
|
SET @tmp=0;
|
|
UPDATE t1 SET b=(@tmp:=@tmp+1);
|
|
SELECT * FROM t1 ORDER BY a, b;
|
|
|
|
# Update by select from another Columnstore table
|
|
CREATE TABLE t2 (a INT NOT NULL, b INT NOT NULL) ENGINE=Columnstore;
|
|
INSERT INTO t2 VALUES (1,1),(1,2),(1,3);
|
|
UPDATE t1 SET b=(SELECT 5);
|
|
SELECT * FROM t1 ORDER BY a, b;
|
|
UPDATE t1 SET b=(SELECT b FROM t2 ORDER BY b LIMIT 1);
|
|
SELECT * FROM t1 ORDER BY a, b;
|
|
SELECT * FROM t2 ORDER BY a, b;
|
|
|
|
#BUG<ID>
|
|
# Update by select from another Innodb table
|
|
#CREATE TABLE t3 (a INT NOT NULL, b INT NOT NULL) ENGINE=Innodb;
|
|
#INSERT INTO t3 VALUES (1,1),(1,2),(1,3);
|
|
#UPDATE t1 SET b=(SELECT b FROM t3 ORDER BY b LIMIT 1);
|
|
|
|
# Clean up
|
|
DROP DATABASE IF EXISTS mcs30_db1;
|