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

WhereCircuit method implementations and where-provenance evaluation. More...

#include "WhereCircuit.h"
#include "provsql_utils.h"
#include <unistd.h>
#include <cassert>
#include <string>
#include <fstream>
#include <sstream>
#include <cstdlib>
Include dependency graph for WhereCircuit.cpp:

Go to the source code of this file.

Detailed Description

WhereCircuit method implementations and where-provenance evaluation.

Implements:

  • Gate creation methods: setGate(), setGateInput(), setGateProjection(), setGateEquality().
  • toString(): human-readable gate representation for debugging.
  • evaluate(): recursive DFS that computes the set of Locator values for each output column position, propagating provenance through TIMES (Cartesian product), PLUS (union), PROJECT (column selection), and EQ (equijoin merging) gates.
  • WhereCircuit::Locator::operator<() and toString().

Definition in file WhereCircuit.cpp.