[coverage] Conformance findings: RESULTFETCH-020
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 49/100
Línea de trabajo
Start with the failing TestDuplicateColumnNamesSurviveResultFetch in the coverage PR and trace the SEA/kernel path through kernel.newKernelRows and cdata.ImportCArrowSchema, where duplicate fields trigger the panic. Reproduce with the single-row query, then check row-oriented and Arrow fetches plus multi-chunk and JOIN cases. Done means duplicate column names and both positional values survive every fetch surface without an exception.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- RESULTFETCH-020 [sea]: SEA/kernel backend panics with
arrow: duplicate field with name "a"(arrow.StructOf via cdata.ImportCArrowSchema in kernel.newKernelRows) for any result with two identically named columns, including a single-row single-chunkSELECT 1 AS a, 2 AS a; the server returns both columns, so the failure is client-side Arrow schema assembly- failing test:
TestDuplicateColumnNamesSurviveResultFetch(see the coverage PR diff undertests/)
- failing test:
- RESULTFETCH-020: SEA/kernel backend panics with
arrow: duplicate field with name "a"(arrow.StructOf via cdata.ImportCArrowSchema in kernel.newKernelRows) for any result containing two identically named columns, including a single-row single-chunkSELECT 1 AS a, 2 AS a; the server returns both columns correctly, so the failure is client-side Arrow schema assembly
Reproduce & Expected
RESULTFETCH-020 — A query whose result set contains two columns with the SAME name is valid SQL (e.g.
Reproduce:
- Execute a one-row query with two identically named columns and read the
result fully, through every fetch surface the driver exposes (row-oriented
fetch-all / fetch-one, and the native Arrow/columnar accessor if present). - Execute a duplicate-named query whose result is large enough to arrive in
more than one chunk/batch, and read every row. Exercises concatenation of
multiple equal-schema chunks. Chunk/batch COUNT is server- and driver-
dependent and is deliberately NOT asserted -- only that all rows and both
columns survive. ORDER BY id makes the first data row deterministic so the
two columns can be told apart positionally (0 vs 1000000). - Execute a JOIN whose two sides share a column name, so the duplication comes
from SELECT * rather than from explicit aliasing.
Expected (per the shared spec):
- completes without an exception
- result has exactly 1 row(s)
- result has 2 column(s)
- col 0 is named
a - col 1 is named
a - col 0, row 0 == 1 (type Int32)
- col 1, row 0 == 2 (type Int32)
- completes without an exception
- result has exactly 200000 row(s)
- result has 2 column(s)
- col 0 is named
a - col 1 is named
a - col 0, row 0 == 0 (type Int64)
- col 1, row 0 == 1000000 (type Int64)
- completes without an exception
- result has exactly 1 row(s)
- result has 2 column(s)
- col 0 is named
id - col 1 is named
id - col 0, row 0 == 1 (type Int32)
- col 1, row 0 == 1 (type Int32)
Context
- The behavior was first fixed in a DIFFERENT driver — reference PR: https://github.com/databricks/databricks-sql-python/pull/995 — 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/1884
- Lenguaje dominante
- Go
- Estrellas
- 53
- Forks
- 70
- Merge medio
- 2 d 12 h
- PR fusionados (30 d)
- 16
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de databricks/databricks-sql-go
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
databricks/databricks-sql-go#494 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 1-2 días Aptitud para principiantes 52/100
databricks/databricks-sql-go#521 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 1-2 días Aptitud para principiantes 56/100
databricks/databricks-sql-go#520 ·
Los mantenedores suelen responder en 1 día
-
TIME (time64[ns]) type unhandledAbiertobug engineer-bot
Dificultad 3/5 1-2 días Aptitud para principiantes 67/100
databricks/databricks-sql-go#505 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
databricks/databricks-sql-go#504 ·
Los mantenedores suelen responder en 1 día
Todos los issues de databricks/databricks-sql-go
Issues similares
-
needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cli/cli#14946 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
valkey-io/valkey-operator#610 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
WriterSetTimes: the UTIME_NOW check fails when the kernel uses its coarse clockPosiblemente ocupada @JakeChampion la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
JakeChampion/lang#14224 ·
Los mantenedores suelen responder en 1 día
-
docs(reference): pi stream-filter bullet says tool_execution_update passes through unchangedAbiertoagent-butler-finding bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
jordansmall/spindrift#6391 ·
Los mantenedores suelen responder en 1 día