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

SQL function provsql.provenance_evaluate() – semiring evaluation. More...

#include "postgres.h"
#include "fmgr.h"
#include "catalog/pg_type.h"
#include "utils/uuid.h"
#include "executor/spi.h"
#include "access/htup_details.h"
#include "provsql_shmem.h"
#include "provsql_utils.h"
Include dependency graph for provenance_evaluate.c:

Go to the source code of this file.

Functions

Datum provenance_evaluate (PG_FUNCTION_ARGS)
 PostgreSQL-callable wrapper for provenance_evaluate().
 

Detailed Description

SQL function provsql.provenance_evaluate() – semiring evaluation.

Implements the SQL-callable function that evaluates a provenance circuit over a user-supplied (m-)semiring. The semiring is described by six PostgreSQL function OIDs passed as arguments (plus, times, monus, delta, element-one, token2value) which are called via SPI to compute the result.

This is the simpler, non-compiled variant of provenance evaluation. For the compiled (C++ generic) variant, see provenance_evaluate_compiled.cpp.

Definition in file provenance_evaluate.c.

Function Documentation

◆ provenance_evaluate()

Datum provenance_evaluate ( PG_FUNCTION_ARGS  )

PostgreSQL-callable wrapper for provenance_evaluate().

Definition at line 26 of file provenance_evaluate.c.

Here is the call graph for this function: