\set ECHO none add_provenance (1 row) remove_provenance (1 row) c|pr 1|0.875000 2|0.437500 (2 rows) remove_provenance (1 row) c 1 2 (2 rows) remove_provenance (1 row) m|pr 10|0.250000 20|0.500000 30|0.500000 40|0.250000 50|0.500000 (5 rows) WARNING: ProvSQL: aggregate result read as a plain value: provenance not tracked, although the statement tracks eav DETAIL: provsql-reason: aggregate-read-as-plain-value; scope: gap; reader: cast HINT: Mark it plain() to say so. remove_provenance (1 row) c|n|e_n|pr 1|1|1.714286|0.875000 2|2|1.142857|0.437500 (2 rows) remove_provenance (1 row) c|pr 0|0.031250 1|0.156250 2|0.312500 3|0.312500 4|0.156250 5|0.031250 (6 rows) c|pr 1|0.875000 2|0.437500 (2 rows) g|c|pr 1|1|0.500000 1|2|0.250000 2|1|0.500000 3|1|0.500000 3|2|0.250000 (5 rows) c|pr 1|0.875000 2|0.437500 (2 rows) c|pr 1|0.125000 2|0.187500 (2 rows) c|pr 1|0.750000 2|0.250000 (2 rows) k|s|present|pr none||t|1.000000 one|30|t|0.500000 one||f|0.500000 (3 rows) ERROR: ProvSQL: the value of an aggregate of this set operation cannot be matched with the other arms': it is one value per possible world, and only a count(), a min(), a max(), a choose() and a sum() over an integer column take values that can be enumerated and exploded into one row each, in every arm; use UNION ALL, or cast the aggregate explicitly (::numeric, ::text, ...) to read its plain value DETAIL: provsql-reason: setop-aggregate-value; scope: gap ERROR: ProvSQL: the value of an aggregate of this set operation cannot be matched with the other arms': it is one value per possible world, and only a count(), a min(), a max(), a choose() and a sum() over an integer column take values that can be enumerated and exploded into one row each, in every arm; use UNION ALL, or cast the aggregate explicitly (::numeric, ::text, ...) to read its plain value DETAIL: provsql-reason: setop-aggregate-value; scope: gap remove_provenance (1 row) total|pr 10|0.250000 20|0.250000 30|0.625000 40|0.250000 50|0.250000 90|0.250000 (6 rows) add_provenance (1 row) ERROR: ProvSQL: the value of this aggregate cannot be a GROUP BY key or a DISTINCT column: it is one value per possible world, and only a count(), a min(), a max(), a choose() and a sum() over an integer column take values that can be enumerated and exploded into one row each; mark it plain() to group by its plain value DETAIL: provsql-reason: aggregate-value-as-key; scope: gap remove_provenance (1 row) t|p|c 0.3|0.875000|1.428571 (1 row) ERROR: ProvSQL: the value of this aggregate cannot be a GROUP BY key or a DISTINCT column: it is one value per possible world, and only a count(), a min(), a max(), a choose() and a sum() over an integer column take values that can be enumerated and exploded into one row each; mark it plain() to group by its plain value DETAIL: provsql-reason: aggregate-value-as-key; scope: gap ERROR: ProvSQL: the value of this aggregate cannot be a GROUP BY key or a DISTINCT column: it is one value per possible world, and only a count(), a min(), a max(), a choose() and a sum() over an integer column take values that can be enumerated and exploded into one row each; mark it plain() to group by its plain value DETAIL: provsql-reason: aggregate-value-as-key; scope: gap add_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) c|pr 0|0.625000 1|0.250000 (2 rows) add_provenance (1 row) remove_provenance (1 row) m|pr a|0.250000 b|0.500000 c|0.500000 (3 rows) remove_provenance (1 row) m a b c (3 rows) remove_provenance (1 row) c 1 (1 row) add_provenance (1 row) remove_provenance (1 row) g|degree 1|15 (1 row) WARNING: ProvSQL: aggregate result read as a plain value: provenance not tracked, although the statement tracks eav_many DETAIL: provsql-reason: aggregate-read-as-plain-value; scope: gap; reader: cast HINT: Mark it plain() to say so. remove_provenance (1 row) n 1 (1 row) WARNING: ProvSQL: converting agg_token to numeric: provenance information is lost DETAIL: provsql-reason: stored-agg-token-conversion; scope: deliberate remove_provenance (1 row) total 30 90 (2 rows) ERROR: ProvSQL: grouping by an expression over the value of an aggregate is not supported: the values such an expression takes over the possible worlds are not among the ones the aggregate reads, so its rows cannot be exploded into one per value; group by the aggregate itself, which is exploded, or compute the expression in the subquery that aggregates DETAIL: provsql-reason: group-by-aggregate-expression; scope: gap ERROR: ProvSQL: grouping by an expression over the value of an aggregate is not supported: the values such an expression takes over the possible worlds are not among the ones the aggregate reads, so its rows cannot be exploded into one per value; group by the aggregate itself, which is exploded, or compute the expression in the subquery that aggregates DETAIL: provsql-reason: group-by-aggregate-expression; scope: gap add_provenance (1 row) ERROR: ProvSQL: grouping by an expression over a tracked value is not supported: the arithmetic over it is tracked too, so the grouping would be by one token per row rather than by the value, and would return one group per row where SQL returns one; mark it plain() to group by its plain value DETAIL: provsql-reason: group-by-tracked-expression; scope: gap remove_provenance (1 row) WARNING: ProvSQL: converting agg_token to text: provenance information is lost DETAIL: provsql-reason: stored-agg-token-conversion; scope: deliberate k|n 0|30 (1 row) remove_provenance (1 row) WARNING: ProvSQL: converting agg_token to text: provenance information is lost DETAIL: provsql-reason: stored-agg-token-conversion; scope: deliberate k|n 0|30 (1 row) remove_provenance (1 row) remove_provenance (1 row) WARNING: ProvSQL: ordering or grouping an aggregate result reads the value shown, not per world DETAIL: provsql-reason: agg-token-ordered-by-value; scope: deliberate k 3 (*) 3 (*) 4 (*) (3 rows) add_provenance (1 row) remove_provenance (1 row) g|f|p 1|false|0.250000 1|true|0.500000 2|false|0.750000 3|false|0.000000 3|true|0.500000 (5 rows) remove_provenance (1 row) g|f|p 1|false|0.250000 1|true|0.500000 1|unknown|0.000000 2|unknown|0.750000 3|false|0.000000 3|true|0.500000 3|unknown|0.000000 (7 rows) remove_provenance (1 row) g|lbl|p 1|one|0.500000 1|other|0.250000 2|other|0.750000 3|one|0.500000 3|other|0.000000 (5 rows) remove_provenance (1 row) g|f|p 1|false|0.750000 2|unknown|0.750000 3|false|0.500000 (3 rows) remove_provenance (1 row) g|f2 1|true 2|NULL 3|NULL (3 rows) remove_provenance (1 row) g|f|p 1|false|0.500000 1|true|0.250000 1|unknown|0.000000 2|false|0.750000 2|unknown|0.000000 3|false|0.500000 3|unknown|0.000000 (7 rows) remove_provenance (1 row) g|f|p 1|false|0.250000 1|true|0.500000 2|unknown|0.750000 3|true|0.500000 (4 rows) remove_provenance (1 row) g|f|p 1|false|0.500000 1|true|0.500000 2|false|1.000000 3|false|0.500000 3|true|0.500000 4|false|1.000000 (6 rows) remove_provenance (1 row) g|s|p 1|0|0.250000 1|1|0.250000 1|5|0.250000 1|6|0.250000 2|0|1.000000 3|0|0.500000 3|7|0.500000 4|0|1.000000 (8 rows) remove_provenance (1 row) g|e 1|1.500000 2|2.250000 3|1.375000 4|2.250000 (4 rows) add_provenance (1 row) remove_provenance (1 row) g|e 1|1.375000 2|1.500000 (2 rows) remove_provenance (1 row) g|f|p 1|false|0.500000 1|true|0.500000 2|false|0.750000 2|true|0.250000 (4 rows) remove_provenance (1 row) remove_provenance (1 row) f|p f|0.500000 t|0.500000 (2 rows) add_provenance (1 row) remove_provenance (1 row) WARNING: ProvSQL: converting agg_token to text: provenance information is lost DETAIL: provsql-reason: stored-agg-token-conversion; scope: deliberate cnt|s 1|1 2|2 (2 rows) remove_provenance (1 row) WARNING: ProvSQL: converting agg_token to text: provenance information is lost DETAIL: provsql-reason: stored-agg-token-conversion; scope: deliberate total|s 1|1 2|2 (2 rows) remove_provenance (1 row) add_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) src|a|b|p A|||0.250000 A|10|1|0.250000 A|20|2|0.250000 A|30|3|0.250000 B|0|0|0.250000 B|1|0|0.250000 B|1|1|0.250000 B|2|1|0.250000 (8 rows) total_mass 2.000000 (1 row) remove_provenance (1 row) remove_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) WARNING: ProvSQL: converting agg_token to text: provenance information is lost DETAIL: provsql-reason: stored-agg-token-conversion; scope: deliberate WARNING: ProvSQL: converting agg_token to numeric: provenance information is lost DETAIL: provsql-reason: stored-agg-token-conversion; scope: deliberate r|ab|ce|fl|rd|sq|l|e 40.00|40|40|40|20.00|4.4721359549995794|3.688879|7.389056 (1 row) r|ab|ce|fl|rd|sq|l|e 40.00|40|40|40|20.00|4.4721359549995794|3.688879|7.389056 (1 row) WARNING: ProvSQL: aggregate result read as a plain value: provenance not tracked, although the statement tracks eavs DETAIL: provsql-reason: aggregate-read-as-plain-value; scope: gap; reader: function HINT: Mark it plain() to say so. p|t|provsql 1600.0000 (*)|40.0|d265daa9-f206-561d-845c-2a85fa0fa72c (1 row) remove_provenance (1 row) add_provenance (1 row) remove_provenance (1 row) m|p 5|0.625000 7|0.500000 |0.625000 (3 rows) remove_provenance (1 row) k|p 1|0.750000 2|0.750000 3|0.500000 102|0.500000 (4 rows) remove_provenance (1 row)