130 lines
2.2 KiB
SQL
130 lines
2.2 KiB
SQL
# 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
|