-
-
Notifications
You must be signed in to change notification settings - Fork 23
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
getProcedureColumns metadata wrong description of RETURNS columns [JDBC229] #278
Comments
Modified by: @mrotteveeldescription: The AbstractDatabaseMetaData.getProcedureColumns() metadata describes the RETURNS columns as DatabaseMetaData.procedureColumnOut, this is conceptually incorrect as Firebird does not support OUT parameters. The correct description should be DatabaseMetaData.procedureColumnReturn (or maybe DatabaseMetaData.procedureColumnReturn for executable procedures with a single return value). Related to this: the JDBC javadoc states that the order of the getProcedureColumns() method should be: This description also potentially clashes with the information provided by the CallableStatement implementation of getParameterMetaData() (that, or changing this will clash). Also research is needed if we need to differentiate between Deciding if something is executable or selectable is only available from ODS 11.1 or higher. => The AbstractDatabaseMetaData.getProcedureColumns() metadata describes the RETURNS columns as DatabaseMetaData.procedureColumnOut, this is conceptually incorrect as Firebird does not support OUT parameters. The correct description should be DatabaseMetaData.procedureColumnResult (or maybe DatabaseMetaData.procedureColumnReturn for executable procedures with a single return value). Related to this: the JDBC javadoc states that the order of the getProcedureColumns() method should be: This description also potentially clashes with the information provided by the CallableStatement implementation of getParameterMetaData() (that, or changing this will clash). Also research is needed if we need to differentiate between Deciding if something is executable or selectable is only available from ODS 11.1 or higher. |
Modified by: @mrotteveelassignee: Roman Rokytskyy [ rrokytskyy ] => Mark Rotteveel [ avalanche1979 ] |
Modified by: @mrotteveelFix Version: Jaybird 2.3 [ 10440 ] |
Modified by: @mrotteveel |
Modified by: @mrotteveel |
Modified by: @mrotteveel |
Submitted by: @mrotteveel
Is related to JDBC296
Relate to JDBC297
Relate to JDBC350
The AbstractDatabaseMetaData.getProcedureColumns() metadata describes the RETURNS columns as DatabaseMetaData.procedureColumnOut, this is conceptually incorrect as Firebird does not support OUT parameters. The correct description should be DatabaseMetaData.procedureColumnResult (or maybe DatabaseMetaData.procedureColumnReturn for executable procedures with a single return value).
Related to this: the JDBC javadoc states that the order of the getProcedureColumns() method should be:
1) The (single) return value (if any) with ORDINAL_POSITION 0
2) The procedure parameters (if any) with the ORDINAL_POSITION in order (starting with 1)
3) The (resultset) columns (if any) with the ORDINAL_POSITION in order (starting with 1)
Currently Jaybird returns the columns first, and then the parameters.
This description also potentially clashes with the information provided by the CallableStatement implementation of getParameterMetaData() (that, or changing this will clash).
Also research is needed if we need to differentiate between
1) Executable procedures
1a) With single return value
1b) With multiple return values
2) Selectable procedures
Deciding if something is executable or selectable is only available from ODS 11.1 or higher.
The text was updated successfully, but these errors were encountered: