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

Context for the provenance_mutator tree walker. More...

Collaboration diagram for provenance_mutator_context:

Public Attributes

Expr * provsql
 Provenance expression to substitute for provenance() calls.
const constants_tconstants
 Extension OID cache.
bool provsql_has_aggref
 true when provsql contains an Aggref (set once by replace_provenance_function_by_expression). When true, a provenance() substitution that lands inside another Aggref's argument tree would produce a nested same-level aggregate – parse_agg.c forbids that shape, the planner's preprocess_aggrefs_walker does not recurse through Aggref boundaries, and the inner Aggref's aggno stays at the -1 sentinel and crashes ExecInterpExpr on ecxt_aggvalues[-1].
bool inside_aggref
 true while descending the argument tree of an Aggref node.

Detailed Description

Context for the provenance_mutator tree walker.

Definition at line 2562 of file provsql.c.

Member Data Documentation

◆ constants

const constants_t* provenance_mutator_context::constants

Extension OID cache.

Definition at line 2564 of file provsql.c.

◆ inside_aggref

bool provenance_mutator_context::inside_aggref

true while descending the argument tree of an Aggref node.

Definition at line 2566 of file provsql.c.

◆ provsql

Expr* provenance_mutator_context::provsql

Provenance expression to substitute for provenance() calls.

Definition at line 2563 of file provsql.c.

◆ provsql_has_aggref

bool provenance_mutator_context::provsql_has_aggref

true when provsql contains an Aggref (set once by replace_provenance_function_by_expression). When true, a provenance() substitution that lands inside another Aggref's argument tree would produce a nested same-level aggregate – parse_agg.c forbids that shape, the planner's preprocess_aggrefs_walker does not recurse through Aggref boundaries, and the inner Aggref's aggno stays at the -1 sentinel and crashes ExecInterpExpr on ecxt_aggvalues[-1].

Definition at line 2565 of file provsql.c.


The documentation for this struct was generated from the following file:
  • /home/pierre/git/software/provsql/src/provsql.c