should be it
This commit is contained in:
24
external/duckdb/test/sql/function/autocomplete/alter_table.test
vendored
Normal file
24
external/duckdb/test/sql/function/autocomplete/alter_table.test
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
# name: test/sql/function/autocomplete/alter_table.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
statement ok
|
||||
CREATE TABLE my_table(first_column bigint);
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('ALTER TABLE my_table DROP COLUMN fi') LIMIT 1;
|
||||
----
|
||||
first_column 33
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('ALTER TABLE my_table ALTER COLUMN fi') LIMIT 1;
|
||||
----
|
||||
first_column 34
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('ALTER TABLE my_table RENAME COLUMN fi') LIMIT 1;
|
||||
----
|
||||
first_column 35
|
||||
|
||||
28
external/duckdb/test/sql/function/autocomplete/copy.test
vendored
Normal file
28
external/duckdb/test/sql/function/autocomplete/copy.test
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
# name: test/sql/function/autocomplete/copy.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('COP') LIMIT 1;
|
||||
----
|
||||
COPY 0
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('COPY tbl FRO') LIMIT 1;
|
||||
----
|
||||
FROM 9
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('COPY tbl FROM ''file.csv'' HEAD') LIMIT 1;
|
||||
----
|
||||
HEADER 25
|
||||
|
||||
statement ok
|
||||
CREATE TABLE my_table(my_column INTEGER);
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('COPY my_') LIMIT 1;
|
||||
----
|
||||
my_table 5
|
||||
35
external/duckdb/test/sql/function/autocomplete/create_function.test
vendored
Normal file
35
external/duckdb/test/sql/function/autocomplete/create_function.test
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
# name: test/sql/function/autocomplete/create_function.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE MA') LIMIT 1;
|
||||
----
|
||||
MACRO 7
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE F') LIMIT 1;
|
||||
----
|
||||
FUNCTION 7
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE MACRO name(a) A') LIMIT 1;
|
||||
----
|
||||
AS 21
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE MACRO name(a) AS a+1, (b) A') LIMIT 1;
|
||||
----
|
||||
AS 33
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE MACRO name (a) AS TA') LIMIT 1;
|
||||
----
|
||||
TABLE 25
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE MACRO name (a) AS TABLE SEL') LIMIT 1;
|
||||
----
|
||||
SELECT 31
|
||||
35
external/duckdb/test/sql/function/autocomplete/create_schema.test
vendored
Normal file
35
external/duckdb/test/sql/function/autocomplete/create_schema.test
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
# name: test/sql/function/autocomplete/create_schema.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE SCH') LIMIT 1;
|
||||
----
|
||||
SCHEMA 7
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE SCHEMA I') LIMIT 1;
|
||||
----
|
||||
IF 14
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE SCHEMA IF NO') LIMIT 1;
|
||||
----
|
||||
NOT 17
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE SCHEMA IF NOT EX') LIMIT 1;
|
||||
----
|
||||
EXISTS 21
|
||||
|
||||
# attached database
|
||||
# suggest a catalog
|
||||
statement ok
|
||||
ATTACH ':memory:' AS attached_in_memory;
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE SCHEMA attac') LIMIT 1;
|
||||
----
|
||||
attached_in_memory. 14
|
||||
3
external/duckdb/test/sql/function/autocomplete/create_secret.test
vendored
Normal file
3
external/duckdb/test/sql/function/autocomplete/create_secret.test
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# name: test/sql/function/autocomplete/create_secret.test
|
||||
# group: [autocomplete]
|
||||
|
||||
20
external/duckdb/test/sql/function/autocomplete/create_sequence.test
vendored
Normal file
20
external/duckdb/test/sql/function/autocomplete/create_sequence.test
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
# name: test/sql/function/autocomplete/create_sequence.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE SEQ') LIMIT 1;
|
||||
----
|
||||
SEQUENCE 7
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE SEQUENCE seq CYC') LIMIT 1;
|
||||
----
|
||||
CYCLE 20
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE SEQUENCE seq INC') LIMIT 1;
|
||||
----
|
||||
INCREMENT 20
|
||||
129
external/duckdb/test/sql/function/autocomplete/create_table.test
vendored
Normal file
129
external/duckdb/test/sql/function/autocomplete/create_table.test
vendored
Normal file
@@ -0,0 +1,129 @@
|
||||
# name: test/sql/function/autocomplete/create_table.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
# CREATE
|
||||
query II
|
||||
FROM sql_auto_complete('CR') LIMIT 1;
|
||||
----
|
||||
CREATE 0
|
||||
|
||||
# match case
|
||||
query II
|
||||
FROM sql_auto_complete('cr') LIMIT 1;
|
||||
----
|
||||
create 0
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE TA') LIMIT 1;
|
||||
----
|
||||
TABLE 7
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE T') LIMIT 1;
|
||||
----
|
||||
TABLE 7
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE OR RE') LIMIT 1;
|
||||
----
|
||||
REPLACE 10
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('create ta') LIMIT 1;
|
||||
----
|
||||
table 7
|
||||
|
||||
# suggest a type
|
||||
query II
|
||||
FROM sql_auto_complete('create table tbl(i INTE') LIMIT 1;
|
||||
----
|
||||
INTEGER 19
|
||||
|
||||
# suggest a type in a list
|
||||
query II
|
||||
FROM sql_auto_complete('create table tbl(i INTEGER, j INTE') LIMIT 1;
|
||||
----
|
||||
INTEGER 30
|
||||
|
||||
# suggest a constraint
|
||||
query II
|
||||
FROM sql_auto_complete('create table tbl(i INTEGER PRI') LIMIT 1;
|
||||
----
|
||||
PRIMARY 27
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('create table tbl(i INTEGER PRIMARY KE') LIMIT 1;
|
||||
----
|
||||
KEY 35
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('create table tbl(i INTEGER UNIQ') LIMIT 1;
|
||||
----
|
||||
UNIQUE 27
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('create table tbl(i INTEGER UNIQUE NO') LIMIT 1;
|
||||
----
|
||||
NOT 34
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('create table tbl(i INTEGER UNIQUE NOT N') LIMIT 1;
|
||||
----
|
||||
NULL 38
|
||||
|
||||
# top-level constraints
|
||||
query II
|
||||
FROM sql_auto_complete('create table tbl(i INTEGER, PRI') LIMIT 1;
|
||||
----
|
||||
PRIMARY 28
|
||||
|
||||
statement ok
|
||||
CREATE SCHEMA abcdefgh;
|
||||
|
||||
# suggest a schema name
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE TABLE abcd') LIMIT 1;
|
||||
----
|
||||
abcdefgh. 13
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE TABLE abcdefgh.') LIMIT 1;
|
||||
----
|
||||
. 21
|
||||
|
||||
# we suggest the original schema
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE TABLE ABCD') LIMIT 1;
|
||||
----
|
||||
abcdefgh. 13
|
||||
|
||||
# what if the schema is a keyword?
|
||||
statement ok
|
||||
CREATE SCHEMA "SCHEMA";
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE TABLE SC') LIMIT 1;
|
||||
----
|
||||
"SCHEMA". 13
|
||||
|
||||
# suggest a catalog
|
||||
statement ok
|
||||
ATTACH ':memory:' AS attached_in_memory;
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE TABLE attac') LIMIT 1;
|
||||
----
|
||||
attached_in_memory. 13
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE TABLE attached_in_memory.a') LIMIT 1;
|
||||
----
|
||||
abcdefgh. 32
|
||||
|
||||
statement error
|
||||
FROM sql_auto_complete(NULL);
|
||||
----
|
||||
Binder Error: sql_auto_complete first parameter cannot be NULL
|
||||
25
external/duckdb/test/sql/function/autocomplete/create_type.test
vendored
Normal file
25
external/duckdb/test/sql/function/autocomplete/create_type.test
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
# name: test/sql/function/autocomplete/create_type.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE TY') LIMIT 1;
|
||||
----
|
||||
TYPE 7
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE TYPE my_type AS ENU') LIMIT 1;
|
||||
----
|
||||
ENUM 23
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE TYPE my_type AS TIME WITH TI') LIMIT 1;
|
||||
----
|
||||
TIME 33
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CREATE TYPE my_type AS ROW(ts TIMESTAMP WITH TIME ZON') LIMIT 1;
|
||||
----
|
||||
ZONE 50
|
||||
54
external/duckdb/test/sql/function/autocomplete/drop.test
vendored
Normal file
54
external/duckdb/test/sql/function/autocomplete/drop.test
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
# name: test/sql/function/autocomplete/drop.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('DRO') LIMIT 1;
|
||||
----
|
||||
DROP 0
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('DROP TA') LIMIT 1;
|
||||
----
|
||||
TABLE 5
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('DROP VI') LIMIT 1;
|
||||
----
|
||||
VIEW 5
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('DROP TABLE IF EX') LIMIT 1;
|
||||
----
|
||||
EXISTS 14
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('DROP TABLE tbl CAS') LIMIT 1;
|
||||
----
|
||||
CASCADE 15
|
||||
|
||||
statement ok
|
||||
CREATE TABLE my_table(my_column INTEGER);
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('DROP TABLE my_') LIMIT 1;
|
||||
----
|
||||
my_table 11
|
||||
|
||||
statement ok
|
||||
CREATE SCHEMA my_schema;
|
||||
|
||||
statement ok
|
||||
CREATE TABLE my_schema.table_in_schema(my_column INTEGER)
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('DROP TABLE my_s') LIMIT 1;
|
||||
----
|
||||
my_schema. 11
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('DROP TABLE my_schema.t') LIMIT 1;
|
||||
----
|
||||
table_in_schema 21
|
||||
101
external/duckdb/test/sql/function/autocomplete/expressions.test
vendored
Normal file
101
external/duckdb/test/sql/function/autocomplete/expressions.test
vendored
Normal file
@@ -0,0 +1,101 @@
|
||||
# name: test/sql/function/autocomplete/expressions.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
# literal
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT NULL FR') LIMIT 1;
|
||||
----
|
||||
FROM 12
|
||||
|
||||
# cast
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT CAST(a AS INTE') LIMIT 1;
|
||||
----
|
||||
INTEGER 17
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT a::INTE') LIMIT 1;
|
||||
----
|
||||
INTEGER 10
|
||||
|
||||
# distinct
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT col IS DIST') LIMIT 1;
|
||||
----
|
||||
DISTINCT 14
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT col IS DISTINCT FRO') LIMIT 1;
|
||||
----
|
||||
FROM 23
|
||||
|
||||
# collate
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT col COLL') LIMIT 1;
|
||||
----
|
||||
COLLATE 11
|
||||
|
||||
# between
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT col BETW') LIMIT 1;
|
||||
----
|
||||
BETWEEN 11
|
||||
|
||||
# case
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT CASE WH') LIMIT 1;
|
||||
----
|
||||
WHEN 12
|
||||
|
||||
# functions
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT sum(42) IS NOT NUL') LIMIT 1;
|
||||
----
|
||||
NULL 22
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT sum(disti') LIMIT 1;
|
||||
----
|
||||
distinct 11
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT sum(a, b orde') LIMIT 1;
|
||||
----
|
||||
order 16
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT sum(a) filt') LIMIT 1;
|
||||
----
|
||||
filter 14
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT CASE WHEN a=1 THEN 1 WHEN a=2 THEN 2 WHEN a=3 THEN 3 END FR') LIMIT 1;
|
||||
----
|
||||
FROM 64
|
||||
|
||||
# slice
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT col[1:2] FR') LIMIT 1;
|
||||
----
|
||||
FROM 16
|
||||
|
||||
# test parsing of many expressions
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT col BETWEEN 1 AND 2, col > col2, col AND (col2 OR col3), col4 IS NOT DISTINCT FROM col5, col6 IN (SELECT * FROM tbl) FR') LIMIT 1;
|
||||
----
|
||||
FROM 124
|
||||
|
||||
# literals
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT 42, 83.5, -125, 1.25e375, [1, 2, 3, 4], {''name'': 42}, ARRAY[col, col2 + 1] FR') LIMIT 1;
|
||||
----
|
||||
FROM 82
|
||||
|
||||
# complex types
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT a::DECIMAL(42), b::INT[3], []::INT[][][], d::ROW(i INT[], c ROW(d INTE') LIMIT 1;
|
||||
----
|
||||
INTEGER 73
|
||||
16
external/duckdb/test/sql/function/autocomplete/identical_schema_table.test
vendored
Normal file
16
external/duckdb/test/sql/function/autocomplete/identical_schema_table.test
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
# name: test/sql/function/autocomplete/identical_schema_table.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
statement ok
|
||||
CREATE SCHEMA my_catalog_entry;
|
||||
|
||||
statement ok
|
||||
CREATE TABLE my_catalog_entry(i INT);
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('FROM my_c') LIMIT 1;
|
||||
----
|
||||
my_catalog_entry 5
|
||||
41
external/duckdb/test/sql/function/autocomplete/insert_into.test
vendored
Normal file
41
external/duckdb/test/sql/function/autocomplete/insert_into.test
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
# name: test/sql/function/autocomplete/insert_into.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('INS') LIMIT 1;
|
||||
----
|
||||
INSERT 0
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('INSERT IN') LIMIT 1;
|
||||
----
|
||||
INTO 7
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('INSERT INTO tbl VAL') LIMIT 1;
|
||||
----
|
||||
VALUES 16
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('INSERT INTO tbl(c1, c2) VAL') LIMIT 1;
|
||||
----
|
||||
VALUES 24
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('INSERT INTO tbl(c1, c2) SEL') LIMIT 1;
|
||||
----
|
||||
SELECT 24
|
||||
|
||||
# on conflict actions
|
||||
query II
|
||||
FROM sql_auto_complete('INSERT OR IG') LIMIT 1;
|
||||
----
|
||||
IGNORE 10
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('INSERT OR REP') LIMIT 1;
|
||||
----
|
||||
REPLACE 10
|
||||
29
external/duckdb/test/sql/function/autocomplete/pragma.test
vendored
Normal file
29
external/duckdb/test/sql/function/autocomplete/pragma.test
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
# name: test/sql/function/autocomplete/pragma.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
# main keywords
|
||||
query II
|
||||
FROM sql_auto_complete('PRAGMA show_t') LIMIT 1;
|
||||
----
|
||||
show_tables 7
|
||||
|
||||
# main keywords
|
||||
query II
|
||||
FROM sql_auto_complete('PRAGMA enable_che') LIMIT 1;
|
||||
----
|
||||
enable_checkpoint_on_shutdown 7
|
||||
|
||||
# main keywords
|
||||
query II
|
||||
FROM sql_auto_complete('PRAGMA disable_che') LIMIT 1;
|
||||
----
|
||||
disable_checkpoint_on_shutdown 7
|
||||
|
||||
# main keywords
|
||||
query II
|
||||
FROM sql_auto_complete('PRAGMA thre') LIMIT 1;
|
||||
----
|
||||
threads 7
|
||||
20
external/duckdb/test/sql/function/autocomplete/scalar_functions.test
vendored
Normal file
20
external/duckdb/test/sql/function/autocomplete/scalar_functions.test
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
# name: test/sql/function/autocomplete/scalar_functions.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('select gam') LIMIT 1;
|
||||
----
|
||||
gamma 7
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('select nexta') LIMIT 1;
|
||||
----
|
||||
nextafter 7
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('select bit_l') LIMIT 1;
|
||||
----
|
||||
bit_length 7
|
||||
255
external/duckdb/test/sql/function/autocomplete/select.test
vendored
Normal file
255
external/duckdb/test/sql/function/autocomplete/select.test
vendored
Normal file
@@ -0,0 +1,255 @@
|
||||
# name: test/sql/function/autocomplete/select.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
# main keywords
|
||||
query II
|
||||
FROM sql_auto_complete('SEL') LIMIT 1;
|
||||
----
|
||||
SELECT 0
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('WI') LIMIT 1;
|
||||
----
|
||||
WITH 0
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FR') LIMIT 1;
|
||||
----
|
||||
FROM 9
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl WH') LIMIT 1;
|
||||
----
|
||||
WHERE 18
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl A') LIMIT 1;
|
||||
----
|
||||
AS 18
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl OR') LIMIT 1;
|
||||
----
|
||||
ORDER 18
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl ORDER B') LIMIT 1;
|
||||
----
|
||||
BY 24
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl ORDER BY AL') LIMIT 1;
|
||||
----
|
||||
ALL 27
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl GR') LIMIT 1;
|
||||
----
|
||||
GROUP 18
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl GROUP B') LIMIT 1;
|
||||
----
|
||||
BY 24
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl GROUP BY AL') LIMIT 1;
|
||||
----
|
||||
ALL 27
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl GROUP BY ALL HAV') LIMIT 1;
|
||||
----
|
||||
HAVING 31
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl LIM') LIMIT 1;
|
||||
----
|
||||
LIMIT 18
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl LIMIT 5 OF') LIMIT 1;
|
||||
----
|
||||
OFFSET 26
|
||||
|
||||
# joins
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl INN') LIMIT 1;
|
||||
----
|
||||
INNER 18
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl INNER JO') LIMIT 1;
|
||||
----
|
||||
JOIN 24
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl JOIN tbl2 USING (i) WH') LIMIT 1;
|
||||
----
|
||||
WHERE 38
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl LEF') LIMIT 1;
|
||||
----
|
||||
LEFT 18
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl LEFT OUT') LIMIT 1;
|
||||
----
|
||||
OUTER 23
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl NAT') LIMIT 1;
|
||||
----
|
||||
NATURAL 18
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl NATURAL FU') LIMIT 1;
|
||||
----
|
||||
FULL 26
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl NATURAL FULL OUT') LIMIT 1;
|
||||
----
|
||||
OUTER 31
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl POS') LIMIT 1;
|
||||
----
|
||||
POSITIONAL 18
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl NATURAL JOIN tbl2 WH') LIMIT 1;
|
||||
----
|
||||
WHERE 36
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl NATURAL JOIN tbl2 NAT') LIMIT 1;
|
||||
----
|
||||
NATURAL 36
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl JOIN tbl2 US') LIMIT 1;
|
||||
----
|
||||
USING 28
|
||||
|
||||
# cross product
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl, tbl2 WH') LIMIT 1;
|
||||
----
|
||||
WHERE 24
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl, tbl2 LEFT OUT') LIMIT 1;
|
||||
----
|
||||
OUTER 29
|
||||
|
||||
# from first
|
||||
query II
|
||||
FROM sql_auto_complete('FR') LIMIT 1;
|
||||
----
|
||||
FROM 0
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('FROM tbl SEL') LIMIT 1;
|
||||
----
|
||||
SELECT 9
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('FROM tbl OR') LIMIT 1;
|
||||
----
|
||||
ORDER 9
|
||||
|
||||
# set ops
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl UN') LIMIT 1;
|
||||
----
|
||||
UNION 18
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl UNION AL') LIMIT 1;
|
||||
----
|
||||
ALL 24
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl EX') LIMIT 1;
|
||||
----
|
||||
EXCEPT 18
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl INT') LIMIT 1;
|
||||
----
|
||||
INTERSECT 18
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl UNION ALL SEL') LIMIT 1;
|
||||
----
|
||||
SELECT 28
|
||||
|
||||
# qualify
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl QUAL') LIMIT 1;
|
||||
----
|
||||
QUALIFY 18
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM tbl QUALIFY row_number() OVER () ORD') LIMIT 1;
|
||||
----
|
||||
ORDER 47
|
||||
|
||||
# operators with quotes
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT col=''world'' FR') LIMIT 1;
|
||||
----
|
||||
FROM 19
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT col="quoted col2" FR') LIMIT 1;
|
||||
----
|
||||
FROM 25
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT "quoted col1"="quoted col2" + "quoted col3" FR') LIMIT 1;
|
||||
----
|
||||
FROM 51
|
||||
|
||||
# quoted identifiers
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT ''ORDER'' "WHERE" FR') LIMIT 1;
|
||||
----
|
||||
FROM 23
|
||||
|
||||
# escaped quoted identifiers
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT ''OR''''DER'' "WHE""RE" FR') LIMIT 1;
|
||||
----
|
||||
FROM 27
|
||||
|
||||
statement ok
|
||||
CREATE TABLE my_table(my_column INTEGER);
|
||||
|
||||
query II
|
||||
SELECT * FROM sql_auto_complete('SELECT my_') LIMIT 1;
|
||||
----
|
||||
my_column 7
|
||||
|
||||
query II
|
||||
SELECT * FROM sql_auto_complete('UP') LIMIT 1;
|
||||
----
|
||||
UPDATE 0
|
||||
|
||||
query II
|
||||
SELECT * FROM sql_auto_complete('UPDATE my_table SET m') LIMIT 1;
|
||||
----
|
||||
my_column 20
|
||||
|
||||
statement ok
|
||||
CREATE TABLE MyTable(MyColumn Varchar);
|
||||
|
||||
query II
|
||||
SELECT * FROM sql_auto_complete('SELECT My') LIMIT 1;
|
||||
----
|
||||
MyColumn 7
|
||||
39
external/duckdb/test/sql/function/autocomplete/setting.test
vendored
Normal file
39
external/duckdb/test/sql/function/autocomplete/setting.test
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
# name: test/sql/function/autocomplete/setting.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
require icu
|
||||
|
||||
require no_extension_autoloading "FIXME: ICU is not autoloaded on 'Set timez'"
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SET e_directory') LIMIT 1;
|
||||
----
|
||||
home_directory 4
|
||||
|
||||
query II
|
||||
from sql_auto_complete('SET timez') LIMIT 1;
|
||||
----
|
||||
TimeZone 4
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SET memory') LIMIT 1;
|
||||
----
|
||||
memory_limit 4
|
||||
|
||||
# main keywords
|
||||
query II
|
||||
FROM sql_auto_complete('set thr') LIMIT 1;
|
||||
----
|
||||
threads 4
|
||||
|
||||
# main keywords
|
||||
query II
|
||||
FROM sql_auto_complete('set allowe') LIMIT 1;
|
||||
----
|
||||
allowed_paths 4
|
||||
|
||||
|
||||
|
||||
34
external/duckdb/test/sql/function/autocomplete/show.test
vendored
Normal file
34
external/duckdb/test/sql/function/autocomplete/show.test
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
# name: test/sql/function/autocomplete/show.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('DESCR') LIMIT 1;
|
||||
----
|
||||
DESCRIBE 0
|
||||
|
||||
statement ok
|
||||
CREATE TABLE my_table(my_column INTEGER);
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SHOW my_') LIMIT 1;
|
||||
----
|
||||
my_table 5
|
||||
|
||||
statement ok
|
||||
CREATE SCHEMA my_schema;
|
||||
|
||||
statement ok
|
||||
CREATE TABLE my_schema.table_in_schema(my_column INTEGER)
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SHOW my_s') LIMIT 1;
|
||||
----
|
||||
my_schema. 5
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('DESCRIBE my_schema.t') LIMIT 1;
|
||||
----
|
||||
table_in_schema 19
|
||||
18
external/duckdb/test/sql/function/autocomplete/suggest_file.test
vendored
Normal file
18
external/duckdb/test/sql/function/autocomplete/suggest_file.test
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
# name: test/sql/function/autocomplete/suggest_file.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require notwindows
|
||||
|
||||
require autocomplete
|
||||
|
||||
# test file auto complete
|
||||
query II
|
||||
FROM sql_auto_complete('COPY tbl FROM ''data/parq') LIMIT 1;
|
||||
----
|
||||
parquet-testing/ 20
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('COPY tbl FROM ''data/csv/all_quote') LIMIT 1;
|
||||
----
|
||||
all_quotes.csv' 24
|
||||
50
external/duckdb/test/sql/function/autocomplete/table_functions.test
vendored
Normal file
50
external/duckdb/test/sql/function/autocomplete/table_functions.test
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
# name: test/sql/function/autocomplete/table_functions.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('call histo') LIMIT 1;
|
||||
----
|
||||
histogram 5
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('call histogram_') LIMIT 1;
|
||||
----
|
||||
histogram_values 5
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('call duckdb_t') LIMIT 1;
|
||||
----
|
||||
duckdb_types 5
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('FROM duckdb_c') LIMIT 1;
|
||||
----
|
||||
duckdb_columns 5
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('call read_cs') LIMIT 1;
|
||||
----
|
||||
read_csv 5
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('FROM read_csv_a') LIMIT 1;
|
||||
----
|
||||
read_csv_auto 5
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('call unnes') LIMIT 1;
|
||||
----
|
||||
unnest 5
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('CALL glo') LIMIT 1;
|
||||
----
|
||||
"glob" 5
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('from ran') LIMIT 1;
|
||||
----
|
||||
"range" 5
|
||||
158
external/duckdb/test/sql/function/autocomplete/tpch.test
vendored
Normal file
158
external/duckdb/test/sql/function/autocomplete/tpch.test
vendored
Normal file
@@ -0,0 +1,158 @@
|
||||
# name: test/sql/function/autocomplete/tpch.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
require tpch
|
||||
|
||||
# column names
|
||||
statement ok
|
||||
CALL dbgen(sf=0);
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT l_ord') LIMIT 1;
|
||||
----
|
||||
l_orderkey 7
|
||||
|
||||
# arithmetic
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT 1 + l_ord') LIMIT 1;
|
||||
----
|
||||
l_orderkey 11
|
||||
|
||||
# function calls
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT min(l_ord') LIMIT 1;
|
||||
----
|
||||
l_orderkey 11
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT min(42, l_ord') LIMIT 1;
|
||||
----
|
||||
l_orderkey 15
|
||||
|
||||
# like
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT ''test_string'' LIKE l_c') LIMIT 1;
|
||||
----
|
||||
l_comment 26
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT l_orderkey FROM lin') LIMIT 1;
|
||||
----
|
||||
lineitem 23
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT l_orderkey FROM lineitem, ord') LIMIT 1;
|
||||
----
|
||||
orders 33
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT l_orderkey FROM lineitem JOIN ord') LIMIT 1;
|
||||
----
|
||||
orders 37
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT (SELECT SUM(l_orderkey) FROM lineit') LIMIT 1;
|
||||
----
|
||||
lineitem 36
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT * FROM (FROM lineit') LIMIT 1;
|
||||
----
|
||||
lineitem 20
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('INSERT INTO lin') LIMIT 1;
|
||||
----
|
||||
lineitem 12
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('DROP TABLE lin') LIMIT 1;
|
||||
----
|
||||
lineitem 11
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('COPY lin') LIMIT 1;
|
||||
----
|
||||
lineitem 5
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('DROP TABLE na') LIMIT 1;
|
||||
----
|
||||
nation 11
|
||||
|
||||
query II
|
||||
SELECT * FROM sql_auto_complete('SELECT * FROM partsupp JOIN supplier USING (ps_su') LIMIT 1;
|
||||
----
|
||||
ps_suppkey 44
|
||||
|
||||
# more complex queries
|
||||
query II
|
||||
FROM sql_auto_complete($$
|
||||
SELECT
|
||||
nation,
|
||||
o_year,
|
||||
sum(amount) AS sum_profit
|
||||
FROM (
|
||||
SELECT
|
||||
n_name AS nation,
|
||||
extract(year FROM o_orderdate) AS o_year,
|
||||
l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity AS amount
|
||||
FROM
|
||||
part,
|
||||
supplier,
|
||||
lineitem,
|
||||
partsupp,
|
||||
orders,
|
||||
nation
|
||||
WHERE
|
||||
s_suppkey = l_suppkey
|
||||
AND ps_suppkey = l_suppkey
|
||||
AND ps_partkey = l_partkey
|
||||
AND p_partkey = l_partkey
|
||||
AND o_orderkey = l_orderkey
|
||||
AND s_nationkey = n_nat$$) LIMIT 1;
|
||||
----
|
||||
n_nationkey 552
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete($$
|
||||
SELECT
|
||||
l_returnflag,
|
||||
l_linestatus,
|
||||
sum(l_quantity) AS sum_qty,
|
||||
sum(l_extendedprice) AS sum_base_price,
|
||||
sum(l_extendedprice * (1 - l_discount)) AS sum_disc_price,
|
||||
sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) AS sum_charge,
|
||||
avg(l_quantity) AS avg_qty,
|
||||
avg(l_extendedprice) AS avg_price,
|
||||
avg(l_discount) AS avg_disc,
|
||||
count(*) AS count_order
|
||||
FROM
|
||||
lineitem
|
||||
WHERE
|
||||
l_shipdate <= CAST('1998-09-02' AS date)
|
||||
GROUP BY
|
||||
l_ret$$) LIMIT 1;
|
||||
----
|
||||
l_returnflag 470
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete($$
|
||||
SELECT
|
||||
nation,
|
||||
o_year,
|
||||
sum(amount) AS sum_profit
|
||||
FROM (
|
||||
SELECT
|
||||
n_name AS nation,
|
||||
extract(year FROM o_orderdate) AS o_year,
|
||||
l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity AS amount
|
||||
FROM
|
||||
part,
|
||||
supplier,
|
||||
line$$) LIMIT 1;
|
||||
----
|
||||
lineitem 287
|
||||
57
external/duckdb/test/sql/function/autocomplete/window.test
vendored
Normal file
57
external/duckdb/test/sql/function/autocomplete/window.test
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
# name: test/sql/function/autocomplete/window.test
|
||||
# description: Test sql_auto_complete
|
||||
# group: [autocomplete]
|
||||
|
||||
require autocomplete
|
||||
|
||||
# literal
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT row_number() OVER (RANG') LIMIT 1;
|
||||
----
|
||||
RANGE 26
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT row_number() OVER (RANGE BETWE') LIMIT 1;
|
||||
----
|
||||
BETWEEN 32
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT row_number() OVER (RANGE BETWEEN UNBOU') LIMIT 1;
|
||||
----
|
||||
UNBOUNDED 40
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT row_number() OVER (RANGE BETWEEN UNBOUNDED PREC') LIMIT 1;
|
||||
----
|
||||
PRECEDING 50
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT row_number() OVER (RANGE BETWEEN CURRENT ROW AND 5 PREC') LIMIT 1;
|
||||
----
|
||||
PRECEDING 58
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT row_number() OVER (PART') LIMIT 1;
|
||||
----
|
||||
PARTITION 26
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT lag(col1) OVER (PARTITION BY col1, col2 ORD') LIMIT 1;
|
||||
----
|
||||
ORDER 47
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT sum(42) OVER (PARTITION BY col1, col2 ORDER BY col3 ROW') LIMIT 1;
|
||||
----
|
||||
ROWS 59
|
||||
|
||||
# window clause
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT lead(l_orderkey) OVER win FR') LIMIT 1;
|
||||
----
|
||||
FROM 33
|
||||
|
||||
query II
|
||||
FROM sql_auto_complete('SELECT lead(l_orderkey) OVER (win) FROM tbl WINDOW win AS (PART') LIMIT 1;
|
||||
----
|
||||
PARTITION 59
|
||||
Reference in New Issue
Block a user