forked from MaterializeInc/materialize
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathextract.slt
45 lines (37 loc) · 1.44 KB
/
extract.slt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Copyright Materialize, Inc. and contributors. All rights reserved.
#
# Use of this software is governed by the Business Source License
# included in the LICENSE file at the root of this repository.
#
# As of the Change Date specified in that file, in accordance with
# the Business Source License, use of this software will be governed
# by the Apache License, Version 2.0.
mode cockroach
statement ok
CREATE TABLE data (input text)
statement ok
INSERT INTO data VALUES
('asdfjkl'), ('foo'), ('asdf'), ('testing,123'),
(NULL), ('jkl'), ('some,csv')
query TTT colnames
SELECT data.*, reg.*
FROM data, regexp_extract('(asdf)|(?P<foo>jkl)', data.input) reg
ORDER BY data.input
----
input column1 foo
asdf asdf NULL
asdfjkl asdf NULL
jkl NULL jkl
# TODO(brennan): test that the regex columns have the correct nullability, once
# they actually do (#1685).
query TTT colnames
SELECT data.*, csv.* FROM data, csv_extract(2, data.input) csv
ORDER BY data.input
----
input column1 column2
some,csv some csv
testing,123 testing 123
query error Cannot call function csv_extract\(integer, text\): csv_extract number of columns must be a positive integer literal
SELECT * FROM data, (VALUES (2)) ncols, csv_extract(ncols.column1, data.input)
query error Cannot call function csv_extract\(integer, text\): csv_extract number of columns must be a positive integer literal
SELECT * FROM data, csv_extract((SELECT 2), data.input)