rishi-rana commented on PR #39773: URL: https://github.com/apache/shardingsphere/pull/39773#issuecomment-5667282920
Fixed in 8a64e5f — you're right, and my earlier scoping of this was wrong. When I first traced `bindBlobParameters()` I treated the negative-id branch as a separate mechanism (Proxy-generated result BLOBs held by `FirebirdBlobBinaryProtocolValue`) and deliberately left it alone, fixing only the positive write-cache path. But #39052 asks for an error on an unknown BLOB parameter without qualifying the sign, and a stale, cross-connection or fabricated negative id reaching the backend as `NULL` is exactly the silent behaviour the issue is about. The distinction I drew wasn't one the requirement makes. `bindBlobParameters()` now checks the negative-id lookup before assigning the parameter and throws `InvalidSegstrIdException` when no content exists. `assertSkipBlobParameterWhenNegativeBlobId` is replaced by `assertRejectUnknownResultBlobParameter`, which asserts the exception; I verified it fails against the previous implementation. `assertBindResultBlobParameter` is untouched, so valid result-BLOB reuse stays covered. Verification on this head: 32 tests in `database/exception/dialect/firebird` and 279 in `proxy/frontend/dialect/firebird`, zero failures; `spotless:check checkstyle:check -Pcheck` clean for both modules. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
