256 lines
4.3 KiB
SQL
256 lines
4.3 KiB
SQL
# 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
|