ProvSQL SQL API
Adding support for provenance and uncertainty management to PostgreSQL databases
Loading...
Searching...
No Matches
Type for the result of aggregate queries

Custom type AGG_TOKEN for a provenance semimodule value, to be used in attributes that are computed as a result of aggregation. More...

Functions

AGG_TOKEN provsql.agg_token_in (CSTRING)
 Input function for the AGG_TOKEN type (parses TEXT representation)
 
CSTRING provsql.agg_token_out (AGG_TOKEN)
 Output function for the AGG_TOKEN type (produces TEXT representation)
 
TEXT provsql.agg_token_cast (AGG_TOKEN)
 Cast an AGG_TOKEN to its TEXT representation.
 
UUID provsql.agg_token_uuid (AGG_TOKEN aggtok)
 Extract the UUID from an AGG_TOKEN (implicit cast to UUID)
 
UUID provsql.CAST(AGG_TOKEN AS UUID) (AGG_TOKEN)
 Implicit PostgreSQL cast from AGG_TOKEN to UUID (delegates to agg_token_uuid())
 
BOOLEAN provsql.agg_token_comp_numeric (AGG_TOKEN a, NUMERIC b)
 Placeholder comparison of AGG_TOKEN with NUMERIC.
 
BOOLEAN provsql.numeric_comp_agg_token (NUMERIC a, AGG_TOKEN b)
 Placeholder comparison of NUMERIC with AGG_TOKEN.
 
BOOLEAN provsql.agg_token_lt_numeric (AGG_TOKEN left, NUMERIC right)
 SQL operator AGG_TOKEN < NUMERIC (placeholder rewritten by ProvSQL at plan time)
 
BOOLEAN provsql.numeric_lt_agg_token (NUMERIC left, AGG_TOKEN right)
 SQL operator NUMERIC < AGG_TOKEN (placeholder rewritten by ProvSQL at plan time)
 
BOOLEAN provsql.agg_token_le_numeric (AGG_TOKEN left, NUMERIC right)
 SQL operator AGG_TOKEN <= NUMERIC (placeholder rewritten by ProvSQL at plan time)
 
BOOLEAN provsql.numeric_le_agg_token (NUMERIC left, AGG_TOKEN right)
 SQL operator NUMERIC <= AGG_TOKEN (placeholder rewritten by ProvSQL at plan time)
 
BOOLEAN provsql.agg_token_eq_numeric (AGG_TOKEN left, NUMERIC right)
 SQL operator AGG_TOKEN = NUMERIC (placeholder rewritten by ProvSQL at plan time)
 
BOOLEAN provsql.numeric_eq_agg_token (NUMERIC left, AGG_TOKEN right)
 SQL operator NUMERIC = AGG_TOKEN (placeholder rewritten by ProvSQL at plan time)
 
BOOLEAN provsql.agg_token_ne_numeric (AGG_TOKEN left, NUMERIC right)
 SQL operator AGG_TOKEN <> NUMERIC (placeholder rewritten by ProvSQL at plan time)
 
BOOLEAN provsql.numeric_ne_agg_token (NUMERIC left, AGG_TOKEN right)
 SQL operator NUMERIC <> AGG_TOKEN (placeholder rewritten by ProvSQL at plan time)
 
BOOLEAN provsql.agg_token_ge_numeric (AGG_TOKEN left, NUMERIC right)
 SQL operator AGG_TOKEN >= NUMERIC (placeholder rewritten by ProvSQL at plan time)
 
BOOLEAN provsql.numeric_ge_agg_token (NUMERIC left, AGG_TOKEN right)
 SQL operator NUMERIC >= AGG_TOKEN (placeholder rewritten by ProvSQL at plan time)
 
BOOLEAN provsql.agg_token_gt_numeric (AGG_TOKEN left, NUMERIC right)
 SQL operator AGG_TOKEN > NUMERIC (placeholder rewritten by ProvSQL at plan time)
 
BOOLEAN provsql.numeric_gt_agg_token (NUMERIC left, AGG_TOKEN right)
 SQL operator NUMERIC > AGG_TOKEN (placeholder rewritten by ProvSQL at plan time)
 

Detailed Description

Custom type AGG_TOKEN for a provenance semimodule value, to be used in attributes that are computed as a result of aggregation.

As for provenance tokens, this is simply a UUID, but this UUID is displayed in a specific way (as the result of the aggregation followed by a "(*)") to help with readability.

Function Documentation

◆ agg_token_cast()

TEXT provsql.agg_token_cast ( AGG_TOKEN  )

Cast an AGG_TOKEN to its TEXT representation.

Source code
provsql.sql line 960

◆ agg_token_comp_numeric()

BOOLEAN provsql.agg_token_comp_numeric ( AGG_TOKEN  a,
NUMERIC  b 
)

Placeholder comparison of AGG_TOKEN with NUMERIC.

This function is never actually called; it exists so the SQL parser accepts comparison operators between AGG_TOKEN and NUMERIC values. The ProvSQL query rewriter replaces these comparisons at plan time.

Source code
provsql.sql line 990

◆ agg_token_eq_numeric()

BOOLEAN provsql.agg_token_eq_numeric ( AGG_TOKEN  left,
NUMERIC  right 
)

SQL operator AGG_TOKEN = NUMERIC (placeholder rewritten by ProvSQL at plan time)

Source code
provsql.sql line 1051

◆ agg_token_ge_numeric()

BOOLEAN provsql.agg_token_ge_numeric ( AGG_TOKEN  left,
NUMERIC  right 
)

SQL operator AGG_TOKEN >= NUMERIC (placeholder rewritten by ProvSQL at plan time)

Source code
provsql.sql line 1085

◆ agg_token_gt_numeric()

BOOLEAN provsql.agg_token_gt_numeric ( AGG_TOKEN  left,
NUMERIC  right 
)

SQL operator AGG_TOKEN > NUMERIC (placeholder rewritten by ProvSQL at plan time)

Source code
provsql.sql line 1102

◆ agg_token_in()

AGG_TOKEN provsql.agg_token_in ( CSTRING  )

Input function for the AGG_TOKEN type (parses TEXT representation)

Source code
provsql.sql line 950

◆ agg_token_le_numeric()

BOOLEAN provsql.agg_token_le_numeric ( AGG_TOKEN  left,
NUMERIC  right 
)

SQL operator AGG_TOKEN <= NUMERIC (placeholder rewritten by ProvSQL at plan time)

Source code
provsql.sql line 1034

◆ agg_token_lt_numeric()

BOOLEAN provsql.agg_token_lt_numeric ( AGG_TOKEN  left,
NUMERIC  right 
)

SQL operator AGG_TOKEN < NUMERIC (placeholder rewritten by ProvSQL at plan time)

Source code
provsql.sql line 1017

◆ agg_token_ne_numeric()

BOOLEAN provsql.agg_token_ne_numeric ( AGG_TOKEN  left,
NUMERIC  right 
)

SQL operator AGG_TOKEN <> NUMERIC (placeholder rewritten by ProvSQL at plan time)

Source code
provsql.sql line 1068

◆ agg_token_out()

CSTRING provsql.agg_token_out ( AGG_TOKEN  )

Output function for the AGG_TOKEN type (produces TEXT representation)

Source code
provsql.sql line 955

◆ agg_token_uuid()

UUID provsql.agg_token_uuid ( AGG_TOKEN  aggtok)

Extract the UUID from an AGG_TOKEN (implicit cast to UUID)

Source code
provsql.sql line 972

◆ CAST(AGG_TOKEN AS UUID)()

UUID provsql.CAST(AGG_TOKEN AS UUID) ( AGG_TOKEN  )

Implicit PostgreSQL cast from AGG_TOKEN to UUID (delegates to agg_token_uuid())

Source code
provsql.sql line 981

◆ numeric_comp_agg_token()

BOOLEAN provsql.numeric_comp_agg_token ( NUMERIC  a,
AGG_TOKEN  b 
)

Placeholder comparison of NUMERIC with AGG_TOKEN.

Symmetric to agg_token_comp_numeric; never actually called. The ProvSQL query rewriter replaces these comparisons at plan time.

Source code
provsql.sql line 1006

◆ numeric_eq_agg_token()

BOOLEAN provsql.numeric_eq_agg_token ( NUMERIC  left,
AGG_TOKEN  right 
)

SQL operator NUMERIC = AGG_TOKEN (placeholder rewritten by ProvSQL at plan time)

Source code
provsql.sql line 1059

◆ numeric_ge_agg_token()

BOOLEAN provsql.numeric_ge_agg_token ( NUMERIC  left,
AGG_TOKEN  right 
)

SQL operator NUMERIC >= AGG_TOKEN (placeholder rewritten by ProvSQL at plan time)

Source code
provsql.sql line 1093

◆ numeric_gt_agg_token()

BOOLEAN provsql.numeric_gt_agg_token ( NUMERIC  left,
AGG_TOKEN  right 
)

SQL operator NUMERIC > AGG_TOKEN (placeholder rewritten by ProvSQL at plan time)

Source code
provsql.sql line 1110

◆ numeric_le_agg_token()

BOOLEAN provsql.numeric_le_agg_token ( NUMERIC  left,
AGG_TOKEN  right 
)

SQL operator NUMERIC <= AGG_TOKEN (placeholder rewritten by ProvSQL at plan time)

Source code
provsql.sql line 1042

◆ numeric_lt_agg_token()

BOOLEAN provsql.numeric_lt_agg_token ( NUMERIC  left,
AGG_TOKEN  right 
)

SQL operator NUMERIC < AGG_TOKEN (placeholder rewritten by ProvSQL at plan time)

Source code
provsql.sql line 1025

◆ numeric_ne_agg_token()

BOOLEAN provsql.numeric_ne_agg_token ( NUMERIC  left,
AGG_TOKEN  right 
)

SQL operator NUMERIC <> AGG_TOKEN (placeholder rewritten by ProvSQL at plan time)

Source code
provsql.sql line 1076