Conversation
Signed-off-by: Earamma K <ek@rocketsoftware.com>
Signed-off-by: Earamma K <ek@rocketsoftware.com>
|
@Earammak The cardinatility related change in ibm_db.c file means cardinality can now only grow, never shrink to match what the driver actually reported. If a driver legitimately returns fewer elements than the bound array size (e.g., an OUT array param populated with 3 of 10 slots), the old code shrunk to 3; the new code keeps 10. Combined with the later fallback. this can build a Python list sized to the original bound cardinality even when actual_cardinality is legitimately 0, potentially exposing uninitialized/stale buffer contents rather than an empty/None result. This may well be intentional to work around the previous under-read on big-endian systems, but since item 5 already fixes the underlying 16-bit truncation bug, it's worth confirming whether this "never shrink" guard is still needed post-fix, or if it's now masking a separate legitimate shrink case. Please add a code comment explaining the rationale, and ideally a targeted test for a shrinking-array OUT/INOUT scenario. The trigger condition in the output-building block changed from && to ||: Thanks. |
This PR introduces Python 3.15 wheel support and fixes an issue with SPARRAY stored procedure array handling on zLinux/s390x platforms.