[coverage] Conformance findings: GEOSPATIAL-009
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 55/100
Rechercherichtung
Start with internal/backend/kernel/rows.go, where newKernelRows imports the Arrow C schema, and inspect the coverage PR diff under tests/ for TestDuplicateColumnAliasReportsEachColumnOwnLogicalType. Reproduce with the supplied SQL using two output columns aliased as g; done means the driver returns both columns without panicking and reports each column's value and logical type by position.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-sql-go. 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-sql-go) is fixed, then flips green as a tripwire.
Findings
- GEOSPATIAL-009 [sea]: SEA/kernel backend PANICS ("arrow: duplicate field with name") instead of reporting each column's own logical type by position when two result columns share one SQL output alias: newKernelRows imports the Arrow C schema via a name-keyed arrow.StructOf (ImportCArrowSchema in internal/backend/kernel/rows.go), crashing the caller's process
- failing test:
TestDuplicateColumnAliasReportsEachColumnOwnLogicalType(see the coverage PR diff undertests/)
- failing test:
- GEOSPATIAL-009: SEA/kernel backend PANICS ("arrow: duplicate field with name") instead of reporting each column's own logical type by position when a result has two columns sharing one SQL output alias: newKernelRows imports the Arrow C schema via a name-keyed arrow.StructOf (ImportCArrowSchema in internal/backend/kernel/rows.go), which rejects a legal duplicate alias and crashes the caller's process
Reproduce & Expected
GEOSPATIAL-009 — A result set may contain TWO columns with the SAME name — SQL permits duplicate output aliases — and the driver must report each column's own type by POSITION.
Reproduce:
SELECT 'plain' AS g, geom_0 AS g
FROM {catalog}.{schema}.geo_types_{unique} WHERE id = 1
Expected (per the shared spec):
- result has exactly 1 row(s)
- result has 2 column(s)
- col 0 is named
g - col 1 is named
g - col 0, row 0 == 'plain' (type Utf8)
- full assertion contract:
result:
- row_count: 1
- column_count: 2
- column:
index: 0
name: g
- column:
index: 1
name: g
- column:
index: 0
row: 0
type: Utf8
equals: plain
- geo_logical_type:
index: 1
type_name: GEOMETRY
type_text: GEOMETRY(0)
- geo_logical_type:
index: 0
geospatial: false
Context
- The behavior was first fixed in a DIFFERENT driver — reference PR: https://github.com/databricks/databricks-sql-python/pull/990 — which seeded the shared language-neutral spec. This issue tracks the same conformance gap in databricks/databricks-sql-go; 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
- Vorherrschende Sprache
- Go
- Sterne
- 53
- Forks
- 69
- Ø Merge
- 2 T. 12 Std.
- Gemergte PRs (30 T.)
- 16
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus databricks/databricks-sql-go
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
databricks/databricks-sql-go#494 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 1-2 Tage Anfängerfreundlichkeit 52/100
databricks/databricks-sql-go#521 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 1-2 Tage Anfängerfreundlichkeit 56/100
databricks/databricks-sql-go#520 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 49/100
databricks/databricks-sql-go#517 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug engineer-bot
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 67/100
databricks/databricks-sql-go#505 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in databricks/databricks-sql-go
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
hyperledger/fabric-x-orderer#1409 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
needs-area
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Azure/typespec-azure#5936 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 70/100
-
Fix mode unpins a reusable workflow call when the same repository is also used as a step actionOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
github/gh-actions-lock#261 ·
Maintainer antworten meist innerhalb von 1 Tag