should be it
This commit is contained in:
46
external/duckdb/test/sql/function/enum/test_enum_code.test
vendored
Normal file
46
external/duckdb/test/sql/function/enum/test_enum_code.test
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
# name: test/sql/function/enum/test_enum_code.test
|
||||
# description: Enum Code Function
|
||||
# group: [enum]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy', 'anxious')
|
||||
|
||||
statement ok
|
||||
CREATE TABLE test (x mood)
|
||||
|
||||
statement ok
|
||||
INSERT INTO test VALUES ('ok'), ('sad'), ('anxious'), ('happy')
|
||||
|
||||
query I
|
||||
SELECT enum_code(x) FROM test
|
||||
----
|
||||
1
|
||||
0
|
||||
3
|
||||
2
|
||||
|
||||
statement error
|
||||
SELECT enum_code('bla')
|
||||
----
|
||||
|
||||
statement ok
|
||||
PREPARE p1 as SELECT enum_code(x) FROM test
|
||||
|
||||
query I
|
||||
EXECUTE p1
|
||||
----
|
||||
1
|
||||
0
|
||||
3
|
||||
2
|
||||
|
||||
statement ok
|
||||
PREPARE p2 as SELECT enum_code(?);
|
||||
|
||||
query I
|
||||
EXECUTE p2('happy'::mood)
|
||||
----
|
||||
2
|
||||
19
external/duckdb/test/sql/function/enum/test_enum_first.test
vendored
Normal file
19
external/duckdb/test/sql/function/enum/test_enum_first.test
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
# name: test/sql/function/enum/test_enum_first.test
|
||||
# description: Enum First Function
|
||||
# group: [enum]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple');
|
||||
|
||||
query I
|
||||
SELECT enum_first(null::rainbow)
|
||||
----
|
||||
red
|
||||
|
||||
statement error
|
||||
SELECT enum_first('bla')
|
||||
----
|
||||
<REGEX>:.*Binder Error.*This function needs an ENUM.*
|
||||
19
external/duckdb/test/sql/function/enum/test_enum_last.test
vendored
Normal file
19
external/duckdb/test/sql/function/enum/test_enum_last.test
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
# name: test/sql/function/enum/test_enum_last.test
|
||||
# description: Enum First Function
|
||||
# group: [enum]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple');
|
||||
|
||||
query I
|
||||
SELECT enum_last(null::rainbow)
|
||||
----
|
||||
purple
|
||||
|
||||
statement error
|
||||
SELECT enum_last('bla')
|
||||
----
|
||||
<REGEX>:.*Binder Error.*This function needs an ENUM.*
|
||||
63
external/duckdb/test/sql/function/enum/test_enum_range.test
vendored
Normal file
63
external/duckdb/test/sql/function/enum/test_enum_range.test
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
# name: test/sql/function/enum/test_enum_range.test
|
||||
# description: Enum Range Function
|
||||
# group: [enum]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple');
|
||||
|
||||
statement ok
|
||||
CREATE TYPE currency AS ENUM ('usd', 'brl', 'eur');
|
||||
|
||||
query I
|
||||
SELECT enum_range(null::rainbow)
|
||||
----
|
||||
[red, orange, yellow, green, blue, purple]
|
||||
|
||||
query I
|
||||
SELECT enum_range_boundary('orange'::rainbow, 'green'::rainbow)
|
||||
----
|
||||
[orange, yellow, green]
|
||||
|
||||
|
||||
query I
|
||||
SELECT enum_range_boundary('green'::rainbow, 'orange'::rainbow)
|
||||
----
|
||||
[]
|
||||
|
||||
query I
|
||||
SELECT enum_range_boundary(NULL, 'green'::rainbow)
|
||||
----
|
||||
[red, orange, yellow, green]
|
||||
|
||||
query I
|
||||
SELECT enum_range_boundary('orange'::rainbow, NULL)
|
||||
----
|
||||
[orange, yellow, green, blue, purple]
|
||||
|
||||
statement error
|
||||
SELECT enum_range_boundary('orange'::rainbow, 'brl'::currency)
|
||||
----
|
||||
<REGEX>:.*Binder Error.*parameters need to link.*
|
||||
|
||||
statement error
|
||||
SELECT enum_range_boundary(NULL, NULL)
|
||||
----
|
||||
<REGEX>:.*Binder Error.*This function needs an ENUM.*
|
||||
|
||||
statement error
|
||||
SELECT enum_last('bla')
|
||||
----
|
||||
<REGEX>:.*Binder Error.*This function needs an ENUM.*
|
||||
|
||||
statement error
|
||||
SELECT enum_range_boundary('orange'::rainbow, 1)
|
||||
----
|
||||
<REGEX>:.*Binder Error.*This function needs an ENUM.*
|
||||
|
||||
statement error
|
||||
SELECT enum_range_boundary(1, 'orange'::rainbow)
|
||||
----
|
||||
<REGEX>:.*Binder Error.*This function needs an ENUM.*
|
||||
Reference in New Issue
Block a user