should be it
This commit is contained in:
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
|
||||
Reference in New Issue
Block a user