[coverage] Conformance findings: PARAMQUERY-021
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 55/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- node.js, sql, typescript
Direção de pesquisa
O xfail com falha chama-se “DECIMAL target — a scale-less DECIMAL declaration must not truncate the value’s fractional digits” e é referenciado em tests/ na coverage PR 1179. Comece localizando o caminho de parameter binding do Thrift para DBSQLParameterType.DECIMAL e execute o teste de cobertura contra o connector. Está concluído quando os targets DECIMAL declarados, sem escala e subdeclarados preservarem todos os dígitos fracionários sem truncamento.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Summary
Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-sql-nodejs. 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-nodejs) is fixed, then flips green as a tripwire.
Findings
- PARAMQUERY-021 [thrift]: Thrift path truncates a scale-less DECIMAL target: '123.45' bound as DBSQLParameterType.DECIMAL rides with scale 0, so
SELECT :vreturns 123, destroying the fractional digits- failing test:
DECIMAL target — a scale-less DECIMAL declaration must not truncate the value’s fractional digits [xfail: thrift](see the coverage PR diff undertests/)
- failing test:
- PARAMQUERY-021: Thrift path truncates a scale-less DECIMAL target: '123.45' bound as DBSQLParameterType.DECIMAL is sent with scale 0, so
SELECT :vreturns 123 instead of 123.45, silently destroying the value's fractional digits (the SEA/kernel path returns 123.45 correctly)
Reproduce & Expected
PARAMQUERY-021 — Verify that declaring a DECIMAL/NUMERIC target type for a bound parameter never silently drops fractional digits.
Reproduce:
SELECT ? AS v
SELECT ? AS v
SELECT ? AS v
Expected (per the shared spec):
- All three binds prepare and execute successfully.
- (a) The declared DECIMAL(10,2) accommodates the value, so the parameter rides as that decimal type and the value compares numerically equal to 123.45 with both fractional digits intact.
- (b) THE CORE GUARANTEE: with no declared scale, the value is still 123.45 -- NOT 123. Assert the value, not the reported column type: a conforming driver may legitimately deliver this as a decimal the server inferred from the literal OR as the lossless text/string form, so the type is implementation latitude while the VALUE is the contract.
- (c) The value's own scale (4) is authoritative over the under-declared target scale (2): all four fractional digits survive. A result of 123.45 (or 123) is a truncation violation.
Context
- The behavior was first fixed in a DIFFERENT driver — reference PR: https://github.com/databricks/databricks-odbc/pull/167 — which seeded the shared language-neutral spec. This issue tracks the same conformance gap in databricks/databricks-sql-nodejs; 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/1179
- Linguagem predominante
- TypeScript
- Estrelas
- 37
- Forks
- 51
- Merge médio
- 10h 38min
- PRs com merge (30d)
- 8
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de databricks/databricks-sql-nodejs
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
databricks/databricks-sql-nodejs#526 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
databricks/databricks-sql-nodejs#503 ·
Mantenedores costumam responder em até 1 dia
-
Docs folder deleted in 1.8.4Abertaengineer-bot
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
databricks/databricks-sql-nodejs#274 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
databricks/databricks-sql-nodejs#540 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
databricks/databricks-sql-nodejs#539 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de databricks/databricks-sql-nodejs
Issues semelhantes
-
bot:ai-assisted status:untriaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
midnightntwrk/midnight-js#1424 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
mksglu/context-mode#1268 ·
Mantenedores costumam responder em até 5 dias
-
Edit:Abertacheck:failed streams:edit
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 60/100
iptv-org/iptv#54352 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
[Table] reserveSelectedRowOnPaginate=false 时表头全选包含其他页数据Talvez já em andamento @dvd233 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Tencent/tdesign-react#4416 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
area:widget bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
interledger/publisher-tools#894 ·
Mantenedores costumam responder em até 1 dia