ProvSQL Logo

User Guide

  • Introduction
    • What Is Provenance?
    • What Can ProvSQL Do?
    • How It Works
  • Getting ProvSQL
    • Installing from Source
      • Getting the Source
      • Prerequisites
      • Installation
      • Testing Your Installation
      • Uninstalling
    • Docker Container
    • License
  • Tutorial: Who Killed Daphine?
    • The Scenario
    • Setup
    • Step 1: Explore the Database
    • Step 2: Build a Sightings Table
    • Step 3: Enable Provenance
    • Step 4: Find Contradictions
    • Step 5: Display Provenance Formulas
    • Step 6: Build a Consistent Sightings Table
    • Step 7: Identify Suspects
    • Step 8: Count Confirming Sightings
    • Step 9: Assign Reliability Probabilities
    • Step 10: Find the Murderer
  • Adding Provenance to a Table
    • Loading the Extension
    • Disabling Provenance Temporarily
    • Enabling Provenance on a Table
    • Accessing the Provenance Token
    • Removing Provenance
    • Provenance Mappings
    • Inspecting the Circuit
  • Querying with Provenance
    • How It Works
    • Supported SQL Features
    • Unsupported SQL Features
    • Provenance in Nested Queries
    • CREATE TABLE … AS SELECT
    • The provenance() Function
  • Aggregation and Grouping
    • GROUP BY Queries
    • SELECT DISTINCT
    • Aggregate Functions
    • HAVING
    • Grouping Sets
  • Semiring Evaluation
    • Boolean Semiring
    • Boolean-Expression Semiring
    • Formula Semiring
    • Counting Semiring (m-semiring)
    • Why-Provenance
    • Security Semiring
    • Custom Semirings
    • Provenance Mappings
  • Probabilities
    • Setting Probabilities
    • Computing Query Probabilities
      • Computation Methods
    • Expected Values of Aggregates
    • HAVING with Probabilities
    • Independent Tuples and Block-Independent Databases
  • Shapley and Banzhaf Values
    • Background
    • Computing Shapley Values
    • Computing Banzhaf Values
    • Computation Notes
    • Choosing Between Shapley and Banzhaf
  • Where-Provenance
    • Enabling Where-Provenance
    • Using Where-Provenance
    • Projection Gates
    • Example
    • Limitations
  • Data Modification Tracking
    • Enabling Update Provenance
    • INSERT
    • DELETE
    • UPDATE
    • Undoing Updates
    • Limitations
  • Temporal Features
    • Overview
    • Temporal Tables
    • Valid-Time Queries
    • Union of Validity Intervals
    • Temporal Query Functions
    • Relationship to Data Modification Tracking
  • Provenance Export
    • Formula Export
    • PROV-XML Export
    • Circuit Visualisation
    • Verbosity
    • Circuit Structure
  • Configuration Reference
  • Bibliography

API Reference

  • SQL API Reference
  • C/C++ API Reference
ProvSQL
  • Search