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

Per-query marker context for the inversion-free path, threaded through the recursive query rewrite to reach base inputs nested in subqueries. More...

#include "safe_query.h"

Collaboration diagram for InvFreeMarkerCtx:

Public Attributes

int natoms
InvFreeMarkermarkers
InvFreeMarkerCtx ** sub

Detailed Description

Per-query marker context for the inversion-free path, threaded through the recursive query rewrite to reach base inputs nested in subqueries.

The detector runs on a flattened copy of the lineage query (single-base SPJ subqueries / views inlined to their base relation in place, so range-table positions are preserved). The resulting per-atom markers are organised into a context tree mirroring the original (un-flattened) query: for range-table position i (0-based), markers[i] is the order marker for a base relation sitting directly at i, while sub[i] is the child context for a flattened subquery at i (whose own base atom carries the marker). Exactly one of markers[i].valid and sub[i]!=NULL holds for a certified atom. A query rewritten with a non-NULL context applies markers to its own base prov Vars and passes sub[i] down when recursing into the subquery at i.

Definition at line 73 of file safe_query.h.

Member Data Documentation

◆ markers

InvFreeMarker* InvFreeMarkerCtx::markers

Definition at line 75 of file safe_query.h.

◆ natoms

int InvFreeMarkerCtx::natoms

Definition at line 74 of file safe_query.h.

◆ sub

InvFreeMarkerCtx** InvFreeMarkerCtx::sub

Definition at line 76 of file safe_query.h.


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