\set ECHO none add_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) q|k|p LEFT exists|1|1.0000 LEFT exists|2|1.0000 (2 rows) remove_provenance (1 row) q|k|p LEFT count=0|1|0.2500 LEFT count=0|2|1.0000 (2 rows) remove_provenance (1 row) q|k|p LEFT count>=2|1|0.2500 (1 row) remove_provenance (1 row) q|k|p RIGHT exists|1|0.7500 RIGHT exists|3|0.5000 (2 rows) remove_provenance (1 row) q|k|p FULL exists|1|1.0000 FULL exists|2|1.0000 FULL exists|3|0.5000 (3 rows) add_provenance (1 row) repair_key (1 row) remove_provenance (1 row) q|k|p BID count<=1|1|1.0000 (1 row) remove_provenance (1 row) q|k|p BID count>=1|1|0.8000 (1 row) remove_provenance (1 row) q|k|p BID count=0|1|0.2000 (1 row) add_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) q|k|p SUBQ-ARM exists|1|1.0000 SUBQ-ARM exists|2|1.0000 (2 rows) remove_provenance (1 row) q|k|p SUBQ-ARM count=0|1|0.2500 SUBQ-ARM count=0|2|1.0000 (2 rows) add_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) q|id|c|cw|s DISPLAY left|1|2 (*)|2 (*)|12 (*) DISPLAY left|2|1 (*)|1 (*)|8 (*) DISPLAY left|3|1 (*)|0 (*)| (3 rows) q|id|c|cw|s PLAIN left|1|2|2|12 PLAIN left|2|1|1|8 PLAIN left|3|1|0| (3 rows) remove_provenance (1 row) q|c DISPLAY full|1 (*) (1 row) remove_provenance (1 row) q|id|w|holds HOLDS left|1|5|t HOLDS left|1|7|t HOLDS left|1||f HOLDS left|2|8|t HOLDS left|2||f HOLDS left|3||t (6 rows) remove_provenance (1 row) q|id|c|c1 AGG left|1|2 (*)|3 (*) AGG left|2|1 (*)|2 (*) AGG left|3|0 (*)| (3 rows) add_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) q|rid|lid|e|no_token PADDED GROUP|1|1|1500|f PADDED GROUP|1|1|1500|t PADDED GROUP||1|1500|f PADDED GROUP||1|1500|t (4 rows) remove_provenance (1 row) q|id|w EXISTS left|1|5 EXISTS left|1|7 EXISTS left|3| (3 rows) add_provenance (1 row) remove_provenance (1 row) id|child|id2|present 1|2|2|t 1|2||f 1|3|3|t 1|3||f 2|4||t (5 rows) add_provenance (1 row) remove_provenance (1 row) l|x|d|present 1|1|2|t 1|1||f 1|2||t (3 rows) add_provenance (1 row) remove_provenance (1 row) id|a|b|own 1|1|x|t 2|2|y|t (2 rows) add_provenance (1 row) add_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) q|id|t|w|p|present beside a FROM item|1||100|0.2500|f beside a FROM item|1|10|100|0.2500|t beside a FROM item|3||100|0.5000|t chain|1|||0.2500|f chain|1||100|0.2500|f chain|1|10||0.2500|f chain|1|10|100|0.2500|t chain|2|||0.2500|f chain|2|20||0.5000|t chain|2|21||0.5000|t chain|3|||0.5000|f chain|3||300|0.5000|t through the padded side|1|||0.5000|f through the padded side|1|10||0.2500|f through the padded side|1|10|100|0.2500|t through the padded side|2|||0.5000|f through the padded side|2|20||0.5000|t through the padded side|3|||1.0000|t (18 rows) remove_provenance (1 row) n_rows 9 (1 row) remove_provenance (1 row) q|id|t|w|p|present join on the padded side|1|||0.5000|f join on the padded side|1||100|0.0000|f join on the padded side|1|10||0.2500|f join on the padded side|1|10|100|0.2500|t join on the padded side|2|||0.2500|f join on the padded side|2|20||0.5000|t join on the padded side|2|21||0.5000|t join on the padded side|3|||1.0000|t joins on both sides|1|||0.1250|f joins on both sides|1|20|100|0.2500|t joins on both sides|1|21|100|0.2500|t joins on both sides|3|||0.5000|t (12 rows) add_provenance (1 row) add_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) q|id|rid|k|p lateral over a sibling|1||8|0.1250 lateral over a sibling|1|1|8|0.1250 lateral over a sibling|2||8|0.2500 lateral over constants|1||1|0.2500 lateral over constants|1|1|1|0.2500 lateral over constants|2||1|0.5000 (6 rows) ERROR: ProvSQL: unsupported LEFT JOIN: a provenance-tracked relation sits on the null-padded side of a join that could not be lowered (only a two-relation outer join with no outer reference to the join RTE is); rewrite the query or remove provenance from the null-padded side DETAIL: provsql-reason: outer-join-not-lowered; scope: gap ERROR: ProvSQL: unsupported LEFT JOIN: a provenance-tracked relation sits on the null-padded side of a join that could not be lowered (only a two-relation outer join with no outer reference to the join RTE is); rewrite the query or remove provenance from the null-padded side DETAIL: provsql-reason: outer-join-not-lowered; scope: gap ERROR: ProvSQL: a whole-row value, or a system column (ctid, xmin, ...), of a relation is read, and the rewriting of an outer join -- the query's own, or one introduced for a sublink -- puts that relation in a subquery, which has neither DETAIL: provsql-reason: outer-join-whole-row-or-system-column; scope: gap ERROR: ProvSQL: a whole-row value, or a system column (ctid, xmin, ...), of a relation is read, and the rewriting of an outer join -- the query's own, or one introduced for a sublink -- puts that relation in a subquery, which has neither DETAIL: provsql-reason: outer-join-whole-row-or-system-column; scope: gap ERROR: ProvSQL: a whole-row value, or a system column (ctid, xmin, ...), of a relation is read, and the rewriting of an outer join -- the query's own, or one introduced for a sublink -- puts that relation in a subquery, which has neither DETAIL: provsql-reason: outer-join-whole-row-or-system-column; scope: gap remove_provenance (1 row) id|n 1|1 (*) 2|0 (*) (2 rows) count|provsql 1 (*)|d265daa9-f206-561d-845c-2a85fa0fa72c (1 row) count|provsql 1 (*)|d265daa9-f206-561d-845c-2a85fa0fa72c (1 row) remove_provenance (1 row) m|j|n|p a|[{"id":1,"m":"a"}] (*)|1 (*)|0.2500 (1 row) remove_provenance (1 row) j [{"id":1,"m":"a"}] (*) (1 row) add_provenance (1 row) remove_provenance (1 row) id 1 2 (2 rows) remove_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) o|p 1-3-3-N|0.250000 1-3-N-N|0.000000 1-4-3-N|0.125000 1-4-N-N|0.125000 1-N-3-N|0.000000 1-N-N-N|0.125000 2-5-4-N|0.125000 2-5-N-N|0.125000 2-N-4-N|0.125000 2-N-N-N|0.125000 (10 rows) remove_provenance (1 row) o|p 1-3-N|0.250000 1-4-N|0.250000 1-N-N|0.125000 2-5-N|0.250000 2-N-N|0.250000 (5 rows) remove_provenance (1 row) k|p 0|0.125000 1|0.000000 2|0.000000 (3 rows) remove_provenance (1 row) k|p 0|0.750000 1|0.750000 2|0.500000 (3 rows) remove_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) v|p 1|0.500000 2|0.500000 4|1.000000 (3 rows) remove_provenance (1 row) v|p 1|0.500000 2|0.500000 4|1.000000 (3 rows) remove_provenance (1 row) g|e 1|0.500000 2|1.000000 3|1.000000 (3 rows) remove_provenance (1 row) add_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) k|v|p 1|10|0.500000 1|20|0.500000 1||0.250000 2||1.000000 (4 rows) remove_provenance (1 row) k|p 1|0.250000 2|1.000000 (2 rows) remove_provenance (1 row) k|p 1|0.500000 (1 row) ERROR: ProvSQL: unsupported LEFT JOIN: a provenance-tracked relation sits on the null-padded side of a join that could not be lowered (only a two-relation outer join with no outer reference to the join RTE is); rewrite the query or remove provenance from the null-padded side DETAIL: provsql-reason: outer-join-not-lowered; scope: gap remove_provenance (1 row) remove_provenance (1 row) add_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) g|l 1| 2| (2 rows) remove_provenance (1 row) v 0 rows (1 row) remove_provenance (1 row) remove_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) month|total|p Apr|0|0.2500 Apr|430|0.7500 Feb|0|0.5000 Feb|240|0.5000 Jan|0|0.5000 Jan|100|0.5000 Mar|0|1.0000 (7 rows) remove_provenance (1 row) total|p 0|0.0625 100|0.0625 240|0.1250 430|0.7500 (4 rows) remove_provenance (1 row) add_provenance (1 row) add_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) c|id|parentid both sides|1|1 both sides|2| exists|1| exists|2|2 full not in|1|1 full not in|2| full not in||2 not in|1|1 not in|2| right in|2|2 right in||1 (11 rows) remove_provenance (1 row) remove_provenance (1 row) remove_provenance (1 row)