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

A deduplicated fact participating in the DP. More...

#include "JointEncoding.h"

Public Attributes

unsigned relation_id = 0
 Dense id of the relation symbol.
std::vector< unsigned long > elements
 Dense element ids (the fact's tuple).
FactGateKind kind = FactGateKind::INDEP
 How the fact's presence is gated.
std::size_t event = 0
 Index into events (when INDEP).
std::size_t gate = 0
 Index into slice (when GATE).

Detailed Description

A deduplicated fact participating in the DP.

Several FactRow occurrences of the same provenance token (a self-join scanning one relation, or duplicated provenance) collapse to a single Fact serving every matching atom – treating the occurrences as independent would be silently wrong, so the encoding dedups by token.

Definition at line 112 of file JointEncoding.h.

Member Data Documentation

◆ elements

std::vector<unsigned long> Fact::elements

Dense element ids (the fact's tuple).

Definition at line 114 of file JointEncoding.h.

◆ event

std::size_t Fact::event = 0

Index into events (when INDEP).

Definition at line 116 of file JointEncoding.h.

◆ gate

std::size_t Fact::gate = 0

Index into slice (when GATE).

Definition at line 117 of file JointEncoding.h.

◆ kind

How the fact's presence is gated.

Definition at line 115 of file JointEncoding.h.

◆ relation_id

unsigned Fact::relation_id = 0

Dense id of the relation symbol.

Definition at line 113 of file JointEncoding.h.


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