Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize FBResultSetMetaData.getExtendedFieldInfo #732

Closed
mrotteveel opened this issue Jan 13, 2023 · 2 comments
Closed

Optimize FBResultSetMetaData.getExtendedFieldInfo #732

mrotteveel opened this issue Jan 13, 2023 · 2 comments

Comments

@mrotteveel
Copy link
Member

Currently, FBResultSetMetaData.getExtendedFieldInfo generates a big UNION for each individual combination of table + field to get the extended field info.

This might be optimizable in two ways:

  1. Generate a query fragment per table for all fields of the table used in the query (or maybe even all fields of the table), instead of a fragment per table+field
  2. Given extended field info is currently only used to determine precision of NUMERIC and DECIMAL columns, restrict the query to only return results for those types of columns (either by restriction in the query itself, or by filtering on column types when generating the query).
@mrotteveel
Copy link
Member Author

Decide to go for option two, because although option one might be superior, it is more work to implement.

@mrotteveel
Copy link
Member Author

Backported to Jaybird 5.0.5

mrotteveel added a commit that referenced this issue Apr 1, 2024
Includes:
#731 FBResultSetMetaData.getExtendedFieldInfo will query same set of fields when there are more than 70 fields
#732 Optimize FBResultSetMetaData.getExtendedFieldInfo
#793 Report true for ResultSetMetaData.isAutoIncrement for identity columns
#795 Add connection property to disable retrieval of extended field info for ResultSetMetaData
#795 Implement disabling of retrieval of extended field info for ResultSetMetaData
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant