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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
# name: test/sql/copy/csv/test_header_only.test
# description: Test CSV Parser on an header only CSV file
# group: [csv]
statement ok
PRAGMA enable_verification
query I
SELECT columns from sniff_csv('{DATA_DIR}/csv/header_only.csv', header=True, ignore_errors=True)
----
[{'name': abs_file_name, 'type': VARCHAR}]
query I
SELECT abs_file_name FROM read_csv('{DATA_DIR}/csv/header_only.csv', header=True, ignore_errors=True)
----
query I
SELECT REGEXP_MATCHES(abs_file_name, 'foo')
FROM ( SELECT abs_file_name FROM read_csv('{DATA_DIR}/csv/header_only.csv', header=True, ignore_errors=True))
----
query I
SELECT REGEXP_MATCHES(abs_file_name, 'foo')
FROM ( SELECT abs_file_name FROM read_csv(['{DATA_DIR}/csv/header_only.csv','{DATA_DIR}/csv/header_only.csv'], header=True, ignore_errors=True))
----
statement error
SELECT REGEXP_MATCHES(abs_file_name, 'foo')
FROM ( SELECT abs_file_name FROM read_csv(['{DATA_DIR}/csv/header_only.csv','{DATA_DIR}/csv/bool.csv','{DATA_DIR}/csv/header_only.csv'], header=True, ignore_errors=True))
----
No function matches the given name and argument types 'regexp_matches(BOOLEAN, STRING_LITERAL)'. You might need to add explicit type casts.
# Try to replace column type
query I
SELECT columns from sniff_csv('{DATA_DIR}/csv/header_only.csv', types = ['INTEGER'])
----
[{'name': abs_file_name, 'type': INTEGER}]
query I
SELECT columns from sniff_csv('{DATA_DIR}/csv/header_only.csv', types = {'abs_file_name':'INTEGER'})
----
[{'name': abs_file_name, 'type': INTEGER}]
statement ok
CREATE TABLE T AS from read_csv('{DATA_DIR}/csv/header_only.csv',types = ['INTEGER'])
query IIIIII
DESCRIBE T
----
abs_file_name INTEGER YES NULL NULL NULL
statement ok
CREATE OR REPLACE TABLE T AS from read_csv('{DATA_DIR}/csv/header_only.csv', types = {'abs_file_name':'INTEGER'})
query IIIIII
DESCRIBE T
----
abs_file_name INTEGER YES NULL NULL NULL
# Now with two columns
query I
SELECT columns from sniff_csv('{DATA_DIR}/csv/header_only_2.csv', types = ['INTEGER'])
----
[{'name': foo, 'type': INTEGER}, {'name': bar, 'type': VARCHAR}]
query I
SELECT columns from sniff_csv('{DATA_DIR}/csv/header_only_2.csv', types = {'foo':'INTEGER'})
----
[{'name': foo, 'type': INTEGER}, {'name': bar, 'type': VARCHAR}]
# This is clearly wrong
query I
SELECT columns from sniff_csv('{DATA_DIR}/csv/header_only_2.csv', types = {'bar':'INTEGER'})
----
[{'name': foo, 'type': VARCHAR}, {'name': bar, 'type': INTEGER}]
statement ok
CREATE OR REPLACE TABLE T AS from read_csv('{DATA_DIR}/csv/header_only_2.csv', types = ['INTEGER'])
query IIIIII
DESCRIBE T
----
foo INTEGER YES NULL NULL NULL
bar VARCHAR YES NULL NULL NULL
statement ok
CREATE OR REPLACE TABLE T AS from read_csv('{DATA_DIR}/csv/header_only_2.csv', types = {'foo':'INTEGER'})
query IIIIII
DESCRIBE T
----
foo INTEGER YES NULL NULL NULL
bar VARCHAR YES NULL NULL NULL
statement ok
CREATE OR REPLACE TABLE T AS from read_csv('{DATA_DIR}/csv/header_only_2.csv', types = {'bar':'INTEGER'})
query IIIIII
DESCRIBE T
----
foo VARCHAR YES NULL NULL NULL
bar INTEGER YES NULL NULL NULL
|