Skip to content

v0.9.0

Compare
Choose a tag to compare
@elliotchance elliotchance released this 28 Aug 17:13
· 112 commits to main since this release
ca2d058
Adding virtual tables (#28)

Virtual tables allow you to register tables that have their rows
provided at the time of a `SELECT`. The callback for the virtual
table will be called repeatedly until `t.done()` is invoked, even if
zero rows are provided in an iteration. All data will be thrown away
between subsequent `SELECT` operations.

There are a couple of reasons why this is needed:

1. When using vsql as a PostgreSQL server, there are various tables that
different client access (such as `pg_database`) that can be provided
virtually during the connection but do not need to exist as real tables
just to satisfy the connection.

2. It's handy to be able to inject memory-based runtime data from a V
program to interact, or be used exclusively with the database engine.
Apart from virtual tables being faster, it makes SQL-based ETL much
easier.