should be it
This commit is contained in:
14
external/duckdb/test/sql/catalog/table/create_table_as_abort.test
vendored
Normal file
14
external/duckdb/test/sql/catalog/table/create_table_as_abort.test
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
# name: test/sql/catalog/table/create_table_as_abort.test
|
||||
# description: Test correct early abort of CREATE TABLE AS query when table already exists (#1891)
|
||||
# group: [table]
|
||||
|
||||
statement ok
|
||||
CREATE TABLE integers(i INTEGER)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE IF NOT EXISTS integers AS SELECT i1.i FROM range(10000000000000000) i1(i);
|
||||
|
||||
statement error
|
||||
CREATE TABLE integers AS SELECT i1.i FROM range(10000000000000000) i1(i);
|
||||
----
|
||||
<REGEX>:.*Catalog Error.*already exists.*
|
||||
14
external/duckdb/test/sql/catalog/table/create_table_parameters.test
vendored
Normal file
14
external/duckdb/test/sql/catalog/table/create_table_parameters.test
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
# name: test/sql/catalog/table/create_table_parameters.test
|
||||
# description: Issue #10008 - DuckDB SIGSEGV when creating table with DEFAULT ?
|
||||
# group: [table]
|
||||
|
||||
statement error
|
||||
CREATE TABLE t0 ( c1 INT DEFAULT ? );
|
||||
----
|
||||
<REGEX>:.*Binder Error.*cannot contain parameters.*
|
||||
|
||||
# error messages for `enable_verification`=(false|true)
|
||||
statement error
|
||||
CREATE TABLE t0 ( c1 INT CHECK (?) );
|
||||
----
|
||||
<REGEX>:(.*Invalid Input Error: Expected 2 parameters.*|.*Binder Error.*Unexpected prepared parameter.*)
|
||||
22
external/duckdb/test/sql/catalog/table/long_identifier.test
vendored
Normal file
22
external/duckdb/test/sql/catalog/table/long_identifier.test
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
# name: test/sql/catalog/table/long_identifier.test
|
||||
# description: Test long identifiers (>= 64 bytes)
|
||||
# group: [table]
|
||||
|
||||
statement ok
|
||||
create table integers("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" integer);
|
||||
|
||||
statement ok
|
||||
select "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" from integers
|
||||
|
||||
statement ok
|
||||
create table integers2("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" integer);
|
||||
|
||||
statement ok
|
||||
select "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" from integers2
|
||||
|
||||
statement ok
|
||||
create table integers3("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et laoreet lacus, sollicitudin cursus metus. Pellentesque quis magna magna. Ut viverra erat vulputate, euismod sapien id, mollis odio. Vestibulum accumsan orci ac diam accumsan efficitur. Sed vel maximus leo, vel tempus metus. Fusce urna dolor, lacinia ac scelerisque hendrerit, semper eu nisl. Vivamus pellentesque sapien id sapien finibus porttitor. Cras congue libero quis nunc pretium efficitur. Praesent vitae urna non elit luctus posuere mattis ac eros. Nunc tincidunt quam vel sem ullamcorper semper. Donec eget gravida justo. Duis vel mollis felis.
|
||||
Duis scelerisque risus in sem molestie, nec egestas odio vestibulum. Nunc in dui eu dui fringilla dignissim vitae id felis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus a tempus sapien. Cras vehicula maximus laoreet. In hac habitasse platea dictumst. In fermentum orci id libero congue dignissim. Aenean tristique porta arcu a varius. Cras vitae leo gravida, eleifend dolor et, porttitor arcu.
|
||||
Pellentesque et fringilla tortor. Sed sodales nulla lacus, eget feugiat dolor mattis tincidunt. Morbi ut finibus odio. Mauris felis diam, ornare ac diam mattis, suscipit laoreet turpis. Duis vulputate mi in orci pretium, vitae varius turpis facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Maecenas gravida libero at ligula pretium, quis gravida libero tempus. Aenean eu condimentum libero. Duis sagittis augue mi. Cras vel ante a ipsum consequat interdum. Aliquam venenatis metus sed ligula consequat congue. Fusce ut rutrum urna. Integer auctor purus nulla, eget lacinia dolor sollicitudin et. Vestibulum lacinia lectus nec mauris iaculis, eget cursus mauris semper. Donec ut lacinia felis. Quisque vitae risus sit amet erat semper suscipit.
|
||||
Duis pulvinar ipsum purus, vitae placerat lectus commodo ut. Nullam viverra arcu vitae ipsum faucibus, at aliquet massa vehicula. Nunc eget felis sed quam sollicitudin tempus. Quisque lobortis id nisi id dictum. Phasellus id elementum purus. Duis diam purus, egestas ac quam et, porta fringilla velit. Nulla a turpis bibendum, eleifend eros eget, efficitur nibh. Pellentesque consectetur porttitor lacinia. Aliquam blandit eros eu metus ultrices, ut dignissim nunc lacinia. Mauris placerat volutpat odio, dictum dapibus dolor egestas sed. Nam consequat odio quis urna lobortis viverra. Phasellus facilisis elit nec neque rutrum laoreet. Etiam non maximus magna. Pellentesque pellentesque laoreet orci, vel sollicitudin urna sollicitudin a. Nunc id iaculis enim, quis pharetra mauris. Nullam sit amet diam eu massa dictum vehicula.
|
||||
Vestibulum sed congue urna. Praesent iaculis massa viverra ex congue, nec euismod leo scelerisque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis aliquet ut augue non interdum. Quisque tempor blandit mi non dignissim. Integer hendrerit, elit id posuere facilisis, libero purus dignissim ipsum, nec tincidunt metus lectus elementum magna. Cras turpis dolor, gravida et ipsum non, vestibulum sagittis sapien. Maecenas varius lacus mi, at porta purus cursus eget. Nunc feugiat congue augue id mollis. Praesent sed erat non leo varius varius. Sed sodales justo sollicitudin ex faucibus euismod. Aenean gravida nec diam vel vestibulum. Donec feugiat risus velit, quis fringilla libero vulputate nec. Curabitur pulvinar, tellus in eleifend varius, orci ex hendrerit sem, at laoreet diam ante id nibh." integer);
|
||||
15
external/duckdb/test/sql/catalog/table/test_concurrent_constraints.test_slow
vendored
Normal file
15
external/duckdb/test/sql/catalog/table/test_concurrent_constraints.test_slow
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
# name: test/sql/catalog/table/test_concurrent_constraints.test_slow
|
||||
# group: [table]
|
||||
|
||||
statement ok
|
||||
CREATE TABLE tbl_constraints(pk INT PRIMARY KEY, u INT UNIQUE, s INT CHECK (s > 42), d INT CHECK (d + 1 < 42));
|
||||
|
||||
|
||||
concurrentloop threadid 0 100
|
||||
|
||||
statement ok
|
||||
SELECT c.oid,c.*,t.relname as tabrelname, case when c.contype='c' then substring(pg_get_constraintdef(c.oid), 7) else null end consrc_copy
|
||||
FROM pg_catalog.pg_constraint c
|
||||
INNER JOIN pg_catalog.pg_class t ON t.oid=c.conrelid limit 5;
|
||||
|
||||
endloop
|
||||
31
external/duckdb/test/sql/catalog/table/test_create_table_parallelism.test
vendored
Normal file
31
external/duckdb/test/sql/catalog/table/test_create_table_parallelism.test
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
# name: test/sql/catalog/table/test_create_table_parallelism.test
|
||||
# description: Test parallel table creation
|
||||
# group: [table]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
PRAGMA threads=4
|
||||
|
||||
statement ok
|
||||
PRAGMA verify_parallelism
|
||||
|
||||
statement ok
|
||||
CREATE TABLE test AS (SELECT string_agg(range::VARCHAR, '🦆 ') AS s, mod(range, 10000) xx FROM range(50000) GROUP BY xx)
|
||||
|
||||
statement ok
|
||||
CREATE TABLE test2 AS (SELECT unnest(string_split(s, ' ')) FROM test)
|
||||
|
||||
query T
|
||||
SELECT count(*) FROM test2
|
||||
----
|
||||
50000
|
||||
|
||||
statement ok
|
||||
CREATE TABLE test3 AS (SELECT * FROM test ORDER BY xx)
|
||||
|
||||
query T
|
||||
SELECT count(*) FROM test3
|
||||
----
|
||||
10000
|
||||
174
external/duckdb/test/sql/catalog/table/test_default.test
vendored
Normal file
174
external/duckdb/test/sql/catalog/table/test_default.test
vendored
Normal file
@@ -0,0 +1,174 @@
|
||||
# name: test/sql/catalog/table/test_default.test
|
||||
# description: Test DEFAULT in tables
|
||||
# group: [table]
|
||||
|
||||
require skip_reload
|
||||
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
# no default specified: write NULL value
|
||||
statement ok
|
||||
CREATE TABLE test (a INTEGER, b INTEGER);
|
||||
|
||||
statement ok
|
||||
INSERT INTO test (b) VALUES (3);
|
||||
|
||||
statement ok
|
||||
INSERT INTO test VALUES (DEFAULT, DEFAULT);
|
||||
|
||||
query II
|
||||
SELECT * FROM test
|
||||
----
|
||||
NULL 3
|
||||
NULL NULL
|
||||
|
||||
statement ok
|
||||
DROP TABLE test
|
||||
|
||||
# no default specified: default is NULL value
|
||||
# but we set column to NOT NULL
|
||||
# now insert should fail
|
||||
statement ok
|
||||
CREATE TABLE test (a INTEGER NOT NULL, b INTEGER);
|
||||
|
||||
statement error
|
||||
INSERT INTO test (b) VALUES (3);
|
||||
----
|
||||
|
||||
statement ok
|
||||
DROP TABLE test
|
||||
|
||||
# simple default: constant value
|
||||
statement ok
|
||||
CREATE TABLE test (a INTEGER DEFAULT 1, b INTEGER);
|
||||
|
||||
statement ok
|
||||
INSERT INTO test (b) VALUES (3);
|
||||
|
||||
query II
|
||||
SELECT * FROM test
|
||||
----
|
||||
1 3
|
||||
|
||||
statement ok
|
||||
DROP TABLE test
|
||||
|
||||
# default as expression
|
||||
statement ok
|
||||
CREATE TABLE test (a INTEGER DEFAULT 1+1, b INTEGER);
|
||||
|
||||
statement ok
|
||||
INSERT INTO test (b) VALUES (3);
|
||||
|
||||
query II
|
||||
SELECT * FROM test
|
||||
----
|
||||
2 3
|
||||
|
||||
statement ok
|
||||
DROP TABLE test
|
||||
|
||||
# default with insert from query
|
||||
statement ok
|
||||
CREATE TABLE test (a INTEGER DEFAULT 1+1, b INTEGER);
|
||||
|
||||
statement ok
|
||||
INSERT INTO test (b) SELECT 3
|
||||
|
||||
query II
|
||||
SELECT * FROM test
|
||||
----
|
||||
2 3
|
||||
|
||||
statement ok
|
||||
DROP TABLE test
|
||||
|
||||
# default from sequence
|
||||
statement ok
|
||||
CREATE SEQUENCE seq;
|
||||
|
||||
statement ok
|
||||
CREATE TABLE test (a INTEGER DEFAULT nextval('seq'), b INTEGER);
|
||||
|
||||
statement ok
|
||||
INSERT INTO test (b) VALUES (2), (4), (6), (2), (4);
|
||||
|
||||
query II
|
||||
SELECT * FROM test ORDER BY 1
|
||||
----
|
||||
1 2
|
||||
2 4
|
||||
3 6
|
||||
4 2
|
||||
5 4
|
||||
|
||||
# cannot drop sequence now
|
||||
statement error
|
||||
DROP SEQUENCE seq
|
||||
----
|
||||
|
||||
statement ok
|
||||
DROP TABLE test
|
||||
|
||||
# after dropping table we can drop seq
|
||||
statement ok
|
||||
DROP SEQUENCE seq
|
||||
|
||||
# test default with update
|
||||
statement ok
|
||||
CREATE SEQUENCE seq;
|
||||
|
||||
statement ok
|
||||
CREATE TABLE test (a INTEGER DEFAULT nextval('seq'), b INTEGER);
|
||||
|
||||
statement ok
|
||||
INSERT INTO test (b) VALUES (1);
|
||||
|
||||
statement ok
|
||||
UPDATE test SET a=DEFAULT
|
||||
|
||||
query II
|
||||
SELECT * FROM test ORDER BY 1
|
||||
----
|
||||
2 1
|
||||
|
||||
# cannot use subquery in DEFAULT expression
|
||||
statement error
|
||||
CREATE TABLE test (a INTEGER DEFAULT (SELECT 42), b INTEGER);
|
||||
----
|
||||
|
||||
# aggregate functions are not allowed in DEFAULT expressions
|
||||
statement error
|
||||
CREATE TABLE test (a INTEGER DEFAULT SUM(42), b INTEGER);
|
||||
----
|
||||
|
||||
# window functions are not allowed in DEFAULT expressions
|
||||
statement error
|
||||
CREATE TABLE test (a INTEGER DEFAULT row_number() OVER (), b INTEGER);
|
||||
----
|
||||
|
||||
# default value must be scalar expression
|
||||
statement error
|
||||
CREATE TABLE test (a INTEGER DEFAULT b+1, b INTEGER);
|
||||
----
|
||||
|
||||
# test default with random
|
||||
statement ok
|
||||
DROP TABLE test
|
||||
|
||||
statement ok
|
||||
CREATE TABLE test (a DOUBLE DEFAULT random(), b INTEGER);
|
||||
|
||||
statement ok
|
||||
INSERT INTO test (b) VALUES (1);
|
||||
|
||||
statement ok
|
||||
INSERT INTO test (b) VALUES (2);
|
||||
|
||||
query R
|
||||
SELECT COUNT(DISTINCT a) FROM test;
|
||||
----
|
||||
2
|
||||
|
||||
51
external/duckdb/test/sql/catalog/table/test_default_values.test
vendored
Normal file
51
external/duckdb/test/sql/catalog/table/test_default_values.test
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
# name: test/sql/catalog/table/test_default_values.test
|
||||
# description: Test DEFAULT VALUES insert
|
||||
# group: [table]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
create table x (i int default 1, j int default 2)
|
||||
|
||||
statement ok
|
||||
insert into x default values;
|
||||
|
||||
query II
|
||||
SELECT * FROM x
|
||||
----
|
||||
1 2
|
||||
|
||||
# returning
|
||||
query I
|
||||
insert into x default values returning (i);
|
||||
----
|
||||
1
|
||||
|
||||
query I
|
||||
insert into x default values returning (j);
|
||||
----
|
||||
2
|
||||
|
||||
statement error
|
||||
insert into x(i) default values;
|
||||
----
|
||||
Parser Error
|
||||
|
||||
# on conflict
|
||||
statement ok
|
||||
drop table x;
|
||||
|
||||
statement ok
|
||||
create table x (i int primary key default 1, j int default 2)
|
||||
|
||||
statement ok
|
||||
insert into x default values;
|
||||
|
||||
statement error
|
||||
insert into x default values;
|
||||
----
|
||||
violates primary key constraint
|
||||
|
||||
statement ok
|
||||
insert into x default values on conflict do nothing;
|
||||
16
external/duckdb/test/sql/catalog/table/test_many_columns.test
vendored
Normal file
16
external/duckdb/test/sql/catalog/table/test_many_columns.test
vendored
Normal file
File diff suppressed because one or more lines are too long
14
external/duckdb/test/sql/catalog/table/test_many_columns_group.test_slow
vendored
Normal file
14
external/duckdb/test/sql/catalog/table/test_many_columns_group.test_slow
vendored
Normal file
File diff suppressed because one or more lines are too long
17
external/duckdb/test/sql/catalog/table/test_table_drop_concurrent.test_slow
vendored
Normal file
17
external/duckdb/test/sql/catalog/table/test_table_drop_concurrent.test_slow
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
# name: test/sql/catalog/table/test_table_drop_concurrent.test_slow
|
||||
# group: [table]
|
||||
|
||||
require 64bit
|
||||
|
||||
# Create 4000 threads that all run the contents of this loop
|
||||
concurrentloop threadid 0 300
|
||||
|
||||
# Create a table
|
||||
statement ok
|
||||
CREATE OR REPLACE TABLE df${threadid} as select i,i,i from range(100) tbl(i)
|
||||
|
||||
# Drop the table
|
||||
statement ok
|
||||
DROP TABLE df${threadid};
|
||||
|
||||
endloop
|
||||
Reference in New Issue
Block a user