morningman commented on PR #67899:
URL: https://github.com/apache/doris/pull/67899#issuecomment-6513294617

   @hutiefang76 The External pipeline on 2a31c4d622b failed all 18 
`external_table_p0/adbc` suites with `Unknown table ...` (SHOW TABLES on an 
ADBC catalog came back empty), and the cause is the new multi-type filter in 
GetTables, so I added 1258c51dfe7 on top.
   
   - Doris's own ADBC catalog lists a Flight SQL source with `getObjects(..., 
tableTypes = {"table"})` (`AdbcConnectorMetadata`), and the ADBC Flight SQL 
driver forwards that as `CommandGetTables.table_types = ["table"]`. Before this 
PR the endpoint only recognised `VIEW` and answered any other type with every 
object; the connector then keeps the rows whose `table_type` is `TABLE` or 
`BASE TABLE`. With the exact filter, `"table"` matches none of `BASE TABLE` / 
`VIEW` / `SYSTEM VIEW`, so the catalog lists no tables. Reproduced on a local 
cluster: `test_adbc_catalog_scan` passes with master's FE and fails at 
`show_tables` (empty result) with this branch.
   - JDBC tools hit the same thing. Flight SQL leaves the names to the server 
but says "TABLE, VIEW, and SYSTEM TABLE are commonly supported", and tools 
often call `getTables(..., {"TABLE"})` or `{"TABLE", "VIEW"}`; on this branch 
the first returned nothing and the second only views.
   - 1258c51dfe7 maps each requested type before matching: the comparison 
ignores case, `TABLE` selects `BASE TABLE`, `SYSTEM TABLE` selects `SYSTEM 
VIEW`, and any other name still matches only a type of that name, so `UNKNOWN` 
still selects nothing. `FlightSqlSchemaHelperTableTypesTest` gets five more 
filter cases (`table`, `TABLE` + `VIEW`, `view`, `SYSTEM TABLE`, mixed case), 
and `test_table_types_over_arrow_flight` three more `getTables` calls.
   
   Local results on 1258c51dfe7: `FlightSqlSchemaHelperTableTypesTest` (27) and 
`FlightSqlTableTypesTest` (3) pass with Checkstyle; making the mapping return 
the requested name unchanged turns exactly the 10 new cases red. On a local 
cluster with this FE, all 21 `external_table_p0/adbc` suites pass 
(`test_adbc_multi_backend` skips itself on one backend), and so do all 21 
suites under `arrow_flight_sql_p0`, including 
`test_table_types_over_arrow_flight`.
   


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to