PDGGK opened a new issue, #18250: URL: https://github.com/apache/iotdb/issues/18250
### Search before asking - [x] I searched in the [issues](https://github.com/apache/iotdb/issues) and found nothing similar. ### Version `master` (2.0.x). The affected code is also present in released 2.0.x versions. ### Describe the bug and provide the minimal reproduce step `IoTDBRpcDataSet.findColumn(String)` returns `columnOrdinalMap.get(columnName)` directly. When the column name is not present, `Map<String, Integer>.get` returns `null`, which auto-unboxes to `int` and throws a `NullPointerException`. The JDBC contract (`ResultSet.findColumn`) requires a `SQLException` when the column is not found, and the sibling `findColumnNameByIndex` already guards its input and throws — the guard was simply omitted for `findColumn`. This surfaces at the JDBC boundary (`IoTDBJDBCResultSet.findColumn`) and through `SessionDataSet.DataIterator.findColumn`, both of which delegate to the method above. The same missing guard also exists in `IoTDBJDBCDataSet.findColumn`. Minimal reproduce step: 1. Execute any query over JDBC and obtain the `ResultSet`. 2. Call `resultSet.findColumn("a_column_name_that_is_not_in_the_result")`. 3. A raw `NullPointerException` is thrown instead of a `SQLException`. ### What did you expect to see? `findColumn` throws a `SQLException` (at the JDBC boundary) that names the missing column, per the `ResultSet.findColumn` contract. ### What did you see instead? A `NullPointerException`, from unboxing the `null` returned by the column-ordinal map lookup. ### Anything else? The fix mirrors the existing `findColumnNameByIndex` guard: throw a checked `StatementExecutionException` at the rpc layer (reusing the existing `UNKNOWN_COLUMN_NAME` message), converted to `SQLException` at the JDBC boundary. I'd like to work on this and will open a PR (which also fixes the identical, currently-unused-but-public `IoTDBJDBCDataSet.findColumn`). ### Are you willing to submit a PR? - [x] I'm willing to submit a PR! -- 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]
