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

Per-relation set of PRIMARY-KEY and NOT-NULL-UNIQUE keys. More...

#include "provsql_utils.h"

Collaboration diagram for ProvenanceRelationKeys:

Public Attributes

Oid relid
uint16 key_n
ProvenanceRelationKey keys [PROVSQL_KEY_CACHE_MAX_KEYS]

Detailed Description

Per-relation set of PRIMARY-KEY and NOT-NULL-UNIQUE keys.

Populated by provsql_lookup_relation_keys from pg_constraint (filtered by contype IN ('p','u')) joined to pg_index and pg_attribute (for the NOT-NULL check). The detector's ยง2 PK-FD pass walks keys and, for every key K it recognises among the query's equijoin equivalence classes, tags the determined columns as functionally fixed inside the relevant RTE.

Definition at line 432 of file provsql_utils.h.

Member Data Documentation

◆ key_n

uint16 ProvenanceRelationKeys::key_n

Definition at line 434 of file provsql_utils.h.

◆ keys

ProvenanceRelationKey ProvenanceRelationKeys::keys[PROVSQL_KEY_CACHE_MAX_KEYS]

Definition at line 435 of file provsql_utils.h.

◆ relid

Oid ProvenanceRelationKeys::relid

Definition at line 433 of file provsql_utils.h.


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