XianReallyHot-ZZH commented on PR #13719:
URL: https://github.com/apache/ignite/pull/13719#issuecomment-6511650613

   Found the root cause — it was in my previous fix, not in the propagation 
itself. H2 resolves the table name during statement preparation **before** 
reporting syntax or column errors, and both new ODBC tests connected with 
`SCHEMA=PUBLIC`, while `TestType` is registered in the `cache` schema. So both 
INSERT statements actually failed with `TABLE_NOT_FOUND` (SQLSTATE `42S02`) and 
never reached the errors the tests assert.
   
   Verified against a local node started with the same caches as the ODBC test 
configuration (`cache`/`cache2` with `TestType`/`ComplexType`) over the thin 
protocol:
   
   | Statement | Schema | statusCode → SQLSTATE |
   |---|---|---|
   | `INSERT INTO TestType(_key VALUES(1)` | PUBLIC | 3001 TABLE_NOT_FOUND → 
42S02 |
   | `INSERT INTO TestType(_key, fasf) VALUES(1, 'some')` | PUBLIC | 3001 
TABLE_NOT_FOUND → 42S02 |
   | `INSERT INTO TestType(_key VALUES(1)` | cache | 1001 PARSING → 42000 |
   | `INSERT INTO TestType(_key, fasf) VALUES(1, 'some')` | cache | 3008 
COLUMN_NOT_FOUND → 42S22 |
   | `SELECT a FROM B` | cache | 3001 TABLE_NOT_FOUND → 42S02 |
   
   Fix (commit af818870):
   - **TestSyntaxError / TestColumnNotFound** now connect with `SCHEMA=cache`, 
so the statements exercise the intended syntax error (`42000`) and 
column-not-found error (`42S22`).
   - **QueriesTestSuite / TestErrorMessage** expected the `42000: ...` message 
prefix for a missing table; a missing table now surfaces its own SQLSTATE, so 
the prefix is updated to `42S02: ...`.
   
   Could you please re-run the ODBC TeamCity suites once more? Thanks!


-- 
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]

Reply via email to