Skip to content

Verify: BIGINT columns return Python int (legacy #63)#33

Merged
HenryNebula merged 5 commits intodevfrom
worktree-triage+63-bigint-convert
Apr 24, 2026
Merged

Verify: BIGINT columns return Python int (legacy #63)#33
HenryNebula merged 5 commits intodevfrom
worktree-triage+63-bigint-convert

Conversation

@HenryNebula
Copy link
Copy Markdown
Owner

Summary

Fixes #32: Verifies legacy baztian/jaydebeapi#63 (BIGINT not converted to Python int) is dodged in jaydebeapiarrow.

The legacy bug caused BIGINT values to be returned as raw jpype._jclass.java.lang.Long objects instead of Python int. Our Arrow-based path handles BIGINT natively via Arrow's Int64 type, avoiding this entirely.

Changes

  • Add mockBigIntResult(long) helper to MockConnection for configurable BIGINT mocking
  • Add 2 mock tests: basic type check and edge cases (0, -1, Long.MAX_VALUE, Long.MIN_VALUE)
  • Add HSQLDB integration test verifying BIGINT round-trips as Python int

Test plan

  • Added mock test cases reproducing the reported concern
  • Added HSQLDB integration test for BIGINT round-trip
  • Full mock test suite (60 tests) passes with no regressions
  • Full HSQLDB integration test suite (16 tests) passes with no regressions

Closes #32

Generated with Claude Code

HenryNebula and others added 5 commits April 23, 2026 08:05
Legacy bug: BIGINT values returned as raw jpype._jclass.java.lang.Long
objects instead of Python ints. Dodged in our Arrow-based path which
handles BIGINT natively via Int64 type.

Add mockBigIntResult() helper to MockConnection and regression tests
covering edge cases: 0, -1, Long.MAX_VALUE, Long.MIN_VALUE.

Closes #32

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Oracle does not support BIGINT as a SQL type (uses NUMBER instead).
Drill does not support CREATE TABLE with BIGINT. Add skipTest
for these database-specific test classes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
testsuite.py appends a tox env suffix to class names (e.g.
OracleTest_py314-driver-oracle), so exact match fails.
Use startswith() instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The initial commit accidentally included DOUBLE-related tests
(test_double_column_returns_float, test_double_type_returns_float,
test_double_edge_values) and mockDoubleResult() helper that belong
in PR #25 (legacy #243). These caused CI failures on MSSQL where
DOUBLE is not a valid T-SQL type.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@HenryNebula HenryNebula force-pushed the worktree-triage+63-bigint-convert branch from c819429 to a539727 Compare April 23, 2026 12:16
@HenryNebula HenryNebula merged commit 4617964 into dev Apr 24, 2026
14 checks passed
@HenryNebula HenryNebula deleted the worktree-triage+63-bigint-convert branch April 24, 2026 00:36
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