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]