Skip to content

fix: complete ADBC UUID and Oracle JSON round trips - #659

Merged
cofin merged 15 commits into
mainfrom
fix/adbc-and-open-issues
Jul 26, 2026
Merged

fix: complete ADBC UUID and Oracle JSON round trips#659
cofin merged 15 commits into
mainfrom
fix/adbc-and-open-issues

Conversation

@cofin

@cofin cofin commented Jul 25, 2026

Copy link
Copy Markdown
Member

Summary

  • decode PostgreSQL ADBC arrow.opaque UUID scalar and list columns into stdlib uuid.UUID values for row APIs while preserving Arrow-native results
  • add schema-decision caching, buffered/stream parity, disabled-gate behavior, and non-PostgreSQL no-op coverage
  • bind direct Python JSON values on Oracle 12c–20c through UTF-8 BLOB IS JSON locators while retaining native DB_TYPE_JSON behavior on 21c+
  • share the pool-scoped Oracle version cache across execute, execute-many, and streaming paths without per-bind metadata queries
  • centralize UUID parsing/reconstruction in sqlspec.utils.uuids, using Rust parsing when available while preserving stdlib UUID driver compatibility
  • remove pass-through Oracle bind copies and repeated storage resolution from the new JSON coercion path

@codecov-commenter

codecov-commenter commented Jul 25, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 85.05338% with 42 lines in your changes missing coverage. Please review.
✅ Project coverage is 77.18%. Comparing base (ffcfcfa) to head (e28a167).

Files with missing lines Patch % Lines
sqlspec/adapters/oracledb/core.py 77.77% 24 Missing and 14 partials ⚠️
sqlspec/adapters/oracledb/data_dictionary.py 81.81% 1 Missing and 1 partial ⚠️
sqlspec/utils/uuids.py 80.00% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #659      +/-   ##
==========================================
+ Coverage   77.14%   77.18%   +0.04%     
==========================================
  Files         475      475              
  Lines       67529    67750     +221     
  Branches     9241     9308      +67     
==========================================
+ Hits        52092    52290     +198     
- Misses      12034    12047      +13     
- Partials     3403     3413      +10     
Flag Coverage Δ
integration 60.78% <69.75%> (+0.01%) ⬆️
py3.10 75.48% <85.05%> (+0.04%) ⬆️
py3.11 75.50% <85.05%> (+0.05%) ⬆️
py3.12 75.50% <85.05%> (+0.03%) ⬆️
py3.13 75.50% <85.05%> (+0.04%) ⬆️
py3.14 76.38% <85.05%> (+0.05%) ⬆️
unit 64.68% <82.20%> (+0.09%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
sqlspec/adapters/adbc/core.py 82.65% <100.00%> (+0.02%) ⬆️
sqlspec/adapters/adbc/driver.py 79.02% <100.00%> (ø)
sqlspec/adapters/bigquery/driver.py 81.06% <100.00%> (+4.03%) ⬆️
sqlspec/adapters/duckdb/core.py 87.04% <100.00%> (ø)
sqlspec/adapters/oracledb/_json_handlers.py 83.87% <100.00%> (-2.00%) ⬇️
sqlspec/adapters/oracledb/_param_types.py 100.00% <ø> (ø)
sqlspec/adapters/oracledb/_uuid_handlers.py 91.11% <100.00%> (+0.20%) ⬆️
sqlspec/adapters/oracledb/adk/store.py 62.15% <ø> (ø)
sqlspec/adapters/oracledb/config.py 92.70% <100.00%> (+1.04%) ⬆️
sqlspec/adapters/oracledb/driver.py 72.64% <100.00%> (ø)
... and 9 more

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@cofin
cofin marked this pull request as ready for review July 25, 2026 23:42
@cofin
cofin merged commit 6b697d4 into main Jul 26, 2026
39 of 42 checks passed
@cofin
cofin deleted the fix/adbc-and-open-issues branch July 26, 2026 01:27
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.

2 participants