should be it

This commit is contained in:
2025-10-24 19:21:19 -05:00
parent a4b23fc57c
commit f09560c7b1
14047 changed files with 3161551 additions and 1 deletions

View File

@@ -0,0 +1,136 @@
# name: test/sql/function/string/test_subscript.test
# description: Substring test
# group: [string]
statement ok
PRAGMA enable_verification
statement ok
CREATE TABLE strings(s VARCHAR, off INTEGER);
statement ok
INSERT INTO strings VALUES ('hello', 1), ('world', 2), ('b', 1), (NULL, 2)
# test direct subscript
query TT
SELECT '🦆ab'[1], 'abc'[2]
----
🦆 b
# constant offset/length
# normal array_extract
query T
SELECT s[2] FROM strings
----
e
o
(empty)
NULL
# array_extract out of range
query T
SELECT s[3] FROM strings
----
l
r
(empty)
NULL
# variable length offset/length
query T
SELECT s[off] FROM strings
----
h
o
b
NULL
query T
SELECT s[2] FROM strings
----
e
o
(empty)
NULL
query T
SELECT 'hello'[off] FROM strings
----
h
e
h
e
# test substrings with constant nulls in different places
statement error
SELECT NULL::VARCHAR[off] FROM strings
----
query T
SELECT 'hello'[NULL] FROM strings
----
NULL
NULL
NULL
NULL
statement error
SELECT NULL::VARCHAR[NULL] FROM strings
----
statement error
SELECT NULL::VARCHAR[off] FROM strings
----
statement error
SELECT NULL::VARCHAR[NULL] FROM strings
----
# negative offset
query T
SELECT s[-1] FROM strings
----
o
d
b
NULL
# zero offset
query T
SELECT s[1] FROM strings
----
h
w
b
NULL
# length 0
query T
SELECT s[6] FROM strings
----
(empty)
(empty)
(empty)
NULL
# very large offset and length
query T
SELECT s[2147483646] FROM strings
----
(empty)
(empty)
(empty)
NULL
query T
SELECT s[-2147483647] FROM strings
----
(empty)
(empty)
(empty)
NULL
query T
SELECT ([1,2,3])[-2147483647]
----
NULL