Skip to content

Conversation

@makssent
Copy link
Contributor

Ref #33781.

Changes proposed in this pull request:

  • FirebirdColumnSizeLoader now retrieves both COLUMN_SIZE and SEGMENT_SIZE for BLOB fields during metadata collection. This enables obtaining the actual length for all dynamic data types.

  • In FirebirdPrepareStatementCommandExecutor, the calculated column length is stored in the columnLength variable, which is then directly passed to FirebirdReturnColumnPacket and used when forming the DESCRIBE response. As a result, the client receives accurate, real column sizes.

  • During metadata loading, the computed sizes are stored in the thread-safe FirebirdSizeRegistry and synchronized at the table level. This ensures that additional queries are executed only once — during metadata collection — while subsequent accesses use the cached data.


Before committing this PR, I'm sure that I have checked the following options:

  • My code follows the code of conduct of this project.
  • I have self-reviewed the commit code.
  • I have (or in comment I request) added corresponding labels for the pull request.
  • I have passed maven check locally : ./mvnw clean install -B -T1C -Dmaven.javadoc.skip -Dmaven.jacoco.skip -e.
  • I have made corresponding changes to the documentation.
  • I have added corresponding unit tests for my changes.
  • I have updated the Release Notes of the current development version. For more details, see Update Release Note

@makssent makssent marked this pull request as ready for review October 23, 2025 13:20
@terrymanu terrymanu added this to the 5.5.3 milestone Oct 30, 2025
@terrymanu terrymanu merged commit e176c65 into apache:master Oct 30, 2025
147 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants