8000 Add support for time travel syntax in the `FROM` clause by Mytherin · Pull Request #16774 · duckdb/duckdb · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Add support for time travel syntax in the FROM clause #16774

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
merged 15 commits into from
Mar 24, 2025

Conversation

Mytherin
Copy link
Collaborator
@Mytherin Mytherin commented Mar 21, 2025

This PR adds support for time travel syntax in the FROM clause, specifically this syntax is now accepted:

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:

virtual bool SupportsTimeTravel() const {
	return false;
}

The information is passed to the catalog using the BoundAtClause:

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.

@duckdb-draftbot duckdb-draftbot marked this pull request as draft March 23, 2025 09:01
@Mytherin Mytherin marked this pull request as ready for review March 23, 2025 09:50
@duckdb-draftbot duckdb-draftbot marked this pull request as draft March 23, 2025 09:57
@Mytherin Mytherin marked this pull request as ready for review March 23, 2025 09:59
@duckdb-draftbot duckdb-draftbot marked this pull request as draft March 23, 2025 14:39
@Mytherin Mytherin marked this pull request as ready for review March 23, 2025 14:39
@Mytherin Mytherin merged commit 242d3f7 into duckdb:main Mar 24, 2025
49 of 50 checks passed
@Mytherin Mytherin deleted the timetravelsyntax branch April 2, 2025 09:23
krlmlr added a commit to duckdb/duckdb-r that referenced this pull request May 15, 2025
Add support for time travel syntax in the `FROM` clause (duckdb/duckdb#16774)
krlmlr added a commit to duckdb/duckdb-r that referenced this pull request May 15, 2025
Add support for time travel syntax in the `FROM` clause (duckdb/duckdb#16774)
krlmlr added a commit to duckdb/duckdb-r that referenced this pull request May 16, 2025
Add support for time travel syntax in the `FROM` clause (duckdb/duckdb#16774)
krlmlr added a commit to duckdb/duckdb-r that referenced this pull request May 16, 2025
Add support for time travel syntax in the `FROM` clause (duckdb/duckdb#16774)
krlmlr added a commit to duckdb/duckdb-r that referenced this pull request May 17, 2025
Add support for time travel syntax in the `FROM` clause (duckdb/duckdb#16774)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant
0