{"record":{"id":"d6a93441d0e5ac54","repo":"apache/shardingsphere","slug":"unknown-statement-info-request-type-d","errorCode":null,"errorMessage":"Unknown statement info request type %d","messagePattern":"Unknown statement info request type (.+?)","errorType":"exception","errorClass":"FirebirdProtocolException","httpStatus":null,"severity":"error","filePath":"database/protocol/dialect/firebird/src/main/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/prepare/FirebirdReturnColumnPacket.java","lineNumber":109,"sourceCode":"                    FirebirdPrepareStatementReturnPacket.writeString(FirebirdSQLInfoPacketType.FIELD, column.getName(), payload);\n                    break;\n                case ALIAS:\n                    FirebirdPrepareStatementReturnPacket.writeString(FirebirdSQLInfoPacketType.ALIAS, columnAlias, payload);\n                    break;\n                case RELATION:\n                    FirebirdPrepareStatementReturnPacket.writeString(FirebirdSQLInfoPacketType.RELATION, table.getName(), payload);\n                    break;\n                case RELATION_ALIAS:\n                    FirebirdPrepareStatementReturnPacket.writeString(FirebirdSQLInfoPacketType.RELATION_ALIAS, tableAlias, payload);\n                    break;\n                case OWNER:\n                    FirebirdPrepareStatementReturnPacket.writeString(FirebirdSQLInfoPacketType.OWNER, owner, payload);\n                    break;\n                case DESCRIBE_END:\n                    FirebirdPrepareStatementReturnPacket.writeCode(FirebirdSQLInfoPacketType.DESCRIBE_END, payload);\n                    break;\n                default:\n                    throw new FirebirdProtocolException(\"Unknown statement info request type %d\", requestedItem);\n            }\n        }\n    }\n}\n","sourceCodeStart":91,"sourceCodeEnd":114,"githubUrl":"https://github.com/apache/shardingsphere/blob/e952770a215630a3659c75d64369168cd3e26b82/database/protocol/dialect/firebird/src/main/java/org/apache/shardingsphere/database/protocol/firebird/packet/command/query/statement/prepare/FirebirdReturnColumnPacket.java#L91-L114","documentation":"Thrown while writing the DESCRIBE output for a Firebird prepared statement: a requested describe item is not one of the handled types (TYPE, RELATION, RELATION_ALIAS, OWNER, DESCRIBE_END, and the other listed cases). The numeric item code is included. Extended describe items beyond the implemented set cannot be answered, so the packet writer throws.","triggerScenarios":"Preparing SQL through the proxy with describe flags that request an item outside the switch in FirebirdReturnColumnPacket — e.g. an item like isc_info_sql_describe_variables or a newer describe extension not modeled by FirebirdSQLInfoPacketType handling here.","commonSituations":"Drivers that request extended column metadata (owner/alias/relation variants differ across Jaybird versions); SQL containing constructs (EXECUTE BLOCK, RETURNING) that lead clients to request extra describe items.","solutions":["Log the requestedItem code from the message and map it to the isc_info_sql_describe_* / isc_info_sql_* constant","Simplify the SQL or driver describe options so only supported items are requested","Try a different Jaybird/client version whose describe requests match the implemented set","Implement the missing describe item in FirebirdReturnColumnPacket and contribute it upstream"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    columnPacket.write(payload);\n} catch (FirebirdProtocolException ex) {\n    // unsupported describe item: log requestedItem code and fail this prepare with a clear error;\n    // retrying the same prepare will not help until the item is implemented\n    throw new PreparedStatementDescribeException(ex.getMessage(), ex);\n}","preventionTips":["Test prepare/describe flows with your actual driver version before upgrading it","Report the item code upstream — coverage of describe items grows release by release"],"tags":["firebird","protocol","describe","prepared-statement","unsupported-feature"],"backgroundTag":null,"analyzedSha":"e952770a215630a3659c75d64369168cd3e26b82","analyzedAt":"2026-08-14T13:54:53.392Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}