Skip to content

deps: adopt spanvalue v0.9.0 FLOAT32 negative-zero literals - #1018

Open
apstndb wants to merge 1 commit into
mainfrom
refactor/adopt-spanvalue-negative-zero
Open

apstndb wants to merge 1 commit into
mainfrom
refactor/adopt-spanvalue-negative-zero

Conversation

@apstndb

@apstndb apstndb commented Sep 15, 2026

Copy link
Copy Markdown
Owner

Adopt released spanvalue v0.9.0 and remove the local FLOAT32 negative-zero formatting workaround. SQL export, typed replay and cyclic DUMP now use the library's literal preset directly; cyclic DUMP retains its additional wire-validation checks.

The upstream fix in apstndb/spanvalue#268 emits CAST(-0.0 AS FLOAT32) so replay preserves the sign. Its scalar/array/struct and SQL INSERT matrices are covered by TestLiteralFloat32NegativeZero and TestSQLInsertWriterFloat32NegativeZero upstream. The application keeps independent expected literals for formatter selection, all SQL INSERT modes, matching string/JSON text, and empty/NULL arrays. Malformed FLOAT32 checks require the error cause and payload, and real buffered/streamed DUMP replay still checks sign bits.

Validation: Go 1.26.8 make check with golangci-lint 2.13.2, make check-race, focused SQL-literal/DUMP replay tests, and all required CI checks. The dependency's Go 1.25 minimum is below the application's existing Go 1.26.8 requirement.

Physical line changes: production -21, tests -18, fixtures unchanged. No replace directive or unrelated dependency upgrades.

Drop the local FLOAT32 plugin now that upstream #268 emits
CAST(-0.0 AS FLOAT32). SQL export and typed replay call
LiteralFormatConfig directly. Keep application selection tests
and leave the scalar/array/struct matrix to spanvalue.
@github-actions

Copy link
Copy Markdown

Code Metrics Report

📊 View detailed coverage report (available for 7 days)

main (1b8003f) #1018 (93db072) +/-
Coverage 87.2% 87.2% -0.1%
Code to Test Ratio 1:2.5 1:2.5 +0.0
Test Execution Time 2m39s 3m4s +25s
Details
  |                     | main (1b8003f) | #1018 (93db072) |  +/-  |
  |---------------------|----------------|-----------------|-------|
- | Coverage            |          87.2% |           87.2% | -0.1% |
  |   Files             |            132 |             132 |     0 |
  |   Lines             |          13284 |           13277 |    -7 |
- |   Covered           |          11588 |           11580 |    -8 |
+ | Code to Test Ratio  |          1:2.5 |           1:2.5 |  +0.0 |
  |   Code              |          28876 |           28861 |   -15 |
- |   Test              |          73544 |           73521 |   -23 |
- | Test Execution Time |          2m39s |            3m4s |  +25s |

Code coverage of files in pull request scope (92.5% → 92.2%, patch 100.0%)

Files Coverage +/- Patch Coverage Status
internal/mycli/dump_cyclic_mutations.go 91.3% 0.0% 100.0% modified
internal/mycli/execute_partitioned.go 90.7% -0.9% - affected
internal/mycli/execute_sql.go 94.0% -0.2% 100.0% modified
internal/mycli/typed_rows.go 89.6% 0.0% 100.0% modified

Reported by octocov

@apstndb

apstndb commented Sep 15, 2026

Copy link
Copy Markdown
Owner Author

Reviewed f0a66f5: no actionable findings. The direct preset calls preserve SQL export, typed replay and cyclic DUMP policy; upstream-owned literal cases and retained application integration assertions were checked. Independent make check, the worker's race/focused replay tests and all required CI checks passed. No unresolved review threads or pending reviews were present.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant