sqlite-parquet-vtable/tests
Colin Dellow d3ab5ff3e7 Cache clauses -> row group mapping
Create a shadow table. For `stats`, it'd be `_stats_rowgroups`.

It contains three columns:

- the clause (eg `city = 'Dawson Creek'`)
- the initial estimate, as a bitmap of rowgroups based on stats
- the actual observed rowgroups, as a bitmap

This papers over poorly sorted parquet files, at the cost of some disk
space. It makes interactive queries much more natural -- drilldown style
queries are much faster, as they can leverage work done by previous
queries.

eg 'SELECT * FROM stats WHERE city = 'Dawson Creek' and question_id >= 1935 and question_id <= 1940`
takes ~584ms on first run, but 9ms on subsequent runs.

We only create entries when the estimates don't match the actual
results.

Fixes #6
2018-03-24 23:57:15 -04:00
..
templates Fix incorrect row pruning for non-text BYTE_ARRAY 2018-03-18 19:43:09 -04:00
create-queries-from-templates Also compare queries against SQLite itself 2018-03-18 17:49:12 -04:00
create-template Generate queries from templates 2018-03-18 14:28:31 -04:00
test-all Add testcase generator 2018-03-18 19:11:26 -04:00
test-failmalloc don't segfault on low memory 2018-03-24 12:48:29 -04:00
test-non-existent Add explicit test for file not found 2018-03-18 11:58:23 -04:00
test-queries Cache clauses -> row group mapping 2018-03-24 23:57:15 -04:00
test-random Add LIMIT/OFFSET to random queries 2018-03-24 19:02:30 -04:00
test-supported test case for nulls 2018-03-04 22:48:39 -05:00
test-unsupported test case for nulls 2018-03-04 22:48:39 -05:00