Perhaps I have missed some details, please help me correct them. What I want to express is this requirement: when encountering the first non-existent table, the behavior of this interface may be one of the following:
1. Continue loading the remaining tables and return the status of each table. 2. Immediately terminate and add the remaining tables to the unprocessed-tables list. The behavior I see in the proposal is the first one. 在 2026年2月4日 10:00:25 上,Steven Wu <[email protected]> 写道: > > 1. Can the batch loading interface support quick failure? If the engine > hopes to fail immediately upon encountering a single table during the > planning process, there is no need to load subsequent tables. > > This behavior aligns with the current wording in the design doc, as the > status code for individual table in the response payload only covers "Ok", > "NotFound", "NotModified". Any other failure (like authorization) will > cause the whole request to fail. This section > <https://docs.google.com/document/d/1VW5hgaaajRWtp5KbOU3s83YyoyPi5WOSvHtoJ_yXzJs/edit?tab=t.0> > talked about partial failure for authorization issues. > > This is probably worth discussing. Not sure what others think. > > > 2. Is it necessary to support time travel configuration at the table > level? In time travel queries, the engine may need to load specific > versions of table metadata. > > Time travel is handled entirely on the client side. Catalog just returns > the snapshot history in the table. > > But if you are talking about the multi-table multi-statement transaction, > that is mentioned in the non-goal of this proposal. Whatever outcome > results from the transaction discussion can apply to both single and batch > table load endpoints. > > On Tue, Feb 3, 2026 at 5:48 PM Guotao Yu <[email protected]> wrote: > >> Hi Steven, >> >> 在 2026年2月3日 02:04:13 上,Steven Wu <[email protected]> 写道: >> >>> Hi, >>> >>> I would like to discuss a proposal to add batch load endpoints for >>> tables and views to the REST spec. >>> >>> https://docs.google.com/document/d/1VW5hgaaajRWtp5KbOU3s83YyoyPi5WOSvHtoJ_yXzJs/edit?tab=t.0 >>> >>> It can help with the use cases >>> * Catalog federation: improve refresh throughput and reduce load on the >>> source catalog >>> * Improve planning performance by loading multiple referenced tables in >>> one request. >>> * Improve MV freshness evaluation if referencing multiple source tables >>> >>> Thanks, >>> Steven >>> >> >> I strongly agree with the role of batch loading interfaces in optimizing >> the planning performance of the engine. In specific implementations, >> concurrent loading can also be used to improve scenarios involving many >> tables in queries. After looking at the batch loading API, I have the >> following questions: >> >> 1. Can the batch loading interface support quick failure? If the engine >> hopes to fail immediately upon encountering a single table during the >> planning process, there is no need to load subsequent tables. >> >> 2. Is it necessary to support time travel configuration at the table >> level? In time travel queries, the engine may need to load specific >> versions of table metadata. >> >> — >> Regards >> Guotao Yu >> >
