shuke987 opened a new pull request, #65084:
URL: https://github.com/apache/doris/pull/65084

   ### What
   
   Materialize JDBC array objects while regression-test reads rows from 
`ResultSet`.
   
   ### Why
   
   Arrow Flight JDBC array objects keep references to Arrow vectors owned by 
the live result set. The regression-test framework stores row objects first, 
closes the `ResultSet`/`Statement`, and later calls 
`OutputUtils.toCsvString()`. At that point the vector inside 
`ArrowFlightJdbcArray` has already been cleared, so `Array.toString()` / 
`Array.getArray()` can throw `IndexOutOfBoundsException`.
   
   This change converts `java.sql.Array` values to plain Java list values while 
the result set is still alive. It also recursively handles nested Java arrays 
and preserves existing binary-column hex formatting.
   
   ### Tests
   
   - `git diff --check`
   - Groovy parse check for `JdbcUtils.groovy` with local Guava/slf4j classpath
   
   Full regression verification will run in CI.
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to