ProvSQL C/C++ API
Adding support for provenance and uncertainty management to PostgreSQL databases
Loading...
Searching...
No Matches
safe_inner_group Struct Reference

Descriptor for an inner sub-Query introduced when one or more shared classes have partial coverage. More...

Public Attributes

int group_id
List * member_atoms
 List of safe_rewrite_atom *, in original-rtindex order.
List * inner_quals
 List of Node *: cross-atom conjuncts whose vars all reference group members (original varnos; the rewriter remaps to inner varnos at build time).
Index outer_rtindex
 Assigned by the rewriter: position of the inner sub-Query RTE in the outer rtable.

Detailed Description

Descriptor for an inner sub-Query introduced when one or more shared classes have partial coverage.

Every member atom shares the same partial-coverage set; the group is folded into a single RTE_SUBQUERY at the outer level whose targetList is the fully-covered-class bindings (root first, then other fully-covered classes in ascending repr order) plus the implicit provsql column, and whose groupClause aggregates the partial-coverage variables away. The hierarchical-CQ rewriter fires again when process_query re-enters on the inner sub-Query, so the per-atom SELECT DISTINCT wraps materialise inside.

Definition at line 315 of file safe_query.c.

Member Data Documentation

◆ group_id

int safe_inner_group::group_id

Definition at line 316 of file safe_query.c.

◆ inner_quals

List* safe_inner_group::inner_quals

List of Node *: cross-atom conjuncts whose vars all reference group members (original varnos; the rewriter remaps to inner varnos at build time).

Definition at line 318 of file safe_query.c.

◆ member_atoms

List* safe_inner_group::member_atoms

List of safe_rewrite_atom *, in original-rtindex order.

Definition at line 317 of file safe_query.c.

◆ outer_rtindex

Index safe_inner_group::outer_rtindex

Assigned by the rewriter: position of the inner sub-Query RTE in the outer rtable.

Definition at line 319 of file safe_query.c.


The documentation for this struct was generated from the following file: