99 lines
3.5 KiB
SQL
99 lines
3.5 KiB
SQL
# name: test/geoparquet/disabled.test
|
|
# group: [geoparquet]
|
|
|
|
require spatial
|
|
|
|
require parquet
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Test reading geoparquet when conversion is disabled
|
|
#------------------------------------------------------------------------------
|
|
query II rowsort
|
|
SELECT col, st_astext(geometry) FROM '__WORKING_DIRECTORY__/data/geoparquet/data-point-encoding_wkb.parquet'
|
|
----
|
|
0 POINT (30 10)
|
|
1 POINT EMPTY
|
|
2 NULL
|
|
3 POINT (40 40)
|
|
|
|
statement ok
|
|
SET enable_geoparquet_conversion = false;
|
|
|
|
query II rowsort
|
|
SELECT col, geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-point-encoding_wkb.parquet'
|
|
----
|
|
0 \x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00>@\x00\x00\x00\x00\x00\x00$@
|
|
1 \x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF8\x7F\x00\x00\x00\x00\x00\x00\xF8\x7F
|
|
2 NULL
|
|
3 \x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00D@\x00\x00\x00\x00\x00\x00D@
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Test writing geoparquet when conversion is disabled
|
|
#------------------------------------------------------------------------------
|
|
statement ok
|
|
SET enable_geoparquet_conversion = true;
|
|
|
|
statement ok
|
|
COPY (SELECT col, ST_GeomFromText(geometry) as geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-point-wkt.csv')
|
|
TO '__TEST_DIR__/data-point-out-enabled.parquet' (FORMAT PARQUET)
|
|
|
|
query II rowsort
|
|
SELECT col, st_astext(geometry) FROM '__TEST_DIR__/data-point-out-enabled.parquet'
|
|
----
|
|
0 POINT (30 10)
|
|
1 POINT EMPTY
|
|
2 NULL
|
|
3 POINT (40 40)
|
|
|
|
# Check that we wrote GeoParquet metadata to the footer
|
|
query I
|
|
SELECT (decode(value)) as col
|
|
FROM parquet_kv_metadata('__TEST_DIR__/data-point-out-enabled.parquet');
|
|
----
|
|
{"version":"1.0.0","primary_column":"geometry","columns":{"geometry":{"encoding":"WKB","geometry_types":["Point"],"bbox":[30.0,10.0,40.0,40.0]}}}
|
|
|
|
|
|
# Now disable conversion
|
|
|
|
statement ok
|
|
SET enable_geoparquet_conversion = false;
|
|
|
|
statement ok
|
|
COPY (SELECT col, ST_GeomFromText(geometry) as geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-point-wkt.csv')
|
|
TO '__TEST_DIR__/data-point-out-disabled.parquet' (FORMAT PARQUET)
|
|
|
|
# The bytes differ because this is serialized GEOMETRY, not WKB
|
|
query II rowsort
|
|
SELECT col, geometry FROM '__TEST_DIR__/data-point-out-disabled.parquet'
|
|
----
|
|
0 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00>@\x00\x00\x00\x00\x00\x00$@
|
|
1 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
|
|
2 NULL
|
|
3 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00D@\x00\x00\x00\x00\x00\x00D@
|
|
|
|
# Check that we didnt write any GeoParquet metadata to the footer
|
|
query I
|
|
SELECT (decode(value)) as col
|
|
FROM parquet_kv_metadata('__TEST_DIR__/data-point-out-disabled.parquet');
|
|
----
|
|
|
|
|
|
# Now also do the same but when writing WKB directly
|
|
|
|
statement ok
|
|
COPY (SELECT col, ST_AsWKB(ST_GeomFromText(geometry)) as geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-point-wkt.csv')
|
|
TO '__TEST_DIR__/data-point-out-disabled-wkb.parquet' (FORMAT PARQUET)
|
|
|
|
query II rowsort
|
|
SELECT col, geometry FROM '__TEST_DIR__/data-point-out-disabled-wkb.parquet'
|
|
----
|
|
0 \x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00>@\x00\x00\x00\x00\x00\x00$@
|
|
1 \x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF8\x7F\x00\x00\x00\x00\x00\x00\xF8\x7F
|
|
2 NULL
|
|
3 \x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00D@\x00\x00\x00\x00\x00\x00D@
|
|
|
|
query I
|
|
SELECT (decode(value)) as col
|
|
FROM parquet_kv_metadata('__TEST_DIR__/data-point-out-disabled-wkb.parquet');
|
|
---- |