Files
email-tracker/external/duckdb/test/parquet/test_filename_column.test
2025-10-24 19:21:19 -05:00

62 lines
1.8 KiB
SQL

# name: test/parquet/test_filename_column.test
# description: Test MultiFileReader filename column rename
# group: [parquet]
require parquet
# anything non-VARCHAR will be cast to boolean, and interpreted as such
query I
SELECT pq.filename FROM read_parquet('data/parquet-testing/enum.parquet', filename=true) pq LIMIT 1
----
data/parquet-testing/enum.parquet
query I
SELECT pq.filename FROM read_parquet('data/parquet-testing/enum.parquet', filename=1) pq LIMIT 1
----
data/parquet-testing/enum.parquet
# the string TRUE can be a column name
query I
SELECT "TRUE" FROM read_parquet('data/parquet-testing/enum.parquet', filename='TRUE') pq LIMIT 1
----
data/parquet-testing/enum.parquet
# FALSR too
query I
SELECT "FALSE" FROM read_parquet('data/parquet-testing/enum.parquet', filename='FALSE') pq LIMIT 1
----
data/parquet-testing/enum.parquet
# this is the output without an additional filename column
query IIIIIII nosort q0
SELECT * FROM read_parquet('data/parquet-testing/enum.parquet')
----
# this shouldn't somehow add a column with the name false/0/FALSE
query IIIIIII nosort q0
SELECT * FROM read_parquet('data/parquet-testing/enum.parquet', filename=false)
----
query IIIIIII nosort q0
SELECT * FROM read_parquet('data/parquet-testing/enum.parquet', filename=0)
----
# cool names work too
query I
SELECT my_cool_filename FROM read_parquet('data/parquet-testing/enum.parquet', filename='my_cool_filename') LIMIT 1
----
data/parquet-testing/enum.parquet
query I
SELECT my_cool_filename FROM read_parquet('data/parquet-testing/enum.parquet', filename=my_cool_filename) LIMIT 1
----
data/parquet-testing/enum.parquet
query III
select file_name[22:], row_group_id, bloom_filter_excludes from parquet_bloom_probe('data/parquet-testing/multi_bloom_*.parquet', 'a', 1)
----
multi_bloom_a.parquet 0 false
multi_bloom_b.parquet 0 true
multi_bloom_c.parquet 0 true