-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Push catalog lookups through an extensible EntryLookupInfo struct #16764
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… info struct as well
Mytherin
added a commit
that referenced
this pull request
Mar 24, 2025
This PR adds support for time travel syntax in the `FROM` clause, specifically this syntax is now accepted: ```sql SELECT * FROM tbl AT (TIMESTAMP => TIMESTAMP '2020-01-01') SELECT * FROM tbl AT (VERSION => 42) ``` This is not yet supported in any catalogs, but is pushed into the catalogs using the `EntryLookupInfo` introduced in #16764. Catalogs need to indicate they support this syntax by overloading this method, that defaults to false: ```cpp virtual bool SupportsTimeTravel() const { return false; } ``` The information is passed to the catalog using the `BoundAtClause`: ```cpp class BoundAtClause { //! The unit (e.g. TIMESTAMP or VERSION) string unit; //! The value that is associated with the unit (e.g. TIMESTAMP '2020-01-01') Value val; }; ``` ### Keyword "AT" In order to facilitate this in the parser, the keyword `AT` has been moved from unreserved to partially reserved. It can no longer be used a column name/alias without quotes.
krlmlr
added a commit
to duckdb/duckdb-r
that referenced
this pull request
May 15, 2025
Push catalog lookups through an extensible EntryLookupInfo struct (duckdb/duckdb#16764) Pyodide 0.27.2: conditionally skip tests (duckdb/duckdb#16772) Avoid building Python 3.7 wheels also for Linux (duckdb/duckdb#16769)
krlmlr
added a commit
to duckdb/duckdb-r
that referenced
this pull request
May 15, 2025
Push catalog lookups through an extensible EntryLookupInfo struct (duckdb/duckdb#16764) Pyodide 0.27.2: conditionally skip tests (duckdb/duckdb#16772) Avoid building Python 3.7 wheels also for Linux (duckdb/duckdb#16769)
krlmlr
added a commit
to duckdb/duckdb-r
that referenced
this pull request
May 16, 2025
Push catalog lookups through an extensible EntryLookupInfo struct (duckdb/duckdb#16764) Pyodide 0.27.2: conditionally skip tests (duckdb/duckdb#16772) Avoid building Python 3.7 wheels also for Linux (duckdb/duckdb#16769)
krlmlr
added a commit
to duckdb/duckdb-r
that referenced
this pull request
May 16, 2025
Push catalog lookups through an extensible EntryLookupInfo struct (duckdb/duckdb#16764) Pyodide 0.27.2: conditionally skip tests (duckdb/duckdb#16772) Avoid building Python 3.7 wheels also for Linux (duckdb/duckdb#16769)
krlmlr
added a commit
to duckdb/duckdb-r
that referenced
this pull request
May 17, 2025
Push catalog lookups through an extensible EntryLookupInfo struct (duckdb/duckdb#16764) Pyodide 0.27.2: conditionally skip tests (duckdb/duckdb#16772) Avoid building Python 3.7 wheels also for Linux (duckdb/duckdb#16769)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is
30AC
invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR reworks catalog lookups so they are performed through a struct -
EntryLookupInfo
- which can be extended with new parameters in the future without breaking the catalog APIs. The struct looks as follows:Several of the old retrieval methods (that do not take this struct) are kept for backwards-compatibility reasons - but the main entry points now all use this struct. The idea is that this will be extended in the (very near) future with extra information that can be pushed along with the lookup.