should be it
This commit is contained in:
83
external/duckdb/test/sql/variables/test_variables.test
vendored
Normal file
83
external/duckdb/test/sql/variables/test_variables.test
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
# name: test/sql/variables/test_variables.test
|
||||
# description: Test SQL variables
|
||||
# group: [variables]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
SET VARIABLE animal = 'duck'
|
||||
|
||||
query I
|
||||
SELECT GETVARIABLE('animal')
|
||||
----
|
||||
duck
|
||||
|
||||
statement ok
|
||||
PREPARE v1 AS SELECT GETVARIABLE($1);
|
||||
|
||||
query I
|
||||
EXECUTE v1('animal');
|
||||
----
|
||||
duck
|
||||
|
||||
statement ok
|
||||
CREATE MACRO _(x) AS getvariable(x);
|
||||
|
||||
query I
|
||||
SELECT _('animal')
|
||||
----
|
||||
duck
|
||||
|
||||
# overwriting
|
||||
statement ok
|
||||
SET VARIABLE animal='bird'
|
||||
|
||||
query I
|
||||
SELECT GETVARIABLE('animal')
|
||||
----
|
||||
bird
|
||||
|
||||
query III
|
||||
FROM duckdb_variables();
|
||||
----
|
||||
animal bird VARCHAR
|
||||
|
||||
query III
|
||||
SHOW VARIABLES
|
||||
----
|
||||
animal bird VARCHAR
|
||||
|
||||
statement ok
|
||||
RESET VARIABLE animal
|
||||
|
||||
query I
|
||||
SELECT GETVARIABLE('animal')
|
||||
----
|
||||
NULL
|
||||
|
||||
# setting from a subquery
|
||||
statement ok
|
||||
CREATE TABLE animal_list(a VARCHAR);
|
||||
|
||||
statement ok
|
||||
INSERT INTO animal_list VALUES ('duck'), ('goose');
|
||||
|
||||
statement ok
|
||||
SET VARIABLE animals=(SELECT LIST(a) FROM animal_list)
|
||||
|
||||
query I
|
||||
SELECT GETVARIABLE('animals')
|
||||
----
|
||||
[duck, goose]
|
||||
|
||||
statement error
|
||||
SET VARIABLE animals=UNNEST([1,2,3])
|
||||
----
|
||||
can only handle a single value
|
||||
|
||||
# variable does not exist
|
||||
query I
|
||||
SELECT GETVARIABLE('xxx')
|
||||
----
|
||||
NULL
|
||||
Reference in New Issue
Block a user