Repository navigation
[coverage] Conformance findings: GEOSPATIAL-008 #1732
Copy link
Copy link
Closed
Description
Summary
Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-jdbc. Each finding is committed as an expected-failure (xfail) test in the coverage PR — the test asserts the CORRECT (post-fix) behavior and stays red until THIS driver (databricks/databricks-jdbc) is fixed, then flips green as a tripwire.
Findings
- GEOSPATIAL-008 [thrift, sea]: EnableGeoSpatialSupport=0 rewrites a geospatial column's reported type to STRING, losing the GEOMETRY/GEOGRAPHY identity; the option must change only the VALUE representation (WKT/EWKT text), never the reported logical type
- failing test:
testGeospatialRepresentationOptionSelectsStructuredOrTextValues(see the coverage PR diff undertests/)
- failing test:
Reproduce & Expected
GEOSPATIAL-008 — A driver that exposes a geospatial-representation connection option lets the CALLER pick which of this suite's two public shapes a GEOMETRY / GEOGRAPHY value arrives in, instead of leaving it to…
Reproduce:
SELECT geom_0,
geog_4326,
ST_GeomFromText(NULL) AS geom_null
FROM {catalog}.{schema}.geo_types_{unique} WHERE id = 1
SELECT geom_0,
geog_4326,
ST_GeomFromText(NULL) AS geom_null
FROM {catalog}.{schema}.geo_types_{unique} WHERE id = 1
SELECT geom_0,
geog_4326,
ST_GeomFromText(NULL) AS geom_null
FROM {catalog}.{schema}.geo_types_{unique} WHERE id = 1Expected (per the shared spec):
- completes without an exception
- result has exactly 1 row(s)
- col
geom_null, row 0 is null - completes without an exception
- result has exactly 1 row(s)
- col
geom_null, row 0 is null - completes without an exception
- result has exactly 1 row(s)
- [sea]
CreateSessionrequestsession_confs.enable_geospatial_supportis absent - [sea]
ExecuteStatementrequestenable_geospatial_supportis absent - full assertion contract:
result:
- label: enabled
no_exception: true
- label: enabled
row_count: 1
- label: enabled
geo_value:
column: geom_0
row: 0
srid: any
wkb_non_empty: true
- label: enabled
geo_value:
column: geog_4326
row: 0
srid: 4326
wkb_non_empty: true
- label: enabled
geo_logical_type:
column: geom_0
type_name: GEOMETRY
type_text: GEOMETRY(0)
- label: enabled
geo_logical_type:
column: geog_4326
type_name: GEOGRAPHY
type_text: GEOGRAPHY(4326)
- label: enabled
column:
name: geom_null
row: 0
is_null: true
- label: disabled
no_exception: true
- label: disabled
row_count: 1
- label: disabled
geo_text_value:
column: geom_0
row: 0
non_empty: true
wkt_or_ewkt: true
- label: disabled
geo_text_value:
column: geog_4326
row: 0
non_empty: true
wkt_or_ewkt: true
- label: disabled
geo_logical_type:
column: geom_0
type_name: GEOMETRY
type_text: GEOMETRY(0)
- label: disabled
column:
name: geom_null
row: 0
is_null: true
- label: omitted
no_exception: true
- label: omitted
row_count: 1
- label: omitted
geo_text_value:
column: geom_0
row: 0
non_empty: true
wkt_or_ewkt: true
- geo_representation_matches:
labels:
- disabled
- omitted
columns:
- geom_0
- geog_4326
protocol:
sea:
- request_field:
operation: CreateSession
path: session_confs.enable_geospatial_support
present: false
- request_field:
operation: ExecuteStatement
path: enable_geospatial_support
present: falseContext
- The behavior was first fixed in a DIFFERENT driver — reference PR: feat: support geospatial results on the kernel path databricks-sql-python#990 — which seeded the shared language-neutral spec. This issue tracks the same conformance gap in databricks/databricks-jdbc; the reference PR is for cross-referencing the intended behavior, NOT a change to this repo.
- Coverage PR carrying the reproducing xfail test(s): https://github.com/databricks/databricks-driver-test/pull/1857
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
cathleeny commentedon Oct 20, 2026
EnableGeoSpatialSupport=0 intentionally reports STRING/VARCHAR metadata to maintain backwards compatibility with existing applications. (See #1094)