Time Travel

Enable time travel queries in your Arrow Flight server to allow DuckDB users to query historical table snapshots using timestamps or version numbers.

As of version 1.3.0, DuckDB supports time travel (also known as point-in-time) SQL queries, allowing users to query the historical state of a table.

Some examples are:

-- Query table as it existed at a specific timestamp
SELECT * FROM example.main.employees AT (TIMESTAMP => TIMESTAMP '2020-01-01');

-- Query table by a specific version number
SELECT * FROM example.main.employees AT (VERSION => 42);

Arrow Flight servers may optionally implement support for time travel queries. If a requested timestamp or version is not available - or if the server chooses not to support time travel - it may raise an appropriate exception.

Point-in-time information is relevant in the following server actions:

It is also passed to table returning functions that have a table as a parameter (in/out table functions);