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

Structure to store the value of various constants. More...

#include "provsql_utils.h"

Public Attributes

Oid OID_SCHEMA_PROVSQL
 OID of the provsql SCHEMA.
Oid OID_TYPE_GATE_TYPE
 OID of the provenance_gate TYPE.
Oid OID_TYPE_AGG_TOKEN
 OID of the agg_token TYPE.
Oid OID_TYPE_UUID
 OID of the uuid TYPE.
Oid OID_TYPE_UUID_ARRAY
 OID of the uuid[] TYPE.
Oid OID_TYPE_BOOL
 OID of the BOOL TYPE.
Oid OID_TYPE_INT
 OID of the INT TYPE.
Oid OID_TYPE_INT_ARRAY
 OID of the INT[] TYPE.
Oid OID_TYPE_FLOAT
 OID of the FLOAT TYPE.
Oid OID_TYPE_VARCHAR
 OID of the VARCHAR TYPE.
Oid OID_TYPE_TSTZMULTIRANGE
 OID of the tstzmultirange TYPE (PG14+, InvalidOid otherwise).
Oid OID_TYPE_NUMMULTIRANGE
 OID of the nummultirange TYPE (PG14+, InvalidOid otherwise).
Oid OID_TYPE_INT4MULTIRANGE
 OID of the int4multirange TYPE (PG14+, InvalidOid otherwise).
Oid OID_FUNCTION_ARRAY_AGG
 OID of the array_agg FUNCTION.
Oid OID_FUNCTION_PROVENANCE_PLUS
 OID of the provenance_plus FUNCTION.
Oid OID_FUNCTION_PROVENANCE_TIMES
 OID of the provenance_times FUNCTION.
Oid OID_FUNCTION_PROVENANCE_MONUS
 OID of the provenance_monus FUNCTION.
Oid OID_FUNCTION_PROVENANCE_PROJECT
 OID of the provenance_project FUNCTION.
Oid OID_FUNCTION_PROVENANCE_EQ
 OID of the provenance_eq FUNCTION.
Oid OID_FUNCTION_PROVENANCE_CMP
 OID of the provenance_cmp FUNCTION.
Oid OID_FUNCTION_PROVENANCE
 OID of the provenance FUNCTION.
Oid GATE_TYPE_TO_OID [nb_gate_types]
 Array of the OID of each provenance_gate ENUM value.
Oid OID_FUNCTION_PROVENANCE_DELTA
 OID of the provenance_delta FUNCTION.
Oid OID_FUNCTION_PROVENANCE_AGGREGATE
 OID of the provenance_aggregate FUNCTION.
Oid OID_FUNCTION_PROVENANCE_SEMIMOD
 OID of the provenance_semimod FUNCTION.
Oid OID_FUNCTION_GATE_ZERO
 OID of the provenance_zero FUNCTION.
Oid OID_FUNCTION_GATE_ONE
 OID of the provenance_one FUNCTION.
Oid OID_OPERATOR_NOT_EQUAL_UUID
 OID of the <> operator on UUIDs FUNCTION.
Oid OID_FUNCTION_NOT_EQUAL_UUID
 OID of the = operator on UUIDs FUNCTION.
Oid OID_FUNCTION_AGG_TOKEN_UUID
 OID of the agg_token_uuid FUNCTION.
Oid OID_TYPE_RANDOM_VARIABLE
 OID of the random_variable TYPE.
Oid OID_FUNCTION_RV_AGGREGATE_SEMIMOD
 OID of rv_aggregate_semimod helper (uuid, rv -> rv) used to wrap each per-row argument of an RV-returning aggregate (sum, avg, ...).
Oid OID_FUNCTION_ASSUME_BOOLEAN
 OID of provsql.assume_boolean(uuid)->uuid.
Oid OID_FUNCTION_RV_CMP [6]
 OIDs of the random_variable_{eq,ne,le,lt,ge,gt} comparison procedure functions, indexed by the ComparisonOperator enum (EQ=0, NE=1, LE=2, LT=3, GE=4, GT=5; matches the order in src/Aggregation.h).
bool ok
 true if constants were loaded

Detailed Description

Structure to store the value of various constants.

This is needed to uniquely identify types, functions, etc., in PostgreSQL through their Object Identifier Types (OIDs).

Definition at line 115 of file provsql_utils.h.

Member Data Documentation

◆ GATE_TYPE_TO_OID

Oid constants_t::GATE_TYPE_TO_OID[nb_gate_types]

Array of the OID of each provenance_gate ENUM value.

Definition at line 137 of file provsql_utils.h.

◆ OID_FUNCTION_AGG_TOKEN_UUID

Oid constants_t::OID_FUNCTION_AGG_TOKEN_UUID

OID of the agg_token_uuid FUNCTION.

Definition at line 145 of file provsql_utils.h.

◆ OID_FUNCTION_ARRAY_AGG

Oid constants_t::OID_FUNCTION_ARRAY_AGG

OID of the array_agg FUNCTION.

Definition at line 129 of file provsql_utils.h.

◆ OID_FUNCTION_ASSUME_BOOLEAN

Oid constants_t::OID_FUNCTION_ASSUME_BOOLEAN

OID of provsql.assume_boolean(uuid)->uuid.

Installed by the 1.5.0--1.6.0 upgrade script. Wraps its child in a fresh gate_assumed_boolean and returns the wrapper's UUID. When InvalidOid the safe-query rewriter (and any other Boolean-only rewrite that needs the marker) is effectively disabled even if provsql.boolean_provenance is on: the rewriter refuses to produce unmarked roots on a schema that cannot enforce the semiring-compatibility check.

Definition at line 157 of file provsql_utils.h.

◆ OID_FUNCTION_GATE_ONE

Oid constants_t::OID_FUNCTION_GATE_ONE

OID of the provenance_one FUNCTION.

Definition at line 142 of file provsql_utils.h.

◆ OID_FUNCTION_GATE_ZERO

Oid constants_t::OID_FUNCTION_GATE_ZERO

OID of the provenance_zero FUNCTION.

Definition at line 141 of file provsql_utils.h.

◆ OID_FUNCTION_NOT_EQUAL_UUID

Oid constants_t::OID_FUNCTION_NOT_EQUAL_UUID

OID of the = operator on UUIDs FUNCTION.

Definition at line 144 of file provsql_utils.h.

◆ OID_FUNCTION_PROVENANCE

Oid constants_t::OID_FUNCTION_PROVENANCE

OID of the provenance FUNCTION.

Definition at line 136 of file provsql_utils.h.

◆ OID_FUNCTION_PROVENANCE_AGGREGATE

Oid constants_t::OID_FUNCTION_PROVENANCE_AGGREGATE

OID of the provenance_aggregate FUNCTION.

Definition at line 139 of file provsql_utils.h.

◆ OID_FUNCTION_PROVENANCE_CMP

Oid constants_t::OID_FUNCTION_PROVENANCE_CMP

OID of the provenance_cmp FUNCTION.

Definition at line 135 of file provsql_utils.h.

◆ OID_FUNCTION_PROVENANCE_DELTA

Oid constants_t::OID_FUNCTION_PROVENANCE_DELTA

OID of the provenance_delta FUNCTION.

Definition at line 138 of file provsql_utils.h.

◆ OID_FUNCTION_PROVENANCE_EQ

Oid constants_t::OID_FUNCTION_PROVENANCE_EQ

OID of the provenance_eq FUNCTION.

Definition at line 134 of file provsql_utils.h.

◆ OID_FUNCTION_PROVENANCE_MONUS

Oid constants_t::OID_FUNCTION_PROVENANCE_MONUS

OID of the provenance_monus FUNCTION.

Definition at line 132 of file provsql_utils.h.

◆ OID_FUNCTION_PROVENANCE_PLUS

Oid constants_t::OID_FUNCTION_PROVENANCE_PLUS

OID of the provenance_plus FUNCTION.

Definition at line 130 of file provsql_utils.h.

◆ OID_FUNCTION_PROVENANCE_PROJECT

Oid constants_t::OID_FUNCTION_PROVENANCE_PROJECT

OID of the provenance_project FUNCTION.

Definition at line 133 of file provsql_utils.h.

◆ OID_FUNCTION_PROVENANCE_SEMIMOD

Oid constants_t::OID_FUNCTION_PROVENANCE_SEMIMOD

OID of the provenance_semimod FUNCTION.

Definition at line 140 of file provsql_utils.h.

◆ OID_FUNCTION_PROVENANCE_TIMES

Oid constants_t::OID_FUNCTION_PROVENANCE_TIMES

OID of the provenance_times FUNCTION.

Definition at line 131 of file provsql_utils.h.

◆ OID_FUNCTION_RV_AGGREGATE_SEMIMOD

Oid constants_t::OID_FUNCTION_RV_AGGREGATE_SEMIMOD

OID of rv_aggregate_semimod helper (uuid, rv -> rv) used to wrap each per-row argument of an RV-returning aggregate (sum, avg, ...).

Definition at line 147 of file provsql_utils.h.

◆ OID_FUNCTION_RV_CMP

Oid constants_t::OID_FUNCTION_RV_CMP[6]

OIDs of the random_variable_{eq,ne,le,lt,ge,gt} comparison procedure functions, indexed by the ComparisonOperator enum (EQ=0, NE=1, LE=2, LT=3, GE=4, GT=5; matches the order in src/Aggregation.h).

Used by the planner hook to detect RV-comparison OpExpr nodes in WHERE clauses.

Definition at line 163 of file provsql_utils.h.

◆ OID_OPERATOR_NOT_EQUAL_UUID

Oid constants_t::OID_OPERATOR_NOT_EQUAL_UUID

OID of the <> operator on UUIDs FUNCTION.

Definition at line 143 of file provsql_utils.h.

◆ OID_SCHEMA_PROVSQL

Oid constants_t::OID_SCHEMA_PROVSQL

OID of the provsql SCHEMA.

Definition at line 116 of file provsql_utils.h.

◆ OID_TYPE_AGG_TOKEN

Oid constants_t::OID_TYPE_AGG_TOKEN

OID of the agg_token TYPE.

Definition at line 118 of file provsql_utils.h.

◆ OID_TYPE_BOOL

Oid constants_t::OID_TYPE_BOOL

OID of the BOOL TYPE.

Definition at line 121 of file provsql_utils.h.

◆ OID_TYPE_FLOAT

Oid constants_t::OID_TYPE_FLOAT

OID of the FLOAT TYPE.

Definition at line 124 of file provsql_utils.h.

◆ OID_TYPE_GATE_TYPE

Oid constants_t::OID_TYPE_GATE_TYPE

OID of the provenance_gate TYPE.

Definition at line 117 of file provsql_utils.h.

◆ OID_TYPE_INT

Oid constants_t::OID_TYPE_INT

OID of the INT TYPE.

Definition at line 122 of file provsql_utils.h.

◆ OID_TYPE_INT4MULTIRANGE

Oid constants_t::OID_TYPE_INT4MULTIRANGE

OID of the int4multirange TYPE (PG14+, InvalidOid otherwise).

Definition at line 128 of file provsql_utils.h.

◆ OID_TYPE_INT_ARRAY

Oid constants_t::OID_TYPE_INT_ARRAY

OID of the INT[] TYPE.

Definition at line 123 of file provsql_utils.h.

◆ OID_TYPE_NUMMULTIRANGE

Oid constants_t::OID_TYPE_NUMMULTIRANGE

OID of the nummultirange TYPE (PG14+, InvalidOid otherwise).

Definition at line 127 of file provsql_utils.h.

◆ OID_TYPE_RANDOM_VARIABLE

Oid constants_t::OID_TYPE_RANDOM_VARIABLE

OID of the random_variable TYPE.

Definition at line 146 of file provsql_utils.h.

◆ OID_TYPE_TSTZMULTIRANGE

Oid constants_t::OID_TYPE_TSTZMULTIRANGE

OID of the tstzmultirange TYPE (PG14+, InvalidOid otherwise).

Definition at line 126 of file provsql_utils.h.

◆ OID_TYPE_UUID

Oid constants_t::OID_TYPE_UUID

OID of the uuid TYPE.

Definition at line 119 of file provsql_utils.h.

◆ OID_TYPE_UUID_ARRAY

Oid constants_t::OID_TYPE_UUID_ARRAY

OID of the uuid[] TYPE.

Definition at line 120 of file provsql_utils.h.

◆ OID_TYPE_VARCHAR

Oid constants_t::OID_TYPE_VARCHAR

OID of the VARCHAR TYPE.

Definition at line 125 of file provsql_utils.h.

◆ ok

bool constants_t::ok

true if constants were loaded

Definition at line 164 of file provsql_utils.h.


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