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

Mutator context for safe_remap_vars_mutator. More...

Public Attributes

List * atoms
 List of safe_rewrite_atom *, one per RTE.
List * groups
 List of safe_inner_group *.
bool bail
 Set when a Var has no slot in its atom's projection; the caller aborts the rewrite and falls back to the default pipeline rather than emitting a broken plan.

Detailed Description

Mutator context for safe_remap_vars_mutator.

atoms gives one descriptor per original RTE. For both outer-wrap atoms (group_id == -1) and grouped atoms (group_id >= 0), the Var is rewritten by scanning the atom's proj_slots for the matching base_attno: the new varno is the atom's (or its group's) outer_rtindex, the new varattno is the slot's 1-based position in proj_slots. A Var whose base_attno is not in any slot (i.e. the column does not belong to any fully- covered shared class) triggers an error – the wrap / inner sub- Query has no matching output column for it, and the detector should have rejected such a query.

Definition at line 1954 of file safe_query.c.

Member Data Documentation

◆ atoms

List* safe_remap_ctx::atoms

List of safe_rewrite_atom *, one per RTE.

Definition at line 1955 of file safe_query.c.

◆ bail

bool safe_remap_ctx::bail

Set when a Var has no slot in its atom's projection; the caller aborts the rewrite and falls back to the default pipeline rather than emitting a broken plan.

Definition at line 1957 of file safe_query.c.

◆ groups

List* safe_remap_ctx::groups

List of safe_inner_group *.

Definition at line 1956 of file safe_query.c.


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