![]() |
ProvSQL C/C++ API
Adding support for provenance and uncertainty management to PostgreSQL databases
|
Walker: count SubLink nodes (capturing the first), and capture a Var referencing varno target_varno (level 0) – used to find a Q column for the count() key.
More...

Public Attributes | |
| int | n_sublinks |
| SubLink * | found_sublink |
| Index | target_varno |
| Var * | found_var |
| Var * | found_plain_var |
| The first such Var whose column is no aggregate result, preferred where the column is counted: counting an aggregate result is a test that its row is there, which reads as an aggregation over an aggregate result and is refused, while any other column of the same rows answers it. | |
| const constants_t * | constants |
| For that recognition, or NULL to skip it. | |
| RangeTblEntry * | target_rte |
The entry target_varno addresses. | |
Walker: count SubLink nodes (capturing the first), and capture a Var referencing varno target_varno (level 0) – used to find a Q column for the count() key.
| const constants_t* oj_sublink_scan::constants |
| Var* oj_sublink_scan::found_plain_var |
The first such Var whose column is no aggregate result, preferred where the column is counted: counting an aggregate result is a test that its row is there, which reads as an aggregation over an aggregate result and is refused, while any other column of the same rows answers it.
Recognised by the column, not by its type: the Var still has the type the query declares, the retyping to agg_token coming later.
| RangeTblEntry* oj_sublink_scan::target_rte |