diff options
author | vvvv <vvvv@ydb.tech> | 2023-08-29 14:21:11 +0300 |
---|---|---|
committer | vvvv <vvvv@ydb.tech> | 2023-08-29 15:01:06 +0300 |
commit | b86e0fa1264e4af937a9c1398394fa3196399cab (patch) | |
tree | 5b69749ec6fa55292f6444b2477f4beca33ede7d /contrib/libs/postgresql/src | |
parent | cd6c627e2a68651449605a313be155fcaedb9fc0 (diff) | |
download | ydb-b86e0fa1264e4af937a9c1398394fa3196399cab.tar.gz |
Use cloned versions of PG data files
Diffstat (limited to 'contrib/libs/postgresql/src')
-rw-r--r-- | contrib/libs/postgresql/src/include/catalog/pg_aggregate.dat | 618 | ||||
-rw-r--r-- | contrib/libs/postgresql/src/include/catalog/pg_amop.dat | 3230 | ||||
-rw-r--r-- | contrib/libs/postgresql/src/include/catalog/pg_amproc.dat | 1984 | ||||
-rw-r--r-- | contrib/libs/postgresql/src/include/catalog/pg_cast.dat | 551 | ||||
-rw-r--r-- | contrib/libs/postgresql/src/include/catalog/pg_opclass.dat | 488 | ||||
-rw-r--r-- | contrib/libs/postgresql/src/include/catalog/pg_operator.dat | 3478 | ||||
-rw-r--r-- | contrib/libs/postgresql/src/include/catalog/pg_opfamily.dat | 308 | ||||
-rw-r--r-- | contrib/libs/postgresql/src/include/catalog/pg_proc.dat | 11624 | ||||
-rw-r--r-- | contrib/libs/postgresql/src/include/catalog/pg_type.dat | 695 |
9 files changed, 0 insertions, 22976 deletions
diff --git a/contrib/libs/postgresql/src/include/catalog/pg_aggregate.dat b/contrib/libs/postgresql/src/include/catalog/pg_aggregate.dat deleted file mode 100644 index fc6d3bfd945..00000000000 --- a/contrib/libs/postgresql/src/include/catalog/pg_aggregate.dat +++ /dev/null @@ -1,618 +0,0 @@ -#---------------------------------------------------------------------- -# -# pg_aggregate.dat -# Initial contents of the pg_aggregate system catalog. -# -# Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group -# Portions Copyright (c) 1994, Regents of the University of California -# -# src/include/catalog/pg_aggregate.dat -# -#---------------------------------------------------------------------- - -[ - -# avg -{ aggfnoid => 'avg(int8)', aggtransfn => 'int8_avg_accum', - aggfinalfn => 'numeric_poly_avg', aggcombinefn => 'int8_avg_combine', - aggserialfn => 'int8_avg_serialize', aggdeserialfn => 'int8_avg_deserialize', - aggmtransfn => 'int8_avg_accum', aggminvtransfn => 'int8_avg_accum_inv', - aggmfinalfn => 'numeric_poly_avg', aggtranstype => 'internal', - aggtransspace => '48', aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'avg(int4)', aggtransfn => 'int4_avg_accum', - aggfinalfn => 'int8_avg', aggcombinefn => 'int4_avg_combine', - aggmtransfn => 'int4_avg_accum', aggminvtransfn => 'int4_avg_accum_inv', - aggmfinalfn => 'int8_avg', aggtranstype => '_int8', aggmtranstype => '_int8', - agginitval => '{0,0}', aggminitval => '{0,0}' }, -{ aggfnoid => 'avg(int2)', aggtransfn => 'int2_avg_accum', - aggfinalfn => 'int8_avg', aggcombinefn => 'int4_avg_combine', - aggmtransfn => 'int2_avg_accum', aggminvtransfn => 'int2_avg_accum_inv', - aggmfinalfn => 'int8_avg', aggtranstype => '_int8', aggmtranstype => '_int8', - agginitval => '{0,0}', aggminitval => '{0,0}' }, -{ aggfnoid => 'avg(numeric)', aggtransfn => 'numeric_avg_accum', - aggfinalfn => 'numeric_avg', aggcombinefn => 'numeric_avg_combine', - aggserialfn => 'numeric_avg_serialize', - aggdeserialfn => 'numeric_avg_deserialize', - aggmtransfn => 'numeric_avg_accum', aggminvtransfn => 'numeric_accum_inv', - aggmfinalfn => 'numeric_avg', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, -{ aggfnoid => 'avg(float4)', aggtransfn => 'float4_accum', - aggfinalfn => 'float8_avg', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'avg(float8)', aggtransfn => 'float8_accum', - aggfinalfn => 'float8_avg', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'avg(interval)', aggtransfn => 'interval_accum', - aggfinalfn => 'interval_avg', aggcombinefn => 'interval_combine', - aggmtransfn => 'interval_accum', aggminvtransfn => 'interval_accum_inv', - aggmfinalfn => 'interval_avg', aggtranstype => '_interval', - aggmtranstype => '_interval', agginitval => '{0 second,0 second}', - aggminitval => '{0 second,0 second}' }, - -# sum -{ aggfnoid => 'sum(int8)', aggtransfn => 'int8_avg_accum', - aggfinalfn => 'numeric_poly_sum', aggcombinefn => 'int8_avg_combine', - aggserialfn => 'int8_avg_serialize', aggdeserialfn => 'int8_avg_deserialize', - aggmtransfn => 'int8_avg_accum', aggminvtransfn => 'int8_avg_accum_inv', - aggmfinalfn => 'numeric_poly_sum', aggtranstype => 'internal', - aggtransspace => '48', aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'sum(int4)', aggtransfn => 'int4_sum', aggcombinefn => 'int8pl', - aggmtransfn => 'int4_avg_accum', aggminvtransfn => 'int4_avg_accum_inv', - aggmfinalfn => 'int2int4_sum', aggtranstype => 'int8', - aggmtranstype => '_int8', aggminitval => '{0,0}' }, -{ aggfnoid => 'sum(int2)', aggtransfn => 'int2_sum', aggcombinefn => 'int8pl', - aggmtransfn => 'int2_avg_accum', aggminvtransfn => 'int2_avg_accum_inv', - aggmfinalfn => 'int2int4_sum', aggtranstype => 'int8', - aggmtranstype => '_int8', aggminitval => '{0,0}' }, -{ aggfnoid => 'sum(float4)', aggtransfn => 'float4pl', - aggcombinefn => 'float4pl', aggtranstype => 'float4' }, -{ aggfnoid => 'sum(float8)', aggtransfn => 'float8pl', - aggcombinefn => 'float8pl', aggtranstype => 'float8' }, -{ aggfnoid => 'sum(money)', aggtransfn => 'cash_pl', aggcombinefn => 'cash_pl', - aggmtransfn => 'cash_pl', aggminvtransfn => 'cash_mi', - aggtranstype => 'money', aggmtranstype => 'money' }, -{ aggfnoid => 'sum(interval)', aggtransfn => 'interval_pl', - aggcombinefn => 'interval_pl', aggmtransfn => 'interval_pl', - aggminvtransfn => 'interval_mi', aggtranstype => 'interval', - aggmtranstype => 'interval' }, -{ aggfnoid => 'sum(numeric)', aggtransfn => 'numeric_avg_accum', - aggfinalfn => 'numeric_sum', aggcombinefn => 'numeric_avg_combine', - aggserialfn => 'numeric_avg_serialize', - aggdeserialfn => 'numeric_avg_deserialize', - aggmtransfn => 'numeric_avg_accum', aggminvtransfn => 'numeric_accum_inv', - aggmfinalfn => 'numeric_sum', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, - -# max -{ aggfnoid => 'max(int8)', aggtransfn => 'int8larger', - aggcombinefn => 'int8larger', aggsortop => '>(int8,int8)', - aggtranstype => 'int8' }, -{ aggfnoid => 'max(int4)', aggtransfn => 'int4larger', - aggcombinefn => 'int4larger', aggsortop => '>(int4,int4)', - aggtranstype => 'int4' }, -{ aggfnoid => 'max(int2)', aggtransfn => 'int2larger', - aggcombinefn => 'int2larger', aggsortop => '>(int2,int2)', - aggtranstype => 'int2' }, -{ aggfnoid => 'max(oid)', aggtransfn => 'oidlarger', - aggcombinefn => 'oidlarger', aggsortop => '>(oid,oid)', - aggtranstype => 'oid' }, -{ aggfnoid => 'max(float4)', aggtransfn => 'float4larger', - aggcombinefn => 'float4larger', aggsortop => '>(float4,float4)', - aggtranstype => 'float4' }, -{ aggfnoid => 'max(float8)', aggtransfn => 'float8larger', - aggcombinefn => 'float8larger', aggsortop => '>(float8,float8)', - aggtranstype => 'float8' }, -{ aggfnoid => 'max(date)', aggtransfn => 'date_larger', - aggcombinefn => 'date_larger', aggsortop => '>(date,date)', - aggtranstype => 'date' }, -{ aggfnoid => 'max(time)', aggtransfn => 'time_larger', - aggcombinefn => 'time_larger', aggsortop => '>(time,time)', - aggtranstype => 'time' }, -{ aggfnoid => 'max(timetz)', aggtransfn => 'timetz_larger', - aggcombinefn => 'timetz_larger', aggsortop => '>(timetz,timetz)', - aggtranstype => 'timetz' }, -{ aggfnoid => 'max(money)', aggtransfn => 'cashlarger', - aggcombinefn => 'cashlarger', aggsortop => '>(money,money)', - aggtranstype => 'money' }, -{ aggfnoid => 'max(timestamp)', aggtransfn => 'timestamp_larger', - aggcombinefn => 'timestamp_larger', aggsortop => '>(timestamp,timestamp)', - aggtranstype => 'timestamp' }, -{ aggfnoid => 'max(timestamptz)', aggtransfn => 'timestamptz_larger', - aggcombinefn => 'timestamptz_larger', - aggsortop => '>(timestamptz,timestamptz)', aggtranstype => 'timestamptz' }, -{ aggfnoid => 'max(interval)', aggtransfn => 'interval_larger', - aggcombinefn => 'interval_larger', aggsortop => '>(interval,interval)', - aggtranstype => 'interval' }, -{ aggfnoid => 'max(text)', aggtransfn => 'text_larger', - aggcombinefn => 'text_larger', aggsortop => '>(text,text)', - aggtranstype => 'text' }, -{ aggfnoid => 'max(numeric)', aggtransfn => 'numeric_larger', - aggcombinefn => 'numeric_larger', aggsortop => '>(numeric,numeric)', - aggtranstype => 'numeric' }, -{ aggfnoid => 'max(anyarray)', aggtransfn => 'array_larger', - aggcombinefn => 'array_larger', aggsortop => '>(anyarray,anyarray)', - aggtranstype => 'anyarray' }, -{ aggfnoid => 'max(bpchar)', aggtransfn => 'bpchar_larger', - aggcombinefn => 'bpchar_larger', aggsortop => '>(bpchar,bpchar)', - aggtranstype => 'bpchar' }, -{ aggfnoid => 'max(tid)', aggtransfn => 'tidlarger', - aggcombinefn => 'tidlarger', aggsortop => '>(tid,tid)', - aggtranstype => 'tid' }, -{ aggfnoid => 'max(anyenum)', aggtransfn => 'enum_larger', - aggcombinefn => 'enum_larger', aggsortop => '>(anyenum,anyenum)', - aggtranstype => 'anyenum' }, -{ aggfnoid => 'max(inet)', aggtransfn => 'network_larger', - aggcombinefn => 'network_larger', aggsortop => '>(inet,inet)', - aggtranstype => 'inet' }, -{ aggfnoid => 'max(pg_lsn)', aggtransfn => 'pg_lsn_larger', - aggcombinefn => 'pg_lsn_larger', aggsortop => '>(pg_lsn,pg_lsn)', - aggtranstype => 'pg_lsn' }, - -# min -{ aggfnoid => 'min(int8)', aggtransfn => 'int8smaller', - aggcombinefn => 'int8smaller', aggsortop => '<(int8,int8)', - aggtranstype => 'int8' }, -{ aggfnoid => 'min(int4)', aggtransfn => 'int4smaller', - aggcombinefn => 'int4smaller', aggsortop => '<(int4,int4)', - aggtranstype => 'int4' }, -{ aggfnoid => 'min(int2)', aggtransfn => 'int2smaller', - aggcombinefn => 'int2smaller', aggsortop => '<(int2,int2)', - aggtranstype => 'int2' }, -{ aggfnoid => 'min(oid)', aggtransfn => 'oidsmaller', - aggcombinefn => 'oidsmaller', aggsortop => '<(oid,oid)', - aggtranstype => 'oid' }, -{ aggfnoid => 'min(float4)', aggtransfn => 'float4smaller', - aggcombinefn => 'float4smaller', aggsortop => '<(float4,float4)', - aggtranstype => 'float4' }, -{ aggfnoid => 'min(float8)', aggtransfn => 'float8smaller', - aggcombinefn => 'float8smaller', aggsortop => '<(float8,float8)', - aggtranstype => 'float8' }, -{ aggfnoid => 'min(date)', aggtransfn => 'date_smaller', - aggcombinefn => 'date_smaller', aggsortop => '<(date,date)', - aggtranstype => 'date' }, -{ aggfnoid => 'min(time)', aggtransfn => 'time_smaller', - aggcombinefn => 'time_smaller', aggsortop => '<(time,time)', - aggtranstype => 'time' }, -{ aggfnoid => 'min(timetz)', aggtransfn => 'timetz_smaller', - aggcombinefn => 'timetz_smaller', aggsortop => '<(timetz,timetz)', - aggtranstype => 'timetz' }, -{ aggfnoid => 'min(money)', aggtransfn => 'cashsmaller', - aggcombinefn => 'cashsmaller', aggsortop => '<(money,money)', - aggtranstype => 'money' }, -{ aggfnoid => 'min(timestamp)', aggtransfn => 'timestamp_smaller', - aggcombinefn => 'timestamp_smaller', aggsortop => '<(timestamp,timestamp)', - aggtranstype => 'timestamp' }, -{ aggfnoid => 'min(timestamptz)', aggtransfn => 'timestamptz_smaller', - aggcombinefn => 'timestamptz_smaller', - aggsortop => '<(timestamptz,timestamptz)', aggtranstype => 'timestamptz' }, -{ aggfnoid => 'min(interval)', aggtransfn => 'interval_smaller', - aggcombinefn => 'interval_smaller', aggsortop => '<(interval,interval)', - aggtranstype => 'interval' }, -{ aggfnoid => 'min(text)', aggtransfn => 'text_smaller', - aggcombinefn => 'text_smaller', aggsortop => '<(text,text)', - aggtranstype => 'text' }, -{ aggfnoid => 'min(numeric)', aggtransfn => 'numeric_smaller', - aggcombinefn => 'numeric_smaller', aggsortop => '<(numeric,numeric)', - aggtranstype => 'numeric' }, -{ aggfnoid => 'min(anyarray)', aggtransfn => 'array_smaller', - aggcombinefn => 'array_smaller', aggsortop => '<(anyarray,anyarray)', - aggtranstype => 'anyarray' }, -{ aggfnoid => 'min(bpchar)', aggtransfn => 'bpchar_smaller', - aggcombinefn => 'bpchar_smaller', aggsortop => '<(bpchar,bpchar)', - aggtranstype => 'bpchar' }, -{ aggfnoid => 'min(tid)', aggtransfn => 'tidsmaller', - aggcombinefn => 'tidsmaller', aggsortop => '<(tid,tid)', - aggtranstype => 'tid' }, -{ aggfnoid => 'min(anyenum)', aggtransfn => 'enum_smaller', - aggcombinefn => 'enum_smaller', aggsortop => '<(anyenum,anyenum)', - aggtranstype => 'anyenum' }, -{ aggfnoid => 'min(inet)', aggtransfn => 'network_smaller', - aggcombinefn => 'network_smaller', aggsortop => '<(inet,inet)', - aggtranstype => 'inet' }, -{ aggfnoid => 'min(pg_lsn)', aggtransfn => 'pg_lsn_smaller', - aggcombinefn => 'pg_lsn_smaller', aggsortop => '<(pg_lsn,pg_lsn)', - aggtranstype => 'pg_lsn' }, - -# count -{ aggfnoid => 'count(any)', aggtransfn => 'int8inc_any', - aggcombinefn => 'int8pl', aggmtransfn => 'int8inc_any', - aggminvtransfn => 'int8dec_any', aggtranstype => 'int8', - aggmtranstype => 'int8', agginitval => '0', aggminitval => '0' }, -{ aggfnoid => 'count()', aggtransfn => 'int8inc', aggcombinefn => 'int8pl', - aggmtransfn => 'int8inc', aggminvtransfn => 'int8dec', aggtranstype => 'int8', - aggmtranstype => 'int8', agginitval => '0', aggminitval => '0' }, - -# var_pop -{ aggfnoid => 'var_pop(int8)', aggtransfn => 'int8_accum', - aggfinalfn => 'numeric_var_pop', aggcombinefn => 'numeric_combine', - aggserialfn => 'numeric_serialize', aggdeserialfn => 'numeric_deserialize', - aggmtransfn => 'int8_accum', aggminvtransfn => 'int8_accum_inv', - aggmfinalfn => 'numeric_var_pop', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, -{ aggfnoid => 'var_pop(int4)', aggtransfn => 'int4_accum', - aggfinalfn => 'numeric_poly_var_pop', aggcombinefn => 'numeric_poly_combine', - aggserialfn => 'numeric_poly_serialize', - aggdeserialfn => 'numeric_poly_deserialize', aggmtransfn => 'int4_accum', - aggminvtransfn => 'int4_accum_inv', aggmfinalfn => 'numeric_poly_var_pop', - aggtranstype => 'internal', aggtransspace => '48', - aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'var_pop(int2)', aggtransfn => 'int2_accum', - aggfinalfn => 'numeric_poly_var_pop', aggcombinefn => 'numeric_poly_combine', - aggserialfn => 'numeric_poly_serialize', - aggdeserialfn => 'numeric_poly_deserialize', aggmtransfn => 'int2_accum', - aggminvtransfn => 'int2_accum_inv', aggmfinalfn => 'numeric_poly_var_pop', - aggtranstype => 'internal', aggtransspace => '48', - aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'var_pop(float4)', aggtransfn => 'float4_accum', - aggfinalfn => 'float8_var_pop', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'var_pop(float8)', aggtransfn => 'float8_accum', - aggfinalfn => 'float8_var_pop', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'var_pop(numeric)', aggtransfn => 'numeric_accum', - aggfinalfn => 'numeric_var_pop', aggcombinefn => 'numeric_combine', - aggserialfn => 'numeric_serialize', aggdeserialfn => 'numeric_deserialize', - aggmtransfn => 'numeric_accum', aggminvtransfn => 'numeric_accum_inv', - aggmfinalfn => 'numeric_var_pop', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, - -# var_samp -{ aggfnoid => 'var_samp(int8)', aggtransfn => 'int8_accum', - aggfinalfn => 'numeric_var_samp', aggcombinefn => 'numeric_combine', - aggserialfn => 'numeric_serialize', aggdeserialfn => 'numeric_deserialize', - aggmtransfn => 'int8_accum', aggminvtransfn => 'int8_accum_inv', - aggmfinalfn => 'numeric_var_samp', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, -{ aggfnoid => 'var_samp(int4)', aggtransfn => 'int4_accum', - aggfinalfn => 'numeric_poly_var_samp', aggcombinefn => 'numeric_poly_combine', - aggserialfn => 'numeric_poly_serialize', - aggdeserialfn => 'numeric_poly_deserialize', aggmtransfn => 'int4_accum', - aggminvtransfn => 'int4_accum_inv', aggmfinalfn => 'numeric_poly_var_samp', - aggtranstype => 'internal', aggtransspace => '48', - aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'var_samp(int2)', aggtransfn => 'int2_accum', - aggfinalfn => 'numeric_poly_var_samp', aggcombinefn => 'numeric_poly_combine', - aggserialfn => 'numeric_poly_serialize', - aggdeserialfn => 'numeric_poly_deserialize', aggmtransfn => 'int2_accum', - aggminvtransfn => 'int2_accum_inv', aggmfinalfn => 'numeric_poly_var_samp', - aggtranstype => 'internal', aggtransspace => '48', - aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'var_samp(float4)', aggtransfn => 'float4_accum', - aggfinalfn => 'float8_var_samp', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'var_samp(float8)', aggtransfn => 'float8_accum', - aggfinalfn => 'float8_var_samp', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'var_samp(numeric)', aggtransfn => 'numeric_accum', - aggfinalfn => 'numeric_var_samp', aggcombinefn => 'numeric_combine', - aggserialfn => 'numeric_serialize', aggdeserialfn => 'numeric_deserialize', - aggmtransfn => 'numeric_accum', aggminvtransfn => 'numeric_accum_inv', - aggmfinalfn => 'numeric_var_samp', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, - -# variance: historical Postgres syntax for var_samp -{ aggfnoid => 'variance(int8)', aggtransfn => 'int8_accum', - aggfinalfn => 'numeric_var_samp', aggcombinefn => 'numeric_combine', - aggserialfn => 'numeric_serialize', aggdeserialfn => 'numeric_deserialize', - aggmtransfn => 'int8_accum', aggminvtransfn => 'int8_accum_inv', - aggmfinalfn => 'numeric_var_samp', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, -{ aggfnoid => 'variance(int4)', aggtransfn => 'int4_accum', - aggfinalfn => 'numeric_poly_var_samp', aggcombinefn => 'numeric_poly_combine', - aggserialfn => 'numeric_poly_serialize', - aggdeserialfn => 'numeric_poly_deserialize', aggmtransfn => 'int4_accum', - aggminvtransfn => 'int4_accum_inv', aggmfinalfn => 'numeric_poly_var_samp', - aggtranstype => 'internal', aggtransspace => '48', - aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'variance(int2)', aggtransfn => 'int2_accum', - aggfinalfn => 'numeric_poly_var_samp', aggcombinefn => 'numeric_poly_combine', - aggserialfn => 'numeric_poly_serialize', - aggdeserialfn => 'numeric_poly_deserialize', aggmtransfn => 'int2_accum', - aggminvtransfn => 'int2_accum_inv', aggmfinalfn => 'numeric_poly_var_samp', - aggtranstype => 'internal', aggtransspace => '48', - aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'variance(float4)', aggtransfn => 'float4_accum', - aggfinalfn => 'float8_var_samp', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'variance(float8)', aggtransfn => 'float8_accum', - aggfinalfn => 'float8_var_samp', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'variance(numeric)', aggtransfn => 'numeric_accum', - aggfinalfn => 'numeric_var_samp', aggcombinefn => 'numeric_combine', - aggserialfn => 'numeric_serialize', aggdeserialfn => 'numeric_deserialize', - aggmtransfn => 'numeric_accum', aggminvtransfn => 'numeric_accum_inv', - aggmfinalfn => 'numeric_var_samp', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, - -# stddev_pop -{ aggfnoid => 'stddev_pop(int8)', aggtransfn => 'int8_accum', - aggfinalfn => 'numeric_stddev_pop', aggcombinefn => 'numeric_combine', - aggserialfn => 'numeric_serialize', aggdeserialfn => 'numeric_deserialize', - aggmtransfn => 'int8_accum', aggminvtransfn => 'int8_accum_inv', - aggmfinalfn => 'numeric_stddev_pop', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, -{ aggfnoid => 'stddev_pop(int4)', aggtransfn => 'int4_accum', - aggfinalfn => 'numeric_poly_stddev_pop', - aggcombinefn => 'numeric_poly_combine', - aggserialfn => 'numeric_poly_serialize', - aggdeserialfn => 'numeric_poly_deserialize', aggmtransfn => 'int4_accum', - aggminvtransfn => 'int4_accum_inv', aggmfinalfn => 'numeric_poly_stddev_pop', - aggtranstype => 'internal', aggtransspace => '48', - aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'stddev_pop(int2)', aggtransfn => 'int2_accum', - aggfinalfn => 'numeric_poly_stddev_pop', - aggcombinefn => 'numeric_poly_combine', - aggserialfn => 'numeric_poly_serialize', - aggdeserialfn => 'numeric_poly_deserialize', aggmtransfn => 'int2_accum', - aggminvtransfn => 'int2_accum_inv', aggmfinalfn => 'numeric_poly_stddev_pop', - aggtranstype => 'internal', aggtransspace => '48', - aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'stddev_pop(float4)', aggtransfn => 'float4_accum', - aggfinalfn => 'float8_stddev_pop', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'stddev_pop(float8)', aggtransfn => 'float8_accum', - aggfinalfn => 'float8_stddev_pop', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'stddev_pop(numeric)', aggtransfn => 'numeric_accum', - aggfinalfn => 'numeric_stddev_pop', aggcombinefn => 'numeric_combine', - aggserialfn => 'numeric_serialize', aggdeserialfn => 'numeric_deserialize', - aggmtransfn => 'numeric_accum', aggminvtransfn => 'numeric_accum_inv', - aggmfinalfn => 'numeric_stddev_pop', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, - -# stddev_samp -{ aggfnoid => 'stddev_samp(int8)', aggtransfn => 'int8_accum', - aggfinalfn => 'numeric_stddev_samp', aggcombinefn => 'numeric_combine', - aggserialfn => 'numeric_serialize', aggdeserialfn => 'numeric_deserialize', - aggmtransfn => 'int8_accum', aggminvtransfn => 'int8_accum_inv', - aggmfinalfn => 'numeric_stddev_samp', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, -{ aggfnoid => 'stddev_samp(int4)', aggtransfn => 'int4_accum', - aggfinalfn => 'numeric_poly_stddev_samp', - aggcombinefn => 'numeric_poly_combine', - aggserialfn => 'numeric_poly_serialize', - aggdeserialfn => 'numeric_poly_deserialize', aggmtransfn => 'int4_accum', - aggminvtransfn => 'int4_accum_inv', aggmfinalfn => 'numeric_poly_stddev_samp', - aggtranstype => 'internal', aggtransspace => '48', - aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'stddev_samp(int2)', aggtransfn => 'int2_accum', - aggfinalfn => 'numeric_poly_stddev_samp', - aggcombinefn => 'numeric_poly_combine', - aggserialfn => 'numeric_poly_serialize', - aggdeserialfn => 'numeric_poly_deserialize', aggmtransfn => 'int2_accum', - aggminvtransfn => 'int2_accum_inv', aggmfinalfn => 'numeric_poly_stddev_samp', - aggtranstype => 'internal', aggtransspace => '48', - aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'stddev_samp(float4)', aggtransfn => 'float4_accum', - aggfinalfn => 'float8_stddev_samp', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'stddev_samp(float8)', aggtransfn => 'float8_accum', - aggfinalfn => 'float8_stddev_samp', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'stddev_samp(numeric)', aggtransfn => 'numeric_accum', - aggfinalfn => 'numeric_stddev_samp', aggcombinefn => 'numeric_combine', - aggserialfn => 'numeric_serialize', aggdeserialfn => 'numeric_deserialize', - aggmtransfn => 'numeric_accum', aggminvtransfn => 'numeric_accum_inv', - aggmfinalfn => 'numeric_stddev_samp', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, - -# stddev: historical Postgres syntax for stddev_samp -{ aggfnoid => 'stddev(int8)', aggtransfn => 'int8_accum', - aggfinalfn => 'numeric_stddev_samp', aggcombinefn => 'numeric_combine', - aggserialfn => 'numeric_serialize', aggdeserialfn => 'numeric_deserialize', - aggmtransfn => 'int8_accum', aggminvtransfn => 'int8_accum_inv', - aggmfinalfn => 'numeric_stddev_samp', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, -{ aggfnoid => 'stddev(int4)', aggtransfn => 'int4_accum', - aggfinalfn => 'numeric_poly_stddev_samp', - aggcombinefn => 'numeric_poly_combine', - aggserialfn => 'numeric_poly_serialize', - aggdeserialfn => 'numeric_poly_deserialize', aggmtransfn => 'int4_accum', - aggminvtransfn => 'int4_accum_inv', aggmfinalfn => 'numeric_poly_stddev_samp', - aggtranstype => 'internal', aggtransspace => '48', - aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'stddev(int2)', aggtransfn => 'int2_accum', - aggfinalfn => 'numeric_poly_stddev_samp', - aggcombinefn => 'numeric_poly_combine', - aggserialfn => 'numeric_poly_serialize', - aggdeserialfn => 'numeric_poly_deserialize', aggmtransfn => 'int2_accum', - aggminvtransfn => 'int2_accum_inv', aggmfinalfn => 'numeric_poly_stddev_samp', - aggtranstype => 'internal', aggtransspace => '48', - aggmtranstype => 'internal', aggmtransspace => '48' }, -{ aggfnoid => 'stddev(float4)', aggtransfn => 'float4_accum', - aggfinalfn => 'float8_stddev_samp', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'stddev(float8)', aggtransfn => 'float8_accum', - aggfinalfn => 'float8_stddev_samp', aggcombinefn => 'float8_combine', - aggtranstype => '_float8', agginitval => '{0,0,0}' }, -{ aggfnoid => 'stddev(numeric)', aggtransfn => 'numeric_accum', - aggfinalfn => 'numeric_stddev_samp', aggcombinefn => 'numeric_combine', - aggserialfn => 'numeric_serialize', aggdeserialfn => 'numeric_deserialize', - aggmtransfn => 'numeric_accum', aggminvtransfn => 'numeric_accum_inv', - aggmfinalfn => 'numeric_stddev_samp', aggtranstype => 'internal', - aggtransspace => '128', aggmtranstype => 'internal', - aggmtransspace => '128' }, - -# SQL2003 binary regression aggregates -{ aggfnoid => 'regr_count', aggtransfn => 'int8inc_float8_float8', - aggcombinefn => 'int8pl', aggtranstype => 'int8', agginitval => '0' }, -{ aggfnoid => 'regr_sxx', aggtransfn => 'float8_regr_accum', - aggfinalfn => 'float8_regr_sxx', aggcombinefn => 'float8_regr_combine', - aggtranstype => '_float8', agginitval => '{0,0,0,0,0,0}' }, -{ aggfnoid => 'regr_syy', aggtransfn => 'float8_regr_accum', - aggfinalfn => 'float8_regr_syy', aggcombinefn => 'float8_regr_combine', - aggtranstype => '_float8', agginitval => '{0,0,0,0,0,0}' }, -{ aggfnoid => 'regr_sxy', aggtransfn => 'float8_regr_accum', - aggfinalfn => 'float8_regr_sxy', aggcombinefn => 'float8_regr_combine', - aggtranstype => '_float8', agginitval => '{0,0,0,0,0,0}' }, -{ aggfnoid => 'regr_avgx', aggtransfn => 'float8_regr_accum', - aggfinalfn => 'float8_regr_avgx', aggcombinefn => 'float8_regr_combine', - aggtranstype => '_float8', agginitval => '{0,0,0,0,0,0}' }, -{ aggfnoid => 'regr_avgy', aggtransfn => 'float8_regr_accum', - aggfinalfn => 'float8_regr_avgy', aggcombinefn => 'float8_regr_combine', - aggtranstype => '_float8', agginitval => '{0,0,0,0,0,0}' }, -{ aggfnoid => 'regr_r2', aggtransfn => 'float8_regr_accum', - aggfinalfn => 'float8_regr_r2', aggcombinefn => 'float8_regr_combine', - aggtranstype => '_float8', agginitval => '{0,0,0,0,0,0}' }, -{ aggfnoid => 'regr_slope', aggtransfn => 'float8_regr_accum', - aggfinalfn => 'float8_regr_slope', aggcombinefn => 'float8_regr_combine', - aggtranstype => '_float8', agginitval => '{0,0,0,0,0,0}' }, -{ aggfnoid => 'regr_intercept', aggtransfn => 'float8_regr_accum', - aggfinalfn => 'float8_regr_intercept', aggcombinefn => 'float8_regr_combine', - aggtranstype => '_float8', agginitval => '{0,0,0,0,0,0}' }, -{ aggfnoid => 'covar_pop', aggtransfn => 'float8_regr_accum', - aggfinalfn => 'float8_covar_pop', aggcombinefn => 'float8_regr_combine', - aggtranstype => '_float8', agginitval => '{0,0,0,0,0,0}' }, -{ aggfnoid => 'covar_samp', aggtransfn => 'float8_regr_accum', - aggfinalfn => 'float8_covar_samp', aggcombinefn => 'float8_regr_combine', - aggtranstype => '_float8', agginitval => '{0,0,0,0,0,0}' }, -{ aggfnoid => 'corr', aggtransfn => 'float8_regr_accum', - aggfinalfn => 'float8_corr', aggcombinefn => 'float8_regr_combine', - aggtranstype => '_float8', agginitval => '{0,0,0,0,0,0}' }, - -# boolean-and and boolean-or -{ aggfnoid => 'bool_and', aggtransfn => 'booland_statefunc', - aggcombinefn => 'booland_statefunc', aggmtransfn => 'bool_accum', - aggminvtransfn => 'bool_accum_inv', aggmfinalfn => 'bool_alltrue', - aggsortop => '<(bool,bool)', aggtranstype => 'bool', - aggmtranstype => 'internal', aggmtransspace => '16' }, -{ aggfnoid => 'bool_or', aggtransfn => 'boolor_statefunc', - aggcombinefn => 'boolor_statefunc', aggmtransfn => 'bool_accum', - aggminvtransfn => 'bool_accum_inv', aggmfinalfn => 'bool_anytrue', - aggsortop => '>(bool,bool)', aggtranstype => 'bool', - aggmtranstype => 'internal', aggmtransspace => '16' }, -{ aggfnoid => 'every', aggtransfn => 'booland_statefunc', - aggcombinefn => 'booland_statefunc', aggmtransfn => 'bool_accum', - aggminvtransfn => 'bool_accum_inv', aggmfinalfn => 'bool_alltrue', - aggsortop => '<(bool,bool)', aggtranstype => 'bool', - aggmtranstype => 'internal', aggmtransspace => '16' }, - -# bitwise integer -{ aggfnoid => 'bit_and(int2)', aggtransfn => 'int2and', - aggcombinefn => 'int2and', aggtranstype => 'int2' }, -{ aggfnoid => 'bit_or(int2)', aggtransfn => 'int2or', aggcombinefn => 'int2or', - aggtranstype => 'int2' }, -{ aggfnoid => 'bit_xor(int2)', aggtransfn => 'int2xor', - aggcombinefn => 'int2xor', aggtranstype => 'int2' }, -{ aggfnoid => 'bit_and(int4)', aggtransfn => 'int4and', - aggcombinefn => 'int4and', aggtranstype => 'int4' }, -{ aggfnoid => 'bit_or(int4)', aggtransfn => 'int4or', aggcombinefn => 'int4or', - aggtranstype => 'int4' }, -{ aggfnoid => 'bit_xor(int4)', aggtransfn => 'int4xor', - aggcombinefn => 'int4xor', aggtranstype => 'int4' }, -{ aggfnoid => 'bit_and(int8)', aggtransfn => 'int8and', - aggcombinefn => 'int8and', aggtranstype => 'int8' }, -{ aggfnoid => 'bit_or(int8)', aggtransfn => 'int8or', aggcombinefn => 'int8or', - aggtranstype => 'int8' }, -{ aggfnoid => 'bit_xor(int8)', aggtransfn => 'int8xor', - aggcombinefn => 'int8xor', aggtranstype => 'int8' }, -{ aggfnoid => 'bit_and(bit)', aggtransfn => 'bitand', aggcombinefn => 'bitand', - aggtranstype => 'bit' }, -{ aggfnoid => 'bit_or(bit)', aggtransfn => 'bitor', aggcombinefn => 'bitor', - aggtranstype => 'bit' }, -{ aggfnoid => 'bit_xor(bit)', aggtransfn => 'bitxor', aggcombinefn => 'bitxor', - aggtranstype => 'bit' }, - -# xml -{ aggfnoid => 'xmlagg', aggtransfn => 'xmlconcat2', aggtranstype => 'xml' }, - -# array -{ aggfnoid => 'array_agg(anynonarray)', aggtransfn => 'array_agg_transfn', - aggfinalfn => 'array_agg_finalfn', aggfinalextra => 't', - aggtranstype => 'internal' }, -{ aggfnoid => 'array_agg(anyarray)', aggtransfn => 'array_agg_array_transfn', - aggfinalfn => 'array_agg_array_finalfn', aggfinalextra => 't', - aggtranstype => 'internal' }, - -# text -{ aggfnoid => 'string_agg(text,text)', aggtransfn => 'string_agg_transfn', - aggfinalfn => 'string_agg_finalfn', aggtranstype => 'internal' }, - -# bytea -{ aggfnoid => 'string_agg(bytea,bytea)', - aggtransfn => 'bytea_string_agg_transfn', - aggfinalfn => 'bytea_string_agg_finalfn', aggtranstype => 'internal' }, - -# range -{ aggfnoid => 'range_intersect_agg(anyrange)', - aggtransfn => 'range_intersect_agg_transfn', - aggcombinefn => 'range_intersect_agg_transfn', aggtranstype => 'anyrange' }, -{ aggfnoid => 'range_intersect_agg(anymultirange)', - aggtransfn => 'multirange_intersect_agg_transfn', - aggcombinefn => 'multirange_intersect_agg_transfn', - aggtranstype => 'anymultirange' }, -{ aggfnoid => 'range_agg(anyrange)', aggtransfn => 'range_agg_transfn', - aggfinalfn => 'range_agg_finalfn', aggfinalextra => 't', - aggtranstype => 'internal' }, - -# json -{ aggfnoid => 'json_agg', aggtransfn => 'json_agg_transfn', - aggfinalfn => 'json_agg_finalfn', aggtranstype => 'internal' }, -{ aggfnoid => 'json_object_agg', aggtransfn => 'json_object_agg_transfn', - aggfinalfn => 'json_object_agg_finalfn', aggtranstype => 'internal' }, - -# jsonb -{ aggfnoid => 'jsonb_agg', aggtransfn => 'jsonb_agg_transfn', - aggfinalfn => 'jsonb_agg_finalfn', aggtranstype => 'internal' }, -{ aggfnoid => 'jsonb_object_agg', aggtransfn => 'jsonb_object_agg_transfn', - aggfinalfn => 'jsonb_object_agg_finalfn', aggtranstype => 'internal' }, - -# ordered-set and hypothetical-set aggregates -{ aggfnoid => 'percentile_disc(float8,anyelement)', aggkind => 'o', - aggnumdirectargs => '1', aggtransfn => 'ordered_set_transition', - aggfinalfn => 'percentile_disc_final', aggfinalextra => 't', - aggfinalmodify => 's', aggmfinalmodify => 's', aggtranstype => 'internal' }, -{ aggfnoid => 'percentile_cont(float8,float8)', aggkind => 'o', - aggnumdirectargs => '1', aggtransfn => 'ordered_set_transition', - aggfinalfn => 'percentile_cont_float8_final', aggfinalmodify => 's', - aggmfinalmodify => 's', aggtranstype => 'internal' }, -{ aggfnoid => 'percentile_cont(float8,interval)', aggkind => 'o', - aggnumdirectargs => '1', aggtransfn => 'ordered_set_transition', - aggfinalfn => 'percentile_cont_interval_final', aggfinalmodify => 's', - aggmfinalmodify => 's', aggtranstype => 'internal' }, -{ aggfnoid => 'percentile_disc(_float8,anyelement)', aggkind => 'o', - aggnumdirectargs => '1', aggtransfn => 'ordered_set_transition', - aggfinalfn => 'percentile_disc_multi_final', aggfinalextra => 't', - aggfinalmodify => 's', aggmfinalmodify => 's', aggtranstype => 'internal' }, -{ aggfnoid => 'percentile_cont(_float8,float8)', aggkind => 'o', - aggnumdirectargs => '1', aggtransfn => 'ordered_set_transition', - aggfinalfn => 'percentile_cont_float8_multi_final', aggfinalmodify => 's', - aggmfinalmodify => 's', aggtranstype => 'internal' }, -{ aggfnoid => 'percentile_cont(_float8,interval)', aggkind => 'o', - aggnumdirectargs => '1', aggtransfn => 'ordered_set_transition', - aggfinalfn => 'percentile_cont_interval_multi_final', aggfinalmodify => 's', - aggmfinalmodify => 's', aggtranstype => 'internal' }, -{ aggfnoid => 'mode', aggkind => 'o', aggtransfn => 'ordered_set_transition', - aggfinalfn => 'mode_final', aggfinalextra => 't', aggfinalmodify => 's', - aggmfinalmodify => 's', aggtranstype => 'internal' }, -{ aggfnoid => 'rank(any)', aggkind => 'h', aggnumdirectargs => '1', - aggtransfn => 'ordered_set_transition_multi', aggfinalfn => 'rank_final', - aggfinalextra => 't', aggfinalmodify => 'w', aggmfinalmodify => 'w', - aggtranstype => 'internal' }, -{ aggfnoid => 'percent_rank(any)', aggkind => 'h', aggnumdirectargs => '1', - aggtransfn => 'ordered_set_transition_multi', - aggfinalfn => 'percent_rank_final', aggfinalextra => 't', - aggfinalmodify => 'w', aggmfinalmodify => 'w', aggtranstype => 'internal' }, -{ aggfnoid => 'cume_dist(any)', aggkind => 'h', aggnumdirectargs => '1', - aggtransfn => 'ordered_set_transition_multi', aggfinalfn => 'cume_dist_final', - aggfinalextra => 't', aggfinalmodify => 'w', aggmfinalmodify => 'w', - aggtranstype => 'internal' }, -{ aggfnoid => 'dense_rank(any)', aggkind => 'h', aggnumdirectargs => '1', - aggtransfn => 'ordered_set_transition_multi', - aggfinalfn => 'dense_rank_final', aggfinalextra => 't', aggfinalmodify => 'w', - aggmfinalmodify => 'w', aggtranstype => 'internal' }, - -] diff --git a/contrib/libs/postgresql/src/include/catalog/pg_amop.dat b/contrib/libs/postgresql/src/include/catalog/pg_amop.dat deleted file mode 100644 index 8135854163e..00000000000 --- a/contrib/libs/postgresql/src/include/catalog/pg_amop.dat +++ /dev/null @@ -1,3230 +0,0 @@ -#---------------------------------------------------------------------- -# -# pg_amop.dat -# Initial contents of the pg_amop system catalog. -# -# Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group -# Portions Copyright (c) 1994, Regents of the University of California -# -# src/include/catalog/pg_amop.dat -# -#---------------------------------------------------------------------- - -[ - -# btree integer_ops - -# default operators int2 -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '1', amopopr => '<(int2,int2)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '2', amopopr => '<=(int2,int2)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '3', amopopr => '=(int2,int2)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '4', amopopr => '>=(int2,int2)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '5', amopopr => '>(int2,int2)', - amopmethod => 'btree' }, - -# crosstype operators int24 -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '1', amopopr => '<(int2,int4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '2', amopopr => '<=(int2,int4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '3', amopopr => '=(int2,int4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '4', amopopr => '>=(int2,int4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '5', amopopr => '>(int2,int4)', - amopmethod => 'btree' }, - -# crosstype operators int28 -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '1', amopopr => '<(int2,int8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '2', amopopr => '<=(int2,int8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '3', amopopr => '=(int2,int8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '4', amopopr => '>=(int2,int8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '5', amopopr => '>(int2,int8)', - amopmethod => 'btree' }, - -# default operators int4 -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '1', amopopr => '<(int4,int4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '2', amopopr => '<=(int4,int4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '3', amopopr => '=(int4,int4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '4', amopopr => '>=(int4,int4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '5', amopopr => '>(int4,int4)', - amopmethod => 'btree' }, - -# crosstype operators int42 -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '1', amopopr => '<(int4,int2)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '2', amopopr => '<=(int4,int2)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '3', amopopr => '=(int4,int2)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '4', amopopr => '>=(int4,int2)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '5', amopopr => '>(int4,int2)', - amopmethod => 'btree' }, - -# crosstype operators int48 -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '1', amopopr => '<(int4,int8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '2', amopopr => '<=(int4,int8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '3', amopopr => '=(int4,int8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '4', amopopr => '>=(int4,int8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '5', amopopr => '>(int4,int8)', - amopmethod => 'btree' }, - -# default operators int8 -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '1', amopopr => '<(int8,int8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '2', amopopr => '<=(int8,int8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '3', amopopr => '=(int8,int8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '4', amopopr => '>=(int8,int8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '5', amopopr => '>(int8,int8)', - amopmethod => 'btree' }, - -# crosstype operators int82 -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '1', amopopr => '<(int8,int2)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '2', amopopr => '<=(int8,int2)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '3', amopopr => '=(int8,int2)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '4', amopopr => '>=(int8,int2)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '5', amopopr => '>(int8,int2)', - amopmethod => 'btree' }, - -# crosstype operators int84 -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '1', amopopr => '<(int8,int4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '2', amopopr => '<=(int8,int4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '3', amopopr => '=(int8,int4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '4', amopopr => '>=(int8,int4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '5', amopopr => '>(int8,int4)', - amopmethod => 'btree' }, - -# btree oid_ops - -{ amopfamily => 'btree/oid_ops', amoplefttype => 'oid', amoprighttype => 'oid', - amopstrategy => '1', amopopr => '<(oid,oid)', amopmethod => 'btree' }, -{ amopfamily => 'btree/oid_ops', amoplefttype => 'oid', amoprighttype => 'oid', - amopstrategy => '2', amopopr => '<=(oid,oid)', amopmethod => 'btree' }, -{ amopfamily => 'btree/oid_ops', amoplefttype => 'oid', amoprighttype => 'oid', - amopstrategy => '3', amopopr => '=(oid,oid)', amopmethod => 'btree' }, -{ amopfamily => 'btree/oid_ops', amoplefttype => 'oid', amoprighttype => 'oid', - amopstrategy => '4', amopopr => '>=(oid,oid)', amopmethod => 'btree' }, -{ amopfamily => 'btree/oid_ops', amoplefttype => 'oid', amoprighttype => 'oid', - amopstrategy => '5', amopopr => '>(oid,oid)', amopmethod => 'btree' }, - -# btree xid8_ops - -{ amopfamily => 'btree/xid8_ops', amoplefttype => 'xid8', - amoprighttype => 'xid8', amopstrategy => '1', amopopr => '<(xid8,xid8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/xid8_ops', amoplefttype => 'xid8', - amoprighttype => 'xid8', amopstrategy => '2', amopopr => '<=(xid8,xid8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/xid8_ops', amoplefttype => 'xid8', - amoprighttype => 'xid8', amopstrategy => '3', amopopr => '=(xid8,xid8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/xid8_ops', amoplefttype => 'xid8', - amoprighttype => 'xid8', amopstrategy => '4', amopopr => '>=(xid8,xid8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/xid8_ops', amoplefttype => 'xid8', - amoprighttype => 'xid8', amopstrategy => '5', amopopr => '>(xid8,xid8)', - amopmethod => 'btree' }, - -# btree tid_ops - -{ amopfamily => 'btree/tid_ops', amoplefttype => 'tid', amoprighttype => 'tid', - amopstrategy => '1', amopopr => '<(tid,tid)', amopmethod => 'btree' }, -{ amopfamily => 'btree/tid_ops', amoplefttype => 'tid', amoprighttype => 'tid', - amopstrategy => '2', amopopr => '<=(tid,tid)', amopmethod => 'btree' }, -{ amopfamily => 'btree/tid_ops', amoplefttype => 'tid', amoprighttype => 'tid', - amopstrategy => '3', amopopr => '=(tid,tid)', amopmethod => 'btree' }, -{ amopfamily => 'btree/tid_ops', amoplefttype => 'tid', amoprighttype => 'tid', - amopstrategy => '4', amopopr => '>=(tid,tid)', amopmethod => 'btree' }, -{ amopfamily => 'btree/tid_ops', amoplefttype => 'tid', amoprighttype => 'tid', - amopstrategy => '5', amopopr => '>(tid,tid)', amopmethod => 'btree' }, - -# btree oidvector_ops - -{ amopfamily => 'btree/oidvector_ops', amoplefttype => 'oidvector', - amoprighttype => 'oidvector', amopstrategy => '1', - amopopr => '<(oidvector,oidvector)', amopmethod => 'btree' }, -{ amopfamily => 'btree/oidvector_ops', amoplefttype => 'oidvector', - amoprighttype => 'oidvector', amopstrategy => '2', - amopopr => '<=(oidvector,oidvector)', amopmethod => 'btree' }, -{ amopfamily => 'btree/oidvector_ops', amoplefttype => 'oidvector', - amoprighttype => 'oidvector', amopstrategy => '3', - amopopr => '=(oidvector,oidvector)', amopmethod => 'btree' }, -{ amopfamily => 'btree/oidvector_ops', amoplefttype => 'oidvector', - amoprighttype => 'oidvector', amopstrategy => '4', - amopopr => '>=(oidvector,oidvector)', amopmethod => 'btree' }, -{ amopfamily => 'btree/oidvector_ops', amoplefttype => 'oidvector', - amoprighttype => 'oidvector', amopstrategy => '5', - amopopr => '>(oidvector,oidvector)', amopmethod => 'btree' }, - -# btree float_ops - -# default operators float4 -{ amopfamily => 'btree/float_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '1', amopopr => '<(float4,float4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '2', - amopopr => '<=(float4,float4)', amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '3', amopopr => '=(float4,float4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '4', - amopopr => '>=(float4,float4)', amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '5', amopopr => '>(float4,float4)', - amopmethod => 'btree' }, - -# crosstype operators float48 -{ amopfamily => 'btree/float_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '1', amopopr => '<(float4,float8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '2', - amopopr => '<=(float4,float8)', amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '3', amopopr => '=(float4,float8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '4', - amopopr => '>=(float4,float8)', amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '5', amopopr => '>(float4,float8)', - amopmethod => 'btree' }, - -# default operators float8 -{ amopfamily => 'btree/float_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '1', amopopr => '<(float8,float8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '2', - amopopr => '<=(float8,float8)', amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '3', amopopr => '=(float8,float8)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '4', - amopopr => '>=(float8,float8)', amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '5', amopopr => '>(float8,float8)', - amopmethod => 'btree' }, - -# crosstype operators float84 -{ amopfamily => 'btree/float_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '1', amopopr => '<(float8,float4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '2', - amopopr => '<=(float8,float4)', amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '3', amopopr => '=(float8,float4)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '4', - amopopr => '>=(float8,float4)', amopmethod => 'btree' }, -{ amopfamily => 'btree/float_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '5', amopopr => '>(float8,float4)', - amopmethod => 'btree' }, - -# btree char_ops - -{ amopfamily => 'btree/char_ops', amoplefttype => 'char', - amoprighttype => 'char', amopstrategy => '1', amopopr => '<(char,char)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/char_ops', amoplefttype => 'char', - amoprighttype => 'char', amopstrategy => '2', amopopr => '<=(char,char)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/char_ops', amoplefttype => 'char', - amoprighttype => 'char', amopstrategy => '3', amopopr => '=(char,char)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/char_ops', amoplefttype => 'char', - amoprighttype => 'char', amopstrategy => '4', amopopr => '>=(char,char)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/char_ops', amoplefttype => 'char', - amoprighttype => 'char', amopstrategy => '5', amopopr => '>(char,char)', - amopmethod => 'btree' }, - -# btree text_ops - -{ amopfamily => 'btree/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '1', amopopr => '<(text,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '2', amopopr => '<=(text,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '3', amopopr => '=(text,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '4', amopopr => '>=(text,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '5', amopopr => '>(text,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'name', - amoprighttype => 'name', amopstrategy => '1', amopopr => '<(name,name)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'name', - amoprighttype => 'name', amopstrategy => '2', amopopr => '<=(name,name)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'name', - amoprighttype => 'name', amopstrategy => '3', amopopr => '=(name,name)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'name', - amoprighttype => 'name', amopstrategy => '4', amopopr => '>=(name,name)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'name', - amoprighttype => 'name', amopstrategy => '5', amopopr => '>(name,name)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'name', - amoprighttype => 'text', amopstrategy => '1', amopopr => '<(name,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'name', - amoprighttype => 'text', amopstrategy => '2', amopopr => '<=(name,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'name', - amoprighttype => 'text', amopstrategy => '3', amopopr => '=(name,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'name', - amoprighttype => 'text', amopstrategy => '4', amopopr => '>=(name,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'name', - amoprighttype => 'text', amopstrategy => '5', amopopr => '>(name,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'text', - amoprighttype => 'name', amopstrategy => '1', amopopr => '<(text,name)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'text', - amoprighttype => 'name', amopstrategy => '2', amopopr => '<=(text,name)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'text', - amoprighttype => 'name', amopstrategy => '3', amopopr => '=(text,name)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'text', - amoprighttype => 'name', amopstrategy => '4', amopopr => '>=(text,name)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_ops', amoplefttype => 'text', - amoprighttype => 'name', amopstrategy => '5', amopopr => '>(text,name)', - amopmethod => 'btree' }, - -# btree bpchar_ops - -{ amopfamily => 'btree/bpchar_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '1', amopopr => '<(bpchar,bpchar)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/bpchar_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '2', - amopopr => '<=(bpchar,bpchar)', amopmethod => 'btree' }, -{ amopfamily => 'btree/bpchar_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '3', amopopr => '=(bpchar,bpchar)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/bpchar_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '4', - amopopr => '>=(bpchar,bpchar)', amopmethod => 'btree' }, -{ amopfamily => 'btree/bpchar_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '5', amopopr => '>(bpchar,bpchar)', - amopmethod => 'btree' }, - -# btree bytea_ops - -{ amopfamily => 'btree/bytea_ops', amoplefttype => 'bytea', - amoprighttype => 'bytea', amopstrategy => '1', amopopr => '<(bytea,bytea)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/bytea_ops', amoplefttype => 'bytea', - amoprighttype => 'bytea', amopstrategy => '2', amopopr => '<=(bytea,bytea)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/bytea_ops', amoplefttype => 'bytea', - amoprighttype => 'bytea', amopstrategy => '3', amopopr => '=(bytea,bytea)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/bytea_ops', amoplefttype => 'bytea', - amoprighttype => 'bytea', amopstrategy => '4', amopopr => '>=(bytea,bytea)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/bytea_ops', amoplefttype => 'bytea', - amoprighttype => 'bytea', amopstrategy => '5', amopopr => '>(bytea,bytea)', - amopmethod => 'btree' }, - -# btree datetime_ops - -# default operators date -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '1', amopopr => '<(date,date)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '2', amopopr => '<=(date,date)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '3', amopopr => '=(date,date)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '4', amopopr => '>=(date,date)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '5', amopopr => '>(date,date)', - amopmethod => 'btree' }, - -# crosstype operators vs timestamp -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '1', - amopopr => '<(date,timestamp)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '2', - amopopr => '<=(date,timestamp)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '3', - amopopr => '=(date,timestamp)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '4', - amopopr => '>=(date,timestamp)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '5', - amopopr => '>(date,timestamp)', amopmethod => 'btree' }, - -# crosstype operators vs timestamptz -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '1', - amopopr => '<(date,timestamptz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '2', - amopopr => '<=(date,timestamptz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '3', - amopopr => '=(date,timestamptz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '4', - amopopr => '>=(date,timestamptz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '5', - amopopr => '>(date,timestamptz)', amopmethod => 'btree' }, - -# default operators timestamp -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '1', - amopopr => '<(timestamp,timestamp)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '2', - amopopr => '<=(timestamp,timestamp)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '3', - amopopr => '=(timestamp,timestamp)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '4', - amopopr => '>=(timestamp,timestamp)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '5', - amopopr => '>(timestamp,timestamp)', amopmethod => 'btree' }, - -# crosstype operators vs date -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '1', amopopr => '<(timestamp,date)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '2', amopopr => '<=(timestamp,date)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '3', amopopr => '=(timestamp,date)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '4', amopopr => '>=(timestamp,date)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '5', amopopr => '>(timestamp,date)', - amopmethod => 'btree' }, - -# crosstype operators vs timestamptz -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '1', - amopopr => '<(timestamp,timestamptz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '2', - amopopr => '<=(timestamp,timestamptz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '3', - amopopr => '=(timestamp,timestamptz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '4', - amopopr => '>=(timestamp,timestamptz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '5', - amopopr => '>(timestamp,timestamptz)', amopmethod => 'btree' }, - -# default operators timestamptz -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '1', - amopopr => '<(timestamptz,timestamptz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '2', - amopopr => '<=(timestamptz,timestamptz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '3', - amopopr => '=(timestamptz,timestamptz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '4', - amopopr => '>=(timestamptz,timestamptz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '5', - amopopr => '>(timestamptz,timestamptz)', amopmethod => 'btree' }, - -# crosstype operators vs date -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '1', - amopopr => '<(timestamptz,date)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '2', - amopopr => '<=(timestamptz,date)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '3', - amopopr => '=(timestamptz,date)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '4', - amopopr => '>=(timestamptz,date)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '5', - amopopr => '>(timestamptz,date)', amopmethod => 'btree' }, - -# crosstype operators vs timestamp -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '1', - amopopr => '<(timestamptz,timestamp)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '2', - amopopr => '<=(timestamptz,timestamp)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '3', - amopopr => '=(timestamptz,timestamp)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '4', - amopopr => '>=(timestamptz,timestamp)', amopmethod => 'btree' }, -{ amopfamily => 'btree/datetime_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '5', - amopopr => '>(timestamptz,timestamp)', amopmethod => 'btree' }, - -# btree time_ops - -{ amopfamily => 'btree/time_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '1', amopopr => '<(time,time)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/time_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '2', amopopr => '<=(time,time)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/time_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '3', amopopr => '=(time,time)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/time_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '4', amopopr => '>=(time,time)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/time_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '5', amopopr => '>(time,time)', - amopmethod => 'btree' }, - -# btree timetz_ops - -{ amopfamily => 'btree/timetz_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '1', amopopr => '<(timetz,timetz)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/timetz_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '2', - amopopr => '<=(timetz,timetz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/timetz_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '3', amopopr => '=(timetz,timetz)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/timetz_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '4', - amopopr => '>=(timetz,timetz)', amopmethod => 'btree' }, -{ amopfamily => 'btree/timetz_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '5', amopopr => '>(timetz,timetz)', - amopmethod => 'btree' }, - -# btree interval_ops - -{ amopfamily => 'btree/interval_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '1', - amopopr => '<(interval,interval)', amopmethod => 'btree' }, -{ amopfamily => 'btree/interval_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '2', - amopopr => '<=(interval,interval)', amopmethod => 'btree' }, -{ amopfamily => 'btree/interval_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '3', - amopopr => '=(interval,interval)', amopmethod => 'btree' }, -{ amopfamily => 'btree/interval_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '4', - amopopr => '>=(interval,interval)', amopmethod => 'btree' }, -{ amopfamily => 'btree/interval_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '5', - amopopr => '>(interval,interval)', amopmethod => 'btree' }, - -# btree macaddr - -{ amopfamily => 'btree/macaddr_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '1', - amopopr => '<(macaddr,macaddr)', amopmethod => 'btree' }, -{ amopfamily => 'btree/macaddr_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '2', - amopopr => '<=(macaddr,macaddr)', amopmethod => 'btree' }, -{ amopfamily => 'btree/macaddr_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '3', - amopopr => '=(macaddr,macaddr)', amopmethod => 'btree' }, -{ amopfamily => 'btree/macaddr_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '4', - amopopr => '>=(macaddr,macaddr)', amopmethod => 'btree' }, -{ amopfamily => 'btree/macaddr_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '5', - amopopr => '>(macaddr,macaddr)', amopmethod => 'btree' }, - -# btree macaddr8 - -{ amopfamily => 'btree/macaddr8_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '1', - amopopr => '<(macaddr8,macaddr8)', amopmethod => 'btree' }, -{ amopfamily => 'btree/macaddr8_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '2', - amopopr => '<=(macaddr8,macaddr8)', amopmethod => 'btree' }, -{ amopfamily => 'btree/macaddr8_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '3', - amopopr => '=(macaddr8,macaddr8)', amopmethod => 'btree' }, -{ amopfamily => 'btree/macaddr8_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '4', - amopopr => '>=(macaddr8,macaddr8)', amopmethod => 'btree' }, -{ amopfamily => 'btree/macaddr8_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '5', - amopopr => '>(macaddr8,macaddr8)', amopmethod => 'btree' }, - -# btree network - -{ amopfamily => 'btree/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '1', amopopr => '<(inet,inet)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '2', amopopr => '<=(inet,inet)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '3', amopopr => '=(inet,inet)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '4', amopopr => '>=(inet,inet)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '5', amopopr => '>(inet,inet)', - amopmethod => 'btree' }, - -# btree numeric - -{ amopfamily => 'btree/numeric_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '1', - amopopr => '<(numeric,numeric)', amopmethod => 'btree' }, -{ amopfamily => 'btree/numeric_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '2', - amopopr => '<=(numeric,numeric)', amopmethod => 'btree' }, -{ amopfamily => 'btree/numeric_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '3', - amopopr => '=(numeric,numeric)', amopmethod => 'btree' }, -{ amopfamily => 'btree/numeric_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '4', - amopopr => '>=(numeric,numeric)', amopmethod => 'btree' }, -{ amopfamily => 'btree/numeric_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '5', - amopopr => '>(numeric,numeric)', amopmethod => 'btree' }, - -# btree bool - -{ amopfamily => 'btree/bool_ops', amoplefttype => 'bool', - amoprighttype => 'bool', amopstrategy => '1', amopopr => '<(bool,bool)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/bool_ops', amoplefttype => 'bool', - amoprighttype => 'bool', amopstrategy => '2', amopopr => '<=(bool,bool)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/bool_ops', amoplefttype => 'bool', - amoprighttype => 'bool', amopstrategy => '3', amopopr => '=(bool,bool)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/bool_ops', amoplefttype => 'bool', - amoprighttype => 'bool', amopstrategy => '4', amopopr => '>=(bool,bool)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/bool_ops', amoplefttype => 'bool', - amoprighttype => 'bool', amopstrategy => '5', amopopr => '>(bool,bool)', - amopmethod => 'btree' }, - -# btree bit - -{ amopfamily => 'btree/bit_ops', amoplefttype => 'bit', amoprighttype => 'bit', - amopstrategy => '1', amopopr => '<(bit,bit)', amopmethod => 'btree' }, -{ amopfamily => 'btree/bit_ops', amoplefttype => 'bit', amoprighttype => 'bit', - amopstrategy => '2', amopopr => '<=(bit,bit)', amopmethod => 'btree' }, -{ amopfamily => 'btree/bit_ops', amoplefttype => 'bit', amoprighttype => 'bit', - amopstrategy => '3', amopopr => '=(bit,bit)', amopmethod => 'btree' }, -{ amopfamily => 'btree/bit_ops', amoplefttype => 'bit', amoprighttype => 'bit', - amopstrategy => '4', amopopr => '>=(bit,bit)', amopmethod => 'btree' }, -{ amopfamily => 'btree/bit_ops', amoplefttype => 'bit', amoprighttype => 'bit', - amopstrategy => '5', amopopr => '>(bit,bit)', amopmethod => 'btree' }, - -# btree varbit - -{ amopfamily => 'btree/varbit_ops', amoplefttype => 'varbit', - amoprighttype => 'varbit', amopstrategy => '1', amopopr => '<(varbit,varbit)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/varbit_ops', amoplefttype => 'varbit', - amoprighttype => 'varbit', amopstrategy => '2', - amopopr => '<=(varbit,varbit)', amopmethod => 'btree' }, -{ amopfamily => 'btree/varbit_ops', amoplefttype => 'varbit', - amoprighttype => 'varbit', amopstrategy => '3', amopopr => '=(varbit,varbit)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/varbit_ops', amoplefttype => 'varbit', - amoprighttype => 'varbit', amopstrategy => '4', - amopopr => '>=(varbit,varbit)', amopmethod => 'btree' }, -{ amopfamily => 'btree/varbit_ops', amoplefttype => 'varbit', - amoprighttype => 'varbit', amopstrategy => '5', amopopr => '>(varbit,varbit)', - amopmethod => 'btree' }, - -# btree text pattern - -{ amopfamily => 'btree/text_pattern_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '1', amopopr => '~<~(text,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_pattern_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '2', amopopr => '~<=~(text,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_pattern_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '3', amopopr => '=(text,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_pattern_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '4', amopopr => '~>=~(text,text)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/text_pattern_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '5', amopopr => '~>~(text,text)', - amopmethod => 'btree' }, - -# btree bpchar pattern - -{ amopfamily => 'btree/bpchar_pattern_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '1', - amopopr => '~<~(bpchar,bpchar)', amopmethod => 'btree' }, -{ amopfamily => 'btree/bpchar_pattern_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '2', - amopopr => '~<=~(bpchar,bpchar)', amopmethod => 'btree' }, -{ amopfamily => 'btree/bpchar_pattern_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '3', amopopr => '=(bpchar,bpchar)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/bpchar_pattern_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '4', - amopopr => '~>=~(bpchar,bpchar)', amopmethod => 'btree' }, -{ amopfamily => 'btree/bpchar_pattern_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '5', - amopopr => '~>~(bpchar,bpchar)', amopmethod => 'btree' }, - -# btree money_ops - -{ amopfamily => 'btree/money_ops', amoplefttype => 'money', - amoprighttype => 'money', amopstrategy => '1', amopopr => '<(money,money)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/money_ops', amoplefttype => 'money', - amoprighttype => 'money', amopstrategy => '2', amopopr => '<=(money,money)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/money_ops', amoplefttype => 'money', - amoprighttype => 'money', amopstrategy => '3', amopopr => '=(money,money)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/money_ops', amoplefttype => 'money', - amoprighttype => 'money', amopstrategy => '4', amopopr => '>=(money,money)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/money_ops', amoplefttype => 'money', - amoprighttype => 'money', amopstrategy => '5', amopopr => '>(money,money)', - amopmethod => 'btree' }, - -# btree array_ops - -{ amopfamily => 'btree/array_ops', amoplefttype => 'anyarray', - amoprighttype => 'anyarray', amopstrategy => '1', - amopopr => '<(anyarray,anyarray)', amopmethod => 'btree' }, -{ amopfamily => 'btree/array_ops', amoplefttype => 'anyarray', - amoprighttype => 'anyarray', amopstrategy => '2', - amopopr => '<=(anyarray,anyarray)', amopmethod => 'btree' }, -{ amopfamily => 'btree/array_ops', amoplefttype => 'anyarray', - amoprighttype => 'anyarray', amopstrategy => '3', - amopopr => '=(anyarray,anyarray)', amopmethod => 'btree' }, -{ amopfamily => 'btree/array_ops', amoplefttype => 'anyarray', - amoprighttype => 'anyarray', amopstrategy => '4', - amopopr => '>=(anyarray,anyarray)', amopmethod => 'btree' }, -{ amopfamily => 'btree/array_ops', amoplefttype => 'anyarray', - amoprighttype => 'anyarray', amopstrategy => '5', - amopopr => '>(anyarray,anyarray)', amopmethod => 'btree' }, - -# btree record_ops - -{ amopfamily => 'btree/record_ops', amoplefttype => 'record', - amoprighttype => 'record', amopstrategy => '1', amopopr => '<(record,record)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/record_ops', amoplefttype => 'record', - amoprighttype => 'record', amopstrategy => '2', - amopopr => '<=(record,record)', amopmethod => 'btree' }, -{ amopfamily => 'btree/record_ops', amoplefttype => 'record', - amoprighttype => 'record', amopstrategy => '3', amopopr => '=(record,record)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/record_ops', amoplefttype => 'record', - amoprighttype => 'record', amopstrategy => '4', - amopopr => '>=(record,record)', amopmethod => 'btree' }, -{ amopfamily => 'btree/record_ops', amoplefttype => 'record', - amoprighttype => 'record', amopstrategy => '5', amopopr => '>(record,record)', - amopmethod => 'btree' }, - -# btree record_image_ops - -{ amopfamily => 'btree/record_image_ops', amoplefttype => 'record', - amoprighttype => 'record', amopstrategy => '1', - amopopr => '*<(record,record)', amopmethod => 'btree' }, -{ amopfamily => 'btree/record_image_ops', amoplefttype => 'record', - amoprighttype => 'record', amopstrategy => '2', - amopopr => '*<=(record,record)', amopmethod => 'btree' }, -{ amopfamily => 'btree/record_image_ops', amoplefttype => 'record', - amoprighttype => 'record', amopstrategy => '3', - amopopr => '*=(record,record)', amopmethod => 'btree' }, -{ amopfamily => 'btree/record_image_ops', amoplefttype => 'record', - amoprighttype => 'record', amopstrategy => '4', - amopopr => '*>=(record,record)', amopmethod => 'btree' }, -{ amopfamily => 'btree/record_image_ops', amoplefttype => 'record', - amoprighttype => 'record', amopstrategy => '5', - amopopr => '*>(record,record)', amopmethod => 'btree' }, - -# btree uuid_ops - -{ amopfamily => 'btree/uuid_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '1', amopopr => '<(uuid,uuid)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/uuid_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '2', amopopr => '<=(uuid,uuid)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/uuid_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '3', amopopr => '=(uuid,uuid)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/uuid_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '4', amopopr => '>=(uuid,uuid)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/uuid_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '5', amopopr => '>(uuid,uuid)', - amopmethod => 'btree' }, - -# btree pg_lsn_ops - -{ amopfamily => 'btree/pg_lsn_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '1', amopopr => '<(pg_lsn,pg_lsn)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/pg_lsn_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '2', - amopopr => '<=(pg_lsn,pg_lsn)', amopmethod => 'btree' }, -{ amopfamily => 'btree/pg_lsn_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '3', amopopr => '=(pg_lsn,pg_lsn)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/pg_lsn_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '4', - amopopr => '>=(pg_lsn,pg_lsn)', amopmethod => 'btree' }, -{ amopfamily => 'btree/pg_lsn_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '5', amopopr => '>(pg_lsn,pg_lsn)', - amopmethod => 'btree' }, - -# hash index_ops - -# bpchar_ops -{ amopfamily => 'hash/bpchar_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '1', amopopr => '=(bpchar,bpchar)', - amopmethod => 'hash' }, - -# char_ops -{ amopfamily => 'hash/char_ops', amoplefttype => 'char', - amoprighttype => 'char', amopstrategy => '1', amopopr => '=(char,char)', - amopmethod => 'hash' }, - -# date_ops -{ amopfamily => 'hash/date_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '1', amopopr => '=(date,date)', - amopmethod => 'hash' }, - -# float_ops -{ amopfamily => 'hash/float_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '1', amopopr => '=(float4,float4)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/float_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '1', amopopr => '=(float8,float8)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/float_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '1', amopopr => '=(float4,float8)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/float_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '1', amopopr => '=(float8,float4)', - amopmethod => 'hash' }, - -# network_ops -{ amopfamily => 'hash/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '1', amopopr => '=(inet,inet)', - amopmethod => 'hash' }, - -# integer_ops -{ amopfamily => 'hash/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '1', amopopr => '=(int2,int2)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '1', amopopr => '=(int4,int4)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '1', amopopr => '=(int8,int8)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '1', amopopr => '=(int2,int4)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/integer_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '1', amopopr => '=(int2,int8)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '1', amopopr => '=(int4,int2)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/integer_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '1', amopopr => '=(int4,int8)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '1', amopopr => '=(int8,int2)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/integer_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '1', amopopr => '=(int8,int4)', - amopmethod => 'hash' }, - -# interval_ops -{ amopfamily => 'hash/interval_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '1', - amopopr => '=(interval,interval)', amopmethod => 'hash' }, - -# macaddr_ops -{ amopfamily => 'hash/macaddr_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '1', - amopopr => '=(macaddr,macaddr)', amopmethod => 'hash' }, - -# macaddr8_ops -{ amopfamily => 'hash/macaddr8_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '1', - amopopr => '=(macaddr8,macaddr8)', amopmethod => 'hash' }, - -# oid_ops -{ amopfamily => 'hash/oid_ops', amoplefttype => 'oid', amoprighttype => 'oid', - amopstrategy => '1', amopopr => '=(oid,oid)', amopmethod => 'hash' }, - -# oidvector_ops -{ amopfamily => 'hash/oidvector_ops', amoplefttype => 'oidvector', - amoprighttype => 'oidvector', amopstrategy => '1', - amopopr => '=(oidvector,oidvector)', amopmethod => 'hash' }, - -# record_ops -{ amopfamily => 'hash/record_ops', amoplefttype => 'record', - amoprighttype => 'record', amopstrategy => '1', amopopr => '=(record,record)', - amopmethod => 'hash' }, - -# text_ops -{ amopfamily => 'hash/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '1', amopopr => '=(text,text)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/text_ops', amoplefttype => 'name', - amoprighttype => 'name', amopstrategy => '1', amopopr => '=(name,name)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/text_ops', amoplefttype => 'name', - amoprighttype => 'text', amopstrategy => '1', amopopr => '=(name,text)', - amopmethod => 'hash' }, -{ amopfamily => 'hash/text_ops', amoplefttype => 'text', - amoprighttype => 'name', amopstrategy => '1', amopopr => '=(text,name)', - amopmethod => 'hash' }, - -# time_ops -{ amopfamily => 'hash/time_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '1', amopopr => '=(time,time)', - amopmethod => 'hash' }, - -# timestamptz_ops -{ amopfamily => 'hash/timestamptz_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '1', - amopopr => '=(timestamptz,timestamptz)', amopmethod => 'hash' }, - -# timetz_ops -{ amopfamily => 'hash/timetz_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '1', amopopr => '=(timetz,timetz)', - amopmethod => 'hash' }, - -# timestamp_ops -{ amopfamily => 'hash/timestamp_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '1', - amopopr => '=(timestamp,timestamp)', amopmethod => 'hash' }, - -# bool_ops -{ amopfamily => 'hash/bool_ops', amoplefttype => 'bool', - amoprighttype => 'bool', amopstrategy => '1', amopopr => '=(bool,bool)', - amopmethod => 'hash' }, - -# bytea_ops -{ amopfamily => 'hash/bytea_ops', amoplefttype => 'bytea', - amoprighttype => 'bytea', amopstrategy => '1', amopopr => '=(bytea,bytea)', - amopmethod => 'hash' }, - -# xid_ops -{ amopfamily => 'hash/xid_ops', amoplefttype => 'xid', amoprighttype => 'xid', - amopstrategy => '1', amopopr => '=(xid,xid)', amopmethod => 'hash' }, - -# xid8_ops -{ amopfamily => 'hash/xid8_ops', amoplefttype => 'xid8', - amoprighttype => 'xid8', amopstrategy => '1', amopopr => '=(xid8,xid8)', - amopmethod => 'hash' }, - -# cid_ops -{ amopfamily => 'hash/cid_ops', amoplefttype => 'cid', amoprighttype => 'cid', - amopstrategy => '1', amopopr => '=(cid,cid)', amopmethod => 'hash' }, - -# tid_ops -{ amopfamily => 'hash/tid_ops', amoplefttype => 'tid', amoprighttype => 'tid', - amopstrategy => '1', amopopr => '=(tid,tid)', amopmethod => 'hash' }, - -# text_pattern_ops -{ amopfamily => 'hash/text_pattern_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '1', amopopr => '=(text,text)', - amopmethod => 'hash' }, - -# bpchar_pattern_ops -{ amopfamily => 'hash/bpchar_pattern_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '1', amopopr => '=(bpchar,bpchar)', - amopmethod => 'hash' }, - -# aclitem_ops -{ amopfamily => 'hash/aclitem_ops', amoplefttype => 'aclitem', - amoprighttype => 'aclitem', amopstrategy => '1', - amopopr => '=(aclitem,aclitem)', amopmethod => 'hash' }, - -# uuid_ops -{ amopfamily => 'hash/uuid_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '1', amopopr => '=(uuid,uuid)', - amopmethod => 'hash' }, - -# pg_lsn_ops -{ amopfamily => 'hash/pg_lsn_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '1', amopopr => '=(pg_lsn,pg_lsn)', - amopmethod => 'hash' }, - -# numeric_ops -{ amopfamily => 'hash/numeric_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '1', - amopopr => '=(numeric,numeric)', amopmethod => 'hash' }, - -# array_ops -{ amopfamily => 'hash/array_ops', amoplefttype => 'anyarray', - amoprighttype => 'anyarray', amopstrategy => '1', - amopopr => '=(anyarray,anyarray)', amopmethod => 'hash' }, - -# gist box_ops -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '1', amopopr => '<<(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '2', amopopr => '&<(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '3', amopopr => '&&(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '4', amopopr => '&>(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '5', amopopr => '>>(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '6', amopopr => '~=(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '7', amopopr => '@>(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '8', amopopr => '<@(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '9', amopopr => '&<|(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '10', amopopr => '<<|(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '11', amopopr => '|>>(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '12', amopopr => '|&>(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'point', - amopstrategy => '15', amoppurpose => 'o', amopopr => '<->(box,point)', - amopmethod => 'gist', amopsortfamily => 'btree/float_ops' }, - -# gist point_ops -{ amopfamily => 'gist/point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '11', amopopr => '|>>(point,point)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '30', amopopr => '>^(point,point)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '1', amopopr => '<<(point,point)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '5', amopopr => '>>(point,point)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '10', amopopr => '<<|(point,point)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '29', amopopr => '<^(point,point)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '6', amopopr => '~=(point,point)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '15', amoppurpose => 'o', - amopopr => '<->(point,point)', amopmethod => 'gist', - amopsortfamily => 'btree/float_ops' }, -{ amopfamily => 'gist/point_ops', amoplefttype => 'point', - amoprighttype => 'box', amopstrategy => '28', amopopr => '<@(point,box)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/point_ops', amoplefttype => 'point', - amoprighttype => 'polygon', amopstrategy => '48', - amopopr => '<@(point,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/point_ops', amoplefttype => 'point', - amoprighttype => 'circle', amopstrategy => '68', - amopopr => '<@(point,circle)', amopmethod => 'gist' }, - -# gist poly_ops (supports polygons) -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '1', - amopopr => '<<(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '2', - amopopr => '&<(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '3', - amopopr => '&&(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '4', - amopopr => '&>(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '5', - amopopr => '>>(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '6', - amopopr => '~=(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '7', - amopopr => '@>(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '8', - amopopr => '<@(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '9', - amopopr => '&<|(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '10', - amopopr => '<<|(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '11', - amopopr => '|>>(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '12', - amopopr => '|&>(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'point', amopstrategy => '15', amoppurpose => 'o', - amopopr => '<->(polygon,point)', amopmethod => 'gist', - amopsortfamily => 'btree/float_ops' }, - -# gist circle_ops -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '1', - amopopr => '<<(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '2', - amopopr => '&<(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '3', - amopopr => '&&(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '4', - amopopr => '&>(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '5', - amopopr => '>>(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '6', - amopopr => '~=(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '7', - amopopr => '@>(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '8', - amopopr => '<@(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '9', - amopopr => '&<|(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '10', - amopopr => '<<|(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '11', - amopopr => '|>>(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '12', - amopopr => '|&>(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'point', amopstrategy => '15', amoppurpose => 'o', - amopopr => '<->(circle,point)', amopmethod => 'gist', - amopsortfamily => 'btree/float_ops' }, - -# gin array_ops -{ amopfamily => 'gin/array_ops', amoplefttype => 'anyarray', - amoprighttype => 'anyarray', amopstrategy => '1', - amopopr => '&&(anyarray,anyarray)', amopmethod => 'gin' }, -{ amopfamily => 'gin/array_ops', amoplefttype => 'anyarray', - amoprighttype => 'anyarray', amopstrategy => '2', - amopopr => '@>(anyarray,anyarray)', amopmethod => 'gin' }, -{ amopfamily => 'gin/array_ops', amoplefttype => 'anyarray', - amoprighttype => 'anyarray', amopstrategy => '3', - amopopr => '<@(anyarray,anyarray)', amopmethod => 'gin' }, -{ amopfamily => 'gin/array_ops', amoplefttype => 'anyarray', - amoprighttype => 'anyarray', amopstrategy => '4', - amopopr => '=(anyarray,anyarray)', amopmethod => 'gin' }, - -# btree enum_ops -{ amopfamily => 'btree/enum_ops', amoplefttype => 'anyenum', - amoprighttype => 'anyenum', amopstrategy => '1', - amopopr => '<(anyenum,anyenum)', amopmethod => 'btree' }, -{ amopfamily => 'btree/enum_ops', amoplefttype => 'anyenum', - amoprighttype => 'anyenum', amopstrategy => '2', - amopopr => '<=(anyenum,anyenum)', amopmethod => 'btree' }, -{ amopfamily => 'btree/enum_ops', amoplefttype => 'anyenum', - amoprighttype => 'anyenum', amopstrategy => '3', - amopopr => '=(anyenum,anyenum)', amopmethod => 'btree' }, -{ amopfamily => 'btree/enum_ops', amoplefttype => 'anyenum', - amoprighttype => 'anyenum', amopstrategy => '4', - amopopr => '>=(anyenum,anyenum)', amopmethod => 'btree' }, -{ amopfamily => 'btree/enum_ops', amoplefttype => 'anyenum', - amoprighttype => 'anyenum', amopstrategy => '5', - amopopr => '>(anyenum,anyenum)', amopmethod => 'btree' }, - -# hash enum_ops -{ amopfamily => 'hash/enum_ops', amoplefttype => 'anyenum', - amoprighttype => 'anyenum', amopstrategy => '1', - amopopr => '=(anyenum,anyenum)', amopmethod => 'hash' }, - -# btree tsvector_ops -{ amopfamily => 'btree/tsvector_ops', amoplefttype => 'tsvector', - amoprighttype => 'tsvector', amopstrategy => '1', - amopopr => '<(tsvector,tsvector)', amopmethod => 'btree' }, -{ amopfamily => 'btree/tsvector_ops', amoplefttype => 'tsvector', - amoprighttype => 'tsvector', amopstrategy => '2', - amopopr => '<=(tsvector,tsvector)', amopmethod => 'btree' }, -{ amopfamily => 'btree/tsvector_ops', amoplefttype => 'tsvector', - amoprighttype => 'tsvector', amopstrategy => '3', - amopopr => '=(tsvector,tsvector)', amopmethod => 'btree' }, -{ amopfamily => 'btree/tsvector_ops', amoplefttype => 'tsvector', - amoprighttype => 'tsvector', amopstrategy => '4', - amopopr => '>=(tsvector,tsvector)', amopmethod => 'btree' }, -{ amopfamily => 'btree/tsvector_ops', amoplefttype => 'tsvector', - amoprighttype => 'tsvector', amopstrategy => '5', - amopopr => '>(tsvector,tsvector)', amopmethod => 'btree' }, - -# GiST tsvector_ops -{ amopfamily => 'gist/tsvector_ops', amoplefttype => 'tsvector', - amoprighttype => 'tsquery', amopstrategy => '1', - amopopr => '@@(tsvector,tsquery)', amopmethod => 'gist' }, - -# GIN tsvector_ops -{ amopfamily => 'gin/tsvector_ops', amoplefttype => 'tsvector', - amoprighttype => 'tsquery', amopstrategy => '1', - amopopr => '@@(tsvector,tsquery)', amopmethod => 'gin' }, -{ amopfamily => 'gin/tsvector_ops', amoplefttype => 'tsvector', - amoprighttype => 'tsquery', amopstrategy => '2', - amopopr => '@@@(tsvector,tsquery)', amopmethod => 'gin' }, - -# btree tsquery_ops -{ amopfamily => 'btree/tsquery_ops', amoplefttype => 'tsquery', - amoprighttype => 'tsquery', amopstrategy => '1', - amopopr => '<(tsquery,tsquery)', amopmethod => 'btree' }, -{ amopfamily => 'btree/tsquery_ops', amoplefttype => 'tsquery', - amoprighttype => 'tsquery', amopstrategy => '2', - amopopr => '<=(tsquery,tsquery)', amopmethod => 'btree' }, -{ amopfamily => 'btree/tsquery_ops', amoplefttype => 'tsquery', - amoprighttype => 'tsquery', amopstrategy => '3', - amopopr => '=(tsquery,tsquery)', amopmethod => 'btree' }, -{ amopfamily => 'btree/tsquery_ops', amoplefttype => 'tsquery', - amoprighttype => 'tsquery', amopstrategy => '4', - amopopr => '>=(tsquery,tsquery)', amopmethod => 'btree' }, -{ amopfamily => 'btree/tsquery_ops', amoplefttype => 'tsquery', - amoprighttype => 'tsquery', amopstrategy => '5', - amopopr => '>(tsquery,tsquery)', amopmethod => 'btree' }, - -# GiST tsquery_ops -{ amopfamily => 'gist/tsquery_ops', amoplefttype => 'tsquery', - amoprighttype => 'tsquery', amopstrategy => '7', - amopopr => '@>(tsquery,tsquery)', amopmethod => 'gist' }, -{ amopfamily => 'gist/tsquery_ops', amoplefttype => 'tsquery', - amoprighttype => 'tsquery', amopstrategy => '8', - amopopr => '<@(tsquery,tsquery)', amopmethod => 'gist' }, - -# btree range_ops -{ amopfamily => 'btree/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '1', - amopopr => '<(anyrange,anyrange)', amopmethod => 'btree' }, -{ amopfamily => 'btree/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '2', - amopopr => '<=(anyrange,anyrange)', amopmethod => 'btree' }, -{ amopfamily => 'btree/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '3', - amopopr => '=(anyrange,anyrange)', amopmethod => 'btree' }, -{ amopfamily => 'btree/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '4', - amopopr => '>=(anyrange,anyrange)', amopmethod => 'btree' }, -{ amopfamily => 'btree/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '5', - amopopr => '>(anyrange,anyrange)', amopmethod => 'btree' }, - -# hash range_ops -{ amopfamily => 'hash/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '1', - amopopr => '=(anyrange,anyrange)', amopmethod => 'hash' }, - -# GiST range_ops -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '1', - amopopr => '<<(anyrange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anymultirange', amopstrategy => '1', - amopopr => '<<(anyrange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '2', - amopopr => '&<(anyrange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anymultirange', amopstrategy => '2', - amopopr => '&<(anyrange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '3', - amopopr => '&&(anyrange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anymultirange', amopstrategy => '3', - amopopr => '&&(anyrange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '4', - amopopr => '&>(anyrange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anymultirange', amopstrategy => '4', - amopopr => '&>(anyrange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '5', - amopopr => '>>(anyrange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anymultirange', amopstrategy => '5', - amopopr => '>>(anyrange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '6', - amopopr => '-|-(anyrange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anymultirange', amopstrategy => '6', - amopopr => '-|-(anyrange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '7', - amopopr => '@>(anyrange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anymultirange', amopstrategy => '7', - amopopr => '@>(anyrange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '8', - amopopr => '<@(anyrange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anymultirange', amopstrategy => '8', - amopopr => '<@(anyrange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyelement', amopstrategy => '16', - amopopr => '@>(anyrange,anyelement)', amopmethod => 'gist' }, -{ amopfamily => 'gist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '18', - amopopr => '=(anyrange,anyrange)', amopmethod => 'gist' }, - -# GiST multirange_ops -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '1', - amopopr => '<<(anymultirange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anyrange', amopstrategy => '1', - amopopr => '<<(anymultirange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '2', - amopopr => '&<(anymultirange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anyrange', amopstrategy => '2', - amopopr => '&<(anymultirange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '3', - amopopr => '&&(anymultirange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anyrange', amopstrategy => '3', - amopopr => '&&(anymultirange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '4', - amopopr => '&>(anymultirange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anyrange', amopstrategy => '4', - amopopr => '&>(anymultirange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '5', - amopopr => '>>(anymultirange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anyrange', amopstrategy => '5', - amopopr => '>>(anymultirange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '6', - amopopr => '-|-(anymultirange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anyrange', amopstrategy => '6', - amopopr => '-|-(anymultirange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '7', - amopopr => '@>(anymultirange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anyrange', amopstrategy => '7', - amopopr => '@>(anymultirange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '8', - amopopr => '<@(anymultirange,anymultirange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anyrange', amopstrategy => '8', - amopopr => '<@(anymultirange,anyrange)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anyelement', amopstrategy => '16', - amopopr => '@>(anymultirange,anyelement)', amopmethod => 'gist' }, -{ amopfamily => 'gist/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '18', - amopopr => '=(anymultirange,anymultirange)', amopmethod => 'gist' }, - -# btree multirange_ops -{ amopfamily => 'btree/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '1', - amopopr => '<(anymultirange,anymultirange)', amopmethod => 'btree' }, -{ amopfamily => 'btree/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '2', - amopopr => '<=(anymultirange,anymultirange)', amopmethod => 'btree' }, -{ amopfamily => 'btree/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '3', - amopopr => '=(anymultirange,anymultirange)', amopmethod => 'btree' }, -{ amopfamily => 'btree/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '4', - amopopr => '>=(anymultirange,anymultirange)', amopmethod => 'btree' }, -{ amopfamily => 'btree/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '5', - amopopr => '>(anymultirange,anymultirange)', amopmethod => 'btree' }, - -# hash multirange_ops -{ amopfamily => 'hash/multirange_ops', amoplefttype => 'anymultirange', - amoprighttype => 'anymultirange', amopstrategy => '1', - amopopr => '=(anymultirange,anymultirange)', amopmethod => 'hash' }, - -# SP-GiST quad_point_ops -{ amopfamily => 'spgist/quad_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '11', amopopr => '|>>(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/quad_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '30', amopopr => '>^(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/quad_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '1', amopopr => '<<(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/quad_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '5', amopopr => '>>(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/quad_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '10', amopopr => '<<|(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/quad_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '29', amopopr => '<^(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/quad_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '6', amopopr => '~=(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/quad_point_ops', amoplefttype => 'point', - amoprighttype => 'box', amopstrategy => '8', amopopr => '<@(point,box)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/quad_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '15', amoppurpose => 'o', - amopopr => '<->(point,point)', amopmethod => 'spgist', - amopsortfamily => 'btree/float_ops' }, - -# SP-GiST kd_point_ops -{ amopfamily => 'spgist/kd_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '11', amopopr => '|>>(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/kd_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '30', amopopr => '>^(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/kd_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '1', amopopr => '<<(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/kd_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '5', amopopr => '>>(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/kd_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '10', amopopr => '<<|(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/kd_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '29', amopopr => '<^(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/kd_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '6', amopopr => '~=(point,point)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/kd_point_ops', amoplefttype => 'point', - amoprighttype => 'box', amopstrategy => '8', amopopr => '<@(point,box)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/kd_point_ops', amoplefttype => 'point', - amoprighttype => 'point', amopstrategy => '15', amoppurpose => 'o', - amopopr => '<->(point,point)', amopmethod => 'spgist', - amopsortfamily => 'btree/float_ops' }, - -# SP-GiST text_ops -{ amopfamily => 'spgist/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '1', amopopr => '~<~(text,text)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '2', amopopr => '~<=~(text,text)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '3', amopopr => '=(text,text)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '4', amopopr => '~>=~(text,text)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '5', amopopr => '~>~(text,text)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '11', amopopr => '<(text,text)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '12', amopopr => '<=(text,text)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '14', amopopr => '>=(text,text)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '15', amopopr => '>(text,text)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/text_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '28', amopopr => '^@(text,text)', - amopmethod => 'spgist' }, - -# btree jsonb_ops -{ amopfamily => 'btree/jsonb_ops', amoplefttype => 'jsonb', - amoprighttype => 'jsonb', amopstrategy => '1', amopopr => '<(jsonb,jsonb)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/jsonb_ops', amoplefttype => 'jsonb', - amoprighttype => 'jsonb', amopstrategy => '2', amopopr => '<=(jsonb,jsonb)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/jsonb_ops', amoplefttype => 'jsonb', - amoprighttype => 'jsonb', amopstrategy => '3', amopopr => '=(jsonb,jsonb)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/jsonb_ops', amoplefttype => 'jsonb', - amoprighttype => 'jsonb', amopstrategy => '4', amopopr => '>=(jsonb,jsonb)', - amopmethod => 'btree' }, -{ amopfamily => 'btree/jsonb_ops', amoplefttype => 'jsonb', - amoprighttype => 'jsonb', amopstrategy => '5', amopopr => '>(jsonb,jsonb)', - amopmethod => 'btree' }, - -# hash jsonb_ops -{ amopfamily => 'hash/jsonb_ops', amoplefttype => 'jsonb', - amoprighttype => 'jsonb', amopstrategy => '1', amopopr => '=(jsonb,jsonb)', - amopmethod => 'hash' }, - -# GIN jsonb_ops -{ amopfamily => 'gin/jsonb_ops', amoplefttype => 'jsonb', - amoprighttype => 'jsonb', amopstrategy => '7', amopopr => '@>(jsonb,jsonb)', - amopmethod => 'gin' }, -{ amopfamily => 'gin/jsonb_ops', amoplefttype => 'jsonb', - amoprighttype => 'text', amopstrategy => '9', amopopr => '?(jsonb,text)', - amopmethod => 'gin' }, -{ amopfamily => 'gin/jsonb_ops', amoplefttype => 'jsonb', - amoprighttype => '_text', amopstrategy => '10', amopopr => '?|(jsonb,_text)', - amopmethod => 'gin' }, -{ amopfamily => 'gin/jsonb_ops', amoplefttype => 'jsonb', - amoprighttype => '_text', amopstrategy => '11', amopopr => '?&(jsonb,_text)', - amopmethod => 'gin' }, -{ amopfamily => 'gin/jsonb_ops', amoplefttype => 'jsonb', - amoprighttype => 'jsonpath', amopstrategy => '15', - amopopr => '@?(jsonb,jsonpath)', amopmethod => 'gin' }, -{ amopfamily => 'gin/jsonb_ops', amoplefttype => 'jsonb', - amoprighttype => 'jsonpath', amopstrategy => '16', - amopopr => '@@(jsonb,jsonpath)', amopmethod => 'gin' }, - -# GIN jsonb_path_ops -{ amopfamily => 'gin/jsonb_path_ops', amoplefttype => 'jsonb', - amoprighttype => 'jsonb', amopstrategy => '7', amopopr => '@>(jsonb,jsonb)', - amopmethod => 'gin' }, -{ amopfamily => 'gin/jsonb_path_ops', amoplefttype => 'jsonb', - amoprighttype => 'jsonpath', amopstrategy => '15', - amopopr => '@?(jsonb,jsonpath)', amopmethod => 'gin' }, -{ amopfamily => 'gin/jsonb_path_ops', amoplefttype => 'jsonb', - amoprighttype => 'jsonpath', amopstrategy => '16', - amopopr => '@@(jsonb,jsonpath)', amopmethod => 'gin' }, - -# SP-GiST range_ops -{ amopfamily => 'spgist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '1', - amopopr => '<<(anyrange,anyrange)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '2', - amopopr => '&<(anyrange,anyrange)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '3', - amopopr => '&&(anyrange,anyrange)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '4', - amopopr => '&>(anyrange,anyrange)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '5', - amopopr => '>>(anyrange,anyrange)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '6', - amopopr => '-|-(anyrange,anyrange)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '7', - amopopr => '@>(anyrange,anyrange)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '8', - amopopr => '<@(anyrange,anyrange)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyelement', amopstrategy => '16', - amopopr => '@>(anyrange,anyelement)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/range_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '18', - amopopr => '=(anyrange,anyrange)', amopmethod => 'spgist' }, - -# SP-GiST box_ops -{ amopfamily => 'spgist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '1', amopopr => '<<(box,box)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '2', amopopr => '&<(box,box)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '3', amopopr => '&&(box,box)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '4', amopopr => '&>(box,box)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '5', amopopr => '>>(box,box)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '6', amopopr => '~=(box,box)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '7', amopopr => '@>(box,box)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '8', amopopr => '<@(box,box)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '9', amopopr => '&<|(box,box)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '10', amopopr => '<<|(box,box)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '11', amopopr => '|>>(box,box)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '12', amopopr => '|&>(box,box)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/box_ops', amoplefttype => 'box', - amoprighttype => 'point', amopstrategy => '15', amoppurpose => 'o', - amopopr => '<->(box,point)', amopmethod => 'spgist', - amopsortfamily => 'btree/float_ops' }, - -# SP-GiST poly_ops (supports polygons) -{ amopfamily => 'spgist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '1', - amopopr => '<<(polygon,polygon)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '2', - amopopr => '&<(polygon,polygon)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '3', - amopopr => '&&(polygon,polygon)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '4', - amopopr => '&>(polygon,polygon)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '5', - amopopr => '>>(polygon,polygon)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '6', - amopopr => '~=(polygon,polygon)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '7', - amopopr => '@>(polygon,polygon)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '8', - amopopr => '<@(polygon,polygon)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '9', - amopopr => '&<|(polygon,polygon)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '10', - amopopr => '<<|(polygon,polygon)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '11', - amopopr => '|>>(polygon,polygon)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '12', - amopopr => '|&>(polygon,polygon)', amopmethod => 'spgist' }, -{ amopfamily => 'spgist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'point', amopstrategy => '15', amoppurpose => 'o', - amopopr => '<->(polygon,point)', amopmethod => 'spgist', - amopsortfamily => 'btree/float_ops' }, - -# GiST inet_ops -{ amopfamily => 'gist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '3', amopopr => '&&(inet,inet)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '18', amopopr => '=(inet,inet)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '19', amopopr => '<>(inet,inet)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '20', amopopr => '<(inet,inet)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '21', amopopr => '<=(inet,inet)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '22', amopopr => '>(inet,inet)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '23', amopopr => '>=(inet,inet)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '24', amopopr => '<<(inet,inet)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '25', amopopr => '<<=(inet,inet)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '26', amopopr => '>>(inet,inet)', - amopmethod => 'gist' }, -{ amopfamily => 'gist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '27', amopopr => '>>=(inet,inet)', - amopmethod => 'gist' }, - -# SP-GiST inet_ops -{ amopfamily => 'spgist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '3', amopopr => '&&(inet,inet)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '18', amopopr => '=(inet,inet)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '19', amopopr => '<>(inet,inet)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '20', amopopr => '<(inet,inet)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '21', amopopr => '<=(inet,inet)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '22', amopopr => '>(inet,inet)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '23', amopopr => '>=(inet,inet)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '24', amopopr => '<<(inet,inet)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '25', amopopr => '<<=(inet,inet)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '26', amopopr => '>>(inet,inet)', - amopmethod => 'spgist' }, -{ amopfamily => 'spgist/network_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '27', amopopr => '>>=(inet,inet)', - amopmethod => 'spgist' }, - -# BRIN opclasses - -# minmax bytea -{ amopfamily => 'brin/bytea_minmax_ops', amoplefttype => 'bytea', - amoprighttype => 'bytea', amopstrategy => '1', amopopr => '<(bytea,bytea)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/bytea_minmax_ops', amoplefttype => 'bytea', - amoprighttype => 'bytea', amopstrategy => '2', amopopr => '<=(bytea,bytea)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/bytea_minmax_ops', amoplefttype => 'bytea', - amoprighttype => 'bytea', amopstrategy => '3', amopopr => '=(bytea,bytea)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/bytea_minmax_ops', amoplefttype => 'bytea', - amoprighttype => 'bytea', amopstrategy => '4', amopopr => '>=(bytea,bytea)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/bytea_minmax_ops', amoplefttype => 'bytea', - amoprighttype => 'bytea', amopstrategy => '5', amopopr => '>(bytea,bytea)', - amopmethod => 'brin' }, - -# bloom bytea -{ amopfamily => 'brin/bytea_bloom_ops', amoplefttype => 'bytea', - amoprighttype => 'bytea', amopstrategy => '1', amopopr => '=(bytea,bytea)', - amopmethod => 'brin' }, - -# minmax "char" -{ amopfamily => 'brin/char_minmax_ops', amoplefttype => 'char', - amoprighttype => 'char', amopstrategy => '1', amopopr => '<(char,char)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/char_minmax_ops', amoplefttype => 'char', - amoprighttype => 'char', amopstrategy => '2', amopopr => '<=(char,char)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/char_minmax_ops', amoplefttype => 'char', - amoprighttype => 'char', amopstrategy => '3', amopopr => '=(char,char)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/char_minmax_ops', amoplefttype => 'char', - amoprighttype => 'char', amopstrategy => '4', amopopr => '>=(char,char)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/char_minmax_ops', amoplefttype => 'char', - amoprighttype => 'char', amopstrategy => '5', amopopr => '>(char,char)', - amopmethod => 'brin' }, - -# bloom "char" -{ amopfamily => 'brin/char_bloom_ops', amoplefttype => 'char', - amoprighttype => 'char', amopstrategy => '1', amopopr => '=(char,char)', - amopmethod => 'brin' }, - -# minmax name -{ amopfamily => 'brin/name_minmax_ops', amoplefttype => 'name', - amoprighttype => 'name', amopstrategy => '1', amopopr => '<(name,name)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/name_minmax_ops', amoplefttype => 'name', - amoprighttype => 'name', amopstrategy => '2', amopopr => '<=(name,name)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/name_minmax_ops', amoplefttype => 'name', - amoprighttype => 'name', amopstrategy => '3', amopopr => '=(name,name)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/name_minmax_ops', amoplefttype => 'name', - amoprighttype => 'name', amopstrategy => '4', amopopr => '>=(name,name)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/name_minmax_ops', amoplefttype => 'name', - amoprighttype => 'name', amopstrategy => '5', amopopr => '>(name,name)', - amopmethod => 'brin' }, - -# bloom name -{ amopfamily => 'brin/name_bloom_ops', amoplefttype => 'name', - amoprighttype => 'name', amopstrategy => '1', amopopr => '=(name,name)', - amopmethod => 'brin' }, - -# minmax integer - -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '1', amopopr => '<(int8,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '2', amopopr => '<=(int8,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '3', amopopr => '=(int8,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '4', amopopr => '>=(int8,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '5', amopopr => '>(int8,int8)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '1', amopopr => '<(int8,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '2', amopopr => '<=(int8,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '3', amopopr => '=(int8,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '4', amopopr => '>=(int8,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '5', amopopr => '>(int8,int2)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '1', amopopr => '<(int8,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '2', amopopr => '<=(int8,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '3', amopopr => '=(int8,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '4', amopopr => '>=(int8,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '5', amopopr => '>(int8,int4)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '1', amopopr => '<(int2,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '2', amopopr => '<=(int2,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '3', amopopr => '=(int2,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '4', amopopr => '>=(int2,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '5', amopopr => '>(int2,int2)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '1', amopopr => '<(int2,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '2', amopopr => '<=(int2,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '3', amopopr => '=(int2,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '4', amopopr => '>=(int2,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '5', amopopr => '>(int2,int8)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '1', amopopr => '<(int2,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '2', amopopr => '<=(int2,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '3', amopopr => '=(int2,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '4', amopopr => '>=(int2,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '5', amopopr => '>(int2,int4)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '1', amopopr => '<(int4,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '2', amopopr => '<=(int4,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '3', amopopr => '=(int4,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '4', amopopr => '>=(int4,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '5', amopopr => '>(int4,int4)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '1', amopopr => '<(int4,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '2', amopopr => '<=(int4,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '3', amopopr => '=(int4,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '4', amopopr => '>=(int4,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '5', amopopr => '>(int4,int2)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '1', amopopr => '<(int4,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '2', amopopr => '<=(int4,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '3', amopopr => '=(int4,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '4', amopopr => '>=(int4,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '5', amopopr => '>(int4,int8)', - amopmethod => 'brin' }, - -# minmax multi integer - -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '1', amopopr => '<(int8,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '2', amopopr => '<=(int8,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '3', amopopr => '=(int8,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '4', amopopr => '>=(int8,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '5', amopopr => '>(int8,int8)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '1', amopopr => '<(int8,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '2', amopopr => '<=(int8,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '3', amopopr => '=(int8,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '4', amopopr => '>=(int8,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int2', amopstrategy => '5', amopopr => '>(int8,int2)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '1', amopopr => '<(int8,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '2', amopopr => '<=(int8,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '3', amopopr => '=(int8,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '4', amopopr => '>=(int8,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int8', - amoprighttype => 'int4', amopstrategy => '5', amopopr => '>(int8,int4)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '1', amopopr => '<(int2,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '2', amopopr => '<=(int2,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '3', amopopr => '=(int2,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '4', amopopr => '>=(int2,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '5', amopopr => '>(int2,int2)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '1', amopopr => '<(int2,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '2', amopopr => '<=(int2,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '3', amopopr => '=(int2,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '4', amopopr => '>=(int2,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int8', amopstrategy => '5', amopopr => '>(int2,int8)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '1', amopopr => '<(int2,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '2', amopopr => '<=(int2,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '3', amopopr => '=(int2,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '4', amopopr => '>=(int2,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int2', - amoprighttype => 'int4', amopstrategy => '5', amopopr => '>(int2,int4)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '1', amopopr => '<(int4,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '2', amopopr => '<=(int4,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '3', amopopr => '=(int4,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '4', amopopr => '>=(int4,int4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '5', amopopr => '>(int4,int4)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '1', amopopr => '<(int4,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '2', amopopr => '<=(int4,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '3', amopopr => '=(int4,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '4', amopopr => '>=(int4,int2)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int2', amopstrategy => '5', amopopr => '>(int4,int2)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '1', amopopr => '<(int4,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '2', amopopr => '<=(int4,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '3', amopopr => '=(int4,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '4', amopopr => '>=(int4,int8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/integer_minmax_multi_ops', amoplefttype => 'int4', - amoprighttype => 'int8', amopstrategy => '5', amopopr => '>(int4,int8)', - amopmethod => 'brin' }, - -# bloom integer - -{ amopfamily => 'brin/integer_bloom_ops', amoplefttype => 'int8', - amoprighttype => 'int8', amopstrategy => '1', amopopr => '=(int8,int8)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_bloom_ops', amoplefttype => 'int2', - amoprighttype => 'int2', amopstrategy => '1', amopopr => '=(int2,int2)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/integer_bloom_ops', amoplefttype => 'int4', - amoprighttype => 'int4', amopstrategy => '1', amopopr => '=(int4,int4)', - amopmethod => 'brin' }, - -# minmax text -{ amopfamily => 'brin/text_minmax_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '1', amopopr => '<(text,text)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/text_minmax_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '2', amopopr => '<=(text,text)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/text_minmax_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '3', amopopr => '=(text,text)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/text_minmax_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '4', amopopr => '>=(text,text)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/text_minmax_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '5', amopopr => '>(text,text)', - amopmethod => 'brin' }, - -# bloom text -{ amopfamily => 'brin/text_bloom_ops', amoplefttype => 'text', - amoprighttype => 'text', amopstrategy => '1', amopopr => '=(text,text)', - amopmethod => 'brin' }, - -# minmax oid -{ amopfamily => 'brin/oid_minmax_ops', amoplefttype => 'oid', - amoprighttype => 'oid', amopstrategy => '1', amopopr => '<(oid,oid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/oid_minmax_ops', amoplefttype => 'oid', - amoprighttype => 'oid', amopstrategy => '2', amopopr => '<=(oid,oid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/oid_minmax_ops', amoplefttype => 'oid', - amoprighttype => 'oid', amopstrategy => '3', amopopr => '=(oid,oid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/oid_minmax_ops', amoplefttype => 'oid', - amoprighttype => 'oid', amopstrategy => '4', amopopr => '>=(oid,oid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/oid_minmax_ops', amoplefttype => 'oid', - amoprighttype => 'oid', amopstrategy => '5', amopopr => '>(oid,oid)', - amopmethod => 'brin' }, - -# minmax multi oid -{ amopfamily => 'brin/oid_minmax_multi_ops', amoplefttype => 'oid', - amoprighttype => 'oid', amopstrategy => '1', amopopr => '<(oid,oid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/oid_minmax_multi_ops', amoplefttype => 'oid', - amoprighttype => 'oid', amopstrategy => '2', amopopr => '<=(oid,oid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/oid_minmax_multi_ops', amoplefttype => 'oid', - amoprighttype => 'oid', amopstrategy => '3', amopopr => '=(oid,oid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/oid_minmax_multi_ops', amoplefttype => 'oid', - amoprighttype => 'oid', amopstrategy => '4', amopopr => '>=(oid,oid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/oid_minmax_multi_ops', amoplefttype => 'oid', - amoprighttype => 'oid', amopstrategy => '5', amopopr => '>(oid,oid)', - amopmethod => 'brin' }, - -# bloom oid -{ amopfamily => 'brin/oid_bloom_ops', amoplefttype => 'oid', - amoprighttype => 'oid', amopstrategy => '1', amopopr => '=(oid,oid)', - amopmethod => 'brin' }, - -# minmax tid -{ amopfamily => 'brin/tid_minmax_ops', amoplefttype => 'tid', - amoprighttype => 'tid', amopstrategy => '1', amopopr => '<(tid,tid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/tid_minmax_ops', amoplefttype => 'tid', - amoprighttype => 'tid', amopstrategy => '2', amopopr => '<=(tid,tid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/tid_minmax_ops', amoplefttype => 'tid', - amoprighttype => 'tid', amopstrategy => '3', amopopr => '=(tid,tid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/tid_minmax_ops', amoplefttype => 'tid', - amoprighttype => 'tid', amopstrategy => '4', amopopr => '>=(tid,tid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/tid_minmax_ops', amoplefttype => 'tid', - amoprighttype => 'tid', amopstrategy => '5', amopopr => '>(tid,tid)', - amopmethod => 'brin' }, - -# tid oid -{ amopfamily => 'brin/tid_bloom_ops', amoplefttype => 'tid', - amoprighttype => 'tid', amopstrategy => '1', amopopr => '=(tid,tid)', - amopmethod => 'brin' }, -# minmax multi tid -{ amopfamily => 'brin/tid_minmax_multi_ops', amoplefttype => 'tid', - amoprighttype => 'tid', amopstrategy => '1', amopopr => '<(tid,tid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/tid_minmax_multi_ops', amoplefttype => 'tid', - amoprighttype => 'tid', amopstrategy => '2', amopopr => '<=(tid,tid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/tid_minmax_multi_ops', amoplefttype => 'tid', - amoprighttype => 'tid', amopstrategy => '3', amopopr => '=(tid,tid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/tid_minmax_multi_ops', amoplefttype => 'tid', - amoprighttype => 'tid', amopstrategy => '4', amopopr => '>=(tid,tid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/tid_minmax_multi_ops', amoplefttype => 'tid', - amoprighttype => 'tid', amopstrategy => '5', amopopr => '>(tid,tid)', - amopmethod => 'brin' }, - -# minmax float (float4, float8) - -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '1', amopopr => '<(float4,float4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '2', - amopopr => '<=(float4,float4)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '3', amopopr => '=(float4,float4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '4', - amopopr => '>=(float4,float4)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '5', amopopr => '>(float4,float4)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '1', amopopr => '<(float4,float8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '2', - amopopr => '<=(float4,float8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '3', amopopr => '=(float4,float8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '4', - amopopr => '>=(float4,float8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '5', amopopr => '>(float4,float8)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '1', amopopr => '<(float8,float4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '2', - amopopr => '<=(float8,float4)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '3', amopopr => '=(float8,float4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '4', - amopopr => '>=(float8,float4)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '5', amopopr => '>(float8,float4)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '1', amopopr => '<(float8,float8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '2', - amopopr => '<=(float8,float8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '3', amopopr => '=(float8,float8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '4', - amopopr => '>=(float8,float8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '5', amopopr => '>(float8,float8)', - amopmethod => 'brin' }, - -# minmax multi float (float4, float8) - -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '1', amopopr => '<(float4,float4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '2', - amopopr => '<=(float4,float4)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '3', amopopr => '=(float4,float4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '4', - amopopr => '>=(float4,float4)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '5', amopopr => '>(float4,float4)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '1', amopopr => '<(float4,float8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '2', - amopopr => '<=(float4,float8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '3', amopopr => '=(float4,float8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '4', - amopopr => '>=(float4,float8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float4', - amoprighttype => 'float8', amopstrategy => '5', amopopr => '>(float4,float8)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '1', amopopr => '<(float8,float4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '2', - amopopr => '<=(float8,float4)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '3', amopopr => '=(float8,float4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '4', - amopopr => '>=(float8,float4)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float8', - amoprighttype => 'float4', amopstrategy => '5', amopopr => '>(float8,float4)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '1', amopopr => '<(float8,float8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '2', - amopopr => '<=(float8,float8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '3', amopopr => '=(float8,float8)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '4', - amopopr => '>=(float8,float8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/float_minmax_multi_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '5', amopopr => '>(float8,float8)', - amopmethod => 'brin' }, - -# bloom float -{ amopfamily => 'brin/float_bloom_ops', amoplefttype => 'float4', - amoprighttype => 'float4', amopstrategy => '1', amopopr => '=(float4,float4)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/float_bloom_ops', amoplefttype => 'float8', - amoprighttype => 'float8', amopstrategy => '1', amopopr => '=(float8,float8)', - amopmethod => 'brin' }, - -# minmax macaddr -{ amopfamily => 'brin/macaddr_minmax_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '1', - amopopr => '<(macaddr,macaddr)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr_minmax_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '2', - amopopr => '<=(macaddr,macaddr)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr_minmax_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '3', - amopopr => '=(macaddr,macaddr)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr_minmax_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '4', - amopopr => '>=(macaddr,macaddr)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr_minmax_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '5', - amopopr => '>(macaddr,macaddr)', amopmethod => 'brin' }, - -# minmax multi macaddr -{ amopfamily => 'brin/macaddr_minmax_multi_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '1', - amopopr => '<(macaddr,macaddr)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr_minmax_multi_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '2', - amopopr => '<=(macaddr,macaddr)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr_minmax_multi_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '3', - amopopr => '=(macaddr,macaddr)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr_minmax_multi_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '4', - amopopr => '>=(macaddr,macaddr)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr_minmax_multi_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '5', - amopopr => '>(macaddr,macaddr)', amopmethod => 'brin' }, - -# bloom macaddr -{ amopfamily => 'brin/macaddr_bloom_ops', amoplefttype => 'macaddr', - amoprighttype => 'macaddr', amopstrategy => '1', - amopopr => '=(macaddr,macaddr)', amopmethod => 'brin' }, - -# minmax macaddr8 -{ amopfamily => 'brin/macaddr8_minmax_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '1', - amopopr => '<(macaddr8,macaddr8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr8_minmax_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '2', - amopopr => '<=(macaddr8,macaddr8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr8_minmax_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '3', - amopopr => '=(macaddr8,macaddr8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr8_minmax_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '4', - amopopr => '>=(macaddr8,macaddr8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr8_minmax_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '5', - amopopr => '>(macaddr8,macaddr8)', amopmethod => 'brin' }, - -# minmax multi macaddr8 -{ amopfamily => 'brin/macaddr8_minmax_multi_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '1', - amopopr => '<(macaddr8,macaddr8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr8_minmax_multi_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '2', - amopopr => '<=(macaddr8,macaddr8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr8_minmax_multi_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '3', - amopopr => '=(macaddr8,macaddr8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr8_minmax_multi_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '4', - amopopr => '>=(macaddr8,macaddr8)', amopmethod => 'brin' }, -{ amopfamily => 'brin/macaddr8_minmax_multi_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '5', - amopopr => '>(macaddr8,macaddr8)', amopmethod => 'brin' }, - -# bloom macaddr8 -{ amopfamily => 'brin/macaddr8_bloom_ops', amoplefttype => 'macaddr8', - amoprighttype => 'macaddr8', amopstrategy => '1', - amopopr => '=(macaddr8,macaddr8)', amopmethod => 'brin' }, - -# minmax inet -{ amopfamily => 'brin/network_minmax_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '1', amopopr => '<(inet,inet)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/network_minmax_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '2', amopopr => '<=(inet,inet)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/network_minmax_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '3', amopopr => '=(inet,inet)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/network_minmax_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '4', amopopr => '>=(inet,inet)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/network_minmax_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '5', amopopr => '>(inet,inet)', - amopmethod => 'brin' }, - -# minmax multi inet -{ amopfamily => 'brin/network_minmax_multi_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '1', amopopr => '<(inet,inet)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/network_minmax_multi_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '2', amopopr => '<=(inet,inet)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/network_minmax_multi_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '3', amopopr => '=(inet,inet)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/network_minmax_multi_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '4', amopopr => '>=(inet,inet)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/network_minmax_multi_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '5', amopopr => '>(inet,inet)', - amopmethod => 'brin' }, - -# bloom inet -{ amopfamily => 'brin/network_bloom_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '1', amopopr => '=(inet,inet)', - amopmethod => 'brin' }, - -# inclusion inet -{ amopfamily => 'brin/network_inclusion_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '3', amopopr => '&&(inet,inet)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/network_inclusion_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '7', amopopr => '>>=(inet,inet)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/network_inclusion_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '8', amopopr => '<<=(inet,inet)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/network_inclusion_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '18', amopopr => '=(inet,inet)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/network_inclusion_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '24', amopopr => '>>(inet,inet)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/network_inclusion_ops', amoplefttype => 'inet', - amoprighttype => 'inet', amopstrategy => '26', amopopr => '<<(inet,inet)', - amopmethod => 'brin' }, - -# minmax character -{ amopfamily => 'brin/bpchar_minmax_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '1', amopopr => '<(bpchar,bpchar)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/bpchar_minmax_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '2', - amopopr => '<=(bpchar,bpchar)', amopmethod => 'brin' }, -{ amopfamily => 'brin/bpchar_minmax_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '3', amopopr => '=(bpchar,bpchar)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/bpchar_minmax_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '4', - amopopr => '>=(bpchar,bpchar)', amopmethod => 'brin' }, -{ amopfamily => 'brin/bpchar_minmax_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '5', amopopr => '>(bpchar,bpchar)', - amopmethod => 'brin' }, - -# bloom character -{ amopfamily => 'brin/bpchar_bloom_ops', amoplefttype => 'bpchar', - amoprighttype => 'bpchar', amopstrategy => '1', amopopr => '=(bpchar,bpchar)', - amopmethod => 'brin' }, - -# minmax time without time zone -{ amopfamily => 'brin/time_minmax_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '1', amopopr => '<(time,time)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/time_minmax_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '2', amopopr => '<=(time,time)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/time_minmax_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '3', amopopr => '=(time,time)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/time_minmax_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '4', amopopr => '>=(time,time)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/time_minmax_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '5', amopopr => '>(time,time)', - amopmethod => 'brin' }, - -# minmax multi time without time zone -{ amopfamily => 'brin/time_minmax_multi_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '1', amopopr => '<(time,time)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/time_minmax_multi_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '2', amopopr => '<=(time,time)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/time_minmax_multi_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '3', amopopr => '=(time,time)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/time_minmax_multi_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '4', amopopr => '>=(time,time)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/time_minmax_multi_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '5', amopopr => '>(time,time)', - amopmethod => 'brin' }, - -# bloom time without time zone -{ amopfamily => 'brin/time_bloom_ops', amoplefttype => 'time', - amoprighttype => 'time', amopstrategy => '1', amopopr => '=(time,time)', - amopmethod => 'brin' }, - -# minmax datetime (date, timestamp, timestamptz) - -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '1', - amopopr => '<(timestamp,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '2', - amopopr => '<=(timestamp,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '3', - amopopr => '=(timestamp,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '4', - amopopr => '>=(timestamp,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '5', - amopopr => '>(timestamp,timestamp)', amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '1', amopopr => '<(timestamp,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '2', amopopr => '<=(timestamp,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '3', amopopr => '=(timestamp,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '4', amopopr => '>=(timestamp,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '5', amopopr => '>(timestamp,date)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '1', - amopopr => '<(timestamp,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '2', - amopopr => '<=(timestamp,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '3', - amopopr => '=(timestamp,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '4', - amopopr => '>=(timestamp,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '5', - amopopr => '>(timestamp,timestamptz)', amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '1', amopopr => '<(date,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '2', amopopr => '<=(date,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '3', amopopr => '=(date,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '4', amopopr => '>=(date,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '5', amopopr => '>(date,date)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '1', - amopopr => '<(date,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '2', - amopopr => '<=(date,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '3', - amopopr => '=(date,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '4', - amopopr => '>=(date,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '5', - amopopr => '>(date,timestamp)', amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '1', - amopopr => '<(date,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '2', - amopopr => '<=(date,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '3', - amopopr => '=(date,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '4', - amopopr => '>=(date,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '5', - amopopr => '>(date,timestamptz)', amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '1', - amopopr => '<(timestamptz,date)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '2', - amopopr => '<=(timestamptz,date)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '3', - amopopr => '=(timestamptz,date)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '4', - amopopr => '>=(timestamptz,date)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '5', - amopopr => '>(timestamptz,date)', amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '1', - amopopr => '<(timestamptz,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '2', - amopopr => '<=(timestamptz,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '3', - amopopr => '=(timestamptz,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '4', - amopopr => '>=(timestamptz,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '5', - amopopr => '>(timestamptz,timestamp)', amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '1', - amopopr => '<(timestamptz,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '2', - amopopr => '<=(timestamptz,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '3', - amopopr => '=(timestamptz,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '4', - amopopr => '>=(timestamptz,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '5', - amopopr => '>(timestamptz,timestamptz)', amopmethod => 'brin' }, - -# minmax multi datetime (date, timestamp, timestamptz) - -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '1', - amopopr => '<(timestamp,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '2', - amopopr => '<=(timestamp,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '3', - amopopr => '=(timestamp,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '4', - amopopr => '>=(timestamp,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '5', - amopopr => '>(timestamp,timestamp)', amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '1', amopopr => '<(timestamp,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '2', amopopr => '<=(timestamp,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '3', amopopr => '=(timestamp,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '4', amopopr => '>=(timestamp,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'date', amopstrategy => '5', amopopr => '>(timestamp,date)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '1', - amopopr => '<(timestamp,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '2', - amopopr => '<=(timestamp,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '3', - amopopr => '=(timestamp,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '4', - amopopr => '>=(timestamp,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamptz', amopstrategy => '5', - amopopr => '>(timestamp,timestamptz)', amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '1', amopopr => '<(date,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '2', amopopr => '<=(date,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '3', amopopr => '=(date,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '4', amopopr => '>=(date,date)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '5', amopopr => '>(date,date)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '1', - amopopr => '<(date,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '2', - amopopr => '<=(date,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '3', - amopopr => '=(date,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '4', - amopopr => '>=(date,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'timestamp', amopstrategy => '5', - amopopr => '>(date,timestamp)', amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '1', - amopopr => '<(date,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '2', - amopopr => '<=(date,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '3', - amopopr => '=(date,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '4', - amopopr => '>=(date,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'date', - amoprighttype => 'timestamptz', amopstrategy => '5', - amopopr => '>(date,timestamptz)', amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '1', - amopopr => '<(timestamptz,date)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '2', - amopopr => '<=(timestamptz,date)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '3', - amopopr => '=(timestamptz,date)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '4', - amopopr => '>=(timestamptz,date)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'date', amopstrategy => '5', - amopopr => '>(timestamptz,date)', amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '1', - amopopr => '<(timestamptz,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '2', - amopopr => '<=(timestamptz,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '3', - amopopr => '=(timestamptz,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '4', - amopopr => '>=(timestamptz,timestamp)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamp', amopstrategy => '5', - amopopr => '>(timestamptz,timestamp)', amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '1', - amopopr => '<(timestamptz,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '2', - amopopr => '<=(timestamptz,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '3', - amopopr => '=(timestamptz,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '4', - amopopr => '>=(timestamptz,timestamptz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/datetime_minmax_multi_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '5', - amopopr => '>(timestamptz,timestamptz)', amopmethod => 'brin' }, - -# bloom datetime (date, timestamp, timestamptz) - -{ amopfamily => 'brin/datetime_bloom_ops', amoplefttype => 'timestamp', - amoprighttype => 'timestamp', amopstrategy => '1', - amopopr => '=(timestamp,timestamp)', amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_bloom_ops', amoplefttype => 'date', - amoprighttype => 'date', amopstrategy => '1', amopopr => '=(date,date)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/datetime_bloom_ops', amoplefttype => 'timestamptz', - amoprighttype => 'timestamptz', amopstrategy => '1', - amopopr => '=(timestamptz,timestamptz)', amopmethod => 'brin' }, - -# minmax interval -{ amopfamily => 'brin/interval_minmax_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '1', - amopopr => '<(interval,interval)', amopmethod => 'brin' }, -{ amopfamily => 'brin/interval_minmax_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '2', - amopopr => '<=(interval,interval)', amopmethod => 'brin' }, -{ amopfamily => 'brin/interval_minmax_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '3', - amopopr => '=(interval,interval)', amopmethod => 'brin' }, -{ amopfamily => 'brin/interval_minmax_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '4', - amopopr => '>=(interval,interval)', amopmethod => 'brin' }, -{ amopfamily => 'brin/interval_minmax_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '5', - amopopr => '>(interval,interval)', amopmethod => 'brin' }, - -# minmax multi interval -{ amopfamily => 'brin/interval_minmax_multi_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '1', - amopopr => '<(interval,interval)', amopmethod => 'brin' }, -{ amopfamily => 'brin/interval_minmax_multi_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '2', - amopopr => '<=(interval,interval)', amopmethod => 'brin' }, -{ amopfamily => 'brin/interval_minmax_multi_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '3', - amopopr => '=(interval,interval)', amopmethod => 'brin' }, -{ amopfamily => 'brin/interval_minmax_multi_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '4', - amopopr => '>=(interval,interval)', amopmethod => 'brin' }, -{ amopfamily => 'brin/interval_minmax_multi_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '5', - amopopr => '>(interval,interval)', amopmethod => 'brin' }, - -# bloom interval -{ amopfamily => 'brin/interval_bloom_ops', amoplefttype => 'interval', - amoprighttype => 'interval', amopstrategy => '1', - amopopr => '=(interval,interval)', amopmethod => 'brin' }, - -# minmax time with time zone -{ amopfamily => 'brin/timetz_minmax_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '1', amopopr => '<(timetz,timetz)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/timetz_minmax_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '2', - amopopr => '<=(timetz,timetz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/timetz_minmax_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '3', amopopr => '=(timetz,timetz)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/timetz_minmax_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '4', - amopopr => '>=(timetz,timetz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/timetz_minmax_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '5', amopopr => '>(timetz,timetz)', - amopmethod => 'brin' }, - -# minmax multi time with time zone -{ amopfamily => 'brin/timetz_minmax_multi_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '1', amopopr => '<(timetz,timetz)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/timetz_minmax_multi_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '2', - amopopr => '<=(timetz,timetz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/timetz_minmax_multi_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '3', amopopr => '=(timetz,timetz)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/timetz_minmax_multi_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '4', - amopopr => '>=(timetz,timetz)', amopmethod => 'brin' }, -{ amopfamily => 'brin/timetz_minmax_multi_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '5', amopopr => '>(timetz,timetz)', - amopmethod => 'brin' }, - -# bloom time with time zone -{ amopfamily => 'brin/timetz_bloom_ops', amoplefttype => 'timetz', - amoprighttype => 'timetz', amopstrategy => '1', amopopr => '=(timetz,timetz)', - amopmethod => 'brin' }, - -# minmax bit -{ amopfamily => 'brin/bit_minmax_ops', amoplefttype => 'bit', - amoprighttype => 'bit', amopstrategy => '1', amopopr => '<(bit,bit)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/bit_minmax_ops', amoplefttype => 'bit', - amoprighttype => 'bit', amopstrategy => '2', amopopr => '<=(bit,bit)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/bit_minmax_ops', amoplefttype => 'bit', - amoprighttype => 'bit', amopstrategy => '3', amopopr => '=(bit,bit)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/bit_minmax_ops', amoplefttype => 'bit', - amoprighttype => 'bit', amopstrategy => '4', amopopr => '>=(bit,bit)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/bit_minmax_ops', amoplefttype => 'bit', - amoprighttype => 'bit', amopstrategy => '5', amopopr => '>(bit,bit)', - amopmethod => 'brin' }, - -# minmax bit varying -{ amopfamily => 'brin/varbit_minmax_ops', amoplefttype => 'varbit', - amoprighttype => 'varbit', amopstrategy => '1', amopopr => '<(varbit,varbit)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/varbit_minmax_ops', amoplefttype => 'varbit', - amoprighttype => 'varbit', amopstrategy => '2', - amopopr => '<=(varbit,varbit)', amopmethod => 'brin' }, -{ amopfamily => 'brin/varbit_minmax_ops', amoplefttype => 'varbit', - amoprighttype => 'varbit', amopstrategy => '3', amopopr => '=(varbit,varbit)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/varbit_minmax_ops', amoplefttype => 'varbit', - amoprighttype => 'varbit', amopstrategy => '4', - amopopr => '>=(varbit,varbit)', amopmethod => 'brin' }, -{ amopfamily => 'brin/varbit_minmax_ops', amoplefttype => 'varbit', - amoprighttype => 'varbit', amopstrategy => '5', amopopr => '>(varbit,varbit)', - amopmethod => 'brin' }, - -# minmax numeric -{ amopfamily => 'brin/numeric_minmax_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '1', - amopopr => '<(numeric,numeric)', amopmethod => 'brin' }, -{ amopfamily => 'brin/numeric_minmax_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '2', - amopopr => '<=(numeric,numeric)', amopmethod => 'brin' }, -{ amopfamily => 'brin/numeric_minmax_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '3', - amopopr => '=(numeric,numeric)', amopmethod => 'brin' }, -{ amopfamily => 'brin/numeric_minmax_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '4', - amopopr => '>=(numeric,numeric)', amopmethod => 'brin' }, -{ amopfamily => 'brin/numeric_minmax_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '5', - amopopr => '>(numeric,numeric)', amopmethod => 'brin' }, - -# minmax multi numeric -{ amopfamily => 'brin/numeric_minmax_multi_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '1', - amopopr => '<(numeric,numeric)', amopmethod => 'brin' }, -{ amopfamily => 'brin/numeric_minmax_multi_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '2', - amopopr => '<=(numeric,numeric)', amopmethod => 'brin' }, -{ amopfamily => 'brin/numeric_minmax_multi_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '3', - amopopr => '=(numeric,numeric)', amopmethod => 'brin' }, -{ amopfamily => 'brin/numeric_minmax_multi_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '4', - amopopr => '>=(numeric,numeric)', amopmethod => 'brin' }, -{ amopfamily => 'brin/numeric_minmax_multi_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '5', - amopopr => '>(numeric,numeric)', amopmethod => 'brin' }, - -# bloom numeric -{ amopfamily => 'brin/numeric_bloom_ops', amoplefttype => 'numeric', - amoprighttype => 'numeric', amopstrategy => '1', - amopopr => '=(numeric,numeric)', amopmethod => 'brin' }, - -# minmax uuid -{ amopfamily => 'brin/uuid_minmax_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '1', amopopr => '<(uuid,uuid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/uuid_minmax_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '2', amopopr => '<=(uuid,uuid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/uuid_minmax_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '3', amopopr => '=(uuid,uuid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/uuid_minmax_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '4', amopopr => '>=(uuid,uuid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/uuid_minmax_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '5', amopopr => '>(uuid,uuid)', - amopmethod => 'brin' }, - -# minmax multi uuid -{ amopfamily => 'brin/uuid_minmax_multi_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '1', amopopr => '<(uuid,uuid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/uuid_minmax_multi_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '2', amopopr => '<=(uuid,uuid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/uuid_minmax_multi_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '3', amopopr => '=(uuid,uuid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/uuid_minmax_multi_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '4', amopopr => '>=(uuid,uuid)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/uuid_minmax_multi_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '5', amopopr => '>(uuid,uuid)', - amopmethod => 'brin' }, - -# bloom uuid -{ amopfamily => 'brin/uuid_bloom_ops', amoplefttype => 'uuid', - amoprighttype => 'uuid', amopstrategy => '1', amopopr => '=(uuid,uuid)', - amopmethod => 'brin' }, - -# inclusion range types -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '1', - amopopr => '<<(anyrange,anyrange)', amopmethod => 'brin' }, -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '2', - amopopr => '&<(anyrange,anyrange)', amopmethod => 'brin' }, -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '3', - amopopr => '&&(anyrange,anyrange)', amopmethod => 'brin' }, -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '4', - amopopr => '&>(anyrange,anyrange)', amopmethod => 'brin' }, -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '5', - amopopr => '>>(anyrange,anyrange)', amopmethod => 'brin' }, -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '7', - amopopr => '@>(anyrange,anyrange)', amopmethod => 'brin' }, -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '8', - amopopr => '<@(anyrange,anyrange)', amopmethod => 'brin' }, -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyelement', amopstrategy => '16', - amopopr => '@>(anyrange,anyelement)', amopmethod => 'brin' }, -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '17', - amopopr => '-|-(anyrange,anyrange)', amopmethod => 'brin' }, -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '18', - amopopr => '=(anyrange,anyrange)', amopmethod => 'brin' }, -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '20', - amopopr => '<(anyrange,anyrange)', amopmethod => 'brin' }, -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '21', - amopopr => '<=(anyrange,anyrange)', amopmethod => 'brin' }, -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '22', - amopopr => '>(anyrange,anyrange)', amopmethod => 'brin' }, -{ amopfamily => 'brin/range_inclusion_ops', amoplefttype => 'anyrange', - amoprighttype => 'anyrange', amopstrategy => '23', - amopopr => '>=(anyrange,anyrange)', amopmethod => 'brin' }, - -# minmax pg_lsn -{ amopfamily => 'brin/pg_lsn_minmax_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '1', amopopr => '<(pg_lsn,pg_lsn)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/pg_lsn_minmax_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '2', - amopopr => '<=(pg_lsn,pg_lsn)', amopmethod => 'brin' }, -{ amopfamily => 'brin/pg_lsn_minmax_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '3', amopopr => '=(pg_lsn,pg_lsn)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/pg_lsn_minmax_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '4', - amopopr => '>=(pg_lsn,pg_lsn)', amopmethod => 'brin' }, -{ amopfamily => 'brin/pg_lsn_minmax_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '5', amopopr => '>(pg_lsn,pg_lsn)', - amopmethod => 'brin' }, - -# minmax multi pg_lsn -{ amopfamily => 'brin/pg_lsn_minmax_multi_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '1', amopopr => '<(pg_lsn,pg_lsn)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/pg_lsn_minmax_multi_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '2', - amopopr => '<=(pg_lsn,pg_lsn)', amopmethod => 'brin' }, -{ amopfamily => 'brin/pg_lsn_minmax_multi_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '3', amopopr => '=(pg_lsn,pg_lsn)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/pg_lsn_minmax_multi_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '4', - amopopr => '>=(pg_lsn,pg_lsn)', amopmethod => 'brin' }, -{ amopfamily => 'brin/pg_lsn_minmax_multi_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '5', amopopr => '>(pg_lsn,pg_lsn)', - amopmethod => 'brin' }, - -# bloom pg_lsn -{ amopfamily => 'brin/pg_lsn_bloom_ops', amoplefttype => 'pg_lsn', - amoprighttype => 'pg_lsn', amopstrategy => '1', amopopr => '=(pg_lsn,pg_lsn)', - amopmethod => 'brin' }, - -# inclusion box -{ amopfamily => 'brin/box_inclusion_ops', amoplefttype => 'box', - amoprighttype => 'box', amopstrategy => '1', amopopr => '<<(box,box)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/box_inclusion_ops', amoplefttype => 'box', - amoprighttype => 'box', amopstrategy => '2', amopopr => '&<(box,box)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/box_inclusion_ops', amoplefttype => 'box', - amoprighttype => 'box', amopstrategy => '3', amopopr => '&&(box,box)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/box_inclusion_ops', amoplefttype => 'box', - amoprighttype => 'box', amopstrategy => '4', amopopr => '&>(box,box)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/box_inclusion_ops', amoplefttype => 'box', - amoprighttype => 'box', amopstrategy => '5', amopopr => '>>(box,box)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/box_inclusion_ops', amoplefttype => 'box', - amoprighttype => 'box', amopstrategy => '6', amopopr => '~=(box,box)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/box_inclusion_ops', amoplefttype => 'box', - amoprighttype => 'box', amopstrategy => '7', amopopr => '@>(box,box)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/box_inclusion_ops', amoplefttype => 'box', - amoprighttype => 'box', amopstrategy => '8', amopopr => '<@(box,box)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/box_inclusion_ops', amoplefttype => 'box', - amoprighttype => 'box', amopstrategy => '9', amopopr => '&<|(box,box)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/box_inclusion_ops', amoplefttype => 'box', - amoprighttype => 'box', amopstrategy => '10', amopopr => '<<|(box,box)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/box_inclusion_ops', amoplefttype => 'box', - amoprighttype => 'box', amopstrategy => '11', amopopr => '|>>(box,box)', - amopmethod => 'brin' }, -{ amopfamily => 'brin/box_inclusion_ops', amoplefttype => 'box', - amoprighttype => 'box', amopstrategy => '12', amopopr => '|&>(box,box)', - amopmethod => 'brin' }, - -{ amopfamily => 'brin/box_inclusion_ops', amoplefttype => 'box', - amoprighttype => 'point', amopstrategy => '7', amopopr => '@>(box,point)', - amopmethod => 'brin' }, - -] diff --git a/contrib/libs/postgresql/src/include/catalog/pg_amproc.dat b/contrib/libs/postgresql/src/include/catalog/pg_amproc.dat deleted file mode 100644 index 5460aa24222..00000000000 --- a/contrib/libs/postgresql/src/include/catalog/pg_amproc.dat +++ /dev/null @@ -1,1984 +0,0 @@ -#---------------------------------------------------------------------- -# -# pg_amproc.dat -# Initial contents of the pg_amproc system catalog. -# -# Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group -# Portions Copyright (c) 1994, Regents of the University of California -# -# src/include/catalog/pg_amproc.dat -# -#---------------------------------------------------------------------- - -[ - -# btree -{ amprocfamily => 'btree/array_ops', amproclefttype => 'anyarray', - amprocrighttype => 'anyarray', amprocnum => '1', amproc => 'btarraycmp' }, -{ amprocfamily => 'btree/bit_ops', amproclefttype => 'bit', - amprocrighttype => 'bit', amprocnum => '1', amproc => 'bitcmp' }, -{ amprocfamily => 'btree/bit_ops', amproclefttype => 'bit', - amprocrighttype => 'bit', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/bool_ops', amproclefttype => 'bool', - amprocrighttype => 'bool', amprocnum => '1', amproc => 'btboolcmp' }, -{ amprocfamily => 'btree/bool_ops', amproclefttype => 'bool', - amprocrighttype => 'bool', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/bpchar_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '1', amproc => 'bpcharcmp' }, -{ amprocfamily => 'btree/bpchar_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '2', - amproc => 'bpchar_sortsupport' }, -{ amprocfamily => 'btree/bpchar_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '4', - amproc => 'btvarstrequalimage' }, -{ amprocfamily => 'btree/bytea_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '1', amproc => 'byteacmp' }, -{ amprocfamily => 'btree/bytea_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '2', amproc => 'bytea_sortsupport' }, -{ amprocfamily => 'btree/bytea_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/char_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '1', amproc => 'btcharcmp' }, -{ amprocfamily => 'btree/char_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '1', amproc => 'date_cmp' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '2', amproc => 'date_sortsupport' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'date', - amprocrighttype => 'timestamp', amprocnum => '1', - amproc => 'date_cmp_timestamp' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'date', - amprocrighttype => 'timestamptz', amprocnum => '1', - amproc => 'date_cmp_timestamptz' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '1', amproc => 'timestamp_cmp' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '2', - amproc => 'timestamp_sortsupport' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp', - amprocrighttype => 'date', amprocnum => '1', amproc => 'timestamp_cmp_date' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamptz', amprocnum => '1', - amproc => 'timestamp_cmp_timestamptz' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '1', - amproc => 'timestamptz_cmp' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '2', - amproc => 'timestamp_sortsupport' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '4', - amproc => 'btequalimage' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'date', amprocnum => '1', - amproc => 'timestamptz_cmp_date' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamp', amprocnum => '1', - amproc => 'timestamptz_cmp_timestamp' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'date', - amprocrighttype => 'interval', amprocnum => '3', - amproc => 'in_range(date,date,interval,bool,bool)' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp', - amprocrighttype => 'interval', amprocnum => '3', - amproc => 'in_range(timestamp,timestamp,interval,bool,bool)' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'interval', amprocnum => '3', - amproc => 'in_range(timestamptz,timestamptz,interval,bool,bool)' }, -{ amprocfamily => 'btree/float_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '1', amproc => 'btfloat4cmp' }, -{ amprocfamily => 'btree/float_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '2', - amproc => 'btfloat4sortsupport' }, -{ amprocfamily => 'btree/float_ops', amproclefttype => 'float4', - amprocrighttype => 'float8', amprocnum => '1', amproc => 'btfloat48cmp' }, -{ amprocfamily => 'btree/float_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '1', amproc => 'btfloat8cmp' }, -{ amprocfamily => 'btree/float_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '2', - amproc => 'btfloat8sortsupport' }, -{ amprocfamily => 'btree/float_ops', amproclefttype => 'float8', - amprocrighttype => 'float4', amprocnum => '1', amproc => 'btfloat84cmp' }, -{ amprocfamily => 'btree/float_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '3', - amproc => 'in_range(float8,float8,float8,bool,bool)' }, -{ amprocfamily => 'btree/float_ops', amproclefttype => 'float4', - amprocrighttype => 'float8', amprocnum => '3', - amproc => 'in_range(float4,float4,float8,bool,bool)' }, -{ amprocfamily => 'btree/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '1', amproc => 'network_cmp' }, -{ amprocfamily => 'btree/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '2', - amproc => 'network_sortsupport' }, -{ amprocfamily => 'btree/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '1', amproc => 'btint2cmp' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '2', amproc => 'btint2sortsupport' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int2', - amprocrighttype => 'int4', amprocnum => '1', amproc => 'btint24cmp' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int2', - amprocrighttype => 'int8', amprocnum => '1', amproc => 'btint28cmp' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int2', - amprocrighttype => 'int8', amprocnum => '3', - amproc => 'in_range(int2,int2,int8,bool,bool)' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int2', - amprocrighttype => 'int4', amprocnum => '3', - amproc => 'in_range(int2,int2,int4,bool,bool)' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '3', - amproc => 'in_range(int2,int2,int2,bool,bool)' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '1', amproc => 'btint4cmp' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '2', amproc => 'btint4sortsupport' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int4', - amprocrighttype => 'int8', amprocnum => '1', amproc => 'btint48cmp' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int4', - amprocrighttype => 'int2', amprocnum => '1', amproc => 'btint42cmp' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int4', - amprocrighttype => 'int8', amprocnum => '3', - amproc => 'in_range(int4,int4,int8,bool,bool)' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '3', - amproc => 'in_range(int4,int4,int4,bool,bool)' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int4', - amprocrighttype => 'int2', amprocnum => '3', - amproc => 'in_range(int4,int4,int2,bool,bool)' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '1', amproc => 'btint8cmp' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '2', amproc => 'btint8sortsupport' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int8', - amprocrighttype => 'int4', amprocnum => '1', amproc => 'btint84cmp' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int8', - amprocrighttype => 'int2', amprocnum => '1', amproc => 'btint82cmp' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '3', - amproc => 'in_range(int8,int8,int8,bool,bool)' }, -{ amprocfamily => 'btree/interval_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '1', amproc => 'interval_cmp' }, -{ amprocfamily => 'btree/interval_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '3', - amproc => 'in_range(interval,interval,interval,bool,bool)' }, -{ amprocfamily => 'btree/interval_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/macaddr_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '1', amproc => 'macaddr_cmp' }, -{ amprocfamily => 'btree/macaddr_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '2', - amproc => 'macaddr_sortsupport' }, -{ amprocfamily => 'btree/macaddr_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/numeric_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '1', amproc => 'numeric_cmp' }, -{ amprocfamily => 'btree/numeric_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '2', - amproc => 'numeric_sortsupport' }, -{ amprocfamily => 'btree/numeric_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '3', - amproc => 'in_range(numeric,numeric,numeric,bool,bool)' }, -{ amprocfamily => 'btree/oid_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '1', amproc => 'btoidcmp' }, -{ amprocfamily => 'btree/oid_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '2', amproc => 'btoidsortsupport' }, -{ amprocfamily => 'btree/oid_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/oidvector_ops', amproclefttype => 'oidvector', - amprocrighttype => 'oidvector', amprocnum => '1', - amproc => 'btoidvectorcmp' }, -{ amprocfamily => 'btree/oidvector_ops', amproclefttype => 'oidvector', - amprocrighttype => 'oidvector', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/text_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '1', amproc => 'bttextcmp' }, -{ amprocfamily => 'btree/text_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '2', amproc => 'bttextsortsupport' }, -{ amprocfamily => 'btree/text_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '4', amproc => 'btvarstrequalimage' }, -{ amprocfamily => 'btree/text_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '1', amproc => 'btnamecmp' }, -{ amprocfamily => 'btree/text_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '2', amproc => 'btnamesortsupport' }, -{ amprocfamily => 'btree/text_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '4', amproc => 'btvarstrequalimage' }, -{ amprocfamily => 'btree/text_ops', amproclefttype => 'name', - amprocrighttype => 'text', amprocnum => '1', amproc => 'btnametextcmp' }, -{ amprocfamily => 'btree/text_ops', amproclefttype => 'text', - amprocrighttype => 'name', amprocnum => '1', amproc => 'bttextnamecmp' }, -{ amprocfamily => 'btree/time_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '1', amproc => 'time_cmp' }, -{ amprocfamily => 'btree/time_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/time_ops', amproclefttype => 'time', - amprocrighttype => 'interval', amprocnum => '3', - amproc => 'in_range(time,time,interval,bool,bool)' }, -{ amprocfamily => 'btree/timetz_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '1', amproc => 'timetz_cmp' }, -{ amprocfamily => 'btree/timetz_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/timetz_ops', amproclefttype => 'timetz', - amprocrighttype => 'interval', amprocnum => '3', - amproc => 'in_range(timetz,timetz,interval,bool,bool)' }, -{ amprocfamily => 'btree/varbit_ops', amproclefttype => 'varbit', - amprocrighttype => 'varbit', amprocnum => '1', amproc => 'varbitcmp' }, -{ amprocfamily => 'btree/varbit_ops', amproclefttype => 'varbit', - amprocrighttype => 'varbit', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/text_pattern_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '1', amproc => 'bttext_pattern_cmp' }, -{ amprocfamily => 'btree/text_pattern_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '2', - amproc => 'bttext_pattern_sortsupport' }, -{ amprocfamily => 'btree/text_pattern_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/bpchar_pattern_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '1', - amproc => 'btbpchar_pattern_cmp' }, -{ amprocfamily => 'btree/bpchar_pattern_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '2', - amproc => 'btbpchar_pattern_sortsupport' }, -{ amprocfamily => 'btree/bpchar_pattern_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/money_ops', amproclefttype => 'money', - amprocrighttype => 'money', amprocnum => '1', amproc => 'cash_cmp' }, -{ amprocfamily => 'btree/money_ops', amproclefttype => 'money', - amprocrighttype => 'money', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/tid_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '1', amproc => 'bttidcmp' }, -{ amprocfamily => 'btree/tid_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/uuid_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '1', amproc => 'uuid_cmp' }, -{ amprocfamily => 'btree/uuid_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '2', amproc => 'uuid_sortsupport' }, -{ amprocfamily => 'btree/uuid_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/record_ops', amproclefttype => 'record', - amprocrighttype => 'record', amprocnum => '1', amproc => 'btrecordcmp' }, -{ amprocfamily => 'btree/record_image_ops', amproclefttype => 'record', - amprocrighttype => 'record', amprocnum => '1', amproc => 'btrecordimagecmp' }, -{ amprocfamily => 'btree/pg_lsn_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '1', amproc => 'pg_lsn_cmp' }, -{ amprocfamily => 'btree/pg_lsn_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/macaddr8_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '1', amproc => 'macaddr8_cmp' }, -{ amprocfamily => 'btree/macaddr8_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/enum_ops', amproclefttype => 'anyenum', - amprocrighttype => 'anyenum', amprocnum => '1', amproc => 'enum_cmp' }, -{ amprocfamily => 'btree/enum_ops', amproclefttype => 'anyenum', - amprocrighttype => 'anyenum', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '1', amproc => 'tsvector_cmp' }, -{ amprocfamily => 'btree/tsquery_ops', amproclefttype => 'tsquery', - amprocrighttype => 'tsquery', amprocnum => '1', amproc => 'tsquery_cmp' }, -{ amprocfamily => 'btree/range_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '1', amproc => 'range_cmp' }, -{ amprocfamily => 'btree/multirange_ops', amproclefttype => 'anymultirange', - amprocrighttype => 'anymultirange', amprocnum => '1', - amproc => 'multirange_cmp' }, -{ amprocfamily => 'btree/jsonb_ops', amproclefttype => 'jsonb', - amprocrighttype => 'jsonb', amprocnum => '1', amproc => 'jsonb_cmp' }, -{ amprocfamily => 'btree/xid8_ops', amproclefttype => 'xid8', - amprocrighttype => 'xid8', amprocnum => '1', amproc => 'xid8cmp' }, -{ amprocfamily => 'btree/xid8_ops', amproclefttype => 'xid8', - amprocrighttype => 'xid8', amprocnum => '4', amproc => 'btequalimage' }, - -# hash -{ amprocfamily => 'hash/bpchar_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '1', amproc => 'hashbpchar' }, -{ amprocfamily => 'hash/bpchar_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '2', - amproc => 'hashbpcharextended' }, -{ amprocfamily => 'hash/char_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '1', amproc => 'hashchar' }, -{ amprocfamily => 'hash/char_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '2', amproc => 'hashcharextended' }, -{ amprocfamily => 'hash/date_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '1', amproc => 'hashint4' }, -{ amprocfamily => 'hash/date_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '2', amproc => 'hashint4extended' }, -{ amprocfamily => 'hash/array_ops', amproclefttype => 'anyarray', - amprocrighttype => 'anyarray', amprocnum => '1', amproc => 'hash_array' }, -{ amprocfamily => 'hash/array_ops', amproclefttype => 'anyarray', - amprocrighttype => 'anyarray', amprocnum => '2', - amproc => 'hash_array_extended' }, -{ amprocfamily => 'hash/float_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '1', amproc => 'hashfloat4' }, -{ amprocfamily => 'hash/float_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '2', - amproc => 'hashfloat4extended' }, -{ amprocfamily => 'hash/float_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '1', amproc => 'hashfloat8' }, -{ amprocfamily => 'hash/float_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '2', - amproc => 'hashfloat8extended' }, -{ amprocfamily => 'hash/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '1', amproc => 'hashinet' }, -{ amprocfamily => 'hash/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '2', amproc => 'hashinetextended' }, -{ amprocfamily => 'hash/integer_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '1', amproc => 'hashint2' }, -{ amprocfamily => 'hash/integer_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '2', amproc => 'hashint2extended' }, -{ amprocfamily => 'hash/integer_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '1', amproc => 'hashint4' }, -{ amprocfamily => 'hash/integer_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '2', amproc => 'hashint4extended' }, -{ amprocfamily => 'hash/integer_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '1', amproc => 'hashint8' }, -{ amprocfamily => 'hash/integer_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '2', amproc => 'hashint8extended' }, -{ amprocfamily => 'hash/interval_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '1', amproc => 'interval_hash' }, -{ amprocfamily => 'hash/interval_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '2', - amproc => 'interval_hash_extended' }, -{ amprocfamily => 'hash/macaddr_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '1', amproc => 'hashmacaddr' }, -{ amprocfamily => 'hash/macaddr_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '2', - amproc => 'hashmacaddrextended' }, -{ amprocfamily => 'hash/oid_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '1', amproc => 'hashoid' }, -{ amprocfamily => 'hash/oid_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '2', amproc => 'hashoidextended' }, -{ amprocfamily => 'hash/oidvector_ops', amproclefttype => 'oidvector', - amprocrighttype => 'oidvector', amprocnum => '1', amproc => 'hashoidvector' }, -{ amprocfamily => 'hash/oidvector_ops', amproclefttype => 'oidvector', - amprocrighttype => 'oidvector', amprocnum => '2', - amproc => 'hashoidvectorextended' }, -{ amprocfamily => 'hash/text_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '1', amproc => 'hashtext' }, -{ amprocfamily => 'hash/text_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '2', amproc => 'hashtextextended' }, -{ amprocfamily => 'hash/text_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '1', amproc => 'hashname' }, -{ amprocfamily => 'hash/text_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '2', amproc => 'hashnameextended' }, -{ amprocfamily => 'hash/time_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '1', amproc => 'time_hash' }, -{ amprocfamily => 'hash/time_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '2', amproc => 'time_hash_extended' }, -{ amprocfamily => 'hash/numeric_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '1', amproc => 'hash_numeric' }, -{ amprocfamily => 'hash/numeric_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '2', - amproc => 'hash_numeric_extended' }, -{ amprocfamily => 'hash/timestamptz_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '1', - amproc => 'timestamp_hash' }, -{ amprocfamily => 'hash/timestamptz_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '2', - amproc => 'timestamp_hash_extended' }, -{ amprocfamily => 'hash/timetz_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '1', amproc => 'timetz_hash' }, -{ amprocfamily => 'hash/timetz_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '2', - amproc => 'timetz_hash_extended' }, -{ amprocfamily => 'hash/timestamp_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '1', - amproc => 'timestamp_hash' }, -{ amprocfamily => 'hash/timestamp_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '2', - amproc => 'timestamp_hash_extended' }, -{ amprocfamily => 'hash/bool_ops', amproclefttype => 'bool', - amprocrighttype => 'bool', amprocnum => '1', amproc => 'hashchar' }, -{ amprocfamily => 'hash/bool_ops', amproclefttype => 'bool', - amprocrighttype => 'bool', amprocnum => '2', amproc => 'hashcharextended' }, -{ amprocfamily => 'hash/bytea_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '1', amproc => 'hashvarlena' }, -{ amprocfamily => 'hash/bytea_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '2', - amproc => 'hashvarlenaextended' }, -{ amprocfamily => 'hash/xid_ops', amproclefttype => 'xid', - amprocrighttype => 'xid', amprocnum => '1', amproc => 'hashint4' }, -{ amprocfamily => 'hash/xid_ops', amproclefttype => 'xid', - amprocrighttype => 'xid', amprocnum => '2', amproc => 'hashint4extended' }, -{ amprocfamily => 'hash/xid8_ops', amproclefttype => 'xid8', - amprocrighttype => 'xid8', amprocnum => '1', amproc => 'hashint8' }, -{ amprocfamily => 'hash/xid8_ops', amproclefttype => 'xid8', - amprocrighttype => 'xid8', amprocnum => '2', amproc => 'hashint8extended' }, -{ amprocfamily => 'hash/cid_ops', amproclefttype => 'cid', - amprocrighttype => 'cid', amprocnum => '1', amproc => 'hashint4' }, -{ amprocfamily => 'hash/cid_ops', amproclefttype => 'cid', - amprocrighttype => 'cid', amprocnum => '2', amproc => 'hashint4extended' }, -{ amprocfamily => 'hash/tid_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '1', amproc => 'hashtid' }, -{ amprocfamily => 'hash/tid_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '2', amproc => 'hashtidextended' }, -{ amprocfamily => 'hash/text_pattern_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '1', amproc => 'hashtext' }, -{ amprocfamily => 'hash/text_pattern_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '2', amproc => 'hashtextextended' }, -{ amprocfamily => 'hash/bpchar_pattern_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '1', amproc => 'hashbpchar' }, -{ amprocfamily => 'hash/bpchar_pattern_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '2', - amproc => 'hashbpcharextended' }, -{ amprocfamily => 'hash/aclitem_ops', amproclefttype => 'aclitem', - amprocrighttype => 'aclitem', amprocnum => '1', amproc => 'hash_aclitem' }, -{ amprocfamily => 'hash/aclitem_ops', amproclefttype => 'aclitem', - amprocrighttype => 'aclitem', amprocnum => '2', - amproc => 'hash_aclitem_extended' }, -{ amprocfamily => 'hash/uuid_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '1', amproc => 'uuid_hash' }, -{ amprocfamily => 'hash/uuid_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '2', amproc => 'uuid_hash_extended' }, -{ amprocfamily => 'hash/record_ops', amproclefttype => 'record', - amprocrighttype => 'record', amprocnum => '1', amproc => 'hash_record' }, -{ amprocfamily => 'hash/record_ops', amproclefttype => 'record', - amprocrighttype => 'record', amprocnum => '2', - amproc => 'hash_record_extended' }, -{ amprocfamily => 'hash/pg_lsn_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '1', amproc => 'pg_lsn_hash' }, -{ amprocfamily => 'hash/pg_lsn_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '2', - amproc => 'pg_lsn_hash_extended' }, -{ amprocfamily => 'hash/macaddr8_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '1', amproc => 'hashmacaddr8' }, -{ amprocfamily => 'hash/macaddr8_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '2', - amproc => 'hashmacaddr8extended' }, -{ amprocfamily => 'hash/enum_ops', amproclefttype => 'anyenum', - amprocrighttype => 'anyenum', amprocnum => '1', amproc => 'hashenum' }, -{ amprocfamily => 'hash/enum_ops', amproclefttype => 'anyenum', - amprocrighttype => 'anyenum', amprocnum => '2', - amproc => 'hashenumextended' }, -{ amprocfamily => 'hash/range_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '1', amproc => 'hash_range' }, -{ amprocfamily => 'hash/range_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '2', - amproc => 'hash_range_extended' }, -{ amprocfamily => 'hash/multirange_ops', amproclefttype => 'anymultirange', - amprocrighttype => 'anymultirange', amprocnum => '1', - amproc => 'hash_multirange' }, -{ amprocfamily => 'hash/multirange_ops', amproclefttype => 'anymultirange', - amprocrighttype => 'anymultirange', amprocnum => '2', - amproc => 'hash_multirange_extended' }, -{ amprocfamily => 'hash/jsonb_ops', amproclefttype => 'jsonb', - amprocrighttype => 'jsonb', amprocnum => '1', amproc => 'jsonb_hash' }, -{ amprocfamily => 'hash/jsonb_ops', amproclefttype => 'jsonb', - amprocrighttype => 'jsonb', amprocnum => '2', - amproc => 'jsonb_hash_extended' }, - -# gist -{ amprocfamily => 'gist/point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '1', - amproc => 'gist_point_consistent' }, -{ amprocfamily => 'gist/point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '2', amproc => 'gist_box_union' }, -{ amprocfamily => 'gist/point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '3', - amproc => 'gist_point_compress' }, -{ amprocfamily => 'gist/point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '5', amproc => 'gist_box_penalty' }, -{ amprocfamily => 'gist/point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '6', - amproc => 'gist_box_picksplit' }, -{ amprocfamily => 'gist/point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '7', amproc => 'gist_box_same' }, -{ amprocfamily => 'gist/point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '8', - amproc => 'gist_point_distance' }, -{ amprocfamily => 'gist/point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '9', amproc => 'gist_point_fetch' }, -{ amprocfamily => 'gist/point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '11', - amproc => 'gist_point_sortsupport' }, -{ amprocfamily => 'gist/box_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '1', amproc => 'gist_box_consistent' }, -{ amprocfamily => 'gist/box_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '2', amproc => 'gist_box_union' }, -{ amprocfamily => 'gist/box_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '5', amproc => 'gist_box_penalty' }, -{ amprocfamily => 'gist/box_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '6', amproc => 'gist_box_picksplit' }, -{ amprocfamily => 'gist/box_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '7', amproc => 'gist_box_same' }, -{ amprocfamily => 'gist/box_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '8', amproc => 'gist_box_distance' }, -{ amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon', - amprocrighttype => 'polygon', amprocnum => '1', - amproc => 'gist_poly_consistent' }, -{ amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon', - amprocrighttype => 'polygon', amprocnum => '2', amproc => 'gist_box_union' }, -{ amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon', - amprocrighttype => 'polygon', amprocnum => '3', - amproc => 'gist_poly_compress' }, -{ amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon', - amprocrighttype => 'polygon', amprocnum => '5', - amproc => 'gist_box_penalty' }, -{ amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon', - amprocrighttype => 'polygon', amprocnum => '6', - amproc => 'gist_box_picksplit' }, -{ amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon', - amprocrighttype => 'polygon', amprocnum => '7', amproc => 'gist_box_same' }, -{ amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon', - amprocrighttype => 'polygon', amprocnum => '8', - amproc => 'gist_poly_distance' }, -{ amprocfamily => 'gist/circle_ops', amproclefttype => 'circle', - amprocrighttype => 'circle', amprocnum => '1', - amproc => 'gist_circle_consistent' }, -{ amprocfamily => 'gist/circle_ops', amproclefttype => 'circle', - amprocrighttype => 'circle', amprocnum => '2', amproc => 'gist_box_union' }, -{ amprocfamily => 'gist/circle_ops', amproclefttype => 'circle', - amprocrighttype => 'circle', amprocnum => '3', - amproc => 'gist_circle_compress' }, -{ amprocfamily => 'gist/circle_ops', amproclefttype => 'circle', - amprocrighttype => 'circle', amprocnum => '5', amproc => 'gist_box_penalty' }, -{ amprocfamily => 'gist/circle_ops', amproclefttype => 'circle', - amprocrighttype => 'circle', amprocnum => '6', - amproc => 'gist_box_picksplit' }, -{ amprocfamily => 'gist/circle_ops', amproclefttype => 'circle', - amprocrighttype => 'circle', amprocnum => '7', amproc => 'gist_box_same' }, -{ amprocfamily => 'gist/circle_ops', amproclefttype => 'circle', - amprocrighttype => 'circle', amprocnum => '8', - amproc => 'gist_circle_distance' }, -{ amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '1', - amproc => 'gtsvector_consistent(internal,tsvector,int2,oid,internal)' }, -{ amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '2', - amproc => 'gtsvector_union' }, -{ amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '3', - amproc => 'gtsvector_compress' }, -{ amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '4', - amproc => 'gtsvector_decompress' }, -{ amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '5', - amproc => 'gtsvector_penalty' }, -{ amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '6', - amproc => 'gtsvector_picksplit' }, -{ amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '7', amproc => 'gtsvector_same' }, -{ amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '10', - amproc => 'gtsvector_options' }, -{ amprocfamily => 'gist/tsquery_ops', amproclefttype => 'tsquery', - amprocrighttype => 'tsquery', amprocnum => '1', - amproc => 'gtsquery_consistent(internal,tsquery,int2,oid,internal)' }, -{ amprocfamily => 'gist/tsquery_ops', amproclefttype => 'tsquery', - amprocrighttype => 'tsquery', amprocnum => '2', amproc => 'gtsquery_union' }, -{ amprocfamily => 'gist/tsquery_ops', amproclefttype => 'tsquery', - amprocrighttype => 'tsquery', amprocnum => '3', - amproc => 'gtsquery_compress' }, -{ amprocfamily => 'gist/tsquery_ops', amproclefttype => 'tsquery', - amprocrighttype => 'tsquery', amprocnum => '5', - amproc => 'gtsquery_penalty' }, -{ amprocfamily => 'gist/tsquery_ops', amproclefttype => 'tsquery', - amprocrighttype => 'tsquery', amprocnum => '6', - amproc => 'gtsquery_picksplit' }, -{ amprocfamily => 'gist/tsquery_ops', amproclefttype => 'tsquery', - amprocrighttype => 'tsquery', amprocnum => '7', amproc => 'gtsquery_same' }, -{ amprocfamily => 'gist/range_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '1', - amproc => 'range_gist_consistent' }, -{ amprocfamily => 'gist/range_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '2', - amproc => 'range_gist_union' }, -{ amprocfamily => 'gist/range_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '5', - amproc => 'range_gist_penalty' }, -{ amprocfamily => 'gist/range_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '6', - amproc => 'range_gist_picksplit' }, -{ amprocfamily => 'gist/range_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '7', - amproc => 'range_gist_same' }, -{ amprocfamily => 'gist/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '1', - amproc => 'inet_gist_consistent' }, -{ amprocfamily => 'gist/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '2', amproc => 'inet_gist_union' }, -{ amprocfamily => 'gist/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '3', amproc => 'inet_gist_compress' }, -{ amprocfamily => 'gist/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '5', amproc => 'inet_gist_penalty' }, -{ amprocfamily => 'gist/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '6', - amproc => 'inet_gist_picksplit' }, -{ amprocfamily => 'gist/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '7', amproc => 'inet_gist_same' }, -{ amprocfamily => 'gist/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '9', amproc => 'inet_gist_fetch' }, -{ amprocfamily => 'gist/multirange_ops', amproclefttype => 'anymultirange', - amprocrighttype => 'anymultirange', amprocnum => '1', - amproc => 'multirange_gist_consistent' }, -{ amprocfamily => 'gist/multirange_ops', amproclefttype => 'anymultirange', - amprocrighttype => 'anymultirange', amprocnum => '2', - amproc => 'range_gist_union' }, -{ amprocfamily => 'gist/multirange_ops', amproclefttype => 'anymultirange', - amprocrighttype => 'anymultirange', amprocnum => '3', - amproc => 'multirange_gist_compress' }, -{ amprocfamily => 'gist/multirange_ops', amproclefttype => 'anymultirange', - amprocrighttype => 'anymultirange', amprocnum => '5', - amproc => 'range_gist_penalty' }, -{ amprocfamily => 'gist/multirange_ops', amproclefttype => 'anymultirange', - amprocrighttype => 'anymultirange', amprocnum => '6', - amproc => 'range_gist_picksplit' }, -{ amprocfamily => 'gist/multirange_ops', amproclefttype => 'anymultirange', - amprocrighttype => 'anymultirange', amprocnum => '7', - amproc => 'range_gist_same' }, - -# gin -{ amprocfamily => 'gin/array_ops', amproclefttype => 'anyarray', - amprocrighttype => 'anyarray', amprocnum => '2', - amproc => 'ginarrayextract(anyarray,internal,internal)' }, -{ amprocfamily => 'gin/array_ops', amproclefttype => 'anyarray', - amprocrighttype => 'anyarray', amprocnum => '3', - amproc => 'ginqueryarrayextract' }, -{ amprocfamily => 'gin/array_ops', amproclefttype => 'anyarray', - amprocrighttype => 'anyarray', amprocnum => '4', - amproc => 'ginarrayconsistent' }, -{ amprocfamily => 'gin/array_ops', amproclefttype => 'anyarray', - amprocrighttype => 'anyarray', amprocnum => '6', - amproc => 'ginarraytriconsistent' }, -{ amprocfamily => 'gin/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '1', - amproc => 'gin_cmp_tslexeme' }, -{ amprocfamily => 'gin/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '2', - amproc => 'gin_extract_tsvector(tsvector,internal,internal)' }, -{ amprocfamily => 'gin/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '3', - amproc => 'gin_extract_tsquery(tsvector,internal,int2,internal,internal,internal,internal)' }, -{ amprocfamily => 'gin/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '4', - amproc => 'gin_tsquery_consistent(internal,int2,tsvector,int4,internal,internal,internal,internal)' }, -{ amprocfamily => 'gin/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '5', amproc => 'gin_cmp_prefix' }, -{ amprocfamily => 'gin/tsvector_ops', amproclefttype => 'tsvector', - amprocrighttype => 'tsvector', amprocnum => '6', - amproc => 'gin_tsquery_triconsistent' }, -{ amprocfamily => 'gin/jsonb_ops', amproclefttype => 'jsonb', - amprocrighttype => 'jsonb', amprocnum => '1', amproc => 'gin_compare_jsonb' }, -{ amprocfamily => 'gin/jsonb_ops', amproclefttype => 'jsonb', - amprocrighttype => 'jsonb', amprocnum => '2', amproc => 'gin_extract_jsonb' }, -{ amprocfamily => 'gin/jsonb_ops', amproclefttype => 'jsonb', - amprocrighttype => 'jsonb', amprocnum => '3', - amproc => 'gin_extract_jsonb_query' }, -{ amprocfamily => 'gin/jsonb_ops', amproclefttype => 'jsonb', - amprocrighttype => 'jsonb', amprocnum => '4', - amproc => 'gin_consistent_jsonb' }, -{ amprocfamily => 'gin/jsonb_ops', amproclefttype => 'jsonb', - amprocrighttype => 'jsonb', amprocnum => '6', - amproc => 'gin_triconsistent_jsonb' }, -{ amprocfamily => 'gin/jsonb_path_ops', amproclefttype => 'jsonb', - amprocrighttype => 'jsonb', amprocnum => '1', amproc => 'btint4cmp' }, -{ amprocfamily => 'gin/jsonb_path_ops', amproclefttype => 'jsonb', - amprocrighttype => 'jsonb', amprocnum => '2', - amproc => 'gin_extract_jsonb_path' }, -{ amprocfamily => 'gin/jsonb_path_ops', amproclefttype => 'jsonb', - amprocrighttype => 'jsonb', amprocnum => '3', - amproc => 'gin_extract_jsonb_query_path' }, -{ amprocfamily => 'gin/jsonb_path_ops', amproclefttype => 'jsonb', - amprocrighttype => 'jsonb', amprocnum => '4', - amproc => 'gin_consistent_jsonb_path' }, -{ amprocfamily => 'gin/jsonb_path_ops', amproclefttype => 'jsonb', - amprocrighttype => 'jsonb', amprocnum => '6', - amproc => 'gin_triconsistent_jsonb_path' }, - -# sp-gist -{ amprocfamily => 'spgist/range_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '1', - amproc => 'spg_range_quad_config' }, -{ amprocfamily => 'spgist/range_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '2', - amproc => 'spg_range_quad_choose' }, -{ amprocfamily => 'spgist/range_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '3', - amproc => 'spg_range_quad_picksplit' }, -{ amprocfamily => 'spgist/range_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '4', - amproc => 'spg_range_quad_inner_consistent' }, -{ amprocfamily => 'spgist/range_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '5', - amproc => 'spg_range_quad_leaf_consistent' }, -{ amprocfamily => 'spgist/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '1', amproc => 'inet_spg_config' }, -{ amprocfamily => 'spgist/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '2', amproc => 'inet_spg_choose' }, -{ amprocfamily => 'spgist/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '3', amproc => 'inet_spg_picksplit' }, -{ amprocfamily => 'spgist/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '4', - amproc => 'inet_spg_inner_consistent' }, -{ amprocfamily => 'spgist/network_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '5', - amproc => 'inet_spg_leaf_consistent' }, -{ amprocfamily => 'spgist/quad_point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '1', amproc => 'spg_quad_config' }, -{ amprocfamily => 'spgist/quad_point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '2', amproc => 'spg_quad_choose' }, -{ amprocfamily => 'spgist/quad_point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '3', - amproc => 'spg_quad_picksplit' }, -{ amprocfamily => 'spgist/quad_point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '4', - amproc => 'spg_quad_inner_consistent' }, -{ amprocfamily => 'spgist/quad_point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '5', - amproc => 'spg_quad_leaf_consistent' }, -{ amprocfamily => 'spgist/kd_point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '1', amproc => 'spg_kd_config' }, -{ amprocfamily => 'spgist/kd_point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '2', amproc => 'spg_kd_choose' }, -{ amprocfamily => 'spgist/kd_point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '3', amproc => 'spg_kd_picksplit' }, -{ amprocfamily => 'spgist/kd_point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '4', - amproc => 'spg_kd_inner_consistent' }, -{ amprocfamily => 'spgist/kd_point_ops', amproclefttype => 'point', - amprocrighttype => 'point', amprocnum => '5', - amproc => 'spg_quad_leaf_consistent' }, -{ amprocfamily => 'spgist/text_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '1', amproc => 'spg_text_config' }, -{ amprocfamily => 'spgist/text_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '2', amproc => 'spg_text_choose' }, -{ amprocfamily => 'spgist/text_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '3', amproc => 'spg_text_picksplit' }, -{ amprocfamily => 'spgist/text_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '4', - amproc => 'spg_text_inner_consistent' }, -{ amprocfamily => 'spgist/text_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '5', - amproc => 'spg_text_leaf_consistent' }, -{ amprocfamily => 'spgist/box_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '1', amproc => 'spg_box_quad_config' }, -{ amprocfamily => 'spgist/box_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '2', amproc => 'spg_box_quad_choose' }, -{ amprocfamily => 'spgist/box_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '3', - amproc => 'spg_box_quad_picksplit' }, -{ amprocfamily => 'spgist/box_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '4', - amproc => 'spg_box_quad_inner_consistent' }, -{ amprocfamily => 'spgist/box_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '5', - amproc => 'spg_box_quad_leaf_consistent' }, -{ amprocfamily => 'spgist/poly_ops', amproclefttype => 'polygon', - amprocrighttype => 'polygon', amprocnum => '1', - amproc => 'spg_bbox_quad_config' }, -{ amprocfamily => 'spgist/poly_ops', amproclefttype => 'polygon', - amprocrighttype => 'polygon', amprocnum => '2', - amproc => 'spg_box_quad_choose' }, -{ amprocfamily => 'spgist/poly_ops', amproclefttype => 'polygon', - amprocrighttype => 'polygon', amprocnum => '3', - amproc => 'spg_box_quad_picksplit' }, -{ amprocfamily => 'spgist/poly_ops', amproclefttype => 'polygon', - amprocrighttype => 'polygon', amprocnum => '4', - amproc => 'spg_box_quad_inner_consistent' }, -{ amprocfamily => 'spgist/poly_ops', amproclefttype => 'polygon', - amprocrighttype => 'polygon', amprocnum => '5', - amproc => 'spg_box_quad_leaf_consistent' }, -{ amprocfamily => 'spgist/poly_ops', amproclefttype => 'polygon', - amprocrighttype => 'polygon', amprocnum => '6', - amproc => 'spg_poly_quad_compress' }, - -# BRIN opclasses - -# minmax bytea -{ amprocfamily => 'brin/bytea_minmax_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/bytea_minmax_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/bytea_minmax_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/bytea_minmax_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '4', amproc => 'brin_minmax_union' }, - -# bloom bytea -{ amprocfamily => 'brin/bytea_bloom_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '1', - amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/bytea_bloom_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/bytea_bloom_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/bytea_bloom_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/bytea_bloom_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '5', - amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/bytea_bloom_ops', amproclefttype => 'bytea', - amprocrighttype => 'bytea', amprocnum => '11', amproc => 'hashvarlena' }, - -# minmax "char" -{ amprocfamily => 'brin/char_minmax_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/char_minmax_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/char_minmax_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/char_minmax_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '4', amproc => 'brin_minmax_union' }, - -# bloom "char" -{ amprocfamily => 'brin/char_bloom_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '1', amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/char_bloom_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/char_bloom_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/char_bloom_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/char_bloom_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '5', amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/char_bloom_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '11', amproc => 'hashchar' }, - -# minmax name -{ amprocfamily => 'brin/name_minmax_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/name_minmax_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/name_minmax_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/name_minmax_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '4', amproc => 'brin_minmax_union' }, - -# bloom name -{ amprocfamily => 'brin/name_bloom_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '1', amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/name_bloom_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/name_bloom_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/name_bloom_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/name_bloom_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '5', amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/name_bloom_ops', amproclefttype => 'name', - amprocrighttype => 'name', amprocnum => '11', amproc => 'hashname' }, - -# minmax integer: int2, int4, int8 -{ amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '4', amproc => 'brin_minmax_union' }, - -{ amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '4', amproc => 'brin_minmax_union' }, - -{ amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '4', amproc => 'brin_minmax_union' }, - -# minmax multi integer: int2, int4, int8 -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_int2' }, - -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_int4' }, - -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_int8' }, - -# bloom integer: int2, int4, int8 -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '1', amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '5', amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '11', amproc => 'hashint8' }, - -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '1', amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '5', amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '11', amproc => 'hashint2' }, - -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '1', amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '5', amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '11', amproc => 'hashint4' }, - -# minmax text -{ amprocfamily => 'brin/text_minmax_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/text_minmax_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/text_minmax_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/text_minmax_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '4', amproc => 'brin_minmax_union' }, - -# bloom text -{ amprocfamily => 'brin/text_bloom_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '1', amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/text_bloom_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/text_bloom_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/text_bloom_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/text_bloom_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '5', amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/text_bloom_ops', amproclefttype => 'text', - amprocrighttype => 'text', amprocnum => '11', amproc => 'hashtext' }, - -# minmax oid -{ amprocfamily => 'brin/oid_minmax_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '1', amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/oid_minmax_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/oid_minmax_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/oid_minmax_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '4', amproc => 'brin_minmax_union' }, - -# minmax multi oid -{ amprocfamily => 'brin/oid_minmax_multi_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/oid_minmax_multi_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/oid_minmax_multi_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/oid_minmax_multi_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/oid_minmax_multi_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/oid_minmax_multi_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_int4' }, - -# bloom oid -{ amprocfamily => 'brin/oid_bloom_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '1', amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/oid_bloom_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/oid_bloom_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/oid_bloom_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/oid_bloom_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '5', amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/oid_bloom_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '11', amproc => 'hashoid' }, - -# minmax tid -{ amprocfamily => 'brin/tid_minmax_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '1', amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/tid_minmax_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/tid_minmax_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/tid_minmax_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '4', amproc => 'brin_minmax_union' }, - -# bloom tid -{ amprocfamily => 'brin/tid_bloom_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '1', amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/tid_bloom_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/tid_bloom_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/tid_bloom_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/tid_bloom_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '5', amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/tid_bloom_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '11', amproc => 'hashtid' }, - -# minmax multi tid -{ amprocfamily => 'brin/tid_minmax_multi_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/tid_minmax_multi_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/tid_minmax_multi_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/tid_minmax_multi_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/tid_minmax_multi_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/tid_minmax_multi_ops', amproclefttype => 'tid', - amprocrighttype => 'tid', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_tid' }, - -# minmax float -{ amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '4', - amproc => 'brin_minmax_union' }, - -{ amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '4', - amproc => 'brin_minmax_union' }, - -# minmax multi float -{ amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_float4' }, - -{ amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_float8' }, - -# bloom float -{ amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '1', - amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '5', - amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float4', - amprocrighttype => 'float4', amprocnum => '11', amproc => 'hashfloat4' }, - -{ amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '1', - amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '5', - amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float8', - amprocrighttype => 'float8', amprocnum => '11', amproc => 'hashfloat8' }, - -# minmax macaddr -{ amprocfamily => 'brin/macaddr_minmax_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/macaddr_minmax_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/macaddr_minmax_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/macaddr_minmax_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '4', - amproc => 'brin_minmax_union' }, - -# minmax multi macaddr -{ amprocfamily => 'brin/macaddr_minmax_multi_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/macaddr_minmax_multi_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/macaddr_minmax_multi_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/macaddr_minmax_multi_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/macaddr_minmax_multi_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/macaddr_minmax_multi_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_macaddr' }, - -# bloom macaddr -{ amprocfamily => 'brin/macaddr_bloom_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '1', - amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/macaddr_bloom_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/macaddr_bloom_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/macaddr_bloom_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '4', - amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/macaddr_bloom_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '5', - amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/macaddr_bloom_ops', amproclefttype => 'macaddr', - amprocrighttype => 'macaddr', amprocnum => '11', amproc => 'hashmacaddr' }, - -# minmax macaddr8 -{ amprocfamily => 'brin/macaddr8_minmax_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/macaddr8_minmax_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/macaddr8_minmax_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/macaddr8_minmax_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '4', - amproc => 'brin_minmax_union' }, - -# minmax multi macaddr8 -{ amprocfamily => 'brin/macaddr8_minmax_multi_ops', - amproclefttype => 'macaddr8', amprocrighttype => 'macaddr8', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/macaddr8_minmax_multi_ops', - amproclefttype => 'macaddr8', amprocrighttype => 'macaddr8', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/macaddr8_minmax_multi_ops', - amproclefttype => 'macaddr8', amprocrighttype => 'macaddr8', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/macaddr8_minmax_multi_ops', - amproclefttype => 'macaddr8', amprocrighttype => 'macaddr8', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/macaddr8_minmax_multi_ops', - amproclefttype => 'macaddr8', amprocrighttype => 'macaddr8', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/macaddr8_minmax_multi_ops', - amproclefttype => 'macaddr8', amprocrighttype => 'macaddr8', - amprocnum => '11', amproc => 'brin_minmax_multi_distance_macaddr8' }, - -# bloom macaddr8 -{ amprocfamily => 'brin/macaddr8_bloom_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '1', - amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/macaddr8_bloom_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/macaddr8_bloom_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/macaddr8_bloom_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '4', - amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/macaddr8_bloom_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '5', - amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/macaddr8_bloom_ops', amproclefttype => 'macaddr8', - amprocrighttype => 'macaddr8', amprocnum => '11', amproc => 'hashmacaddr8' }, - -# minmax inet -{ amprocfamily => 'brin/network_minmax_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/network_minmax_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/network_minmax_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/network_minmax_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '4', amproc => 'brin_minmax_union' }, - -# minmax multi inet -{ amprocfamily => 'brin/network_minmax_multi_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/network_minmax_multi_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/network_minmax_multi_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/network_minmax_multi_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/network_minmax_multi_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/network_minmax_multi_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_inet' }, - -# bloom inet -{ amprocfamily => 'brin/network_bloom_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '1', amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/network_bloom_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/network_bloom_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/network_bloom_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/network_bloom_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '5', amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/network_bloom_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '11', amproc => 'hashinet' }, - -# inclusion inet -{ amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '1', - amproc => 'brin_inclusion_opcinfo' }, -{ amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '2', - amproc => 'brin_inclusion_add_value' }, -{ amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '3', - amproc => 'brin_inclusion_consistent' }, -{ amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '4', - amproc => 'brin_inclusion_union' }, -{ amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '11', amproc => 'inet_merge' }, -{ amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '12', amproc => 'inet_same_family' }, -{ amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet', - amprocrighttype => 'inet', amprocnum => '13', amproc => 'network_supeq' }, - -# minmax character -{ amprocfamily => 'brin/bpchar_minmax_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/bpchar_minmax_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/bpchar_minmax_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/bpchar_minmax_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '4', - amproc => 'brin_minmax_union' }, - -# bloom character -{ amprocfamily => 'brin/bpchar_bloom_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '1', - amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/bpchar_bloom_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/bpchar_bloom_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/bpchar_bloom_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/bpchar_bloom_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '5', - amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/bpchar_bloom_ops', amproclefttype => 'bpchar', - amprocrighttype => 'bpchar', amprocnum => '11', amproc => 'hashbpchar' }, - -# minmax time without time zone -{ amprocfamily => 'brin/time_minmax_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/time_minmax_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/time_minmax_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/time_minmax_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '4', amproc => 'brin_minmax_union' }, - -# minmax multi time without time zone -{ amprocfamily => 'brin/time_minmax_multi_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/time_minmax_multi_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/time_minmax_multi_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/time_minmax_multi_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/time_minmax_multi_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/time_minmax_multi_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_time' }, - -# bloom time without time zone -{ amprocfamily => 'brin/time_bloom_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '1', amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/time_bloom_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/time_bloom_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/time_bloom_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/time_bloom_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '5', amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/time_bloom_ops', amproclefttype => 'time', - amprocrighttype => 'time', amprocnum => '11', amproc => 'time_hash' }, - -# minmax datetime (date, timestamp, timestamptz) -{ amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '4', - amproc => 'brin_minmax_union' }, - -{ amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '4', - amproc => 'brin_minmax_union' }, - -{ amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '4', amproc => 'brin_minmax_union' }, - -# minmax multi datetime (date, timestamp, timestamptz) -{ amprocfamily => 'brin/datetime_minmax_multi_ops', - amproclefttype => 'timestamp', amprocrighttype => 'timestamp', - amprocnum => '1', amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', - amproclefttype => 'timestamp', amprocrighttype => 'timestamp', - amprocnum => '2', amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', - amproclefttype => 'timestamp', amprocrighttype => 'timestamp', - amprocnum => '3', amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', - amproclefttype => 'timestamp', amprocrighttype => 'timestamp', - amprocnum => '4', amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', - amproclefttype => 'timestamp', amprocrighttype => 'timestamp', - amprocnum => '5', amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', - amproclefttype => 'timestamp', amprocrighttype => 'timestamp', - amprocnum => '11', amproc => 'brin_minmax_multi_distance_timestamp' }, - -{ amprocfamily => 'brin/datetime_minmax_multi_ops', - amproclefttype => 'timestamptz', amprocrighttype => 'timestamptz', - amprocnum => '1', amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', - amproclefttype => 'timestamptz', amprocrighttype => 'timestamptz', - amprocnum => '2', amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', - amproclefttype => 'timestamptz', amprocrighttype => 'timestamptz', - amprocnum => '3', amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', - amproclefttype => 'timestamptz', amprocrighttype => 'timestamptz', - amprocnum => '4', amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', - amproclefttype => 'timestamptz', amprocrighttype => 'timestamptz', - amprocnum => '5', amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', - amproclefttype => 'timestamptz', amprocrighttype => 'timestamptz', - amprocnum => '11', amproc => 'brin_minmax_multi_distance_timestamp' }, - -{ amprocfamily => 'brin/datetime_minmax_multi_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/datetime_minmax_multi_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_date' }, - -# bloom datetime (date, timestamp, timestamptz) -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '1', - amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '4', - amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '5', - amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '11', - amproc => 'timestamp_hash' }, - -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '1', - amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '4', - amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '5', - amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '11', - amproc => 'timestamp_hash' }, - -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '1', amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '5', amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '11', amproc => 'hashint4' }, - -# minmax interval -{ amprocfamily => 'brin/interval_minmax_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/interval_minmax_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/interval_minmax_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/interval_minmax_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '4', - amproc => 'brin_minmax_union' }, - -# minmax multi interval -{ amprocfamily => 'brin/interval_minmax_multi_ops', - amproclefttype => 'interval', amprocrighttype => 'interval', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/interval_minmax_multi_ops', - amproclefttype => 'interval', amprocrighttype => 'interval', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/interval_minmax_multi_ops', - amproclefttype => 'interval', amprocrighttype => 'interval', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/interval_minmax_multi_ops', - amproclefttype => 'interval', amprocrighttype => 'interval', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/interval_minmax_multi_ops', - amproclefttype => 'interval', amprocrighttype => 'interval', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/interval_minmax_multi_ops', - amproclefttype => 'interval', amprocrighttype => 'interval', - amprocnum => '11', amproc => 'brin_minmax_multi_distance_interval' }, - -# bloom interval -{ amprocfamily => 'brin/interval_bloom_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '1', - amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/interval_bloom_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/interval_bloom_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/interval_bloom_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '4', - amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/interval_bloom_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '5', - amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/interval_bloom_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '11', amproc => 'interval_hash' }, - -# minmax time with time zone -{ amprocfamily => 'brin/timetz_minmax_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/timetz_minmax_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/timetz_minmax_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/timetz_minmax_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '4', - amproc => 'brin_minmax_union' }, - -# minmax multi time with time zone -{ amprocfamily => 'brin/timetz_minmax_multi_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/timetz_minmax_multi_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/timetz_minmax_multi_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/timetz_minmax_multi_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/timetz_minmax_multi_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/timetz_minmax_multi_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_timetz' }, - -# bloom time with time zone -{ amprocfamily => 'brin/timetz_bloom_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '1', - amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/timetz_bloom_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/timetz_bloom_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/timetz_bloom_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/timetz_bloom_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '5', - amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/timetz_bloom_ops', amproclefttype => 'timetz', - amprocrighttype => 'timetz', amprocnum => '11', amproc => 'timetz_hash' }, - -# minmax bit -{ amprocfamily => 'brin/bit_minmax_ops', amproclefttype => 'bit', - amprocrighttype => 'bit', amprocnum => '1', amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/bit_minmax_ops', amproclefttype => 'bit', - amprocrighttype => 'bit', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/bit_minmax_ops', amproclefttype => 'bit', - amprocrighttype => 'bit', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/bit_minmax_ops', amproclefttype => 'bit', - amprocrighttype => 'bit', amprocnum => '4', amproc => 'brin_minmax_union' }, - -# minmax bit varying -{ amprocfamily => 'brin/varbit_minmax_ops', amproclefttype => 'varbit', - amprocrighttype => 'varbit', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/varbit_minmax_ops', amproclefttype => 'varbit', - amprocrighttype => 'varbit', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/varbit_minmax_ops', amproclefttype => 'varbit', - amprocrighttype => 'varbit', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/varbit_minmax_ops', amproclefttype => 'varbit', - amprocrighttype => 'varbit', amprocnum => '4', - amproc => 'brin_minmax_union' }, - -# minmax numeric -{ amprocfamily => 'brin/numeric_minmax_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/numeric_minmax_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/numeric_minmax_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/numeric_minmax_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '4', - amproc => 'brin_minmax_union' }, - -# minmax multi numeric -{ amprocfamily => 'brin/numeric_minmax_multi_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/numeric_minmax_multi_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/numeric_minmax_multi_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/numeric_minmax_multi_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/numeric_minmax_multi_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/numeric_minmax_multi_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_numeric' }, - -# bloom numeric -{ amprocfamily => 'brin/numeric_bloom_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '1', - amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/numeric_bloom_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/numeric_bloom_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/numeric_bloom_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '4', - amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/numeric_bloom_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '5', - amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/numeric_bloom_ops', amproclefttype => 'numeric', - amprocrighttype => 'numeric', amprocnum => '11', amproc => 'hash_numeric' }, - -# minmax uuid -{ amprocfamily => 'brin/uuid_minmax_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/uuid_minmax_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/uuid_minmax_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/uuid_minmax_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '4', amproc => 'brin_minmax_union' }, - -# minmax multi uuid -{ amprocfamily => 'brin/uuid_minmax_multi_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/uuid_minmax_multi_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/uuid_minmax_multi_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/uuid_minmax_multi_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/uuid_minmax_multi_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/uuid_minmax_multi_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_uuid' }, - -# bloom uuid -{ amprocfamily => 'brin/uuid_bloom_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '1', amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/uuid_bloom_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/uuid_bloom_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/uuid_bloom_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/uuid_bloom_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '5', amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/uuid_bloom_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '11', amproc => 'uuid_hash' }, - -# inclusion range types -{ amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '1', - amproc => 'brin_inclusion_opcinfo' }, -{ amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '2', - amproc => 'brin_inclusion_add_value' }, -{ amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '3', - amproc => 'brin_inclusion_consistent' }, -{ amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '4', - amproc => 'brin_inclusion_union' }, -{ amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '11', - amproc => 'range_merge(anyrange,anyrange)' }, -{ amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '13', - amproc => 'range_contains' }, -{ amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange', - amprocrighttype => 'anyrange', amprocnum => '14', - amproc => 'isempty(anyrange)' }, - -# minmax pg_lsn -{ amprocfamily => 'brin/pg_lsn_minmax_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '1', - amproc => 'brin_minmax_opcinfo' }, -{ amprocfamily => 'brin/pg_lsn_minmax_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '2', - amproc => 'brin_minmax_add_value' }, -{ amprocfamily => 'brin/pg_lsn_minmax_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '3', - amproc => 'brin_minmax_consistent' }, -{ amprocfamily => 'brin/pg_lsn_minmax_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '4', - amproc => 'brin_minmax_union' }, - -# minmax multi pg_lsn -{ amprocfamily => 'brin/pg_lsn_minmax_multi_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '1', - amproc => 'brin_minmax_multi_opcinfo' }, -{ amprocfamily => 'brin/pg_lsn_minmax_multi_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '2', - amproc => 'brin_minmax_multi_add_value' }, -{ amprocfamily => 'brin/pg_lsn_minmax_multi_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '3', - amproc => 'brin_minmax_multi_consistent' }, -{ amprocfamily => 'brin/pg_lsn_minmax_multi_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '4', - amproc => 'brin_minmax_multi_union' }, -{ amprocfamily => 'brin/pg_lsn_minmax_multi_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '5', - amproc => 'brin_minmax_multi_options' }, -{ amprocfamily => 'brin/pg_lsn_minmax_multi_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '11', - amproc => 'brin_minmax_multi_distance_pg_lsn' }, - -# bloom pg_lsn -{ amprocfamily => 'brin/pg_lsn_bloom_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '1', - amproc => 'brin_bloom_opcinfo' }, -{ amprocfamily => 'brin/pg_lsn_bloom_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '2', - amproc => 'brin_bloom_add_value' }, -{ amprocfamily => 'brin/pg_lsn_bloom_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '3', - amproc => 'brin_bloom_consistent' }, -{ amprocfamily => 'brin/pg_lsn_bloom_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '4', amproc => 'brin_bloom_union' }, -{ amprocfamily => 'brin/pg_lsn_bloom_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '5', - amproc => 'brin_bloom_options' }, -{ amprocfamily => 'brin/pg_lsn_bloom_ops', amproclefttype => 'pg_lsn', - amprocrighttype => 'pg_lsn', amprocnum => '11', amproc => 'pg_lsn_hash' }, - -# inclusion box -{ amprocfamily => 'brin/box_inclusion_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '1', - amproc => 'brin_inclusion_opcinfo' }, -{ amprocfamily => 'brin/box_inclusion_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '2', - amproc => 'brin_inclusion_add_value' }, -{ amprocfamily => 'brin/box_inclusion_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '3', - amproc => 'brin_inclusion_consistent' }, -{ amprocfamily => 'brin/box_inclusion_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '4', - amproc => 'brin_inclusion_union' }, -{ amprocfamily => 'brin/box_inclusion_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '11', amproc => 'bound_box' }, -{ amprocfamily => 'brin/box_inclusion_ops', amproclefttype => 'box', - amprocrighttype => 'box', amprocnum => '13', amproc => 'box_contain' }, - -] diff --git a/contrib/libs/postgresql/src/include/catalog/pg_cast.dat b/contrib/libs/postgresql/src/include/catalog/pg_cast.dat deleted file mode 100644 index 67f73cb6fb2..00000000000 --- a/contrib/libs/postgresql/src/include/catalog/pg_cast.dat +++ /dev/null @@ -1,551 +0,0 @@ -#---------------------------------------------------------------------- -# -# pg_cast.dat -# Initial contents of the pg_cast system catalog. -# -# Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group -# Portions Copyright (c) 1994, Regents of the University of California -# -# src/include/catalog/pg_cast.dat -# -#---------------------------------------------------------------------- - -[ - -# Note: this table has OIDs, but we don't bother to assign them manually, -# since nothing needs to know the specific OID of any built-in cast. - -# Numeric category: implicit casts are allowed in the direction -# int2->int4->int8->numeric->float4->float8, while casts in the -# reverse direction are assignment-only. -{ castsource => 'int8', casttarget => 'int2', castfunc => 'int2(int8)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'int8', casttarget => 'int4', castfunc => 'int4(int8)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'int8', casttarget => 'float4', castfunc => 'float4(int8)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int8', casttarget => 'float8', castfunc => 'float8(int8)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int8', casttarget => 'numeric', castfunc => 'numeric(int8)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'int8', castfunc => 'int8(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'int4', castfunc => 'int4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'float4', castfunc => 'float4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'float8', castfunc => 'float8(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'numeric', castfunc => 'numeric(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'int8', castfunc => 'int8(int4)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'int2', castfunc => 'int2(int4)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'float4', castfunc => 'float4(int4)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'float8', castfunc => 'float8(int4)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'numeric', castfunc => 'numeric(int4)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'float4', casttarget => 'int8', castfunc => 'int8(float4)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'float4', casttarget => 'int2', castfunc => 'int2(float4)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'float4', casttarget => 'int4', castfunc => 'int4(float4)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'float4', casttarget => 'float8', castfunc => 'float8(float4)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'float4', casttarget => 'numeric', - castfunc => 'numeric(float4)', castcontext => 'a', castmethod => 'f' }, -{ castsource => 'float8', casttarget => 'int8', castfunc => 'int8(float8)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'float8', casttarget => 'int2', castfunc => 'int2(float8)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'float8', casttarget => 'int4', castfunc => 'int4(float8)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'float8', casttarget => 'float4', castfunc => 'float4(float8)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'float8', casttarget => 'numeric', - castfunc => 'numeric(float8)', castcontext => 'a', castmethod => 'f' }, -{ castsource => 'numeric', casttarget => 'int8', castfunc => 'int8(numeric)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'numeric', casttarget => 'int2', castfunc => 'int2(numeric)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'numeric', casttarget => 'int4', castfunc => 'int4(numeric)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'numeric', casttarget => 'float4', - castfunc => 'float4(numeric)', castcontext => 'i', castmethod => 'f' }, -{ castsource => 'numeric', casttarget => 'float8', - castfunc => 'float8(numeric)', castcontext => 'i', castmethod => 'f' }, -{ castsource => 'money', casttarget => 'numeric', castfunc => 'numeric(money)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'numeric', casttarget => 'money', castfunc => 'money(numeric)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'money', castfunc => 'money(int4)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'int8', casttarget => 'money', castfunc => 'money(int8)', - castcontext => 'a', castmethod => 'f' }, - -# Allow explicit coercions between int4 and bool -{ castsource => 'int4', casttarget => 'bool', castfunc => 'bool(int4)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'bool', casttarget => 'int4', castfunc => 'int4(bool)', - castcontext => 'e', castmethod => 'f' }, - -# Allow explicit coercions between xid8 and xid -{ castsource => 'xid8', casttarget => 'xid', castfunc => 'xid(xid8)', - castcontext => 'e', castmethod => 'f' }, - -# OID category: allow implicit conversion from any integral type (including -# int8, to support OID literals > 2G) to OID, as well as assignment coercion -# from OID to int4 or int8. Similarly for each OID-alias type. Also allow -# implicit coercions between OID and each OID-alias type, as well as -# regproc<->regprocedure and regoper<->regoperator. (Other coercions -# between alias types must pass through OID.) Lastly, there are implicit -# casts from text and varchar to regclass, which exist mainly to support -# legacy forms of nextval() and related functions. -{ castsource => 'int8', casttarget => 'oid', castfunc => 'oid', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'oid', castfunc => 'int4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'oid', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'oid', casttarget => 'int8', castfunc => 'int8(oid)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'oid', casttarget => 'int4', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'oid', casttarget => 'regproc', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regproc', casttarget => 'oid', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'int8', casttarget => 'regproc', castfunc => 'oid', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'regproc', castfunc => 'int4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'regproc', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regproc', casttarget => 'int8', castfunc => 'int8(oid)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'regproc', casttarget => 'int4', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'regproc', casttarget => 'regprocedure', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regprocedure', casttarget => 'regproc', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'oid', casttarget => 'regprocedure', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regprocedure', casttarget => 'oid', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'int8', casttarget => 'regprocedure', castfunc => 'oid', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'regprocedure', castfunc => 'int4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'regprocedure', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regprocedure', casttarget => 'int8', castfunc => 'int8(oid)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'regprocedure', casttarget => 'int4', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'oid', casttarget => 'regoper', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regoper', casttarget => 'oid', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'int8', casttarget => 'regoper', castfunc => 'oid', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'regoper', castfunc => 'int4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'regoper', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regoper', casttarget => 'int8', castfunc => 'int8(oid)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'regoper', casttarget => 'int4', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'regoper', casttarget => 'regoperator', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regoperator', casttarget => 'regoper', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'oid', casttarget => 'regoperator', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regoperator', casttarget => 'oid', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'int8', casttarget => 'regoperator', castfunc => 'oid', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'regoperator', castfunc => 'int4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'regoperator', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regoperator', casttarget => 'int8', castfunc => 'int8(oid)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'regoperator', casttarget => 'int4', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'oid', casttarget => 'regclass', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regclass', casttarget => 'oid', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'int8', casttarget => 'regclass', castfunc => 'oid', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'regclass', castfunc => 'int4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'regclass', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regclass', casttarget => 'int8', castfunc => 'int8(oid)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'regclass', casttarget => 'int4', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'oid', casttarget => 'regcollation', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regcollation', casttarget => 'oid', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'int8', casttarget => 'regcollation', castfunc => 'oid', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'regcollation', castfunc => 'int4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'regcollation', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regcollation', casttarget => 'int8', castfunc => 'int8(oid)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'regcollation', casttarget => 'int4', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'oid', casttarget => 'regtype', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regtype', casttarget => 'oid', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'int8', casttarget => 'regtype', castfunc => 'oid', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'regtype', castfunc => 'int4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'regtype', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regtype', casttarget => 'int8', castfunc => 'int8(oid)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'regtype', casttarget => 'int4', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'oid', casttarget => 'regconfig', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regconfig', casttarget => 'oid', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'int8', casttarget => 'regconfig', castfunc => 'oid', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'regconfig', castfunc => 'int4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'regconfig', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regconfig', casttarget => 'int8', castfunc => 'int8(oid)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'regconfig', casttarget => 'int4', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'oid', casttarget => 'regdictionary', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regdictionary', casttarget => 'oid', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'int8', casttarget => 'regdictionary', castfunc => 'oid', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'regdictionary', castfunc => 'int4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'regdictionary', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regdictionary', casttarget => 'int8', castfunc => 'int8(oid)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'regdictionary', casttarget => 'int4', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'text', casttarget => 'regclass', castfunc => 'regclass', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'varchar', casttarget => 'regclass', castfunc => 'regclass', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'oid', casttarget => 'regrole', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regrole', casttarget => 'oid', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'int8', casttarget => 'regrole', castfunc => 'oid', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'regrole', castfunc => 'int4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'regrole', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regrole', casttarget => 'int8', castfunc => 'int8(oid)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'regrole', casttarget => 'int4', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'oid', casttarget => 'regnamespace', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regnamespace', casttarget => 'oid', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'int8', casttarget => 'regnamespace', castfunc => 'oid', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int2', casttarget => 'regnamespace', castfunc => 'int4(int2)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'regnamespace', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'regnamespace', casttarget => 'int8', castfunc => 'int8(oid)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'regnamespace', casttarget => 'int4', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, - -# String category -{ castsource => 'text', casttarget => 'bpchar', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'text', casttarget => 'varchar', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'bpchar', casttarget => 'text', castfunc => 'text(bpchar)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'bpchar', casttarget => 'varchar', castfunc => 'text(bpchar)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'varchar', casttarget => 'text', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'varchar', casttarget => 'bpchar', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'char', casttarget => 'text', castfunc => 'text(char)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'char', casttarget => 'bpchar', castfunc => 'bpchar(char)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'char', casttarget => 'varchar', castfunc => 'text(char)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'name', casttarget => 'text', castfunc => 'text(name)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'name', casttarget => 'bpchar', castfunc => 'bpchar(name)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'name', casttarget => 'varchar', castfunc => 'varchar(name)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'text', casttarget => 'char', castfunc => 'char(text)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'bpchar', casttarget => 'char', castfunc => 'char(text)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'varchar', casttarget => 'char', castfunc => 'char(text)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'text', casttarget => 'name', castfunc => 'name(text)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'bpchar', casttarget => 'name', castfunc => 'name(bpchar)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'varchar', casttarget => 'name', castfunc => 'name(varchar)', - castcontext => 'i', castmethod => 'f' }, - -# Allow explicit coercions between int4 and "char" -{ castsource => 'char', casttarget => 'int4', castfunc => 'int4(char)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'char', castfunc => 'char(int4)', - castcontext => 'e', castmethod => 'f' }, - -# pg_node_tree can be coerced to, but not from, text -{ castsource => 'pg_node_tree', casttarget => 'text', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, - -# pg_ndistinct can be coerced to, but not from, bytea and text -{ castsource => 'pg_ndistinct', casttarget => 'bytea', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'pg_ndistinct', casttarget => 'text', castfunc => '0', - castcontext => 'i', castmethod => 'i' }, - -# pg_dependencies can be coerced to, but not from, bytea and text -{ castsource => 'pg_dependencies', casttarget => 'bytea', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'pg_dependencies', casttarget => 'text', castfunc => '0', - castcontext => 'i', castmethod => 'i' }, - -# pg_mcv_list can be coerced to, but not from, bytea and text -{ castsource => 'pg_mcv_list', casttarget => 'bytea', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'pg_mcv_list', casttarget => 'text', castfunc => '0', - castcontext => 'i', castmethod => 'i' }, - -# Datetime category -{ castsource => 'date', casttarget => 'timestamp', - castfunc => 'timestamp(date)', castcontext => 'i', castmethod => 'f' }, -{ castsource => 'date', casttarget => 'timestamptz', - castfunc => 'timestamptz(date)', castcontext => 'i', castmethod => 'f' }, -{ castsource => 'time', casttarget => 'interval', castfunc => 'interval(time)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'time', casttarget => 'timetz', castfunc => 'timetz(time)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'timestamp', casttarget => 'date', - castfunc => 'date(timestamp)', castcontext => 'a', castmethod => 'f' }, -{ castsource => 'timestamp', casttarget => 'time', - castfunc => 'time(timestamp)', castcontext => 'a', castmethod => 'f' }, -{ castsource => 'timestamp', casttarget => 'timestamptz', - castfunc => 'timestamptz(timestamp)', castcontext => 'i', castmethod => 'f' }, -{ castsource => 'timestamptz', casttarget => 'date', - castfunc => 'date(timestamptz)', castcontext => 'a', castmethod => 'f' }, -{ castsource => 'timestamptz', casttarget => 'time', - castfunc => 'time(timestamptz)', castcontext => 'a', castmethod => 'f' }, -{ castsource => 'timestamptz', casttarget => 'timestamp', - castfunc => 'timestamp(timestamptz)', castcontext => 'a', castmethod => 'f' }, -{ castsource => 'timestamptz', casttarget => 'timetz', - castfunc => 'timetz(timestamptz)', castcontext => 'a', castmethod => 'f' }, -{ castsource => 'interval', casttarget => 'time', castfunc => 'time(interval)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'timetz', casttarget => 'time', castfunc => 'time(timetz)', - castcontext => 'a', castmethod => 'f' }, - -# Geometric category -{ castsource => 'point', casttarget => 'box', castfunc => 'box(point)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'lseg', casttarget => 'point', castfunc => 'point(lseg)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'path', casttarget => 'point', castfunc => 'point(path)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'path', casttarget => 'polygon', castfunc => 'polygon(path)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'box', casttarget => 'point', castfunc => 'point(box)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'box', casttarget => 'lseg', castfunc => 'lseg(box)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'box', casttarget => 'polygon', castfunc => 'polygon(box)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'box', casttarget => 'circle', castfunc => 'circle(box)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'polygon', casttarget => 'point', castfunc => 'point(polygon)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'polygon', casttarget => 'path', castfunc => 'path', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'polygon', casttarget => 'box', castfunc => 'box(polygon)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'polygon', casttarget => 'circle', - castfunc => 'circle(polygon)', castcontext => 'e', castmethod => 'f' }, -{ castsource => 'circle', casttarget => 'point', castfunc => 'point(circle)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'circle', casttarget => 'box', castfunc => 'box(circle)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'circle', casttarget => 'polygon', - castfunc => 'polygon(circle)', castcontext => 'e', castmethod => 'f' }, - -# MAC address category -{ castsource => 'macaddr', casttarget => 'macaddr8', castfunc => 'macaddr8', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'macaddr8', casttarget => 'macaddr', castfunc => 'macaddr', - castcontext => 'i', castmethod => 'f' }, - -# INET category -{ castsource => 'cidr', casttarget => 'inet', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'inet', casttarget => 'cidr', castfunc => 'cidr', - castcontext => 'a', castmethod => 'f' }, - -# BitString category -{ castsource => 'bit', casttarget => 'varbit', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, -{ castsource => 'varbit', casttarget => 'bit', castfunc => '0', - castcontext => 'i', castmethod => 'b' }, - -# Cross-category casts between bit and int4, int8 -{ castsource => 'int8', casttarget => 'bit', castfunc => 'bit(int8,int4)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'int4', casttarget => 'bit', castfunc => 'bit(int4,int4)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'bit', casttarget => 'int8', castfunc => 'int8(bit)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'bit', casttarget => 'int4', castfunc => 'int4(bit)', - castcontext => 'e', castmethod => 'f' }, - -# Cross-category casts to and from TEXT -# We need entries here only for a few specialized cases where the behavior -# of the cast function differs from the datatype's I/O functions. Otherwise, -# parse_coerce.c will generate CoerceViaIO operations without any prompting. -# Note that the castcontext values specified here should be no stronger than -# parse_coerce.c's automatic casts ('a' to text, 'e' from text) else odd -# behavior will ensue when the automatic cast is applied instead of the -# pg_cast entry! -{ castsource => 'cidr', casttarget => 'text', castfunc => 'text(inet)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'inet', casttarget => 'text', castfunc => 'text(inet)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'bool', casttarget => 'text', castfunc => 'text(bool)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'xml', casttarget => 'text', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'text', casttarget => 'xml', castfunc => 'xml', - castcontext => 'e', castmethod => 'f' }, - -# Cross-category casts to and from VARCHAR -# We support all the same casts as for TEXT. -{ castsource => 'cidr', casttarget => 'varchar', castfunc => 'text(inet)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'inet', casttarget => 'varchar', castfunc => 'text(inet)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'bool', casttarget => 'varchar', castfunc => 'text(bool)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'xml', casttarget => 'varchar', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'varchar', casttarget => 'xml', castfunc => 'xml', - castcontext => 'e', castmethod => 'f' }, - -# Cross-category casts to and from BPCHAR -# We support all the same casts as for TEXT. -{ castsource => 'cidr', casttarget => 'bpchar', castfunc => 'text(inet)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'inet', casttarget => 'bpchar', castfunc => 'text(inet)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'bool', casttarget => 'bpchar', castfunc => 'text(bool)', - castcontext => 'a', castmethod => 'f' }, -{ castsource => 'xml', casttarget => 'bpchar', castfunc => '0', - castcontext => 'a', castmethod => 'b' }, -{ castsource => 'bpchar', casttarget => 'xml', castfunc => 'xml', - castcontext => 'e', castmethod => 'f' }, - -# Length-coercion functions -{ castsource => 'bpchar', casttarget => 'bpchar', - castfunc => 'bpchar(bpchar,int4,bool)', castcontext => 'i', - castmethod => 'f' }, -{ castsource => 'varchar', casttarget => 'varchar', - castfunc => 'varchar(varchar,int4,bool)', castcontext => 'i', - castmethod => 'f' }, -{ castsource => 'time', casttarget => 'time', castfunc => 'time(time,int4)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'timestamp', casttarget => 'timestamp', - castfunc => 'timestamp(timestamp,int4)', castcontext => 'i', - castmethod => 'f' }, -{ castsource => 'timestamptz', casttarget => 'timestamptz', - castfunc => 'timestamptz(timestamptz,int4)', castcontext => 'i', - castmethod => 'f' }, -{ castsource => 'interval', casttarget => 'interval', - castfunc => 'interval(interval,int4)', castcontext => 'i', - castmethod => 'f' }, -{ castsource => 'timetz', casttarget => 'timetz', - castfunc => 'timetz(timetz,int4)', castcontext => 'i', castmethod => 'f' }, -{ castsource => 'bit', casttarget => 'bit', castfunc => 'bit(bit,int4,bool)', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'varbit', casttarget => 'varbit', castfunc => 'varbit', - castcontext => 'i', castmethod => 'f' }, -{ castsource => 'numeric', casttarget => 'numeric', - castfunc => 'numeric(numeric,int4)', castcontext => 'i', castmethod => 'f' }, - -# json to/from jsonb -{ castsource => 'json', casttarget => 'jsonb', castfunc => '0', - castcontext => 'a', castmethod => 'i' }, -{ castsource => 'jsonb', casttarget => 'json', castfunc => '0', - castcontext => 'a', castmethod => 'i' }, - -# jsonb to numeric and bool types -{ castsource => 'jsonb', casttarget => 'bool', castfunc => 'bool(jsonb)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'jsonb', casttarget => 'numeric', castfunc => 'numeric(jsonb)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'jsonb', casttarget => 'int2', castfunc => 'int2(jsonb)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'jsonb', casttarget => 'int4', castfunc => 'int4(jsonb)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'jsonb', casttarget => 'int8', castfunc => 'int8(jsonb)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'jsonb', casttarget => 'float4', castfunc => 'float4(jsonb)', - castcontext => 'e', castmethod => 'f' }, -{ castsource => 'jsonb', casttarget => 'float8', castfunc => 'float8(jsonb)', - castcontext => 'e', castmethod => 'f' }, - -# range to multirange -{ castsource => 'int4range', casttarget => 'int4multirange', - castfunc => 'int4multirange(int4range)', castcontext => 'e', - castmethod => 'f' }, -{ castsource => 'int8range', casttarget => 'int8multirange', - castfunc => 'int8multirange(int8range)', castcontext => 'e', - castmethod => 'f' }, -{ castsource => 'numrange', casttarget => 'nummultirange', - castfunc => 'nummultirange(numrange)', castcontext => 'e', - castmethod => 'f' }, -{ castsource => 'daterange', casttarget => 'datemultirange', - castfunc => 'datemultirange(daterange)', castcontext => 'e', - castmethod => 'f' }, -{ castsource => 'tsrange', casttarget => 'tsmultirange', - castfunc => 'tsmultirange(tsrange)', castcontext => 'e', castmethod => 'f' }, -{ castsource => 'tstzrange', casttarget => 'tstzmultirange', - castfunc => 'tstzmultirange(tstzrange)', castcontext => 'e', - castmethod => 'f' }, -] diff --git a/contrib/libs/postgresql/src/include/catalog/pg_opclass.dat b/contrib/libs/postgresql/src/include/catalog/pg_opclass.dat deleted file mode 100644 index 484727a2fcd..00000000000 --- a/contrib/libs/postgresql/src/include/catalog/pg_opclass.dat +++ /dev/null @@ -1,488 +0,0 @@ -#---------------------------------------------------------------------- -# -# pg_opclass.dat -# Initial contents of the pg_opclass system catalog. -# -# Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group -# Portions Copyright (c) 1994, Regents of the University of California -# -# src/include/catalog/pg_opclass.dat -# -#---------------------------------------------------------------------- - -[ - -# Note: we hard-wire an OID only for a few entries that have to be explicitly -# referenced in the C code or in built-in catalog entries. The rest get OIDs -# assigned on-the-fly during initdb. - -{ opcmethod => 'btree', opcname => 'array_ops', opcfamily => 'btree/array_ops', - opcintype => 'anyarray' }, -{ opcmethod => 'hash', opcname => 'array_ops', opcfamily => 'hash/array_ops', - opcintype => 'anyarray' }, -{ opcmethod => 'btree', opcname => 'bit_ops', opcfamily => 'btree/bit_ops', - opcintype => 'bit' }, -{ opcmethod => 'btree', opcname => 'bool_ops', opcfamily => 'btree/bool_ops', - opcintype => 'bool' }, -{ opcmethod => 'btree', opcname => 'bpchar_ops', - opcfamily => 'btree/bpchar_ops', opcintype => 'bpchar' }, -{ opcmethod => 'hash', opcname => 'bpchar_ops', opcfamily => 'hash/bpchar_ops', - opcintype => 'bpchar' }, -{ opcmethod => 'btree', opcname => 'bytea_ops', opcfamily => 'btree/bytea_ops', - opcintype => 'bytea' }, -{ opcmethod => 'btree', opcname => 'char_ops', opcfamily => 'btree/char_ops', - opcintype => 'char' }, -{ opcmethod => 'hash', opcname => 'char_ops', opcfamily => 'hash/char_ops', - opcintype => 'char' }, -{ opcmethod => 'btree', opcname => 'cidr_ops', opcfamily => 'btree/network_ops', - opcintype => 'inet', opcdefault => 'f' }, -{ opcmethod => 'hash', opcname => 'cidr_ops', opcfamily => 'hash/network_ops', - opcintype => 'inet', opcdefault => 'f' }, -{ oid => '3122', oid_symbol => 'DATE_BTREE_OPS_OID', - opcmethod => 'btree', opcname => 'date_ops', - opcfamily => 'btree/datetime_ops', opcintype => 'date' }, -{ opcmethod => 'hash', opcname => 'date_ops', opcfamily => 'hash/date_ops', - opcintype => 'date' }, -{ opcmethod => 'btree', opcname => 'float4_ops', opcfamily => 'btree/float_ops', - opcintype => 'float4' }, -{ opcmethod => 'hash', opcname => 'float4_ops', opcfamily => 'hash/float_ops', - opcintype => 'float4' }, -{ oid => '3123', oid_symbol => 'FLOAT8_BTREE_OPS_OID', - opcmethod => 'btree', opcname => 'float8_ops', opcfamily => 'btree/float_ops', - opcintype => 'float8' }, -{ opcmethod => 'hash', opcname => 'float8_ops', opcfamily => 'hash/float_ops', - opcintype => 'float8' }, -{ opcmethod => 'btree', opcname => 'inet_ops', opcfamily => 'btree/network_ops', - opcintype => 'inet' }, -{ opcmethod => 'hash', opcname => 'inet_ops', opcfamily => 'hash/network_ops', - opcintype => 'inet' }, -{ opcmethod => 'gist', opcname => 'inet_ops', opcfamily => 'gist/network_ops', - opcintype => 'inet', opcdefault => 'f' }, -{ opcmethod => 'spgist', opcname => 'inet_ops', - opcfamily => 'spgist/network_ops', opcintype => 'inet' }, -{ oid => '1979', oid_symbol => 'INT2_BTREE_OPS_OID', - opcmethod => 'btree', opcname => 'int2_ops', opcfamily => 'btree/integer_ops', - opcintype => 'int2' }, -{ opcmethod => 'hash', opcname => 'int2_ops', opcfamily => 'hash/integer_ops', - opcintype => 'int2' }, -{ oid => '1978', oid_symbol => 'INT4_BTREE_OPS_OID', - opcmethod => 'btree', opcname => 'int4_ops', opcfamily => 'btree/integer_ops', - opcintype => 'int4' }, -{ opcmethod => 'hash', opcname => 'int4_ops', opcfamily => 'hash/integer_ops', - opcintype => 'int4' }, -{ oid => '3124', oid_symbol => 'INT8_BTREE_OPS_OID', - opcmethod => 'btree', opcname => 'int8_ops', opcfamily => 'btree/integer_ops', - opcintype => 'int8' }, -{ opcmethod => 'hash', opcname => 'int8_ops', opcfamily => 'hash/integer_ops', - opcintype => 'int8' }, -{ opcmethod => 'btree', opcname => 'interval_ops', - opcfamily => 'btree/interval_ops', opcintype => 'interval' }, -{ opcmethod => 'hash', opcname => 'interval_ops', - opcfamily => 'hash/interval_ops', opcintype => 'interval' }, -{ opcmethod => 'btree', opcname => 'macaddr_ops', - opcfamily => 'btree/macaddr_ops', opcintype => 'macaddr' }, -{ opcmethod => 'hash', opcname => 'macaddr_ops', - opcfamily => 'hash/macaddr_ops', opcintype => 'macaddr' }, -{ opcmethod => 'btree', opcname => 'macaddr8_ops', - opcfamily => 'btree/macaddr8_ops', opcintype => 'macaddr8' }, -{ opcmethod => 'hash', opcname => 'macaddr8_ops', - opcfamily => 'hash/macaddr8_ops', opcintype => 'macaddr8' }, - -# Here's an ugly little hack to save space in the system catalog indexes. -# btree doesn't ordinarily allow a storage type different from input type; -# but cstring and name are the same thing except for trailing padding, -# and we can safely omit that within an index entry. So we declare the -# btree opclass for name as using cstring storage type. -{ opcmethod => 'btree', opcname => 'name_ops', opcfamily => 'btree/text_ops', - opcintype => 'name', opckeytype => 'cstring' }, - -{ opcmethod => 'hash', opcname => 'name_ops', opcfamily => 'hash/text_ops', - opcintype => 'name' }, -{ oid => '3125', oid_symbol => 'NUMERIC_BTREE_OPS_OID', - opcmethod => 'btree', opcname => 'numeric_ops', - opcfamily => 'btree/numeric_ops', opcintype => 'numeric' }, -{ opcmethod => 'hash', opcname => 'numeric_ops', - opcfamily => 'hash/numeric_ops', opcintype => 'numeric' }, -{ oid => '1981', oid_symbol => 'OID_BTREE_OPS_OID', - opcmethod => 'btree', opcname => 'oid_ops', opcfamily => 'btree/oid_ops', - opcintype => 'oid' }, -{ opcmethod => 'hash', opcname => 'oid_ops', opcfamily => 'hash/oid_ops', - opcintype => 'oid' }, -{ opcmethod => 'btree', opcname => 'oidvector_ops', - opcfamily => 'btree/oidvector_ops', opcintype => 'oidvector' }, -{ opcmethod => 'hash', opcname => 'oidvector_ops', - opcfamily => 'hash/oidvector_ops', opcintype => 'oidvector' }, -{ opcmethod => 'btree', opcname => 'record_ops', - opcfamily => 'btree/record_ops', opcintype => 'record' }, -{ opcmethod => 'hash', opcname => 'record_ops', opcfamily => 'hash/record_ops', - opcintype => 'record' }, -{ opcmethod => 'btree', opcname => 'record_image_ops', - opcfamily => 'btree/record_image_ops', opcintype => 'record', - opcdefault => 'f' }, -{ oid => '3126', oid_symbol => 'TEXT_BTREE_OPS_OID', - opcmethod => 'btree', opcname => 'text_ops', opcfamily => 'btree/text_ops', - opcintype => 'text' }, -{ opcmethod => 'hash', opcname => 'text_ops', opcfamily => 'hash/text_ops', - opcintype => 'text' }, -{ opcmethod => 'btree', opcname => 'time_ops', opcfamily => 'btree/time_ops', - opcintype => 'time' }, -{ opcmethod => 'hash', opcname => 'time_ops', opcfamily => 'hash/time_ops', - opcintype => 'time' }, -{ oid => '3127', oid_symbol => 'TIMESTAMPTZ_BTREE_OPS_OID', - opcmethod => 'btree', opcname => 'timestamptz_ops', - opcfamily => 'btree/datetime_ops', opcintype => 'timestamptz' }, -{ opcmethod => 'hash', opcname => 'timestamptz_ops', - opcfamily => 'hash/timestamptz_ops', opcintype => 'timestamptz' }, -{ opcmethod => 'btree', opcname => 'timetz_ops', - opcfamily => 'btree/timetz_ops', opcintype => 'timetz' }, -{ opcmethod => 'hash', opcname => 'timetz_ops', opcfamily => 'hash/timetz_ops', - opcintype => 'timetz' }, -{ opcmethod => 'btree', opcname => 'varbit_ops', - opcfamily => 'btree/varbit_ops', opcintype => 'varbit' }, -{ opcmethod => 'btree', opcname => 'varchar_ops', opcfamily => 'btree/text_ops', - opcintype => 'text', opcdefault => 'f' }, -{ opcmethod => 'hash', opcname => 'varchar_ops', opcfamily => 'hash/text_ops', - opcintype => 'text', opcdefault => 'f' }, -{ oid => '3128', oid_symbol => 'TIMESTAMP_BTREE_OPS_OID', - opcmethod => 'btree', opcname => 'timestamp_ops', - opcfamily => 'btree/datetime_ops', opcintype => 'timestamp' }, -{ opcmethod => 'hash', opcname => 'timestamp_ops', - opcfamily => 'hash/timestamp_ops', opcintype => 'timestamp' }, -{ oid => '4217', oid_symbol => 'TEXT_BTREE_PATTERN_OPS_OID', - opcmethod => 'btree', opcname => 'text_pattern_ops', - opcfamily => 'btree/text_pattern_ops', opcintype => 'text', - opcdefault => 'f' }, -{ oid => '4218', oid_symbol => 'VARCHAR_BTREE_PATTERN_OPS_OID', - opcmethod => 'btree', opcname => 'varchar_pattern_ops', - opcfamily => 'btree/text_pattern_ops', opcintype => 'text', - opcdefault => 'f' }, -{ oid => '4219', oid_symbol => 'BPCHAR_BTREE_PATTERN_OPS_OID', - opcmethod => 'btree', opcname => 'bpchar_pattern_ops', - opcfamily => 'btree/bpchar_pattern_ops', opcintype => 'bpchar', - opcdefault => 'f' }, -{ opcmethod => 'btree', opcname => 'money_ops', opcfamily => 'btree/money_ops', - opcintype => 'money' }, -{ opcmethod => 'hash', opcname => 'bool_ops', opcfamily => 'hash/bool_ops', - opcintype => 'bool' }, -{ opcmethod => 'hash', opcname => 'bytea_ops', opcfamily => 'hash/bytea_ops', - opcintype => 'bytea' }, -{ opcmethod => 'btree', opcname => 'tid_ops', opcfamily => 'btree/tid_ops', - opcintype => 'tid' }, -{ opcmethod => 'hash', opcname => 'xid_ops', opcfamily => 'hash/xid_ops', - opcintype => 'xid' }, -{ opcmethod => 'hash', opcname => 'xid8_ops', opcfamily => 'hash/xid8_ops', - opcintype => 'xid8' }, -{ opcmethod => 'btree', opcname => 'xid8_ops', opcfamily => 'btree/xid8_ops', - opcintype => 'xid8' }, -{ opcmethod => 'hash', opcname => 'cid_ops', opcfamily => 'hash/cid_ops', - opcintype => 'cid' }, -{ opcmethod => 'hash', opcname => 'tid_ops', opcfamily => 'hash/tid_ops', - opcintype => 'tid' }, -{ opcmethod => 'hash', opcname => 'text_pattern_ops', - opcfamily => 'hash/text_pattern_ops', opcintype => 'text', - opcdefault => 'f' }, -{ opcmethod => 'hash', opcname => 'varchar_pattern_ops', - opcfamily => 'hash/text_pattern_ops', opcintype => 'text', - opcdefault => 'f' }, -{ opcmethod => 'hash', opcname => 'bpchar_pattern_ops', - opcfamily => 'hash/bpchar_pattern_ops', opcintype => 'bpchar', - opcdefault => 'f' }, -{ opcmethod => 'hash', opcname => 'aclitem_ops', - opcfamily => 'hash/aclitem_ops', opcintype => 'aclitem' }, -{ opcmethod => 'gist', opcname => 'box_ops', opcfamily => 'gist/box_ops', - opcintype => 'box' }, -{ opcmethod => 'gist', opcname => 'point_ops', opcfamily => 'gist/point_ops', - opcintype => 'point', opckeytype => 'box' }, -{ opcmethod => 'gist', opcname => 'poly_ops', opcfamily => 'gist/poly_ops', - opcintype => 'polygon', opckeytype => 'box' }, -{ opcmethod => 'gist', opcname => 'circle_ops', opcfamily => 'gist/circle_ops', - opcintype => 'circle', opckeytype => 'box' }, -{ opcmethod => 'gin', opcname => 'array_ops', opcfamily => 'gin/array_ops', - opcintype => 'anyarray', opckeytype => 'anyelement' }, -{ opcmethod => 'btree', opcname => 'uuid_ops', opcfamily => 'btree/uuid_ops', - opcintype => 'uuid' }, -{ opcmethod => 'hash', opcname => 'uuid_ops', opcfamily => 'hash/uuid_ops', - opcintype => 'uuid' }, -{ opcmethod => 'btree', opcname => 'pg_lsn_ops', - opcfamily => 'btree/pg_lsn_ops', opcintype => 'pg_lsn' }, -{ opcmethod => 'hash', opcname => 'pg_lsn_ops', opcfamily => 'hash/pg_lsn_ops', - opcintype => 'pg_lsn' }, -{ opcmethod => 'btree', opcname => 'enum_ops', opcfamily => 'btree/enum_ops', - opcintype => 'anyenum' }, -{ opcmethod => 'hash', opcname => 'enum_ops', opcfamily => 'hash/enum_ops', - opcintype => 'anyenum' }, -{ opcmethod => 'btree', opcname => 'tsvector_ops', - opcfamily => 'btree/tsvector_ops', opcintype => 'tsvector' }, -{ opcmethod => 'gist', opcname => 'tsvector_ops', - opcfamily => 'gist/tsvector_ops', opcintype => 'tsvector', - opckeytype => 'gtsvector' }, -{ opcmethod => 'gin', opcname => 'tsvector_ops', - opcfamily => 'gin/tsvector_ops', opcintype => 'tsvector', - opckeytype => 'text' }, -{ opcmethod => 'btree', opcname => 'tsquery_ops', - opcfamily => 'btree/tsquery_ops', opcintype => 'tsquery' }, -{ opcmethod => 'gist', opcname => 'tsquery_ops', - opcfamily => 'gist/tsquery_ops', opcintype => 'tsquery', - opckeytype => 'int8' }, -{ opcmethod => 'btree', opcname => 'range_ops', opcfamily => 'btree/range_ops', - opcintype => 'anyrange' }, -{ opcmethod => 'hash', opcname => 'range_ops', opcfamily => 'hash/range_ops', - opcintype => 'anyrange' }, -{ opcmethod => 'gist', opcname => 'range_ops', opcfamily => 'gist/range_ops', - opcintype => 'anyrange' }, -{ opcmethod => 'spgist', opcname => 'range_ops', - opcfamily => 'spgist/range_ops', opcintype => 'anyrange' }, -{ opcmethod => 'btree', opcname => 'multirange_ops', - opcfamily => 'btree/multirange_ops', opcintype => 'anymultirange' }, -{ opcmethod => 'hash', opcname => 'multirange_ops', - opcfamily => 'hash/multirange_ops', opcintype => 'anymultirange' }, -{ opcmethod => 'gist', opcname => 'multirange_ops', - opcfamily => 'gist/multirange_ops', opcintype => 'anymultirange', - opckeytype => 'anyrange' }, -{ opcmethod => 'spgist', opcname => 'box_ops', opcfamily => 'spgist/box_ops', - opcintype => 'box' }, -{ opcmethod => 'spgist', opcname => 'quad_point_ops', - opcfamily => 'spgist/quad_point_ops', opcintype => 'point' }, -{ opcmethod => 'spgist', opcname => 'kd_point_ops', - opcfamily => 'spgist/kd_point_ops', opcintype => 'point', opcdefault => 'f' }, -{ opcmethod => 'spgist', opcname => 'text_ops', opcfamily => 'spgist/text_ops', - opcintype => 'text' }, -{ opcmethod => 'spgist', opcname => 'poly_ops', opcfamily => 'spgist/poly_ops', - opcintype => 'polygon', opckeytype => 'box' }, -{ opcmethod => 'btree', opcname => 'jsonb_ops', opcfamily => 'btree/jsonb_ops', - opcintype => 'jsonb' }, -{ opcmethod => 'hash', opcname => 'jsonb_ops', opcfamily => 'hash/jsonb_ops', - opcintype => 'jsonb' }, -{ opcmethod => 'gin', opcname => 'jsonb_ops', opcfamily => 'gin/jsonb_ops', - opcintype => 'jsonb', opckeytype => 'text' }, -{ opcmethod => 'gin', opcname => 'jsonb_path_ops', - opcfamily => 'gin/jsonb_path_ops', opcintype => 'jsonb', opcdefault => 'f', - opckeytype => 'int4' }, - -# BRIN operator classes - -# no brin opclass for bool - -{ opcmethod => 'brin', opcname => 'bytea_minmax_ops', - opcfamily => 'brin/bytea_minmax_ops', opcintype => 'bytea', - opckeytype => 'bytea' }, -{ opcmethod => 'brin', opcname => 'bytea_bloom_ops', - opcfamily => 'brin/bytea_bloom_ops', opcintype => 'bytea', opcdefault => 'f', - opckeytype => 'bytea' }, -{ opcmethod => 'brin', opcname => 'char_minmax_ops', - opcfamily => 'brin/char_minmax_ops', opcintype => 'char', - opckeytype => 'char' }, -{ opcmethod => 'brin', opcname => 'char_bloom_ops', - opcfamily => 'brin/char_bloom_ops', opcintype => 'char', opcdefault => 'f', - opckeytype => 'char' }, -{ opcmethod => 'brin', opcname => 'name_minmax_ops', - opcfamily => 'brin/name_minmax_ops', opcintype => 'name', - opckeytype => 'name' }, -{ opcmethod => 'brin', opcname => 'name_bloom_ops', - opcfamily => 'brin/name_bloom_ops', opcintype => 'name', opcdefault => 'f', - opckeytype => 'name' }, -{ opcmethod => 'brin', opcname => 'int8_minmax_ops', - opcfamily => 'brin/integer_minmax_ops', opcintype => 'int8', - opckeytype => 'int8' }, -{ opcmethod => 'brin', opcname => 'int8_minmax_multi_ops', - opcfamily => 'brin/integer_minmax_multi_ops', opcintype => 'int8', - opcdefault => 'f', opckeytype => 'int8' }, -{ opcmethod => 'brin', opcname => 'int8_bloom_ops', - opcfamily => 'brin/integer_bloom_ops', opcintype => 'int8', opcdefault => 'f', - opckeytype => 'int8' }, -{ opcmethod => 'brin', opcname => 'int2_minmax_ops', - opcfamily => 'brin/integer_minmax_ops', opcintype => 'int2', - opckeytype => 'int2' }, -{ opcmethod => 'brin', opcname => 'int2_minmax_multi_ops', - opcfamily => 'brin/integer_minmax_multi_ops', opcintype => 'int2', - opcdefault => 'f', opckeytype => 'int2' }, -{ opcmethod => 'brin', opcname => 'int2_bloom_ops', - opcfamily => 'brin/integer_bloom_ops', opcintype => 'int2', opcdefault => 'f', - opckeytype => 'int2' }, -{ opcmethod => 'brin', opcname => 'int4_minmax_ops', - opcfamily => 'brin/integer_minmax_ops', opcintype => 'int4', - opckeytype => 'int4' }, -{ opcmethod => 'brin', opcname => 'int4_minmax_multi_ops', - opcfamily => 'brin/integer_minmax_multi_ops', opcintype => 'int4', - opcdefault => 'f', opckeytype => 'int4' }, -{ opcmethod => 'brin', opcname => 'int4_bloom_ops', - opcfamily => 'brin/integer_bloom_ops', opcintype => 'int4', opcdefault => 'f', - opckeytype => 'int4' }, -{ opcmethod => 'brin', opcname => 'text_minmax_ops', - opcfamily => 'brin/text_minmax_ops', opcintype => 'text', - opckeytype => 'text' }, -{ opcmethod => 'brin', opcname => 'text_bloom_ops', - opcfamily => 'brin/text_bloom_ops', opcintype => 'text', opcdefault => 'f', - opckeytype => 'text' }, -{ opcmethod => 'brin', opcname => 'oid_minmax_ops', - opcfamily => 'brin/oid_minmax_ops', opcintype => 'oid', opckeytype => 'oid' }, -{ opcmethod => 'brin', opcname => 'oid_minmax_multi_ops', - opcfamily => 'brin/oid_minmax_multi_ops', opcintype => 'oid', - opcdefault => 'f', opckeytype => 'oid' }, -{ opcmethod => 'brin', opcname => 'oid_bloom_ops', - opcfamily => 'brin/oid_bloom_ops', opcintype => 'oid', opcdefault => 'f', - opckeytype => 'oid' }, -{ opcmethod => 'brin', opcname => 'tid_minmax_ops', - opcfamily => 'brin/tid_minmax_ops', opcintype => 'tid', opckeytype => 'tid' }, -{ opcmethod => 'brin', opcname => 'tid_bloom_ops', - opcfamily => 'brin/tid_bloom_ops', opcintype => 'tid', opcdefault => 'f', - opckeytype => 'tid' }, -{ opcmethod => 'brin', opcname => 'tid_minmax_multi_ops', - opcfamily => 'brin/tid_minmax_multi_ops', opcintype => 'tid', - opcdefault => 'f', opckeytype => 'tid' }, -{ opcmethod => 'brin', opcname => 'float4_minmax_ops', - opcfamily => 'brin/float_minmax_ops', opcintype => 'float4', - opckeytype => 'float4' }, -{ opcmethod => 'brin', opcname => 'float4_minmax_multi_ops', - opcfamily => 'brin/float_minmax_multi_ops', opcintype => 'float4', - opcdefault => 'f', opckeytype => 'float4' }, -{ opcmethod => 'brin', opcname => 'float4_bloom_ops', - opcfamily => 'brin/float_bloom_ops', opcintype => 'float4', opcdefault => 'f', - opckeytype => 'float4' }, -{ opcmethod => 'brin', opcname => 'float8_minmax_ops', - opcfamily => 'brin/float_minmax_ops', opcintype => 'float8', - opckeytype => 'float8' }, -{ opcmethod => 'brin', opcname => 'float8_minmax_multi_ops', - opcfamily => 'brin/float_minmax_multi_ops', opcintype => 'float8', - opcdefault => 'f', opckeytype => 'float8' }, -{ opcmethod => 'brin', opcname => 'float8_bloom_ops', - opcfamily => 'brin/float_bloom_ops', opcintype => 'float8', opcdefault => 'f', - opckeytype => 'float8' }, -{ opcmethod => 'brin', opcname => 'macaddr_minmax_ops', - opcfamily => 'brin/macaddr_minmax_ops', opcintype => 'macaddr', - opckeytype => 'macaddr' }, -{ opcmethod => 'brin', opcname => 'macaddr_minmax_multi_ops', - opcfamily => 'brin/macaddr_minmax_multi_ops', opcintype => 'macaddr', - opcdefault => 'f', opckeytype => 'macaddr' }, -{ opcmethod => 'brin', opcname => 'macaddr_bloom_ops', - opcfamily => 'brin/macaddr_bloom_ops', opcintype => 'macaddr', - opcdefault => 'f', opckeytype => 'macaddr' }, -{ opcmethod => 'brin', opcname => 'macaddr8_minmax_ops', - opcfamily => 'brin/macaddr8_minmax_ops', opcintype => 'macaddr8', - opckeytype => 'macaddr8' }, -{ opcmethod => 'brin', opcname => 'macaddr8_minmax_multi_ops', - opcfamily => 'brin/macaddr8_minmax_multi_ops', opcintype => 'macaddr8', - opcdefault => 'f', opckeytype => 'macaddr8' }, -{ opcmethod => 'brin', opcname => 'macaddr8_bloom_ops', - opcfamily => 'brin/macaddr8_bloom_ops', opcintype => 'macaddr8', - opcdefault => 'f', opckeytype => 'macaddr8' }, -{ opcmethod => 'brin', opcname => 'inet_minmax_ops', - opcfamily => 'brin/network_minmax_ops', opcintype => 'inet', - opcdefault => 'f', opckeytype => 'inet' }, -{ opcmethod => 'brin', opcname => 'inet_minmax_multi_ops', - opcfamily => 'brin/network_minmax_multi_ops', opcintype => 'inet', - opcdefault => 'f', opckeytype => 'inet' }, -{ opcmethod => 'brin', opcname => 'inet_bloom_ops', - opcfamily => 'brin/network_bloom_ops', opcintype => 'inet', opcdefault => 'f', - opckeytype => 'inet' }, -{ opcmethod => 'brin', opcname => 'inet_inclusion_ops', - opcfamily => 'brin/network_inclusion_ops', opcintype => 'inet', - opckeytype => 'inet' }, -{ opcmethod => 'brin', opcname => 'bpchar_minmax_ops', - opcfamily => 'brin/bpchar_minmax_ops', opcintype => 'bpchar', - opckeytype => 'bpchar' }, -{ opcmethod => 'brin', opcname => 'bpchar_bloom_ops', - opcfamily => 'brin/bpchar_bloom_ops', opcintype => 'bpchar', - opcdefault => 'f', opckeytype => 'bpchar' }, -{ opcmethod => 'brin', opcname => 'time_minmax_ops', - opcfamily => 'brin/time_minmax_ops', opcintype => 'time', - opckeytype => 'time' }, -{ opcmethod => 'brin', opcname => 'time_minmax_multi_ops', - opcfamily => 'brin/time_minmax_multi_ops', opcintype => 'time', - opcdefault => 'f', opckeytype => 'time' }, -{ opcmethod => 'brin', opcname => 'time_bloom_ops', - opcfamily => 'brin/time_bloom_ops', opcintype => 'time', opcdefault => 'f', - opckeytype => 'time' }, -{ opcmethod => 'brin', opcname => 'date_minmax_ops', - opcfamily => 'brin/datetime_minmax_ops', opcintype => 'date', - opckeytype => 'date' }, -{ opcmethod => 'brin', opcname => 'date_minmax_multi_ops', - opcfamily => 'brin/datetime_minmax_multi_ops', opcintype => 'date', - opcdefault => 'f', opckeytype => 'date' }, -{ opcmethod => 'brin', opcname => 'date_bloom_ops', - opcfamily => 'brin/datetime_bloom_ops', opcintype => 'date', - opcdefault => 'f', opckeytype => 'date' }, -{ opcmethod => 'brin', opcname => 'timestamp_minmax_ops', - opcfamily => 'brin/datetime_minmax_ops', opcintype => 'timestamp', - opckeytype => 'timestamp' }, -{ opcmethod => 'brin', opcname => 'timestamp_minmax_multi_ops', - opcfamily => 'brin/datetime_minmax_multi_ops', opcintype => 'timestamp', - opcdefault => 'f', opckeytype => 'timestamp' }, -{ opcmethod => 'brin', opcname => 'timestamp_bloom_ops', - opcfamily => 'brin/datetime_bloom_ops', opcintype => 'timestamp', - opcdefault => 'f', opckeytype => 'timestamp' }, -{ opcmethod => 'brin', opcname => 'timestamptz_minmax_ops', - opcfamily => 'brin/datetime_minmax_ops', opcintype => 'timestamptz', - opckeytype => 'timestamptz' }, -{ opcmethod => 'brin', opcname => 'timestamptz_minmax_multi_ops', - opcfamily => 'brin/datetime_minmax_multi_ops', opcintype => 'timestamptz', - opcdefault => 'f', opckeytype => 'timestamptz' }, -{ opcmethod => 'brin', opcname => 'timestamptz_bloom_ops', - opcfamily => 'brin/datetime_bloom_ops', opcintype => 'timestamptz', - opcdefault => 'f', opckeytype => 'timestamptz' }, -{ opcmethod => 'brin', opcname => 'interval_minmax_ops', - opcfamily => 'brin/interval_minmax_ops', opcintype => 'interval', - opckeytype => 'interval' }, -{ opcmethod => 'brin', opcname => 'interval_minmax_multi_ops', - opcfamily => 'brin/interval_minmax_multi_ops', opcintype => 'interval', - opcdefault => 'f', opckeytype => 'interval' }, -{ opcmethod => 'brin', opcname => 'interval_bloom_ops', - opcfamily => 'brin/interval_bloom_ops', opcintype => 'interval', - opcdefault => 'f', opckeytype => 'interval' }, -{ opcmethod => 'brin', opcname => 'timetz_minmax_ops', - opcfamily => 'brin/timetz_minmax_ops', opcintype => 'timetz', - opckeytype => 'timetz' }, -{ opcmethod => 'brin', opcname => 'timetz_minmax_multi_ops', - opcfamily => 'brin/timetz_minmax_multi_ops', opcintype => 'timetz', - opcdefault => 'f', opckeytype => 'timetz' }, -{ opcmethod => 'brin', opcname => 'timetz_bloom_ops', - opcfamily => 'brin/timetz_bloom_ops', opcintype => 'timetz', - opcdefault => 'f', opckeytype => 'timetz' }, -{ opcmethod => 'brin', opcname => 'bit_minmax_ops', - opcfamily => 'brin/bit_minmax_ops', opcintype => 'bit', opckeytype => 'bit' }, -{ opcmethod => 'brin', opcname => 'varbit_minmax_ops', - opcfamily => 'brin/varbit_minmax_ops', opcintype => 'varbit', - opckeytype => 'varbit' }, -{ opcmethod => 'brin', opcname => 'numeric_minmax_ops', - opcfamily => 'brin/numeric_minmax_ops', opcintype => 'numeric', - opckeytype => 'numeric' }, -{ opcmethod => 'brin', opcname => 'numeric_minmax_multi_ops', - opcfamily => 'brin/numeric_minmax_multi_ops', opcintype => 'numeric', - opcdefault => 'f', opckeytype => 'numeric' }, -{ opcmethod => 'brin', opcname => 'numeric_bloom_ops', - opcfamily => 'brin/numeric_bloom_ops', opcintype => 'numeric', - opcdefault => 'f', opckeytype => 'numeric' }, - -# no brin opclass for record, anyarray - -{ opcmethod => 'brin', opcname => 'uuid_minmax_ops', - opcfamily => 'brin/uuid_minmax_ops', opcintype => 'uuid', - opckeytype => 'uuid' }, -{ opcmethod => 'brin', opcname => 'uuid_minmax_multi_ops', - opcfamily => 'brin/uuid_minmax_multi_ops', opcintype => 'uuid', - opcdefault => 'f', opckeytype => 'uuid' }, -{ opcmethod => 'brin', opcname => 'uuid_bloom_ops', - opcfamily => 'brin/uuid_bloom_ops', opcintype => 'uuid', opcdefault => 'f', - opckeytype => 'uuid' }, -{ opcmethod => 'brin', opcname => 'range_inclusion_ops', - opcfamily => 'brin/range_inclusion_ops', opcintype => 'anyrange', - opckeytype => 'anyrange' }, -{ opcmethod => 'brin', opcname => 'pg_lsn_minmax_ops', - opcfamily => 'brin/pg_lsn_minmax_ops', opcintype => 'pg_lsn', - opckeytype => 'pg_lsn' }, -{ opcmethod => 'brin', opcname => 'pg_lsn_minmax_multi_ops', - opcfamily => 'brin/pg_lsn_minmax_multi_ops', opcintype => 'pg_lsn', - opcdefault => 'f', opckeytype => 'pg_lsn' }, -{ opcmethod => 'brin', opcname => 'pg_lsn_bloom_ops', - opcfamily => 'brin/pg_lsn_bloom_ops', opcintype => 'pg_lsn', - opcdefault => 'f', opckeytype => 'pg_lsn' }, - -# no brin opclass for enum, tsvector, tsquery, jsonb - -{ opcmethod => 'brin', opcname => 'box_inclusion_ops', - opcfamily => 'brin/box_inclusion_ops', opcintype => 'box', - opckeytype => 'box' }, - -# no brin opclass for the geometric types except box - -] diff --git a/contrib/libs/postgresql/src/include/catalog/pg_operator.dat b/contrib/libs/postgresql/src/include/catalog/pg_operator.dat deleted file mode 100644 index 89c73acd680..00000000000 --- a/contrib/libs/postgresql/src/include/catalog/pg_operator.dat +++ /dev/null @@ -1,3478 +0,0 @@ -#---------------------------------------------------------------------- -# -# pg_operator.dat -# Initial contents of the pg_operator system catalog. -# -# Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group -# Portions Copyright (c) 1994, Regents of the University of California -# -# src/include/catalog/pg_operator.dat -# -#---------------------------------------------------------------------- - -[ - -# Note: every entry in pg_operator.dat is expected to have a 'descr' comment. -# If the operator is a deprecated equivalent of some other entry, be sure -# to comment it as such so that initdb doesn't think it's a preferred name -# for the underlying function. - -{ oid => '15', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'int4', - oprright => 'int8', oprresult => 'bool', oprcom => '=(int8,int4)', - oprnegate => '<>(int4,int8)', oprcode => 'int48eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '36', descr => 'not equal', - oprname => '<>', oprleft => 'int4', oprright => 'int8', oprresult => 'bool', - oprcom => '<>(int8,int4)', oprnegate => '=(int4,int8)', oprcode => 'int48ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '37', descr => 'less than', - oprname => '<', oprleft => 'int4', oprright => 'int8', oprresult => 'bool', - oprcom => '>(int8,int4)', oprnegate => '>=(int4,int8)', oprcode => 'int48lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '76', descr => 'greater than', - oprname => '>', oprleft => 'int4', oprright => 'int8', oprresult => 'bool', - oprcom => '<(int8,int4)', oprnegate => '<=(int4,int8)', oprcode => 'int48gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '80', descr => 'less than or equal', - oprname => '<=', oprleft => 'int4', oprright => 'int8', oprresult => 'bool', - oprcom => '>=(int8,int4)', oprnegate => '>(int4,int8)', oprcode => 'int48le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '82', descr => 'greater than or equal', - oprname => '>=', oprleft => 'int4', oprright => 'int8', oprresult => 'bool', - oprcom => '<=(int8,int4)', oprnegate => '<(int4,int8)', oprcode => 'int48ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '58', descr => 'less than', - oprname => '<', oprleft => 'bool', oprright => 'bool', oprresult => 'bool', - oprcom => '>(bool,bool)', oprnegate => '>=(bool,bool)', oprcode => 'boollt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '59', descr => 'greater than', - oprname => '>', oprleft => 'bool', oprright => 'bool', oprresult => 'bool', - oprcom => '<(bool,bool)', oprnegate => '<=(bool,bool)', oprcode => 'boolgt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '85', oid_symbol => 'BooleanNotEqualOperator', descr => 'not equal', - oprname => '<>', oprleft => 'bool', oprright => 'bool', oprresult => 'bool', - oprcom => '<>(bool,bool)', oprnegate => '=(bool,bool)', oprcode => 'boolne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '91', oid_symbol => 'BooleanEqualOperator', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'bool', - oprright => 'bool', oprresult => 'bool', oprcom => '=(bool,bool)', - oprnegate => '<>(bool,bool)', oprcode => 'booleq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '1694', descr => 'less than or equal', - oprname => '<=', oprleft => 'bool', oprright => 'bool', oprresult => 'bool', - oprcom => '>=(bool,bool)', oprnegate => '>(bool,bool)', oprcode => 'boolle', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1695', descr => 'greater than or equal', - oprname => '>=', oprleft => 'bool', oprright => 'bool', oprresult => 'bool', - oprcom => '<=(bool,bool)', oprnegate => '<(bool,bool)', oprcode => 'boolge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '92', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'char', - oprright => 'char', oprresult => 'bool', oprcom => '=(char,char)', - oprnegate => '<>(char,char)', oprcode => 'chareq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '93', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'name', - oprright => 'name', oprresult => 'bool', oprcom => '=(name,name)', - oprnegate => '<>(name,name)', oprcode => 'nameeq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '94', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'int2', - oprright => 'int2', oprresult => 'bool', oprcom => '=(int2,int2)', - oprnegate => '<>(int2,int2)', oprcode => 'int2eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '95', descr => 'less than', - oprname => '<', oprleft => 'int2', oprright => 'int2', oprresult => 'bool', - oprcom => '>(int2,int2)', oprnegate => '>=(int2,int2)', oprcode => 'int2lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '96', oid_symbol => 'Int4EqualOperator', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'int4', - oprright => 'int4', oprresult => 'bool', oprcom => '=(int4,int4)', - oprnegate => '<>(int4,int4)', oprcode => 'int4eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '97', oid_symbol => 'Int4LessOperator', descr => 'less than', - oprname => '<', oprleft => 'int4', oprright => 'int4', oprresult => 'bool', - oprcom => '>(int4,int4)', oprnegate => '>=(int4,int4)', oprcode => 'int4lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '98', oid_symbol => 'TextEqualOperator', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'text', - oprright => 'text', oprresult => 'bool', oprcom => '=(text,text)', - oprnegate => '<>(text,text)', oprcode => 'texteq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '3877', descr => 'starts with', - oprname => '^@', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprcode => 'starts_with', oprrest => 'prefixsel', - oprjoin => 'prefixjoinsel' }, - -{ oid => '254', oid_symbol => 'NameEqualTextOperator', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'name', - oprright => 'text', oprresult => 'bool', oprcom => '=(text,name)', - oprnegate => '<>(name,text)', oprcode => 'nameeqtext', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '255', oid_symbol => 'NameLessTextOperator', descr => 'less than', - oprname => '<', oprleft => 'name', oprright => 'text', oprresult => 'bool', - oprcom => '>(text,name)', oprnegate => '>=(name,text)', - oprcode => 'namelttext', oprrest => 'scalarltsel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '256', descr => 'less than or equal', - oprname => '<=', oprleft => 'name', oprright => 'text', oprresult => 'bool', - oprcom => '>=(text,name)', oprnegate => '>(name,text)', - oprcode => 'nameletext', oprrest => 'scalarlesel', - oprjoin => 'scalarlejoinsel' }, -{ oid => '257', oid_symbol => 'NameGreaterEqualTextOperator', - descr => 'greater than or equal', - oprname => '>=', oprleft => 'name', oprright => 'text', oprresult => 'bool', - oprcom => '<=(text,name)', oprnegate => '<(name,text)', - oprcode => 'namegetext', oprrest => 'scalargesel', - oprjoin => 'scalargejoinsel' }, -{ oid => '258', descr => 'greater than', - oprname => '>', oprleft => 'name', oprright => 'text', oprresult => 'bool', - oprcom => '<(text,name)', oprnegate => '<=(name,text)', - oprcode => 'namegttext', oprrest => 'scalargtsel', - oprjoin => 'scalargtjoinsel' }, -{ oid => '259', descr => 'not equal', - oprname => '<>', oprleft => 'name', oprright => 'text', oprresult => 'bool', - oprcom => '<>(text,name)', oprnegate => '=(name,text)', - oprcode => 'namenetext', oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '260', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'text', - oprright => 'name', oprresult => 'bool', oprcom => '=(name,text)', - oprnegate => '<>(text,name)', oprcode => 'texteqname', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '261', descr => 'less than', - oprname => '<', oprleft => 'text', oprright => 'name', oprresult => 'bool', - oprcom => '>(name,text)', oprnegate => '>=(text,name)', - oprcode => 'textltname', oprrest => 'scalarltsel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '262', descr => 'less than or equal', - oprname => '<=', oprleft => 'text', oprright => 'name', oprresult => 'bool', - oprcom => '>=(name,text)', oprnegate => '>(text,name)', - oprcode => 'textlename', oprrest => 'scalarlesel', - oprjoin => 'scalarlejoinsel' }, -{ oid => '263', descr => 'greater than or equal', - oprname => '>=', oprleft => 'text', oprright => 'name', oprresult => 'bool', - oprcom => '<=(name,text)', oprnegate => '<(text,name)', - oprcode => 'textgename', oprrest => 'scalargesel', - oprjoin => 'scalargejoinsel' }, -{ oid => '264', descr => 'greater than', - oprname => '>', oprleft => 'text', oprright => 'name', oprresult => 'bool', - oprcom => '<(name,text)', oprnegate => '<=(text,name)', - oprcode => 'textgtname', oprrest => 'scalargtsel', - oprjoin => 'scalargtjoinsel' }, -{ oid => '265', descr => 'not equal', - oprname => '<>', oprleft => 'text', oprright => 'name', oprresult => 'bool', - oprcom => '<>(name,text)', oprnegate => '=(text,name)', - oprcode => 'textnename', oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, - -{ oid => '349', descr => 'append element onto end of array', - oprname => '||', oprleft => 'anycompatiblearray', oprright => 'anycompatible', - oprresult => 'anycompatiblearray', oprcode => 'array_append' }, -{ oid => '374', descr => 'prepend element onto front of array', - oprname => '||', oprleft => 'anycompatible', oprright => 'anycompatiblearray', - oprresult => 'anycompatiblearray', oprcode => 'array_prepend' }, -{ oid => '375', descr => 'concatenate', - oprname => '||', oprleft => 'anycompatiblearray', - oprright => 'anycompatiblearray', oprresult => 'anycompatiblearray', - oprcode => 'array_cat' }, - -{ oid => '352', descr => 'equal', - oprname => '=', oprcanhash => 't', oprleft => 'xid', oprright => 'xid', - oprresult => 'bool', oprcom => '=(xid,xid)', oprnegate => '<>(xid,xid)', - oprcode => 'xideq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '353', descr => 'equal', - oprname => '=', oprleft => 'xid', oprright => 'int4', oprresult => 'bool', - oprnegate => '<>(xid,int4)', oprcode => 'xideqint4', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '3315', descr => 'not equal', - oprname => '<>', oprleft => 'xid', oprright => 'xid', oprresult => 'bool', - oprcom => '<>(xid,xid)', oprnegate => '=(xid,xid)', oprcode => 'xidneq', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '3316', descr => 'not equal', - oprname => '<>', oprleft => 'xid', oprright => 'int4', oprresult => 'bool', - oprnegate => '=(xid,int4)', oprcode => 'xidneqint4', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, -{ oid => '5068', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'xid8', - oprright => 'xid8', oprresult => 'bool', oprcom => '=(xid8,xid8)', - oprnegate => '<>(xid8,xid8)', oprcode => 'xid8eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '5072', descr => 'not equal', - oprname => '<>', oprleft => 'xid8', oprright => 'xid8', oprresult => 'bool', - oprcom => '<>(xid8,xid8)', oprnegate => '=(xid8,xid8)', oprcode => 'xid8ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '5073', descr => 'less than', - oprname => '<', oprleft => 'xid8', oprright => 'xid8', oprresult => 'bool', - oprcom => '>(xid8,xid8)', oprnegate => '>=(xid8,xid8)', oprcode => 'xid8lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '5074', descr => 'greater than', - oprname => '>', oprleft => 'xid8', oprright => 'xid8', oprresult => 'bool', - oprcom => '<(xid8,xid8)', oprnegate => '<=(xid8,xid8)', oprcode => 'xid8gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '5075', descr => 'less than or equal', - oprname => '<=', oprleft => 'xid8', oprright => 'xid8', oprresult => 'bool', - oprcom => '>=(xid8,xid8)', oprnegate => '>(xid8,xid8)', oprcode => 'xid8le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '5076', descr => 'greater than or equal', - oprname => '>=', oprleft => 'xid8', oprright => 'xid8', oprresult => 'bool', - oprcom => '<=(xid8,xid8)', oprnegate => '<(xid8,xid8)', oprcode => 'xid8ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '385', descr => 'equal', - oprname => '=', oprcanhash => 't', oprleft => 'cid', oprright => 'cid', - oprresult => 'bool', oprcom => '=(cid,cid)', oprcode => 'cideq', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, - -{ oid => '387', oid_symbol => 'TIDEqualOperator', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'tid', - oprright => 'tid', oprresult => 'bool', oprcom => '=(tid,tid)', - oprnegate => '<>(tid,tid)', oprcode => 'tideq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '402', descr => 'not equal', - oprname => '<>', oprleft => 'tid', oprright => 'tid', oprresult => 'bool', - oprcom => '<>(tid,tid)', oprnegate => '=(tid,tid)', oprcode => 'tidne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '2799', oid_symbol => 'TIDLessOperator', descr => 'less than', - oprname => '<', oprleft => 'tid', oprright => 'tid', oprresult => 'bool', - oprcom => '>(tid,tid)', oprnegate => '>=(tid,tid)', oprcode => 'tidlt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '2800', oid_symbol => 'TIDGreaterOperator', descr => 'greater than', - oprname => '>', oprleft => 'tid', oprright => 'tid', oprresult => 'bool', - oprcom => '<(tid,tid)', oprnegate => '<=(tid,tid)', oprcode => 'tidgt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '2801', oid_symbol => 'TIDLessEqOperator', - descr => 'less than or equal', - oprname => '<=', oprleft => 'tid', oprright => 'tid', oprresult => 'bool', - oprcom => '>=(tid,tid)', oprnegate => '>(tid,tid)', oprcode => 'tidle', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '2802', oid_symbol => 'TIDGreaterEqOperator', - descr => 'greater than or equal', - oprname => '>=', oprleft => 'tid', oprright => 'tid', oprresult => 'bool', - oprcom => '<=(tid,tid)', oprnegate => '<(tid,tid)', oprcode => 'tidge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '410', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'int8', - oprright => 'int8', oprresult => 'bool', oprcom => '=(int8,int8)', - oprnegate => '<>(int8,int8)', oprcode => 'int8eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '411', descr => 'not equal', - oprname => '<>', oprleft => 'int8', oprright => 'int8', oprresult => 'bool', - oprcom => '<>(int8,int8)', oprnegate => '=(int8,int8)', oprcode => 'int8ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '412', oid_symbol => 'Int8LessOperator', descr => 'less than', - oprname => '<', oprleft => 'int8', oprright => 'int8', oprresult => 'bool', - oprcom => '>(int8,int8)', oprnegate => '>=(int8,int8)', oprcode => 'int8lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '413', descr => 'greater than', - oprname => '>', oprleft => 'int8', oprright => 'int8', oprresult => 'bool', - oprcom => '<(int8,int8)', oprnegate => '<=(int8,int8)', oprcode => 'int8gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '414', descr => 'less than or equal', - oprname => '<=', oprleft => 'int8', oprright => 'int8', oprresult => 'bool', - oprcom => '>=(int8,int8)', oprnegate => '>(int8,int8)', oprcode => 'int8le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '415', descr => 'greater than or equal', - oprname => '>=', oprleft => 'int8', oprright => 'int8', oprresult => 'bool', - oprcom => '<=(int8,int8)', oprnegate => '<(int8,int8)', oprcode => 'int8ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '416', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'int8', - oprright => 'int4', oprresult => 'bool', oprcom => '=(int4,int8)', - oprnegate => '<>(int8,int4)', oprcode => 'int84eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '417', descr => 'not equal', - oprname => '<>', oprleft => 'int8', oprright => 'int4', oprresult => 'bool', - oprcom => '<>(int4,int8)', oprnegate => '=(int8,int4)', oprcode => 'int84ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '418', descr => 'less than', - oprname => '<', oprleft => 'int8', oprright => 'int4', oprresult => 'bool', - oprcom => '>(int4,int8)', oprnegate => '>=(int8,int4)', oprcode => 'int84lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '419', descr => 'greater than', - oprname => '>', oprleft => 'int8', oprright => 'int4', oprresult => 'bool', - oprcom => '<(int4,int8)', oprnegate => '<=(int8,int4)', oprcode => 'int84gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '420', descr => 'less than or equal', - oprname => '<=', oprleft => 'int8', oprright => 'int4', oprresult => 'bool', - oprcom => '>=(int4,int8)', oprnegate => '>(int8,int4)', oprcode => 'int84le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '430', descr => 'greater than or equal', - oprname => '>=', oprleft => 'int8', oprright => 'int4', oprresult => 'bool', - oprcom => '<=(int4,int8)', oprnegate => '<(int8,int4)', oprcode => 'int84ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '439', descr => 'modulus', - oprname => '%', oprleft => 'int8', oprright => 'int8', oprresult => 'int8', - oprcode => 'int8mod' }, -{ oid => '473', descr => 'absolute value', - oprname => '@', oprkind => 'l', oprleft => '0', oprright => 'int8', - oprresult => 'int8', oprcode => 'int8abs' }, - -{ oid => '484', descr => 'negate', - oprname => '-', oprkind => 'l', oprleft => '0', oprright => 'int8', - oprresult => 'int8', oprcode => 'int8um' }, -{ oid => '485', descr => 'is left of', - oprname => '<<', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcode => 'poly_left', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '486', descr => 'overlaps or is left of', - oprname => '&<', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcode => 'poly_overleft', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '487', descr => 'overlaps or is right of', - oprname => '&>', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcode => 'poly_overright', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '488', descr => 'is right of', - oprname => '>>', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcode => 'poly_right', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '489', descr => 'is contained by', - oprname => '<@', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcom => '@>(polygon,polygon)', - oprcode => 'poly_contained', oprrest => 'contsel', oprjoin => 'contjoinsel' }, -{ oid => '490', descr => 'contains', - oprname => '@>', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcom => '<@(polygon,polygon)', - oprcode => 'poly_contain', oprrest => 'contsel', oprjoin => 'contjoinsel' }, -{ oid => '491', descr => 'same as', - oprname => '~=', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcom => '~=(polygon,polygon)', oprcode => 'poly_same', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '492', descr => 'overlaps', - oprname => '&&', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcom => '&&(polygon,polygon)', - oprcode => 'poly_overlap', oprrest => 'areasel', oprjoin => 'areajoinsel' }, -{ oid => '493', descr => 'is left of', - oprname => '<<', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcode => 'box_left', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '494', descr => 'overlaps or is left of', - oprname => '&<', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcode => 'box_overleft', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '495', descr => 'overlaps or is right of', - oprname => '&>', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcode => 'box_overright', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '496', descr => 'is right of', - oprname => '>>', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcode => 'box_right', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '497', descr => 'is contained by', - oprname => '<@', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcom => '@>(box,box)', oprcode => 'box_contained', oprrest => 'contsel', - oprjoin => 'contjoinsel' }, -{ oid => '498', descr => 'contains', - oprname => '@>', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcom => '<@(box,box)', oprcode => 'box_contain', oprrest => 'contsel', - oprjoin => 'contjoinsel' }, -{ oid => '499', descr => 'same as', - oprname => '~=', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcom => '~=(box,box)', oprcode => 'box_same', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '500', descr => 'overlaps', - oprname => '&&', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcom => '&&(box,box)', oprcode => 'box_overlap', oprrest => 'areasel', - oprjoin => 'areajoinsel' }, -{ oid => '501', descr => 'greater than or equal by area', - oprname => '>=', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcom => '<=(box,box)', oprnegate => '<(box,box)', oprcode => 'box_ge', - oprrest => 'areasel', oprjoin => 'areajoinsel' }, -{ oid => '502', descr => 'greater than by area', - oprname => '>', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcom => '<(box,box)', oprnegate => '<=(box,box)', oprcode => 'box_gt', - oprrest => 'areasel', oprjoin => 'areajoinsel' }, -{ oid => '503', descr => 'equal by area', - oprname => '=', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcom => '=(box,box)', oprcode => 'box_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '504', descr => 'less than by area', - oprname => '<', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcom => '>(box,box)', oprnegate => '>=(box,box)', oprcode => 'box_lt', - oprrest => 'areasel', oprjoin => 'areajoinsel' }, -{ oid => '505', descr => 'less than or equal by area', - oprname => '<=', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcom => '>=(box,box)', oprnegate => '>(box,box)', oprcode => 'box_le', - oprrest => 'areasel', oprjoin => 'areajoinsel' }, -{ oid => '506', descr => 'deprecated, use |>> instead', - oprname => '>^', oprleft => 'point', oprright => 'point', oprresult => 'bool', - oprcode => 'point_above', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '507', descr => 'is left of', - oprname => '<<', oprleft => 'point', oprright => 'point', oprresult => 'bool', - oprcode => 'point_left', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '508', descr => 'is right of', - oprname => '>>', oprleft => 'point', oprright => 'point', oprresult => 'bool', - oprcode => 'point_right', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '509', descr => 'deprecated, use <<| instead', - oprname => '<^', oprleft => 'point', oprright => 'point', oprresult => 'bool', - oprcode => 'point_below', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '510', descr => 'same as', - oprname => '~=', oprleft => 'point', oprright => 'point', oprresult => 'bool', - oprcom => '~=(point,point)', oprnegate => '<>(point,point)', - oprcode => 'point_eq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '511', descr => 'point inside box', - oprname => '<@', oprleft => 'point', oprright => 'box', oprresult => 'bool', - oprcom => '@>(box,point)', oprcode => 'on_pb', oprrest => 'contsel', - oprjoin => 'contjoinsel' }, -{ oid => '433', descr => 'contains', - oprname => '@>', oprleft => 'box', oprright => 'point', oprresult => 'bool', - oprcom => '<@(point,box)', oprcode => 'box_contain_pt', oprrest => 'contsel', - oprjoin => 'contjoinsel' }, -{ oid => '512', descr => 'point within closed path, or point on open path', - oprname => '<@', oprleft => 'point', oprright => 'path', oprresult => 'bool', - oprcom => '@>(path,point)', oprcode => 'on_ppath' }, -{ oid => '513', descr => 'center of', - oprname => '@@', oprkind => 'l', oprleft => '0', oprright => 'box', - oprresult => 'point', oprcode => 'box_center' }, -{ oid => '514', descr => 'multiply', - oprname => '*', oprleft => 'int4', oprright => 'int4', oprresult => 'int4', - oprcom => '*(int4,int4)', oprcode => 'int4mul' }, -{ oid => '517', descr => 'distance between', - oprname => '<->', oprleft => 'point', oprright => 'point', - oprresult => 'float8', oprcom => '<->(point,point)', - oprcode => 'point_distance' }, -{ oid => '518', descr => 'not equal', - oprname => '<>', oprleft => 'int4', oprright => 'int4', oprresult => 'bool', - oprcom => '<>(int4,int4)', oprnegate => '=(int4,int4)', oprcode => 'int4ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '519', descr => 'not equal', - oprname => '<>', oprleft => 'int2', oprright => 'int2', oprresult => 'bool', - oprcom => '<>(int2,int2)', oprnegate => '=(int2,int2)', oprcode => 'int2ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '520', descr => 'greater than', - oprname => '>', oprleft => 'int2', oprright => 'int2', oprresult => 'bool', - oprcom => '<(int2,int2)', oprnegate => '<=(int2,int2)', oprcode => 'int2gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '521', descr => 'greater than', - oprname => '>', oprleft => 'int4', oprright => 'int4', oprresult => 'bool', - oprcom => '<(int4,int4)', oprnegate => '<=(int4,int4)', oprcode => 'int4gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '522', descr => 'less than or equal', - oprname => '<=', oprleft => 'int2', oprright => 'int2', oprresult => 'bool', - oprcom => '>=(int2,int2)', oprnegate => '>(int2,int2)', oprcode => 'int2le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '523', descr => 'less than or equal', - oprname => '<=', oprleft => 'int4', oprright => 'int4', oprresult => 'bool', - oprcom => '>=(int4,int4)', oprnegate => '>(int4,int4)', oprcode => 'int4le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '524', descr => 'greater than or equal', - oprname => '>=', oprleft => 'int2', oprright => 'int2', oprresult => 'bool', - oprcom => '<=(int2,int2)', oprnegate => '<(int2,int2)', oprcode => 'int2ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '525', descr => 'greater than or equal', - oprname => '>=', oprleft => 'int4', oprright => 'int4', oprresult => 'bool', - oprcom => '<=(int4,int4)', oprnegate => '<(int4,int4)', oprcode => 'int4ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '526', descr => 'multiply', - oprname => '*', oprleft => 'int2', oprright => 'int2', oprresult => 'int2', - oprcom => '*(int2,int2)', oprcode => 'int2mul' }, -{ oid => '527', descr => 'divide', - oprname => '/', oprleft => 'int2', oprright => 'int2', oprresult => 'int2', - oprcode => 'int2div' }, -{ oid => '528', descr => 'divide', - oprname => '/', oprleft => 'int4', oprright => 'int4', oprresult => 'int4', - oprcode => 'int4div' }, -{ oid => '529', descr => 'modulus', - oprname => '%', oprleft => 'int2', oprright => 'int2', oprresult => 'int2', - oprcode => 'int2mod' }, -{ oid => '530', descr => 'modulus', - oprname => '%', oprleft => 'int4', oprright => 'int4', oprresult => 'int4', - oprcode => 'int4mod' }, -{ oid => '531', descr => 'not equal', - oprname => '<>', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprcom => '<>(text,text)', oprnegate => '=(text,text)', oprcode => 'textne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '532', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'int2', - oprright => 'int4', oprresult => 'bool', oprcom => '=(int4,int2)', - oprnegate => '<>(int2,int4)', oprcode => 'int24eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '533', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'int4', - oprright => 'int2', oprresult => 'bool', oprcom => '=(int2,int4)', - oprnegate => '<>(int4,int2)', oprcode => 'int42eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '534', descr => 'less than', - oprname => '<', oprleft => 'int2', oprright => 'int4', oprresult => 'bool', - oprcom => '>(int4,int2)', oprnegate => '>=(int2,int4)', oprcode => 'int24lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '535', descr => 'less than', - oprname => '<', oprleft => 'int4', oprright => 'int2', oprresult => 'bool', - oprcom => '>(int2,int4)', oprnegate => '>=(int4,int2)', oprcode => 'int42lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '536', descr => 'greater than', - oprname => '>', oprleft => 'int2', oprright => 'int4', oprresult => 'bool', - oprcom => '<(int4,int2)', oprnegate => '<=(int2,int4)', oprcode => 'int24gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '537', descr => 'greater than', - oprname => '>', oprleft => 'int4', oprright => 'int2', oprresult => 'bool', - oprcom => '<(int2,int4)', oprnegate => '<=(int4,int2)', oprcode => 'int42gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '538', descr => 'not equal', - oprname => '<>', oprleft => 'int2', oprright => 'int4', oprresult => 'bool', - oprcom => '<>(int4,int2)', oprnegate => '=(int2,int4)', oprcode => 'int24ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '539', descr => 'not equal', - oprname => '<>', oprleft => 'int4', oprright => 'int2', oprresult => 'bool', - oprcom => '<>(int2,int4)', oprnegate => '=(int4,int2)', oprcode => 'int42ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '540', descr => 'less than or equal', - oprname => '<=', oprleft => 'int2', oprright => 'int4', oprresult => 'bool', - oprcom => '>=(int4,int2)', oprnegate => '>(int2,int4)', oprcode => 'int24le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '541', descr => 'less than or equal', - oprname => '<=', oprleft => 'int4', oprright => 'int2', oprresult => 'bool', - oprcom => '>=(int2,int4)', oprnegate => '>(int4,int2)', oprcode => 'int42le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '542', descr => 'greater than or equal', - oprname => '>=', oprleft => 'int2', oprright => 'int4', oprresult => 'bool', - oprcom => '<=(int4,int2)', oprnegate => '<(int2,int4)', oprcode => 'int24ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '543', descr => 'greater than or equal', - oprname => '>=', oprleft => 'int4', oprright => 'int2', oprresult => 'bool', - oprcom => '<=(int2,int4)', oprnegate => '<(int4,int2)', oprcode => 'int42ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '544', descr => 'multiply', - oprname => '*', oprleft => 'int2', oprright => 'int4', oprresult => 'int4', - oprcom => '*(int4,int2)', oprcode => 'int24mul' }, -{ oid => '545', descr => 'multiply', - oprname => '*', oprleft => 'int4', oprright => 'int2', oprresult => 'int4', - oprcom => '*(int2,int4)', oprcode => 'int42mul' }, -{ oid => '546', descr => 'divide', - oprname => '/', oprleft => 'int2', oprright => 'int4', oprresult => 'int4', - oprcode => 'int24div' }, -{ oid => '547', descr => 'divide', - oprname => '/', oprleft => 'int4', oprright => 'int2', oprresult => 'int4', - oprcode => 'int42div' }, -{ oid => '550', descr => 'add', - oprname => '+', oprleft => 'int2', oprright => 'int2', oprresult => 'int2', - oprcom => '+(int2,int2)', oprcode => 'int2pl' }, -{ oid => '551', descr => 'add', - oprname => '+', oprleft => 'int4', oprright => 'int4', oprresult => 'int4', - oprcom => '+(int4,int4)', oprcode => 'int4pl' }, -{ oid => '552', descr => 'add', - oprname => '+', oprleft => 'int2', oprright => 'int4', oprresult => 'int4', - oprcom => '+(int4,int2)', oprcode => 'int24pl' }, -{ oid => '553', descr => 'add', - oprname => '+', oprleft => 'int4', oprright => 'int2', oprresult => 'int4', - oprcom => '+(int2,int4)', oprcode => 'int42pl' }, -{ oid => '554', descr => 'subtract', - oprname => '-', oprleft => 'int2', oprright => 'int2', oprresult => 'int2', - oprcode => 'int2mi' }, -{ oid => '555', descr => 'subtract', - oprname => '-', oprleft => 'int4', oprright => 'int4', oprresult => 'int4', - oprcode => 'int4mi' }, -{ oid => '556', descr => 'subtract', - oprname => '-', oprleft => 'int2', oprright => 'int4', oprresult => 'int4', - oprcode => 'int24mi' }, -{ oid => '557', descr => 'subtract', - oprname => '-', oprleft => 'int4', oprright => 'int2', oprresult => 'int4', - oprcode => 'int42mi' }, -{ oid => '558', descr => 'negate', - oprname => '-', oprkind => 'l', oprleft => '0', oprright => 'int4', - oprresult => 'int4', oprcode => 'int4um' }, -{ oid => '559', descr => 'negate', - oprname => '-', oprkind => 'l', oprleft => '0', oprright => 'int2', - oprresult => 'int2', oprcode => 'int2um' }, -{ oid => '584', descr => 'negate', - oprname => '-', oprkind => 'l', oprleft => '0', oprright => 'float4', - oprresult => 'float4', oprcode => 'float4um' }, -{ oid => '585', descr => 'negate', - oprname => '-', oprkind => 'l', oprleft => '0', oprright => 'float8', - oprresult => 'float8', oprcode => 'float8um' }, -{ oid => '586', descr => 'add', - oprname => '+', oprleft => 'float4', oprright => 'float4', - oprresult => 'float4', oprcom => '+(float4,float4)', oprcode => 'float4pl' }, -{ oid => '587', descr => 'subtract', - oprname => '-', oprleft => 'float4', oprright => 'float4', - oprresult => 'float4', oprcode => 'float4mi' }, -{ oid => '588', descr => 'divide', - oprname => '/', oprleft => 'float4', oprright => 'float4', - oprresult => 'float4', oprcode => 'float4div' }, -{ oid => '589', descr => 'multiply', - oprname => '*', oprleft => 'float4', oprright => 'float4', - oprresult => 'float4', oprcom => '*(float4,float4)', oprcode => 'float4mul' }, -{ oid => '590', descr => 'absolute value', - oprname => '@', oprkind => 'l', oprleft => '0', oprright => 'float4', - oprresult => 'float4', oprcode => 'float4abs' }, -{ oid => '591', descr => 'add', - oprname => '+', oprleft => 'float8', oprright => 'float8', - oprresult => 'float8', oprcom => '+(float8,float8)', oprcode => 'float8pl' }, -{ oid => '592', descr => 'subtract', - oprname => '-', oprleft => 'float8', oprright => 'float8', - oprresult => 'float8', oprcode => 'float8mi' }, -{ oid => '593', descr => 'divide', - oprname => '/', oprleft => 'float8', oprright => 'float8', - oprresult => 'float8', oprcode => 'float8div' }, -{ oid => '594', descr => 'multiply', - oprname => '*', oprleft => 'float8', oprright => 'float8', - oprresult => 'float8', oprcom => '*(float8,float8)', oprcode => 'float8mul' }, -{ oid => '595', descr => 'absolute value', - oprname => '@', oprkind => 'l', oprleft => '0', oprright => 'float8', - oprresult => 'float8', oprcode => 'float8abs' }, -{ oid => '596', descr => 'square root', - oprname => '|/', oprkind => 'l', oprleft => '0', oprright => 'float8', - oprresult => 'float8', oprcode => 'dsqrt' }, -{ oid => '597', descr => 'cube root', - oprname => '||/', oprkind => 'l', oprleft => '0', oprright => 'float8', - oprresult => 'float8', oprcode => 'dcbrt' }, - -{ oid => '607', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'oid', - oprright => 'oid', oprresult => 'bool', oprcom => '=(oid,oid)', - oprnegate => '<>(oid,oid)', oprcode => 'oideq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '608', descr => 'not equal', - oprname => '<>', oprleft => 'oid', oprright => 'oid', oprresult => 'bool', - oprcom => '<>(oid,oid)', oprnegate => '=(oid,oid)', oprcode => 'oidne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '609', descr => 'less than', - oprname => '<', oprleft => 'oid', oprright => 'oid', oprresult => 'bool', - oprcom => '>(oid,oid)', oprnegate => '>=(oid,oid)', oprcode => 'oidlt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '610', descr => 'greater than', - oprname => '>', oprleft => 'oid', oprright => 'oid', oprresult => 'bool', - oprcom => '<(oid,oid)', oprnegate => '<=(oid,oid)', oprcode => 'oidgt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '611', descr => 'less than or equal', - oprname => '<=', oprleft => 'oid', oprright => 'oid', oprresult => 'bool', - oprcom => '>=(oid,oid)', oprnegate => '>(oid,oid)', oprcode => 'oidle', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '612', descr => 'greater than or equal', - oprname => '>=', oprleft => 'oid', oprright => 'oid', oprresult => 'bool', - oprcom => '<=(oid,oid)', oprnegate => '<(oid,oid)', oprcode => 'oidge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '644', descr => 'not equal', - oprname => '<>', oprleft => 'oidvector', oprright => 'oidvector', - oprresult => 'bool', oprcom => '<>(oidvector,oidvector)', - oprnegate => '=(oidvector,oidvector)', oprcode => 'oidvectorne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '645', descr => 'less than', - oprname => '<', oprleft => 'oidvector', oprright => 'oidvector', - oprresult => 'bool', oprcom => '>(oidvector,oidvector)', - oprnegate => '>=(oidvector,oidvector)', oprcode => 'oidvectorlt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '646', descr => 'greater than', - oprname => '>', oprleft => 'oidvector', oprright => 'oidvector', - oprresult => 'bool', oprcom => '<(oidvector,oidvector)', - oprnegate => '<=(oidvector,oidvector)', oprcode => 'oidvectorgt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '647', descr => 'less than or equal', - oprname => '<=', oprleft => 'oidvector', oprright => 'oidvector', - oprresult => 'bool', oprcom => '>=(oidvector,oidvector)', - oprnegate => '>(oidvector,oidvector)', oprcode => 'oidvectorle', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '648', descr => 'greater than or equal', - oprname => '>=', oprleft => 'oidvector', oprright => 'oidvector', - oprresult => 'bool', oprcom => '<=(oidvector,oidvector)', - oprnegate => '<(oidvector,oidvector)', oprcode => 'oidvectorge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '649', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'oidvector', - oprright => 'oidvector', oprresult => 'bool', - oprcom => '=(oidvector,oidvector)', oprnegate => '<>(oidvector,oidvector)', - oprcode => 'oidvectoreq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, - -{ oid => '613', descr => 'distance between', - oprname => '<->', oprleft => 'point', oprright => 'line', - oprresult => 'float8', oprcom => '<->(line,point)', oprcode => 'dist_pl' }, -{ oid => '760', descr => 'distance between', - oprname => '<->', oprleft => 'line', oprright => 'point', - oprresult => 'float8', oprcom => '<->(point,line)', oprcode => 'dist_lp' }, -{ oid => '614', descr => 'distance between', - oprname => '<->', oprleft => 'point', oprright => 'lseg', - oprresult => 'float8', oprcom => '<->(lseg,point)', oprcode => 'dist_ps' }, -{ oid => '761', descr => 'distance between', - oprname => '<->', oprleft => 'lseg', oprright => 'point', - oprresult => 'float8', oprcom => '<->(point,lseg)', oprcode => 'dist_sp' }, -{ oid => '615', descr => 'distance between', - oprname => '<->', oprleft => 'point', oprright => 'box', - oprresult => 'float8', oprcom => '<->(box,point)', oprcode => 'dist_pb' }, -{ oid => '606', descr => 'distance between', - oprname => '<->', oprleft => 'box', oprright => 'point', - oprresult => 'float8', oprcom => '<->(point,box)', oprcode => 'dist_bp' }, -{ oid => '616', descr => 'distance between', - oprname => '<->', oprleft => 'lseg', oprright => 'line', - oprresult => 'float8', oprcom => '<->(line,lseg)', oprcode => 'dist_sl' }, -{ oid => '762', descr => 'distance between', - oprname => '<->', oprleft => 'line', oprright => 'lseg', - oprresult => 'float8', oprcom => '<->(lseg,line)', oprcode => 'dist_ls' }, -{ oid => '617', descr => 'distance between', - oprname => '<->', oprleft => 'lseg', oprright => 'box', oprresult => 'float8', - oprcom => '<->(box,lseg)', oprcode => 'dist_sb' }, -{ oid => '763', descr => 'distance between', - oprname => '<->', oprleft => 'box', oprright => 'lseg', oprresult => 'float8', - oprcom => '<->(lseg,box)', oprcode => 'dist_bs' }, -{ oid => '618', descr => 'distance between', - oprname => '<->', oprleft => 'point', oprright => 'path', - oprresult => 'float8', oprcom => '<->(path,point)', oprcode => 'dist_ppath' }, -{ oid => '784', descr => 'distance between', - oprname => '<->', oprleft => 'path', oprright => 'point', - oprresult => 'float8', oprcom => '<->(point,path)', oprcode => 'dist_pathp' }, - -{ oid => '620', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'float4', - oprright => 'float4', oprresult => 'bool', oprcom => '=(float4,float4)', - oprnegate => '<>(float4,float4)', oprcode => 'float4eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '621', descr => 'not equal', - oprname => '<>', oprleft => 'float4', oprright => 'float4', - oprresult => 'bool', oprcom => '<>(float4,float4)', - oprnegate => '=(float4,float4)', oprcode => 'float4ne', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, -{ oid => '622', descr => 'less than', - oprname => '<', oprleft => 'float4', oprright => 'float4', - oprresult => 'bool', oprcom => '>(float4,float4)', - oprnegate => '>=(float4,float4)', oprcode => 'float4lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '623', descr => 'greater than', - oprname => '>', oprleft => 'float4', oprright => 'float4', - oprresult => 'bool', oprcom => '<(float4,float4)', - oprnegate => '<=(float4,float4)', oprcode => 'float4gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '624', descr => 'less than or equal', - oprname => '<=', oprleft => 'float4', oprright => 'float4', - oprresult => 'bool', oprcom => '>=(float4,float4)', - oprnegate => '>(float4,float4)', oprcode => 'float4le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '625', descr => 'greater than or equal', - oprname => '>=', oprleft => 'float4', oprright => 'float4', - oprresult => 'bool', oprcom => '<=(float4,float4)', - oprnegate => '<(float4,float4)', oprcode => 'float4ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '630', descr => 'not equal', - oprname => '<>', oprleft => 'char', oprright => 'char', oprresult => 'bool', - oprcom => '<>(char,char)', oprnegate => '=(char,char)', oprcode => 'charne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, - -{ oid => '631', descr => 'less than', - oprname => '<', oprleft => 'char', oprright => 'char', oprresult => 'bool', - oprcom => '>(char,char)', oprnegate => '>=(char,char)', oprcode => 'charlt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '632', descr => 'less than or equal', - oprname => '<=', oprleft => 'char', oprright => 'char', oprresult => 'bool', - oprcom => '>=(char,char)', oprnegate => '>(char,char)', oprcode => 'charle', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '633', descr => 'greater than', - oprname => '>', oprleft => 'char', oprright => 'char', oprresult => 'bool', - oprcom => '<(char,char)', oprnegate => '<=(char,char)', oprcode => 'chargt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '634', descr => 'greater than or equal', - oprname => '>=', oprleft => 'char', oprright => 'char', oprresult => 'bool', - oprcom => '<=(char,char)', oprnegate => '<(char,char)', oprcode => 'charge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '639', oid_symbol => 'OID_NAME_REGEXEQ_OP', - descr => 'matches regular expression, case-sensitive', - oprname => '~', oprleft => 'name', oprright => 'text', oprresult => 'bool', - oprnegate => '!~(name,text)', oprcode => 'nameregexeq', - oprrest => 'regexeqsel', oprjoin => 'regexeqjoinsel' }, -{ oid => '640', descr => 'does not match regular expression, case-sensitive', - oprname => '!~', oprleft => 'name', oprright => 'text', oprresult => 'bool', - oprnegate => '~(name,text)', oprcode => 'nameregexne', - oprrest => 'regexnesel', oprjoin => 'regexnejoinsel' }, -{ oid => '641', oid_symbol => 'OID_TEXT_REGEXEQ_OP', - descr => 'matches regular expression, case-sensitive', - oprname => '~', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprnegate => '!~(text,text)', oprcode => 'textregexeq', - oprrest => 'regexeqsel', oprjoin => 'regexeqjoinsel' }, -{ oid => '642', descr => 'does not match regular expression, case-sensitive', - oprname => '!~', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprnegate => '~(text,text)', oprcode => 'textregexne', - oprrest => 'regexnesel', oprjoin => 'regexnejoinsel' }, -{ oid => '643', descr => 'not equal', - oprname => '<>', oprleft => 'name', oprright => 'name', oprresult => 'bool', - oprcom => '<>(name,name)', oprnegate => '=(name,name)', oprcode => 'namene', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '654', descr => 'concatenate', - oprname => '||', oprleft => 'text', oprright => 'text', oprresult => 'text', - oprcode => 'textcat' }, - -{ oid => '660', descr => 'less than', - oprname => '<', oprleft => 'name', oprright => 'name', oprresult => 'bool', - oprcom => '>(name,name)', oprnegate => '>=(name,name)', oprcode => 'namelt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '661', descr => 'less than or equal', - oprname => '<=', oprleft => 'name', oprright => 'name', oprresult => 'bool', - oprcom => '>=(name,name)', oprnegate => '>(name,name)', oprcode => 'namele', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '662', descr => 'greater than', - oprname => '>', oprleft => 'name', oprright => 'name', oprresult => 'bool', - oprcom => '<(name,name)', oprnegate => '<=(name,name)', oprcode => 'namegt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '663', descr => 'greater than or equal', - oprname => '>=', oprleft => 'name', oprright => 'name', oprresult => 'bool', - oprcom => '<=(name,name)', oprnegate => '<(name,name)', oprcode => 'namege', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '664', oid_symbol => 'TextLessOperator', descr => 'less than', - oprname => '<', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprcom => '>(text,text)', oprnegate => '>=(text,text)', oprcode => 'text_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '665', descr => 'less than or equal', - oprname => '<=', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprcom => '>=(text,text)', oprnegate => '>(text,text)', oprcode => 'text_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '666', descr => 'greater than', - oprname => '>', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprcom => '<(text,text)', oprnegate => '<=(text,text)', oprcode => 'text_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '667', oid_symbol => 'TextGreaterEqualOperator', - descr => 'greater than or equal', - oprname => '>=', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprcom => '<=(text,text)', oprnegate => '<(text,text)', oprcode => 'text_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '670', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'float8', - oprright => 'float8', oprresult => 'bool', oprcom => '=(float8,float8)', - oprnegate => '<>(float8,float8)', oprcode => 'float8eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '671', descr => 'not equal', - oprname => '<>', oprleft => 'float8', oprright => 'float8', - oprresult => 'bool', oprcom => '<>(float8,float8)', - oprnegate => '=(float8,float8)', oprcode => 'float8ne', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, -{ oid => '672', oid_symbol => 'Float8LessOperator', descr => 'less than', - oprname => '<', oprleft => 'float8', oprright => 'float8', - oprresult => 'bool', oprcom => '>(float8,float8)', - oprnegate => '>=(float8,float8)', oprcode => 'float8lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '673', descr => 'less than or equal', - oprname => '<=', oprleft => 'float8', oprright => 'float8', - oprresult => 'bool', oprcom => '>=(float8,float8)', - oprnegate => '>(float8,float8)', oprcode => 'float8le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '674', descr => 'greater than', - oprname => '>', oprleft => 'float8', oprright => 'float8', - oprresult => 'bool', oprcom => '<(float8,float8)', - oprnegate => '<=(float8,float8)', oprcode => 'float8gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '675', descr => 'greater than or equal', - oprname => '>=', oprleft => 'float8', oprright => 'float8', - oprresult => 'bool', oprcom => '<=(float8,float8)', - oprnegate => '<(float8,float8)', oprcode => 'float8ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '682', descr => 'absolute value', - oprname => '@', oprkind => 'l', oprleft => '0', oprright => 'int2', - oprresult => 'int2', oprcode => 'int2abs' }, -{ oid => '684', descr => 'add', - oprname => '+', oprleft => 'int8', oprright => 'int8', oprresult => 'int8', - oprcom => '+(int8,int8)', oprcode => 'int8pl' }, -{ oid => '685', descr => 'subtract', - oprname => '-', oprleft => 'int8', oprright => 'int8', oprresult => 'int8', - oprcode => 'int8mi' }, -{ oid => '686', descr => 'multiply', - oprname => '*', oprleft => 'int8', oprright => 'int8', oprresult => 'int8', - oprcom => '*(int8,int8)', oprcode => 'int8mul' }, -{ oid => '687', descr => 'divide', - oprname => '/', oprleft => 'int8', oprright => 'int8', oprresult => 'int8', - oprcode => 'int8div' }, - -{ oid => '688', descr => 'add', - oprname => '+', oprleft => 'int8', oprright => 'int4', oprresult => 'int8', - oprcom => '+(int4,int8)', oprcode => 'int84pl' }, -{ oid => '689', descr => 'subtract', - oprname => '-', oprleft => 'int8', oprright => 'int4', oprresult => 'int8', - oprcode => 'int84mi' }, -{ oid => '690', descr => 'multiply', - oprname => '*', oprleft => 'int8', oprright => 'int4', oprresult => 'int8', - oprcom => '*(int4,int8)', oprcode => 'int84mul' }, -{ oid => '691', descr => 'divide', - oprname => '/', oprleft => 'int8', oprright => 'int4', oprresult => 'int8', - oprcode => 'int84div' }, -{ oid => '692', descr => 'add', - oprname => '+', oprleft => 'int4', oprright => 'int8', oprresult => 'int8', - oprcom => '+(int8,int4)', oprcode => 'int48pl' }, -{ oid => '693', descr => 'subtract', - oprname => '-', oprleft => 'int4', oprright => 'int8', oprresult => 'int8', - oprcode => 'int48mi' }, -{ oid => '694', descr => 'multiply', - oprname => '*', oprleft => 'int4', oprright => 'int8', oprresult => 'int8', - oprcom => '*(int8,int4)', oprcode => 'int48mul' }, -{ oid => '695', descr => 'divide', - oprname => '/', oprleft => 'int4', oprright => 'int8', oprresult => 'int8', - oprcode => 'int48div' }, - -{ oid => '818', descr => 'add', - oprname => '+', oprleft => 'int8', oprright => 'int2', oprresult => 'int8', - oprcom => '+(int2,int8)', oprcode => 'int82pl' }, -{ oid => '819', descr => 'subtract', - oprname => '-', oprleft => 'int8', oprright => 'int2', oprresult => 'int8', - oprcode => 'int82mi' }, -{ oid => '820', descr => 'multiply', - oprname => '*', oprleft => 'int8', oprright => 'int2', oprresult => 'int8', - oprcom => '*(int2,int8)', oprcode => 'int82mul' }, -{ oid => '821', descr => 'divide', - oprname => '/', oprleft => 'int8', oprright => 'int2', oprresult => 'int8', - oprcode => 'int82div' }, -{ oid => '822', descr => 'add', - oprname => '+', oprleft => 'int2', oprright => 'int8', oprresult => 'int8', - oprcom => '+(int8,int2)', oprcode => 'int28pl' }, -{ oid => '823', descr => 'subtract', - oprname => '-', oprleft => 'int2', oprright => 'int8', oprresult => 'int8', - oprcode => 'int28mi' }, -{ oid => '824', descr => 'multiply', - oprname => '*', oprleft => 'int2', oprright => 'int8', oprresult => 'int8', - oprcom => '*(int8,int2)', oprcode => 'int28mul' }, -{ oid => '825', descr => 'divide', - oprname => '/', oprleft => 'int2', oprright => 'int8', oprresult => 'int8', - oprcode => 'int28div' }, - -{ oid => '706', descr => 'distance between', - oprname => '<->', oprleft => 'box', oprright => 'box', oprresult => 'float8', - oprcom => '<->(box,box)', oprcode => 'box_distance' }, -{ oid => '707', descr => 'distance between', - oprname => '<->', oprleft => 'path', oprright => 'path', - oprresult => 'float8', oprcom => '<->(path,path)', - oprcode => 'path_distance' }, -{ oid => '708', descr => 'distance between', - oprname => '<->', oprleft => 'line', oprright => 'line', - oprresult => 'float8', oprcom => '<->(line,line)', - oprcode => 'line_distance' }, -{ oid => '709', descr => 'distance between', - oprname => '<->', oprleft => 'lseg', oprright => 'lseg', - oprresult => 'float8', oprcom => '<->(lseg,lseg)', - oprcode => 'lseg_distance' }, -{ oid => '712', descr => 'distance between', - oprname => '<->', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'float8', oprcom => '<->(polygon,polygon)', - oprcode => 'poly_distance' }, - -{ oid => '713', descr => 'not equal', - oprname => '<>', oprleft => 'point', oprright => 'point', oprresult => 'bool', - oprcom => '<>(point,point)', oprnegate => '~=(point,point)', - oprcode => 'point_ne', oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, - -# add translation/rotation/scaling operators for geometric types. - thomas 97/05/10 -{ oid => '731', descr => 'add points (translate)', - oprname => '+', oprleft => 'point', oprright => 'point', oprresult => 'point', - oprcom => '+(point,point)', oprcode => 'point_add' }, -{ oid => '732', descr => 'subtract points (translate)', - oprname => '-', oprleft => 'point', oprright => 'point', oprresult => 'point', - oprcode => 'point_sub' }, -{ oid => '733', descr => 'multiply points (scale/rotate)', - oprname => '*', oprleft => 'point', oprright => 'point', oprresult => 'point', - oprcom => '*(point,point)', oprcode => 'point_mul' }, -{ oid => '734', descr => 'divide points (scale/rotate)', - oprname => '/', oprleft => 'point', oprright => 'point', oprresult => 'point', - oprcode => 'point_div' }, -{ oid => '735', descr => 'concatenate', - oprname => '+', oprleft => 'path', oprright => 'path', oprresult => 'path', - oprcom => '+(path,path)', oprcode => 'path_add' }, -{ oid => '736', descr => 'add (translate path)', - oprname => '+', oprleft => 'path', oprright => 'point', oprresult => 'path', - oprcode => 'path_add_pt' }, -{ oid => '737', descr => 'subtract (translate path)', - oprname => '-', oprleft => 'path', oprright => 'point', oprresult => 'path', - oprcode => 'path_sub_pt' }, -{ oid => '738', descr => 'multiply (rotate/scale path)', - oprname => '*', oprleft => 'path', oprright => 'point', oprresult => 'path', - oprcode => 'path_mul_pt' }, -{ oid => '739', descr => 'divide (rotate/scale path)', - oprname => '/', oprleft => 'path', oprright => 'point', oprresult => 'path', - oprcode => 'path_div_pt' }, -{ oid => '755', descr => 'contains', - oprname => '@>', oprleft => 'path', oprright => 'point', oprresult => 'bool', - oprcom => '<@(point,path)', oprcode => 'path_contain_pt' }, -{ oid => '756', descr => 'is contained by', - oprname => '<@', oprleft => 'point', oprright => 'polygon', - oprresult => 'bool', oprcom => '@>(polygon,point)', - oprcode => 'pt_contained_poly', oprrest => 'contsel', - oprjoin => 'contjoinsel' }, -{ oid => '757', descr => 'contains', - oprname => '@>', oprleft => 'polygon', oprright => 'point', - oprresult => 'bool', oprcom => '<@(point,polygon)', - oprcode => 'poly_contain_pt', oprrest => 'contsel', - oprjoin => 'contjoinsel' }, -{ oid => '758', descr => 'is contained by', - oprname => '<@', oprleft => 'point', oprright => 'circle', - oprresult => 'bool', oprcom => '@>(circle,point)', - oprcode => 'pt_contained_circle', oprrest => 'contsel', - oprjoin => 'contjoinsel' }, -{ oid => '759', descr => 'contains', - oprname => '@>', oprleft => 'circle', oprright => 'point', - oprresult => 'bool', oprcom => '<@(point,circle)', - oprcode => 'circle_contain_pt', oprrest => 'contsel', - oprjoin => 'contjoinsel' }, - -{ oid => '773', descr => 'absolute value', - oprname => '@', oprkind => 'l', oprleft => '0', oprright => 'int4', - oprresult => 'int4', oprcode => 'int4abs' }, - -# additional operators for geometric types - thomas 1997-07-09 -{ oid => '792', descr => 'equal', - oprname => '=', oprleft => 'path', oprright => 'path', oprresult => 'bool', - oprcom => '=(path,path)', oprcode => 'path_n_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '793', descr => 'less than', - oprname => '<', oprleft => 'path', oprright => 'path', oprresult => 'bool', - oprcom => '>(path,path)', oprcode => 'path_n_lt' }, -{ oid => '794', descr => 'greater than', - oprname => '>', oprleft => 'path', oprright => 'path', oprresult => 'bool', - oprcom => '<(path,path)', oprcode => 'path_n_gt' }, -{ oid => '795', descr => 'less than or equal', - oprname => '<=', oprleft => 'path', oprright => 'path', oprresult => 'bool', - oprcom => '>=(path,path)', oprcode => 'path_n_le' }, -{ oid => '796', descr => 'greater than or equal', - oprname => '>=', oprleft => 'path', oprright => 'path', oprresult => 'bool', - oprcom => '<=(path,path)', oprcode => 'path_n_ge' }, -{ oid => '797', descr => 'number of points', - oprname => '#', oprkind => 'l', oprleft => '0', oprright => 'path', - oprresult => 'int4', oprcode => 'path_npoints' }, -{ oid => '798', descr => 'intersect', - oprname => '?#', oprleft => 'path', oprright => 'path', oprresult => 'bool', - oprcode => 'path_inter' }, -{ oid => '799', descr => 'sum of path segment lengths', - oprname => '@-@', oprkind => 'l', oprleft => '0', oprright => 'path', - oprresult => 'float8', oprcode => 'path_length' }, -{ oid => '800', descr => 'is above (allows touching)', - oprname => '>^', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcode => 'box_above_eq', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '801', descr => 'is below (allows touching)', - oprname => '<^', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcode => 'box_below_eq', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '802', descr => 'deprecated, use && instead', - oprname => '?#', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcode => 'box_overlap', oprrest => 'areasel', oprjoin => 'areajoinsel' }, -{ oid => '803', descr => 'box intersection', - oprname => '#', oprleft => 'box', oprright => 'box', oprresult => 'box', - oprcode => 'box_intersect' }, -{ oid => '804', descr => 'add point to box (translate)', - oprname => '+', oprleft => 'box', oprright => 'point', oprresult => 'box', - oprcode => 'box_add' }, -{ oid => '805', descr => 'subtract point from box (translate)', - oprname => '-', oprleft => 'box', oprright => 'point', oprresult => 'box', - oprcode => 'box_sub' }, -{ oid => '806', descr => 'multiply box by point (scale)', - oprname => '*', oprleft => 'box', oprright => 'point', oprresult => 'box', - oprcode => 'box_mul' }, -{ oid => '807', descr => 'divide box by point (scale)', - oprname => '/', oprleft => 'box', oprright => 'point', oprresult => 'box', - oprcode => 'box_div' }, -{ oid => '808', descr => 'horizontally aligned', - oprname => '?-', oprleft => 'point', oprright => 'point', oprresult => 'bool', - oprcom => '?-(point,point)', oprcode => 'point_horiz' }, -{ oid => '809', descr => 'vertically aligned', - oprname => '?|', oprleft => 'point', oprright => 'point', oprresult => 'bool', - oprcom => '?|(point,point)', oprcode => 'point_vert' }, - -{ oid => '843', descr => 'multiply', - oprname => '*', oprleft => 'money', oprright => 'float4', - oprresult => 'money', oprcom => '*(float4,money)', - oprcode => 'cash_mul_flt4' }, -{ oid => '844', descr => 'divide', - oprname => '/', oprleft => 'money', oprright => 'float4', - oprresult => 'money', oprcode => 'cash_div_flt4' }, -{ oid => '845', descr => 'multiply', - oprname => '*', oprleft => 'float4', oprright => 'money', - oprresult => 'money', oprcom => '*(money,float4)', - oprcode => 'flt4_mul_cash' }, - -{ oid => '900', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprleft => 'money', oprright => 'money', - oprresult => 'bool', oprcom => '=(money,money)', - oprnegate => '<>(money,money)', oprcode => 'cash_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '901', descr => 'not equal', - oprname => '<>', oprleft => 'money', oprright => 'money', oprresult => 'bool', - oprcom => '<>(money,money)', oprnegate => '=(money,money)', - oprcode => 'cash_ne', oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '902', descr => 'less than', - oprname => '<', oprleft => 'money', oprright => 'money', oprresult => 'bool', - oprcom => '>(money,money)', oprnegate => '>=(money,money)', - oprcode => 'cash_lt', oprrest => 'scalarltsel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '903', descr => 'greater than', - oprname => '>', oprleft => 'money', oprright => 'money', oprresult => 'bool', - oprcom => '<(money,money)', oprnegate => '<=(money,money)', - oprcode => 'cash_gt', oprrest => 'scalargtsel', - oprjoin => 'scalargtjoinsel' }, -{ oid => '904', descr => 'less than or equal', - oprname => '<=', oprleft => 'money', oprright => 'money', oprresult => 'bool', - oprcom => '>=(money,money)', oprnegate => '>(money,money)', - oprcode => 'cash_le', oprrest => 'scalarlesel', - oprjoin => 'scalarlejoinsel' }, -{ oid => '905', descr => 'greater than or equal', - oprname => '>=', oprleft => 'money', oprright => 'money', oprresult => 'bool', - oprcom => '<=(money,money)', oprnegate => '<(money,money)', - oprcode => 'cash_ge', oprrest => 'scalargesel', - oprjoin => 'scalargejoinsel' }, -{ oid => '906', descr => 'add', - oprname => '+', oprleft => 'money', oprright => 'money', oprresult => 'money', - oprcom => '+(money,money)', oprcode => 'cash_pl' }, -{ oid => '907', descr => 'subtract', - oprname => '-', oprleft => 'money', oprright => 'money', oprresult => 'money', - oprcode => 'cash_mi' }, -{ oid => '908', descr => 'multiply', - oprname => '*', oprleft => 'money', oprright => 'float8', - oprresult => 'money', oprcom => '*(float8,money)', - oprcode => 'cash_mul_flt8' }, -{ oid => '909', descr => 'divide', - oprname => '/', oprleft => 'money', oprright => 'float8', - oprresult => 'money', oprcode => 'cash_div_flt8' }, -{ oid => '3346', descr => 'multiply', - oprname => '*', oprleft => 'money', oprright => 'int8', oprresult => 'money', - oprcom => '*(int8,money)', oprcode => 'cash_mul_int8' }, -{ oid => '3347', descr => 'divide', - oprname => '/', oprleft => 'money', oprright => 'int8', oprresult => 'money', - oprcode => 'cash_div_int8' }, -{ oid => '912', descr => 'multiply', - oprname => '*', oprleft => 'money', oprright => 'int4', oprresult => 'money', - oprcom => '*(int4,money)', oprcode => 'cash_mul_int4' }, -{ oid => '913', descr => 'divide', - oprname => '/', oprleft => 'money', oprright => 'int4', oprresult => 'money', - oprcode => 'cash_div_int4' }, -{ oid => '914', descr => 'multiply', - oprname => '*', oprleft => 'money', oprright => 'int2', oprresult => 'money', - oprcom => '*(int2,money)', oprcode => 'cash_mul_int2' }, -{ oid => '915', descr => 'divide', - oprname => '/', oprleft => 'money', oprright => 'int2', oprresult => 'money', - oprcode => 'cash_div_int2' }, -{ oid => '916', descr => 'multiply', - oprname => '*', oprleft => 'float8', oprright => 'money', - oprresult => 'money', oprcom => '*(money,float8)', - oprcode => 'flt8_mul_cash' }, -{ oid => '3349', descr => 'multiply', - oprname => '*', oprleft => 'int8', oprright => 'money', oprresult => 'money', - oprcom => '*(money,int8)', oprcode => 'int8_mul_cash' }, -{ oid => '917', descr => 'multiply', - oprname => '*', oprleft => 'int4', oprright => 'money', oprresult => 'money', - oprcom => '*(money,int4)', oprcode => 'int4_mul_cash' }, -{ oid => '918', descr => 'multiply', - oprname => '*', oprleft => 'int2', oprright => 'money', oprresult => 'money', - oprcom => '*(money,int2)', oprcode => 'int2_mul_cash' }, -{ oid => '3825', descr => 'divide', - oprname => '/', oprleft => 'money', oprright => 'money', - oprresult => 'float8', oprcode => 'cash_div_cash' }, - -{ oid => '965', descr => 'exponentiation', - oprname => '^', oprleft => 'float8', oprright => 'float8', - oprresult => 'float8', oprcode => 'dpow' }, -{ oid => '966', descr => 'add/update ACL item', - oprname => '+', oprleft => '_aclitem', oprright => 'aclitem', - oprresult => '_aclitem', oprcode => 'aclinsert' }, -{ oid => '967', descr => 'remove ACL item', - oprname => '-', oprleft => '_aclitem', oprright => 'aclitem', - oprresult => '_aclitem', oprcode => 'aclremove' }, -{ oid => '968', descr => 'contains', - oprname => '@>', oprleft => '_aclitem', oprright => 'aclitem', - oprresult => 'bool', oprcode => 'aclcontains' }, -{ oid => '974', descr => 'equal', - oprname => '=', oprcanhash => 't', oprleft => 'aclitem', - oprright => 'aclitem', oprresult => 'bool', oprcom => '=(aclitem,aclitem)', - oprcode => 'aclitemeq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, - -# additional geometric operators - thomas 1997-07-09 -{ oid => '969', descr => 'center of', - oprname => '@@', oprkind => 'l', oprleft => '0', oprright => 'lseg', - oprresult => 'point', oprcode => 'lseg_center' }, -{ oid => '970', descr => 'center of', - oprname => '@@', oprkind => 'l', oprleft => '0', oprright => 'path', - oprresult => 'point', oprcode => 'path_center' }, -{ oid => '971', descr => 'center of', - oprname => '@@', oprkind => 'l', oprleft => '0', oprright => 'polygon', - oprresult => 'point', oprcode => 'poly_center' }, - -{ oid => '1054', oid_symbol => 'BpcharEqualOperator', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'bpchar', - oprright => 'bpchar', oprresult => 'bool', oprcom => '=(bpchar,bpchar)', - oprnegate => '<>(bpchar,bpchar)', oprcode => 'bpchareq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, - -{ oid => '1055', oid_symbol => 'OID_BPCHAR_REGEXEQ_OP', - descr => 'matches regular expression, case-sensitive', - oprname => '~', oprleft => 'bpchar', oprright => 'text', oprresult => 'bool', - oprnegate => '!~(bpchar,text)', oprcode => 'bpcharregexeq', - oprrest => 'regexeqsel', oprjoin => 'regexeqjoinsel' }, -{ oid => '1056', descr => 'does not match regular expression, case-sensitive', - oprname => '!~', oprleft => 'bpchar', oprright => 'text', oprresult => 'bool', - oprnegate => '~(bpchar,text)', oprcode => 'bpcharregexne', - oprrest => 'regexnesel', oprjoin => 'regexnejoinsel' }, -{ oid => '1057', descr => 'not equal', - oprname => '<>', oprleft => 'bpchar', oprright => 'bpchar', - oprresult => 'bool', oprcom => '<>(bpchar,bpchar)', - oprnegate => '=(bpchar,bpchar)', oprcode => 'bpcharne', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, -{ oid => '1058', oid_symbol => 'BpcharLessOperator', descr => 'less than', - oprname => '<', oprleft => 'bpchar', oprright => 'bpchar', - oprresult => 'bool', oprcom => '>(bpchar,bpchar)', - oprnegate => '>=(bpchar,bpchar)', oprcode => 'bpcharlt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1059', descr => 'less than or equal', - oprname => '<=', oprleft => 'bpchar', oprright => 'bpchar', - oprresult => 'bool', oprcom => '>=(bpchar,bpchar)', - oprnegate => '>(bpchar,bpchar)', oprcode => 'bpcharle', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1060', descr => 'greater than', - oprname => '>', oprleft => 'bpchar', oprright => 'bpchar', - oprresult => 'bool', oprcom => '<(bpchar,bpchar)', - oprnegate => '<=(bpchar,bpchar)', oprcode => 'bpchargt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1061', oid_symbol => 'BpcharGreaterEqualOperator', - descr => 'greater than or equal', - oprname => '>=', oprleft => 'bpchar', oprright => 'bpchar', - oprresult => 'bool', oprcom => '<=(bpchar,bpchar)', - oprnegate => '<(bpchar,bpchar)', oprcode => 'bpcharge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -# generic array comparison operators -{ oid => '1070', oid_symbol => 'ARRAY_EQ_OP', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'anyarray', - oprright => 'anyarray', oprresult => 'bool', oprcom => '=(anyarray,anyarray)', - oprnegate => '<>(anyarray,anyarray)', oprcode => 'array_eq', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '1071', descr => 'not equal', - oprname => '<>', oprleft => 'anyarray', oprright => 'anyarray', - oprresult => 'bool', oprcom => '<>(anyarray,anyarray)', - oprnegate => '=(anyarray,anyarray)', oprcode => 'array_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1072', oid_symbol => 'ARRAY_LT_OP', descr => 'less than', - oprname => '<', oprleft => 'anyarray', oprright => 'anyarray', - oprresult => 'bool', oprcom => '>(anyarray,anyarray)', - oprnegate => '>=(anyarray,anyarray)', oprcode => 'array_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1073', oid_symbol => 'ARRAY_GT_OP', descr => 'greater than', - oprname => '>', oprleft => 'anyarray', oprright => 'anyarray', - oprresult => 'bool', oprcom => '<(anyarray,anyarray)', - oprnegate => '<=(anyarray,anyarray)', oprcode => 'array_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1074', descr => 'less than or equal', - oprname => '<=', oprleft => 'anyarray', oprright => 'anyarray', - oprresult => 'bool', oprcom => '>=(anyarray,anyarray)', - oprnegate => '>(anyarray,anyarray)', oprcode => 'array_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1075', descr => 'greater than or equal', - oprname => '>=', oprleft => 'anyarray', oprright => 'anyarray', - oprresult => 'bool', oprcom => '<=(anyarray,anyarray)', - oprnegate => '<(anyarray,anyarray)', oprcode => 'array_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -# date operators -{ oid => '1076', descr => 'add', - oprname => '+', oprleft => 'date', oprright => 'interval', - oprresult => 'timestamp', oprcom => '+(interval,date)', - oprcode => 'date_pl_interval' }, -{ oid => '1077', descr => 'subtract', - oprname => '-', oprleft => 'date', oprright => 'interval', - oprresult => 'timestamp', oprcode => 'date_mi_interval' }, -{ oid => '1093', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'date', - oprright => 'date', oprresult => 'bool', oprcom => '=(date,date)', - oprnegate => '<>(date,date)', oprcode => 'date_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '1094', descr => 'not equal', - oprname => '<>', oprleft => 'date', oprright => 'date', oprresult => 'bool', - oprcom => '<>(date,date)', oprnegate => '=(date,date)', oprcode => 'date_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1095', descr => 'less than', - oprname => '<', oprleft => 'date', oprright => 'date', oprresult => 'bool', - oprcom => '>(date,date)', oprnegate => '>=(date,date)', oprcode => 'date_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1096', descr => 'less than or equal', - oprname => '<=', oprleft => 'date', oprright => 'date', oprresult => 'bool', - oprcom => '>=(date,date)', oprnegate => '>(date,date)', oprcode => 'date_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1097', descr => 'greater than', - oprname => '>', oprleft => 'date', oprright => 'date', oprresult => 'bool', - oprcom => '<(date,date)', oprnegate => '<=(date,date)', oprcode => 'date_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1098', descr => 'greater than or equal', - oprname => '>=', oprleft => 'date', oprright => 'date', oprresult => 'bool', - oprcom => '<=(date,date)', oprnegate => '<(date,date)', oprcode => 'date_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '1099', descr => 'subtract', - oprname => '-', oprleft => 'date', oprright => 'date', oprresult => 'int4', - oprcode => 'date_mi' }, -{ oid => '1100', descr => 'add', - oprname => '+', oprleft => 'date', oprright => 'int4', oprresult => 'date', - oprcom => '+(int4,date)', oprcode => 'date_pli' }, -{ oid => '1101', descr => 'subtract', - oprname => '-', oprleft => 'date', oprright => 'int4', oprresult => 'date', - oprcode => 'date_mii' }, - -# time operators -{ oid => '1108', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'time', - oprright => 'time', oprresult => 'bool', oprcom => '=(time,time)', - oprnegate => '<>(time,time)', oprcode => 'time_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '1109', descr => 'not equal', - oprname => '<>', oprleft => 'time', oprright => 'time', oprresult => 'bool', - oprcom => '<>(time,time)', oprnegate => '=(time,time)', oprcode => 'time_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1110', descr => 'less than', - oprname => '<', oprleft => 'time', oprright => 'time', oprresult => 'bool', - oprcom => '>(time,time)', oprnegate => '>=(time,time)', oprcode => 'time_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1111', descr => 'less than or equal', - oprname => '<=', oprleft => 'time', oprright => 'time', oprresult => 'bool', - oprcom => '>=(time,time)', oprnegate => '>(time,time)', oprcode => 'time_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1112', descr => 'greater than', - oprname => '>', oprleft => 'time', oprright => 'time', oprresult => 'bool', - oprcom => '<(time,time)', oprnegate => '<=(time,time)', oprcode => 'time_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1113', descr => 'greater than or equal', - oprname => '>=', oprleft => 'time', oprright => 'time', oprresult => 'bool', - oprcom => '<=(time,time)', oprnegate => '<(time,time)', oprcode => 'time_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -# timetz operators -{ oid => '1550', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'timetz', - oprright => 'timetz', oprresult => 'bool', oprcom => '=(timetz,timetz)', - oprnegate => '<>(timetz,timetz)', oprcode => 'timetz_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '1551', descr => 'not equal', - oprname => '<>', oprleft => 'timetz', oprright => 'timetz', - oprresult => 'bool', oprcom => '<>(timetz,timetz)', - oprnegate => '=(timetz,timetz)', oprcode => 'timetz_ne', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, -{ oid => '1552', descr => 'less than', - oprname => '<', oprleft => 'timetz', oprright => 'timetz', - oprresult => 'bool', oprcom => '>(timetz,timetz)', - oprnegate => '>=(timetz,timetz)', oprcode => 'timetz_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1553', descr => 'less than or equal', - oprname => '<=', oprleft => 'timetz', oprright => 'timetz', - oprresult => 'bool', oprcom => '>=(timetz,timetz)', - oprnegate => '>(timetz,timetz)', oprcode => 'timetz_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1554', descr => 'greater than', - oprname => '>', oprleft => 'timetz', oprright => 'timetz', - oprresult => 'bool', oprcom => '<(timetz,timetz)', - oprnegate => '<=(timetz,timetz)', oprcode => 'timetz_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1555', descr => 'greater than or equal', - oprname => '>=', oprleft => 'timetz', oprright => 'timetz', - oprresult => 'bool', oprcom => '<=(timetz,timetz)', - oprnegate => '<(timetz,timetz)', oprcode => 'timetz_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -# float48 operators -{ oid => '1116', descr => 'add', - oprname => '+', oprleft => 'float4', oprright => 'float8', - oprresult => 'float8', oprcom => '+(float8,float4)', oprcode => 'float48pl' }, -{ oid => '1117', descr => 'subtract', - oprname => '-', oprleft => 'float4', oprright => 'float8', - oprresult => 'float8', oprcode => 'float48mi' }, -{ oid => '1118', descr => 'divide', - oprname => '/', oprleft => 'float4', oprright => 'float8', - oprresult => 'float8', oprcode => 'float48div' }, -{ oid => '1119', descr => 'multiply', - oprname => '*', oprleft => 'float4', oprright => 'float8', - oprresult => 'float8', oprcom => '*(float8,float4)', - oprcode => 'float48mul' }, -{ oid => '1120', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'float4', - oprright => 'float8', oprresult => 'bool', oprcom => '=(float8,float4)', - oprnegate => '<>(float4,float8)', oprcode => 'float48eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '1121', descr => 'not equal', - oprname => '<>', oprleft => 'float4', oprright => 'float8', - oprresult => 'bool', oprcom => '<>(float8,float4)', - oprnegate => '=(float4,float8)', oprcode => 'float48ne', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, -{ oid => '1122', descr => 'less than', - oprname => '<', oprleft => 'float4', oprright => 'float8', - oprresult => 'bool', oprcom => '>(float8,float4)', - oprnegate => '>=(float4,float8)', oprcode => 'float48lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1123', descr => 'greater than', - oprname => '>', oprleft => 'float4', oprright => 'float8', - oprresult => 'bool', oprcom => '<(float8,float4)', - oprnegate => '<=(float4,float8)', oprcode => 'float48gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1124', descr => 'less than or equal', - oprname => '<=', oprleft => 'float4', oprright => 'float8', - oprresult => 'bool', oprcom => '>=(float8,float4)', - oprnegate => '>(float4,float8)', oprcode => 'float48le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1125', descr => 'greater than or equal', - oprname => '>=', oprleft => 'float4', oprright => 'float8', - oprresult => 'bool', oprcom => '<=(float8,float4)', - oprnegate => '<(float4,float8)', oprcode => 'float48ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -# float84 operators -{ oid => '1126', descr => 'add', - oprname => '+', oprleft => 'float8', oprright => 'float4', - oprresult => 'float8', oprcom => '+(float4,float8)', oprcode => 'float84pl' }, -{ oid => '1127', descr => 'subtract', - oprname => '-', oprleft => 'float8', oprright => 'float4', - oprresult => 'float8', oprcode => 'float84mi' }, -{ oid => '1128', descr => 'divide', - oprname => '/', oprleft => 'float8', oprright => 'float4', - oprresult => 'float8', oprcode => 'float84div' }, -{ oid => '1129', descr => 'multiply', - oprname => '*', oprleft => 'float8', oprright => 'float4', - oprresult => 'float8', oprcom => '*(float4,float8)', - oprcode => 'float84mul' }, -{ oid => '1130', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'float8', - oprright => 'float4', oprresult => 'bool', oprcom => '=(float4,float8)', - oprnegate => '<>(float8,float4)', oprcode => 'float84eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '1131', descr => 'not equal', - oprname => '<>', oprleft => 'float8', oprright => 'float4', - oprresult => 'bool', oprcom => '<>(float4,float8)', - oprnegate => '=(float8,float4)', oprcode => 'float84ne', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, -{ oid => '1132', descr => 'less than', - oprname => '<', oprleft => 'float8', oprright => 'float4', - oprresult => 'bool', oprcom => '>(float4,float8)', - oprnegate => '>=(float8,float4)', oprcode => 'float84lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1133', descr => 'greater than', - oprname => '>', oprleft => 'float8', oprright => 'float4', - oprresult => 'bool', oprcom => '<(float4,float8)', - oprnegate => '<=(float8,float4)', oprcode => 'float84gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1134', descr => 'less than or equal', - oprname => '<=', oprleft => 'float8', oprright => 'float4', - oprresult => 'bool', oprcom => '>=(float4,float8)', - oprnegate => '>(float8,float4)', oprcode => 'float84le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1135', descr => 'greater than or equal', - oprname => '>=', oprleft => 'float8', oprright => 'float4', - oprresult => 'bool', oprcom => '<=(float4,float8)', - oprnegate => '<(float8,float4)', oprcode => 'float84ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -# LIKE hacks by Keith Parks. -{ oid => '1207', oid_symbol => 'OID_NAME_LIKE_OP', - descr => 'matches LIKE expression', - oprname => '~~', oprleft => 'name', oprright => 'text', oprresult => 'bool', - oprnegate => '!~~(name,text)', oprcode => 'namelike', oprrest => 'likesel', - oprjoin => 'likejoinsel' }, -{ oid => '1208', descr => 'does not match LIKE expression', - oprname => '!~~', oprleft => 'name', oprright => 'text', oprresult => 'bool', - oprnegate => '~~(name,text)', oprcode => 'namenlike', oprrest => 'nlikesel', - oprjoin => 'nlikejoinsel' }, -{ oid => '1209', oid_symbol => 'OID_TEXT_LIKE_OP', - descr => 'matches LIKE expression', - oprname => '~~', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprnegate => '!~~(text,text)', oprcode => 'textlike', oprrest => 'likesel', - oprjoin => 'likejoinsel' }, -{ oid => '1210', descr => 'does not match LIKE expression', - oprname => '!~~', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprnegate => '~~(text,text)', oprcode => 'textnlike', oprrest => 'nlikesel', - oprjoin => 'nlikejoinsel' }, -{ oid => '1211', oid_symbol => 'OID_BPCHAR_LIKE_OP', - descr => 'matches LIKE expression', - oprname => '~~', oprleft => 'bpchar', oprright => 'text', oprresult => 'bool', - oprnegate => '!~~(bpchar,text)', oprcode => 'bpcharlike', - oprrest => 'likesel', oprjoin => 'likejoinsel' }, -{ oid => '1212', descr => 'does not match LIKE expression', - oprname => '!~~', oprleft => 'bpchar', oprright => 'text', - oprresult => 'bool', oprnegate => '~~(bpchar,text)', oprcode => 'bpcharnlike', - oprrest => 'nlikesel', oprjoin => 'nlikejoinsel' }, - -# case-insensitive regex hacks -{ oid => '1226', oid_symbol => 'OID_NAME_ICREGEXEQ_OP', - descr => 'matches regular expression, case-insensitive', - oprname => '~*', oprleft => 'name', oprright => 'text', oprresult => 'bool', - oprnegate => '!~*(name,text)', oprcode => 'nameicregexeq', - oprrest => 'icregexeqsel', oprjoin => 'icregexeqjoinsel' }, -{ oid => '1227', - descr => 'does not match regular expression, case-insensitive', - oprname => '!~*', oprleft => 'name', oprright => 'text', oprresult => 'bool', - oprnegate => '~*(name,text)', oprcode => 'nameicregexne', - oprrest => 'icregexnesel', oprjoin => 'icregexnejoinsel' }, -{ oid => '1228', oid_symbol => 'OID_TEXT_ICREGEXEQ_OP', - descr => 'matches regular expression, case-insensitive', - oprname => '~*', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprnegate => '!~*(text,text)', oprcode => 'texticregexeq', - oprrest => 'icregexeqsel', oprjoin => 'icregexeqjoinsel' }, -{ oid => '1229', - descr => 'does not match regular expression, case-insensitive', - oprname => '!~*', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprnegate => '~*(text,text)', oprcode => 'texticregexne', - oprrest => 'icregexnesel', oprjoin => 'icregexnejoinsel' }, -{ oid => '1234', oid_symbol => 'OID_BPCHAR_ICREGEXEQ_OP', - descr => 'matches regular expression, case-insensitive', - oprname => '~*', oprleft => 'bpchar', oprright => 'text', oprresult => 'bool', - oprnegate => '!~*(bpchar,text)', oprcode => 'bpcharicregexeq', - oprrest => 'icregexeqsel', oprjoin => 'icregexeqjoinsel' }, -{ oid => '1235', - descr => 'does not match regular expression, case-insensitive', - oprname => '!~*', oprleft => 'bpchar', oprright => 'text', - oprresult => 'bool', oprnegate => '~*(bpchar,text)', - oprcode => 'bpcharicregexne', oprrest => 'icregexnesel', - oprjoin => 'icregexnejoinsel' }, - -# timestamptz operators -{ oid => '1320', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', - oprleft => 'timestamptz', oprright => 'timestamptz', oprresult => 'bool', - oprcom => '=(timestamptz,timestamptz)', - oprnegate => '<>(timestamptz,timestamptz)', oprcode => 'timestamptz_eq', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '1321', descr => 'not equal', - oprname => '<>', oprleft => 'timestamptz', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '<>(timestamptz,timestamptz)', - oprnegate => '=(timestamptz,timestamptz)', oprcode => 'timestamptz_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1322', descr => 'less than', - oprname => '<', oprleft => 'timestamptz', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '>(timestamptz,timestamptz)', - oprnegate => '>=(timestamptz,timestamptz)', oprcode => 'timestamptz_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1323', descr => 'less than or equal', - oprname => '<=', oprleft => 'timestamptz', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '>=(timestamptz,timestamptz)', - oprnegate => '>(timestamptz,timestamptz)', oprcode => 'timestamptz_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1324', descr => 'greater than', - oprname => '>', oprleft => 'timestamptz', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '<(timestamptz,timestamptz)', - oprnegate => '<=(timestamptz,timestamptz)', oprcode => 'timestamptz_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1325', descr => 'greater than or equal', - oprname => '>=', oprleft => 'timestamptz', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '<=(timestamptz,timestamptz)', - oprnegate => '<(timestamptz,timestamptz)', oprcode => 'timestamptz_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '1327', descr => 'add', - oprname => '+', oprleft => 'timestamptz', oprright => 'interval', - oprresult => 'timestamptz', oprcom => '+(interval,timestamptz)', - oprcode => 'timestamptz_pl_interval' }, -{ oid => '1328', descr => 'subtract', - oprname => '-', oprleft => 'timestamptz', oprright => 'timestamptz', - oprresult => 'interval', oprcode => 'timestamptz_mi' }, -{ oid => '1329', descr => 'subtract', - oprname => '-', oprleft => 'timestamptz', oprright => 'interval', - oprresult => 'timestamptz', oprcode => 'timestamptz_mi_interval' }, - -# interval operators -{ oid => '1330', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'interval', - oprright => 'interval', oprresult => 'bool', oprcom => '=(interval,interval)', - oprnegate => '<>(interval,interval)', oprcode => 'interval_eq', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '1331', descr => 'not equal', - oprname => '<>', oprleft => 'interval', oprright => 'interval', - oprresult => 'bool', oprcom => '<>(interval,interval)', - oprnegate => '=(interval,interval)', oprcode => 'interval_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1332', descr => 'less than', - oprname => '<', oprleft => 'interval', oprright => 'interval', - oprresult => 'bool', oprcom => '>(interval,interval)', - oprnegate => '>=(interval,interval)', oprcode => 'interval_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1333', descr => 'less than or equal', - oprname => '<=', oprleft => 'interval', oprright => 'interval', - oprresult => 'bool', oprcom => '>=(interval,interval)', - oprnegate => '>(interval,interval)', oprcode => 'interval_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1334', descr => 'greater than', - oprname => '>', oprleft => 'interval', oprright => 'interval', - oprresult => 'bool', oprcom => '<(interval,interval)', - oprnegate => '<=(interval,interval)', oprcode => 'interval_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1335', descr => 'greater than or equal', - oprname => '>=', oprleft => 'interval', oprright => 'interval', - oprresult => 'bool', oprcom => '<=(interval,interval)', - oprnegate => '<(interval,interval)', oprcode => 'interval_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '1336', descr => 'negate', - oprname => '-', oprkind => 'l', oprleft => '0', oprright => 'interval', - oprresult => 'interval', oprcode => 'interval_um' }, -{ oid => '1337', descr => 'add', - oprname => '+', oprleft => 'interval', oprright => 'interval', - oprresult => 'interval', oprcom => '+(interval,interval)', - oprcode => 'interval_pl' }, -{ oid => '1338', descr => 'subtract', - oprname => '-', oprleft => 'interval', oprright => 'interval', - oprresult => 'interval', oprcode => 'interval_mi' }, - -{ oid => '1360', descr => 'convert date and time to timestamp', - oprname => '+', oprleft => 'date', oprright => 'time', - oprresult => 'timestamp', oprcom => '+(time,date)', - oprcode => 'datetime_pl' }, -{ oid => '1361', - descr => 'convert date and time with time zone to timestamp with time zone', - oprname => '+', oprleft => 'date', oprright => 'timetz', - oprresult => 'timestamptz', oprcom => '+(timetz,date)', - oprcode => 'datetimetz_pl' }, -{ oid => '1363', descr => 'convert time and date to timestamp', - oprname => '+', oprleft => 'time', oprright => 'date', - oprresult => 'timestamp', oprcom => '+(date,time)', - oprcode => 'timedate_pl' }, -{ oid => '1366', - descr => 'convert time with time zone and date to timestamp with time zone', - oprname => '+', oprleft => 'timetz', oprright => 'date', - oprresult => 'timestamptz', oprcom => '+(date,timetz)', - oprcode => 'timetzdate_pl' }, - -{ oid => '1399', descr => 'subtract', - oprname => '-', oprleft => 'time', oprright => 'time', - oprresult => 'interval', oprcode => 'time_mi_time' }, - -# additional geometric operators - thomas 97/04/18 -{ oid => '1420', descr => 'center of', - oprname => '@@', oprkind => 'l', oprleft => '0', oprright => 'circle', - oprresult => 'point', oprcode => 'circle_center' }, -{ oid => '1500', descr => 'equal by area', - oprname => '=', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcom => '=(circle,circle)', - oprnegate => '<>(circle,circle)', oprcode => 'circle_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '1501', descr => 'not equal by area', - oprname => '<>', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcom => '<>(circle,circle)', - oprnegate => '=(circle,circle)', oprcode => 'circle_ne', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, -{ oid => '1502', descr => 'less than by area', - oprname => '<', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcom => '>(circle,circle)', - oprnegate => '>=(circle,circle)', oprcode => 'circle_lt', - oprrest => 'areasel', oprjoin => 'areajoinsel' }, -{ oid => '1503', descr => 'greater than by area', - oprname => '>', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcom => '<(circle,circle)', - oprnegate => '<=(circle,circle)', oprcode => 'circle_gt', - oprrest => 'areasel', oprjoin => 'areajoinsel' }, -{ oid => '1504', descr => 'less than or equal by area', - oprname => '<=', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcom => '>=(circle,circle)', - oprnegate => '>(circle,circle)', oprcode => 'circle_le', oprrest => 'areasel', - oprjoin => 'areajoinsel' }, -{ oid => '1505', descr => 'greater than or equal by area', - oprname => '>=', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcom => '<=(circle,circle)', - oprnegate => '<(circle,circle)', oprcode => 'circle_ge', oprrest => 'areasel', - oprjoin => 'areajoinsel' }, - -{ oid => '1506', descr => 'is left of', - oprname => '<<', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcode => 'circle_left', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '1507', descr => 'overlaps or is left of', - oprname => '&<', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcode => 'circle_overleft', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '1508', descr => 'overlaps or is right of', - oprname => '&>', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcode => 'circle_overright', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '1509', descr => 'is right of', - oprname => '>>', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcode => 'circle_right', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '1510', descr => 'is contained by', - oprname => '<@', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcom => '@>(circle,circle)', - oprcode => 'circle_contained', oprrest => 'contsel', - oprjoin => 'contjoinsel' }, -{ oid => '1511', descr => 'contains', - oprname => '@>', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcom => '<@(circle,circle)', - oprcode => 'circle_contain', oprrest => 'contsel', oprjoin => 'contjoinsel' }, -{ oid => '1512', descr => 'same as', - oprname => '~=', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcom => '~=(circle,circle)', oprcode => 'circle_same', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '1513', descr => 'overlaps', - oprname => '&&', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcom => '&&(circle,circle)', - oprcode => 'circle_overlap', oprrest => 'areasel', oprjoin => 'areajoinsel' }, -{ oid => '1514', descr => 'is above', - oprname => '|>>', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcode => 'circle_above', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '1515', descr => 'is below', - oprname => '<<|', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcode => 'circle_below', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, - -{ oid => '1516', descr => 'add', - oprname => '+', oprleft => 'circle', oprright => 'point', - oprresult => 'circle', oprcode => 'circle_add_pt' }, -{ oid => '1517', descr => 'subtract', - oprname => '-', oprleft => 'circle', oprright => 'point', - oprresult => 'circle', oprcode => 'circle_sub_pt' }, -{ oid => '1518', descr => 'multiply', - oprname => '*', oprleft => 'circle', oprright => 'point', - oprresult => 'circle', oprcode => 'circle_mul_pt' }, -{ oid => '1519', descr => 'divide', - oprname => '/', oprleft => 'circle', oprright => 'point', - oprresult => 'circle', oprcode => 'circle_div_pt' }, - -{ oid => '1520', descr => 'distance between', - oprname => '<->', oprleft => 'circle', oprright => 'circle', - oprresult => 'float8', oprcom => '<->(circle,circle)', - oprcode => 'circle_distance' }, -{ oid => '1521', descr => 'number of points', - oprname => '#', oprkind => 'l', oprleft => '0', oprright => 'polygon', - oprresult => 'int4', oprcode => 'poly_npoints' }, -{ oid => '1522', descr => 'distance between', - oprname => '<->', oprleft => 'point', oprright => 'circle', - oprresult => 'float8', oprcom => '<->(circle,point)', oprcode => 'dist_pc' }, -{ oid => '3291', descr => 'distance between', - oprname => '<->', oprleft => 'circle', oprright => 'point', - oprresult => 'float8', oprcom => '<->(point,circle)', - oprcode => 'dist_cpoint' }, -{ oid => '3276', descr => 'distance between', - oprname => '<->', oprleft => 'point', oprright => 'polygon', - oprresult => 'float8', oprcom => '<->(polygon,point)', - oprcode => 'dist_ppoly' }, -{ oid => '3289', descr => 'distance between', - oprname => '<->', oprleft => 'polygon', oprright => 'point', - oprresult => 'float8', oprcom => '<->(point,polygon)', - oprcode => 'dist_polyp' }, -{ oid => '1523', descr => 'distance between', - oprname => '<->', oprleft => 'circle', oprright => 'polygon', - oprresult => 'float8', oprcom => '<->(polygon,circle)', - oprcode => 'dist_cpoly' }, -{ oid => '1383', descr => 'distance between', - oprname => '<->', oprleft => 'polygon', oprright => 'circle', - oprresult => 'float8', oprcom => '<->(circle,polygon)', - oprcode => 'dist_polyc' }, - -# additional geometric operators - thomas 1997-07-09 -{ oid => '1524', descr => 'distance between', - oprname => '<->', oprleft => 'line', oprright => 'box', oprresult => 'float8', - oprcom => '<->(box,line)', oprcode => 'dist_lb' }, -{ oid => '1382', descr => 'distance between', - oprname => '<->', oprleft => 'box', oprright => 'line', oprresult => 'float8', - oprcom => '<->(line,box)', oprcode => 'dist_bl' }, - -{ oid => '1525', descr => 'intersect', - oprname => '?#', oprleft => 'lseg', oprright => 'lseg', oprresult => 'bool', - oprcom => '?#(lseg,lseg)', oprcode => 'lseg_intersect' }, -{ oid => '1526', descr => 'parallel', - oprname => '?||', oprleft => 'lseg', oprright => 'lseg', oprresult => 'bool', - oprcom => '?||(lseg,lseg)', oprcode => 'lseg_parallel' }, -{ oid => '1527', descr => 'perpendicular', - oprname => '?-|', oprleft => 'lseg', oprright => 'lseg', oprresult => 'bool', - oprcom => '?-|(lseg,lseg)', oprcode => 'lseg_perp' }, -{ oid => '1528', descr => 'horizontal', - oprname => '?-', oprkind => 'l', oprleft => '0', oprright => 'lseg', - oprresult => 'bool', oprcode => 'lseg_horizontal' }, -{ oid => '1529', descr => 'vertical', - oprname => '?|', oprkind => 'l', oprleft => '0', oprright => 'lseg', - oprresult => 'bool', oprcode => 'lseg_vertical' }, -{ oid => '1535', descr => 'equal', - oprname => '=', oprleft => 'lseg', oprright => 'lseg', oprresult => 'bool', - oprcom => '=(lseg,lseg)', oprnegate => '<>(lseg,lseg)', oprcode => 'lseg_eq', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '1536', descr => 'intersection point', - oprname => '#', oprleft => 'lseg', oprright => 'lseg', oprresult => 'point', - oprcom => '#(lseg,lseg)', oprcode => 'lseg_interpt' }, -{ oid => '1537', descr => 'intersect', - oprname => '?#', oprleft => 'lseg', oprright => 'line', oprresult => 'bool', - oprcode => 'inter_sl' }, -{ oid => '1538', descr => 'intersect', - oprname => '?#', oprleft => 'lseg', oprright => 'box', oprresult => 'bool', - oprcode => 'inter_sb' }, -{ oid => '1539', descr => 'intersect', - oprname => '?#', oprleft => 'line', oprright => 'box', oprresult => 'bool', - oprcode => 'inter_lb' }, - -{ oid => '1546', descr => 'point on line', - oprname => '<@', oprleft => 'point', oprright => 'line', oprresult => 'bool', - oprcode => 'on_pl' }, -{ oid => '1547', descr => 'is contained by', - oprname => '<@', oprleft => 'point', oprright => 'lseg', oprresult => 'bool', - oprcode => 'on_ps' }, -{ oid => '1548', descr => 'lseg on line', - oprname => '<@', oprleft => 'lseg', oprright => 'line', oprresult => 'bool', - oprcode => 'on_sl' }, -{ oid => '1549', descr => 'is contained by', - oprname => '<@', oprleft => 'lseg', oprright => 'box', oprresult => 'bool', - oprcode => 'on_sb' }, - -{ oid => '1557', descr => 'closest point to A on B', - oprname => '##', oprleft => 'point', oprright => 'line', oprresult => 'point', - oprcode => 'close_pl' }, -{ oid => '1558', descr => 'closest point to A on B', - oprname => '##', oprleft => 'point', oprright => 'lseg', oprresult => 'point', - oprcode => 'close_ps' }, -{ oid => '1559', descr => 'closest point to A on B', - oprname => '##', oprleft => 'point', oprright => 'box', oprresult => 'point', - oprcode => 'close_pb' }, - -{ oid => '1566', descr => 'closest point to A on B', - oprname => '##', oprleft => 'lseg', oprright => 'line', oprresult => 'point', - oprcode => 'close_sl' }, -{ oid => '1567', descr => 'closest point to A on B', - oprname => '##', oprleft => 'lseg', oprright => 'box', oprresult => 'point', - oprcode => 'close_sb' }, -{ oid => '1568', descr => 'closest point to A on B', - oprname => '##', oprleft => 'line', oprright => 'box', oprresult => 'point', - oprcode => 'close_lb' }, -{ oid => '1577', descr => 'closest point to A on B', - oprname => '##', oprleft => 'line', oprright => 'lseg', oprresult => 'point', - oprcode => 'close_ls' }, -{ oid => '1578', descr => 'closest point to A on B', - oprname => '##', oprleft => 'lseg', oprright => 'lseg', oprresult => 'point', - oprcode => 'close_lseg' }, -{ oid => '1583', descr => 'multiply', - oprname => '*', oprleft => 'interval', oprright => 'float8', - oprresult => 'interval', oprcom => '*(float8,interval)', - oprcode => 'interval_mul' }, -{ oid => '1584', descr => 'multiply', - oprname => '*', oprleft => 'float8', oprright => 'interval', - oprresult => 'interval', oprcom => '*(interval,float8)', - oprcode => 'mul_d_interval' }, -{ oid => '1585', descr => 'divide', - oprname => '/', oprleft => 'interval', oprright => 'float8', - oprresult => 'interval', oprcode => 'interval_div' }, - -{ oid => '1586', descr => 'not equal', - oprname => '<>', oprleft => 'lseg', oprright => 'lseg', oprresult => 'bool', - oprcom => '<>(lseg,lseg)', oprnegate => '=(lseg,lseg)', oprcode => 'lseg_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1587', descr => 'less than by length', - oprname => '<', oprleft => 'lseg', oprright => 'lseg', oprresult => 'bool', - oprcom => '>(lseg,lseg)', oprnegate => '>=(lseg,lseg)', - oprcode => 'lseg_lt' }, -{ oid => '1588', descr => 'less than or equal by length', - oprname => '<=', oprleft => 'lseg', oprright => 'lseg', oprresult => 'bool', - oprcom => '>=(lseg,lseg)', oprnegate => '>(lseg,lseg)', - oprcode => 'lseg_le' }, -{ oid => '1589', descr => 'greater than by length', - oprname => '>', oprleft => 'lseg', oprright => 'lseg', oprresult => 'bool', - oprcom => '<(lseg,lseg)', oprnegate => '<=(lseg,lseg)', - oprcode => 'lseg_gt' }, -{ oid => '1590', descr => 'greater than or equal by length', - oprname => '>=', oprleft => 'lseg', oprright => 'lseg', oprresult => 'bool', - oprcom => '<=(lseg,lseg)', oprnegate => '<(lseg,lseg)', - oprcode => 'lseg_ge' }, - -{ oid => '1591', descr => 'distance between endpoints', - oprname => '@-@', oprkind => 'l', oprleft => '0', oprright => 'lseg', - oprresult => 'float8', oprcode => 'lseg_length' }, - -{ oid => '1611', descr => 'intersect', - oprname => '?#', oprleft => 'line', oprright => 'line', oprresult => 'bool', - oprcom => '?#(line,line)', oprcode => 'line_intersect' }, -{ oid => '1612', descr => 'parallel', - oprname => '?||', oprleft => 'line', oprright => 'line', oprresult => 'bool', - oprcom => '?||(line,line)', oprcode => 'line_parallel' }, -{ oid => '1613', descr => 'perpendicular', - oprname => '?-|', oprleft => 'line', oprright => 'line', oprresult => 'bool', - oprcom => '?-|(line,line)', oprcode => 'line_perp' }, -{ oid => '1614', descr => 'horizontal', - oprname => '?-', oprkind => 'l', oprleft => '0', oprright => 'line', - oprresult => 'bool', oprcode => 'line_horizontal' }, -{ oid => '1615', descr => 'vertical', - oprname => '?|', oprkind => 'l', oprleft => '0', oprright => 'line', - oprresult => 'bool', oprcode => 'line_vertical' }, -{ oid => '1616', descr => 'equal', - oprname => '=', oprleft => 'line', oprright => 'line', oprresult => 'bool', - oprcom => '=(line,line)', oprcode => 'line_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '1617', descr => 'intersection point', - oprname => '#', oprleft => 'line', oprright => 'line', oprresult => 'point', - oprcom => '#(line,line)', oprcode => 'line_interpt' }, - -{ oid => '4161', descr => 'is above', - oprname => '|>>', oprleft => 'point', oprright => 'point', - oprresult => 'bool', oprcode => 'point_above', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '4162', descr => 'is below', - oprname => '<<|', oprleft => 'point', oprright => 'point', - oprresult => 'bool', oprcode => 'point_below', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, - -# MACADDR type -{ oid => '1220', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'macaddr', - oprright => 'macaddr', oprresult => 'bool', oprcom => '=(macaddr,macaddr)', - oprnegate => '<>(macaddr,macaddr)', oprcode => 'macaddr_eq', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '1221', descr => 'not equal', - oprname => '<>', oprleft => 'macaddr', oprright => 'macaddr', - oprresult => 'bool', oprcom => '<>(macaddr,macaddr)', - oprnegate => '=(macaddr,macaddr)', oprcode => 'macaddr_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1222', descr => 'less than', - oprname => '<', oprleft => 'macaddr', oprright => 'macaddr', - oprresult => 'bool', oprcom => '>(macaddr,macaddr)', - oprnegate => '>=(macaddr,macaddr)', oprcode => 'macaddr_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1223', descr => 'less than or equal', - oprname => '<=', oprleft => 'macaddr', oprright => 'macaddr', - oprresult => 'bool', oprcom => '>=(macaddr,macaddr)', - oprnegate => '>(macaddr,macaddr)', oprcode => 'macaddr_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1224', descr => 'greater than', - oprname => '>', oprleft => 'macaddr', oprright => 'macaddr', - oprresult => 'bool', oprcom => '<(macaddr,macaddr)', - oprnegate => '<=(macaddr,macaddr)', oprcode => 'macaddr_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1225', descr => 'greater than or equal', - oprname => '>=', oprleft => 'macaddr', oprright => 'macaddr', - oprresult => 'bool', oprcom => '<=(macaddr,macaddr)', - oprnegate => '<(macaddr,macaddr)', oprcode => 'macaddr_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '3147', descr => 'bitwise not', - oprname => '~', oprkind => 'l', oprleft => '0', oprright => 'macaddr', - oprresult => 'macaddr', oprcode => 'macaddr_not' }, -{ oid => '3148', descr => 'bitwise and', - oprname => '&', oprleft => 'macaddr', oprright => 'macaddr', - oprresult => 'macaddr', oprcode => 'macaddr_and' }, -{ oid => '3149', descr => 'bitwise or', - oprname => '|', oprleft => 'macaddr', oprright => 'macaddr', - oprresult => 'macaddr', oprcode => 'macaddr_or' }, - -# MACADDR8 type -{ oid => '3362', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'macaddr8', - oprright => 'macaddr8', oprresult => 'bool', oprcom => '=(macaddr8,macaddr8)', - oprnegate => '<>(macaddr8,macaddr8)', oprcode => 'macaddr8_eq', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '3363', descr => 'not equal', - oprname => '<>', oprleft => 'macaddr8', oprright => 'macaddr8', - oprresult => 'bool', oprcom => '<>(macaddr8,macaddr8)', - oprnegate => '=(macaddr8,macaddr8)', oprcode => 'macaddr8_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '3364', descr => 'less than', - oprname => '<', oprleft => 'macaddr8', oprright => 'macaddr8', - oprresult => 'bool', oprcom => '>(macaddr8,macaddr8)', - oprnegate => '>=(macaddr8,macaddr8)', oprcode => 'macaddr8_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '3365', descr => 'less than or equal', - oprname => '<=', oprleft => 'macaddr8', oprright => 'macaddr8', - oprresult => 'bool', oprcom => '>=(macaddr8,macaddr8)', - oprnegate => '>(macaddr8,macaddr8)', oprcode => 'macaddr8_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '3366', descr => 'greater than', - oprname => '>', oprleft => 'macaddr8', oprright => 'macaddr8', - oprresult => 'bool', oprcom => '<(macaddr8,macaddr8)', - oprnegate => '<=(macaddr8,macaddr8)', oprcode => 'macaddr8_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '3367', descr => 'greater than or equal', - oprname => '>=', oprleft => 'macaddr8', oprright => 'macaddr8', - oprresult => 'bool', oprcom => '<=(macaddr8,macaddr8)', - oprnegate => '<(macaddr8,macaddr8)', oprcode => 'macaddr8_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '3368', descr => 'bitwise not', - oprname => '~', oprkind => 'l', oprleft => '0', oprright => 'macaddr8', - oprresult => 'macaddr8', oprcode => 'macaddr8_not' }, -{ oid => '3369', descr => 'bitwise and', - oprname => '&', oprleft => 'macaddr8', oprright => 'macaddr8', - oprresult => 'macaddr8', oprcode => 'macaddr8_and' }, -{ oid => '3370', descr => 'bitwise or', - oprname => '|', oprleft => 'macaddr8', oprright => 'macaddr8', - oprresult => 'macaddr8', oprcode => 'macaddr8_or' }, - -# INET type (these also support CIDR via implicit cast) -{ oid => '1201', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'inet', - oprright => 'inet', oprresult => 'bool', oprcom => '=(inet,inet)', - oprnegate => '<>(inet,inet)', oprcode => 'network_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '1202', descr => 'not equal', - oprname => '<>', oprleft => 'inet', oprright => 'inet', oprresult => 'bool', - oprcom => '<>(inet,inet)', oprnegate => '=(inet,inet)', - oprcode => 'network_ne', oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1203', descr => 'less than', - oprname => '<', oprleft => 'inet', oprright => 'inet', oprresult => 'bool', - oprcom => '>(inet,inet)', oprnegate => '>=(inet,inet)', - oprcode => 'network_lt', oprrest => 'scalarltsel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '1204', descr => 'less than or equal', - oprname => '<=', oprleft => 'inet', oprright => 'inet', oprresult => 'bool', - oprcom => '>=(inet,inet)', oprnegate => '>(inet,inet)', - oprcode => 'network_le', oprrest => 'scalarlesel', - oprjoin => 'scalarlejoinsel' }, -{ oid => '1205', descr => 'greater than', - oprname => '>', oprleft => 'inet', oprright => 'inet', oprresult => 'bool', - oprcom => '<(inet,inet)', oprnegate => '<=(inet,inet)', - oprcode => 'network_gt', oprrest => 'scalargtsel', - oprjoin => 'scalargtjoinsel' }, -{ oid => '1206', descr => 'greater than or equal', - oprname => '>=', oprleft => 'inet', oprright => 'inet', oprresult => 'bool', - oprcom => '<=(inet,inet)', oprnegate => '<(inet,inet)', - oprcode => 'network_ge', oprrest => 'scalargesel', - oprjoin => 'scalargejoinsel' }, -{ oid => '931', oid_symbol => 'OID_INET_SUB_OP', descr => 'is subnet', - oprname => '<<', oprleft => 'inet', oprright => 'inet', oprresult => 'bool', - oprcom => '>>(inet,inet)', oprcode => 'network_sub', oprrest => 'networksel', - oprjoin => 'networkjoinsel' }, -{ oid => '932', oid_symbol => 'OID_INET_SUBEQ_OP', - descr => 'is subnet or equal', - oprname => '<<=', oprleft => 'inet', oprright => 'inet', oprresult => 'bool', - oprcom => '>>=(inet,inet)', oprcode => 'network_subeq', - oprrest => 'networksel', oprjoin => 'networkjoinsel' }, -{ oid => '933', oid_symbol => 'OID_INET_SUP_OP', descr => 'is supernet', - oprname => '>>', oprleft => 'inet', oprright => 'inet', oprresult => 'bool', - oprcom => '<<(inet,inet)', oprcode => 'network_sup', oprrest => 'networksel', - oprjoin => 'networkjoinsel' }, -{ oid => '934', oid_symbol => 'OID_INET_SUPEQ_OP', - descr => 'is supernet or equal', - oprname => '>>=', oprleft => 'inet', oprright => 'inet', oprresult => 'bool', - oprcom => '<<=(inet,inet)', oprcode => 'network_supeq', - oprrest => 'networksel', oprjoin => 'networkjoinsel' }, -{ oid => '3552', oid_symbol => 'OID_INET_OVERLAP_OP', - descr => 'overlaps (is subnet or supernet)', - oprname => '&&', oprleft => 'inet', oprright => 'inet', oprresult => 'bool', - oprcom => '&&(inet,inet)', oprcode => 'network_overlap', - oprrest => 'networksel', oprjoin => 'networkjoinsel' }, - -{ oid => '2634', descr => 'bitwise not', - oprname => '~', oprkind => 'l', oprleft => '0', oprright => 'inet', - oprresult => 'inet', oprcode => 'inetnot' }, -{ oid => '2635', descr => 'bitwise and', - oprname => '&', oprleft => 'inet', oprright => 'inet', oprresult => 'inet', - oprcode => 'inetand' }, -{ oid => '2636', descr => 'bitwise or', - oprname => '|', oprleft => 'inet', oprright => 'inet', oprresult => 'inet', - oprcode => 'inetor' }, -{ oid => '2637', descr => 'add', - oprname => '+', oprleft => 'inet', oprright => 'int8', oprresult => 'inet', - oprcom => '+(int8,inet)', oprcode => 'inetpl' }, -{ oid => '2638', descr => 'add', - oprname => '+', oprleft => 'int8', oprright => 'inet', oprresult => 'inet', - oprcom => '+(inet,int8)', oprcode => 'int8pl_inet' }, -{ oid => '2639', descr => 'subtract', - oprname => '-', oprleft => 'inet', oprright => 'int8', oprresult => 'inet', - oprcode => 'inetmi_int8' }, -{ oid => '2640', descr => 'subtract', - oprname => '-', oprleft => 'inet', oprright => 'inet', oprresult => 'int8', - oprcode => 'inetmi' }, - -# case-insensitive LIKE hacks -{ oid => '1625', oid_symbol => 'OID_NAME_ICLIKE_OP', - descr => 'matches LIKE expression, case-insensitive', - oprname => '~~*', oprleft => 'name', oprright => 'text', oprresult => 'bool', - oprnegate => '!~~*(name,text)', oprcode => 'nameiclike', - oprrest => 'iclikesel', oprjoin => 'iclikejoinsel' }, -{ oid => '1626', descr => 'does not match LIKE expression, case-insensitive', - oprname => '!~~*', oprleft => 'name', oprright => 'text', oprresult => 'bool', - oprnegate => '~~*(name,text)', oprcode => 'nameicnlike', - oprrest => 'icnlikesel', oprjoin => 'icnlikejoinsel' }, -{ oid => '1627', oid_symbol => 'OID_TEXT_ICLIKE_OP', - descr => 'matches LIKE expression, case-insensitive', - oprname => '~~*', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprnegate => '!~~*(text,text)', oprcode => 'texticlike', - oprrest => 'iclikesel', oprjoin => 'iclikejoinsel' }, -{ oid => '1628', descr => 'does not match LIKE expression, case-insensitive', - oprname => '!~~*', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprnegate => '~~*(text,text)', oprcode => 'texticnlike', - oprrest => 'icnlikesel', oprjoin => 'icnlikejoinsel' }, -{ oid => '1629', oid_symbol => 'OID_BPCHAR_ICLIKE_OP', - descr => 'matches LIKE expression, case-insensitive', - oprname => '~~*', oprleft => 'bpchar', oprright => 'text', - oprresult => 'bool', oprnegate => '!~~*(bpchar,text)', - oprcode => 'bpchariclike', oprrest => 'iclikesel', - oprjoin => 'iclikejoinsel' }, -{ oid => '1630', descr => 'does not match LIKE expression, case-insensitive', - oprname => '!~~*', oprleft => 'bpchar', oprright => 'text', - oprresult => 'bool', oprnegate => '~~*(bpchar,text)', - oprcode => 'bpcharicnlike', oprrest => 'icnlikesel', - oprjoin => 'icnlikejoinsel' }, - -# NUMERIC type - OID's 1700-1799 -{ oid => '1751', descr => 'negate', - oprname => '-', oprkind => 'l', oprleft => '0', oprright => 'numeric', - oprresult => 'numeric', oprcode => 'numeric_uminus' }, -{ oid => '1752', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'numeric', - oprright => 'numeric', oprresult => 'bool', oprcom => '=(numeric,numeric)', - oprnegate => '<>(numeric,numeric)', oprcode => 'numeric_eq', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '1753', descr => 'not equal', - oprname => '<>', oprleft => 'numeric', oprright => 'numeric', - oprresult => 'bool', oprcom => '<>(numeric,numeric)', - oprnegate => '=(numeric,numeric)', oprcode => 'numeric_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1754', descr => 'less than', - oprname => '<', oprleft => 'numeric', oprright => 'numeric', - oprresult => 'bool', oprcom => '>(numeric,numeric)', - oprnegate => '>=(numeric,numeric)', oprcode => 'numeric_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1755', descr => 'less than or equal', - oprname => '<=', oprleft => 'numeric', oprright => 'numeric', - oprresult => 'bool', oprcom => '>=(numeric,numeric)', - oprnegate => '>(numeric,numeric)', oprcode => 'numeric_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1756', descr => 'greater than', - oprname => '>', oprleft => 'numeric', oprright => 'numeric', - oprresult => 'bool', oprcom => '<(numeric,numeric)', - oprnegate => '<=(numeric,numeric)', oprcode => 'numeric_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1757', descr => 'greater than or equal', - oprname => '>=', oprleft => 'numeric', oprright => 'numeric', - oprresult => 'bool', oprcom => '<=(numeric,numeric)', - oprnegate => '<(numeric,numeric)', oprcode => 'numeric_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '1758', descr => 'add', - oprname => '+', oprleft => 'numeric', oprright => 'numeric', - oprresult => 'numeric', oprcom => '+(numeric,numeric)', - oprcode => 'numeric_add' }, -{ oid => '1759', descr => 'subtract', - oprname => '-', oprleft => 'numeric', oprright => 'numeric', - oprresult => 'numeric', oprcode => 'numeric_sub' }, -{ oid => '1760', descr => 'multiply', - oprname => '*', oprleft => 'numeric', oprright => 'numeric', - oprresult => 'numeric', oprcom => '*(numeric,numeric)', - oprcode => 'numeric_mul' }, -{ oid => '1761', descr => 'divide', - oprname => '/', oprleft => 'numeric', oprright => 'numeric', - oprresult => 'numeric', oprcode => 'numeric_div' }, -{ oid => '1762', descr => 'modulus', - oprname => '%', oprleft => 'numeric', oprright => 'numeric', - oprresult => 'numeric', oprcode => 'numeric_mod' }, -{ oid => '1038', descr => 'exponentiation', - oprname => '^', oprleft => 'numeric', oprright => 'numeric', - oprresult => 'numeric', oprcode => 'numeric_power' }, -{ oid => '1763', descr => 'absolute value', - oprname => '@', oprkind => 'l', oprleft => '0', oprright => 'numeric', - oprresult => 'numeric', oprcode => 'numeric_abs' }, - -{ oid => '1784', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprleft => 'bit', oprright => 'bit', - oprresult => 'bool', oprcom => '=(bit,bit)', oprnegate => '<>(bit,bit)', - oprcode => 'biteq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '1785', descr => 'not equal', - oprname => '<>', oprleft => 'bit', oprright => 'bit', oprresult => 'bool', - oprcom => '<>(bit,bit)', oprnegate => '=(bit,bit)', oprcode => 'bitne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1786', descr => 'less than', - oprname => '<', oprleft => 'bit', oprright => 'bit', oprresult => 'bool', - oprcom => '>(bit,bit)', oprnegate => '>=(bit,bit)', oprcode => 'bitlt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1787', descr => 'greater than', - oprname => '>', oprleft => 'bit', oprright => 'bit', oprresult => 'bool', - oprcom => '<(bit,bit)', oprnegate => '<=(bit,bit)', oprcode => 'bitgt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1788', descr => 'less than or equal', - oprname => '<=', oprleft => 'bit', oprright => 'bit', oprresult => 'bool', - oprcom => '>=(bit,bit)', oprnegate => '>(bit,bit)', oprcode => 'bitle', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1789', descr => 'greater than or equal', - oprname => '>=', oprleft => 'bit', oprright => 'bit', oprresult => 'bool', - oprcom => '<=(bit,bit)', oprnegate => '<(bit,bit)', oprcode => 'bitge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '1791', descr => 'bitwise and', - oprname => '&', oprleft => 'bit', oprright => 'bit', oprresult => 'bit', - oprcom => '&(bit,bit)', oprcode => 'bitand' }, -{ oid => '1792', descr => 'bitwise or', - oprname => '|', oprleft => 'bit', oprright => 'bit', oprresult => 'bit', - oprcom => '|(bit,bit)', oprcode => 'bitor' }, -{ oid => '1793', descr => 'bitwise exclusive or', - oprname => '#', oprleft => 'bit', oprright => 'bit', oprresult => 'bit', - oprcom => '#(bit,bit)', oprcode => 'bitxor' }, -{ oid => '1794', descr => 'bitwise not', - oprname => '~', oprkind => 'l', oprleft => '0', oprright => 'bit', - oprresult => 'bit', oprcode => 'bitnot' }, -{ oid => '1795', descr => 'bitwise shift left', - oprname => '<<', oprleft => 'bit', oprright => 'int4', oprresult => 'bit', - oprcode => 'bitshiftleft' }, -{ oid => '1796', descr => 'bitwise shift right', - oprname => '>>', oprleft => 'bit', oprright => 'int4', oprresult => 'bit', - oprcode => 'bitshiftright' }, -{ oid => '1797', descr => 'concatenate', - oprname => '||', oprleft => 'varbit', oprright => 'varbit', - oprresult => 'varbit', oprcode => 'bitcat' }, - -{ oid => '1800', descr => 'add', - oprname => '+', oprleft => 'time', oprright => 'interval', - oprresult => 'time', oprcom => '+(interval,time)', - oprcode => 'time_pl_interval' }, -{ oid => '1801', descr => 'subtract', - oprname => '-', oprleft => 'time', oprright => 'interval', - oprresult => 'time', oprcode => 'time_mi_interval' }, -{ oid => '1802', descr => 'add', - oprname => '+', oprleft => 'timetz', oprright => 'interval', - oprresult => 'timetz', oprcom => '+(interval,timetz)', - oprcode => 'timetz_pl_interval' }, -{ oid => '1803', descr => 'subtract', - oprname => '-', oprleft => 'timetz', oprright => 'interval', - oprresult => 'timetz', oprcode => 'timetz_mi_interval' }, - -{ oid => '1804', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprleft => 'varbit', oprright => 'varbit', - oprresult => 'bool', oprcom => '=(varbit,varbit)', - oprnegate => '<>(varbit,varbit)', oprcode => 'varbiteq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '1805', descr => 'not equal', - oprname => '<>', oprleft => 'varbit', oprright => 'varbit', - oprresult => 'bool', oprcom => '<>(varbit,varbit)', - oprnegate => '=(varbit,varbit)', oprcode => 'varbitne', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, -{ oid => '1806', descr => 'less than', - oprname => '<', oprleft => 'varbit', oprright => 'varbit', - oprresult => 'bool', oprcom => '>(varbit,varbit)', - oprnegate => '>=(varbit,varbit)', oprcode => 'varbitlt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1807', descr => 'greater than', - oprname => '>', oprleft => 'varbit', oprright => 'varbit', - oprresult => 'bool', oprcom => '<(varbit,varbit)', - oprnegate => '<=(varbit,varbit)', oprcode => 'varbitgt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1808', descr => 'less than or equal', - oprname => '<=', oprleft => 'varbit', oprright => 'varbit', - oprresult => 'bool', oprcom => '>=(varbit,varbit)', - oprnegate => '>(varbit,varbit)', oprcode => 'varbitle', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1809', descr => 'greater than or equal', - oprname => '>=', oprleft => 'varbit', oprright => 'varbit', - oprresult => 'bool', oprcom => '<=(varbit,varbit)', - oprnegate => '<(varbit,varbit)', oprcode => 'varbitge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '1849', descr => 'add', - oprname => '+', oprleft => 'interval', oprright => 'time', - oprresult => 'time', oprcom => '+(time,interval)', - oprcode => 'interval_pl_time' }, - -{ oid => '1862', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'int2', - oprright => 'int8', oprresult => 'bool', oprcom => '=(int8,int2)', - oprnegate => '<>(int2,int8)', oprcode => 'int28eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '1863', descr => 'not equal', - oprname => '<>', oprleft => 'int2', oprright => 'int8', oprresult => 'bool', - oprcom => '<>(int8,int2)', oprnegate => '=(int2,int8)', oprcode => 'int28ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1864', descr => 'less than', - oprname => '<', oprleft => 'int2', oprright => 'int8', oprresult => 'bool', - oprcom => '>(int8,int2)', oprnegate => '>=(int2,int8)', oprcode => 'int28lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1865', descr => 'greater than', - oprname => '>', oprleft => 'int2', oprright => 'int8', oprresult => 'bool', - oprcom => '<(int8,int2)', oprnegate => '<=(int2,int8)', oprcode => 'int28gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1866', descr => 'less than or equal', - oprname => '<=', oprleft => 'int2', oprright => 'int8', oprresult => 'bool', - oprcom => '>=(int8,int2)', oprnegate => '>(int2,int8)', oprcode => 'int28le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1867', descr => 'greater than or equal', - oprname => '>=', oprleft => 'int2', oprright => 'int8', oprresult => 'bool', - oprcom => '<=(int8,int2)', oprnegate => '<(int2,int8)', oprcode => 'int28ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '1868', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'int8', - oprright => 'int2', oprresult => 'bool', oprcom => '=(int2,int8)', - oprnegate => '<>(int8,int2)', oprcode => 'int82eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '1869', descr => 'not equal', - oprname => '<>', oprleft => 'int8', oprright => 'int2', oprresult => 'bool', - oprcom => '<>(int2,int8)', oprnegate => '=(int8,int2)', oprcode => 'int82ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1870', descr => 'less than', - oprname => '<', oprleft => 'int8', oprright => 'int2', oprresult => 'bool', - oprcom => '>(int2,int8)', oprnegate => '>=(int8,int2)', oprcode => 'int82lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '1871', descr => 'greater than', - oprname => '>', oprleft => 'int8', oprright => 'int2', oprresult => 'bool', - oprcom => '<(int2,int8)', oprnegate => '<=(int8,int2)', oprcode => 'int82gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '1872', descr => 'less than or equal', - oprname => '<=', oprleft => 'int8', oprright => 'int2', oprresult => 'bool', - oprcom => '>=(int2,int8)', oprnegate => '>(int8,int2)', oprcode => 'int82le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '1873', descr => 'greater than or equal', - oprname => '>=', oprleft => 'int8', oprright => 'int2', oprresult => 'bool', - oprcom => '<=(int2,int8)', oprnegate => '<(int8,int2)', oprcode => 'int82ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -{ oid => '1874', descr => 'bitwise and', - oprname => '&', oprleft => 'int2', oprright => 'int2', oprresult => 'int2', - oprcom => '&(int2,int2)', oprcode => 'int2and' }, -{ oid => '1875', descr => 'bitwise or', - oprname => '|', oprleft => 'int2', oprright => 'int2', oprresult => 'int2', - oprcom => '|(int2,int2)', oprcode => 'int2or' }, -{ oid => '1876', descr => 'bitwise exclusive or', - oprname => '#', oprleft => 'int2', oprright => 'int2', oprresult => 'int2', - oprcom => '#(int2,int2)', oprcode => 'int2xor' }, -{ oid => '1877', descr => 'bitwise not', - oprname => '~', oprkind => 'l', oprleft => '0', oprright => 'int2', - oprresult => 'int2', oprcode => 'int2not' }, -{ oid => '1878', descr => 'bitwise shift left', - oprname => '<<', oprleft => 'int2', oprright => 'int4', oprresult => 'int2', - oprcode => 'int2shl' }, -{ oid => '1879', descr => 'bitwise shift right', - oprname => '>>', oprleft => 'int2', oprright => 'int4', oprresult => 'int2', - oprcode => 'int2shr' }, - -{ oid => '1880', descr => 'bitwise and', - oprname => '&', oprleft => 'int4', oprright => 'int4', oprresult => 'int4', - oprcom => '&(int4,int4)', oprcode => 'int4and' }, -{ oid => '1881', descr => 'bitwise or', - oprname => '|', oprleft => 'int4', oprright => 'int4', oprresult => 'int4', - oprcom => '|(int4,int4)', oprcode => 'int4or' }, -{ oid => '1882', descr => 'bitwise exclusive or', - oprname => '#', oprleft => 'int4', oprright => 'int4', oprresult => 'int4', - oprcom => '#(int4,int4)', oprcode => 'int4xor' }, -{ oid => '1883', descr => 'bitwise not', - oprname => '~', oprkind => 'l', oprleft => '0', oprright => 'int4', - oprresult => 'int4', oprcode => 'int4not' }, -{ oid => '1884', descr => 'bitwise shift left', - oprname => '<<', oprleft => 'int4', oprright => 'int4', oprresult => 'int4', - oprcode => 'int4shl' }, -{ oid => '1885', descr => 'bitwise shift right', - oprname => '>>', oprleft => 'int4', oprright => 'int4', oprresult => 'int4', - oprcode => 'int4shr' }, - -{ oid => '1886', descr => 'bitwise and', - oprname => '&', oprleft => 'int8', oprright => 'int8', oprresult => 'int8', - oprcom => '&(int8,int8)', oprcode => 'int8and' }, -{ oid => '1887', descr => 'bitwise or', - oprname => '|', oprleft => 'int8', oprright => 'int8', oprresult => 'int8', - oprcom => '|(int8,int8)', oprcode => 'int8or' }, -{ oid => '1888', descr => 'bitwise exclusive or', - oprname => '#', oprleft => 'int8', oprright => 'int8', oprresult => 'int8', - oprcom => '#(int8,int8)', oprcode => 'int8xor' }, -{ oid => '1889', descr => 'bitwise not', - oprname => '~', oprkind => 'l', oprleft => '0', oprright => 'int8', - oprresult => 'int8', oprcode => 'int8not' }, -{ oid => '1890', descr => 'bitwise shift left', - oprname => '<<', oprleft => 'int8', oprright => 'int4', oprresult => 'int8', - oprcode => 'int8shl' }, -{ oid => '1891', descr => 'bitwise shift right', - oprname => '>>', oprleft => 'int8', oprright => 'int4', oprresult => 'int8', - oprcode => 'int8shr' }, - -{ oid => '1916', descr => 'unary plus', - oprname => '+', oprkind => 'l', oprleft => '0', oprright => 'int8', - oprresult => 'int8', oprcode => 'int8up' }, -{ oid => '1917', descr => 'unary plus', - oprname => '+', oprkind => 'l', oprleft => '0', oprright => 'int2', - oprresult => 'int2', oprcode => 'int2up' }, -{ oid => '1918', descr => 'unary plus', - oprname => '+', oprkind => 'l', oprleft => '0', oprright => 'int4', - oprresult => 'int4', oprcode => 'int4up' }, -{ oid => '1919', descr => 'unary plus', - oprname => '+', oprkind => 'l', oprleft => '0', oprright => 'float4', - oprresult => 'float4', oprcode => 'float4up' }, -{ oid => '1920', descr => 'unary plus', - oprname => '+', oprkind => 'l', oprleft => '0', oprright => 'float8', - oprresult => 'float8', oprcode => 'float8up' }, -{ oid => '1921', descr => 'unary plus', - oprname => '+', oprkind => 'l', oprleft => '0', oprright => 'numeric', - oprresult => 'numeric', oprcode => 'numeric_uplus' }, - -# bytea operators -{ oid => '1955', oid_symbol => 'ByteaEqualOperator', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'bytea', - oprright => 'bytea', oprresult => 'bool', oprcom => '=(bytea,bytea)', - oprnegate => '<>(bytea,bytea)', oprcode => 'byteaeq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '1956', descr => 'not equal', - oprname => '<>', oprleft => 'bytea', oprright => 'bytea', oprresult => 'bool', - oprcom => '<>(bytea,bytea)', oprnegate => '=(bytea,bytea)', - oprcode => 'byteane', oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '1957', oid_symbol => 'ByteaLessOperator', descr => 'less than', - oprname => '<', oprleft => 'bytea', oprright => 'bytea', oprresult => 'bool', - oprcom => '>(bytea,bytea)', oprnegate => '>=(bytea,bytea)', - oprcode => 'bytealt', oprrest => 'scalarltsel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '1958', descr => 'less than or equal', - oprname => '<=', oprleft => 'bytea', oprright => 'bytea', oprresult => 'bool', - oprcom => '>=(bytea,bytea)', oprnegate => '>(bytea,bytea)', - oprcode => 'byteale', oprrest => 'scalarlesel', - oprjoin => 'scalarlejoinsel' }, -{ oid => '1959', descr => 'greater than', - oprname => '>', oprleft => 'bytea', oprright => 'bytea', oprresult => 'bool', - oprcom => '<(bytea,bytea)', oprnegate => '<=(bytea,bytea)', - oprcode => 'byteagt', oprrest => 'scalargtsel', - oprjoin => 'scalargtjoinsel' }, -{ oid => '1960', oid_symbol => 'ByteaGreaterEqualOperator', - descr => 'greater than or equal', - oprname => '>=', oprleft => 'bytea', oprright => 'bytea', oprresult => 'bool', - oprcom => '<=(bytea,bytea)', oprnegate => '<(bytea,bytea)', - oprcode => 'byteage', oprrest => 'scalargesel', - oprjoin => 'scalargejoinsel' }, - -{ oid => '2016', oid_symbol => 'OID_BYTEA_LIKE_OP', - descr => 'matches LIKE expression', - oprname => '~~', oprleft => 'bytea', oprright => 'bytea', oprresult => 'bool', - oprnegate => '!~~(bytea,bytea)', oprcode => 'bytealike', oprrest => 'likesel', - oprjoin => 'likejoinsel' }, -{ oid => '2017', descr => 'does not match LIKE expression', - oprname => '!~~', oprleft => 'bytea', oprright => 'bytea', - oprresult => 'bool', oprnegate => '~~(bytea,bytea)', oprcode => 'byteanlike', - oprrest => 'nlikesel', oprjoin => 'nlikejoinsel' }, -{ oid => '2018', descr => 'concatenate', - oprname => '||', oprleft => 'bytea', oprright => 'bytea', - oprresult => 'bytea', oprcode => 'byteacat' }, - -# timestamp operators -{ oid => '2060', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'timestamp', - oprright => 'timestamp', oprresult => 'bool', - oprcom => '=(timestamp,timestamp)', oprnegate => '<>(timestamp,timestamp)', - oprcode => 'timestamp_eq', oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '2061', descr => 'not equal', - oprname => '<>', oprleft => 'timestamp', oprright => 'timestamp', - oprresult => 'bool', oprcom => '<>(timestamp,timestamp)', - oprnegate => '=(timestamp,timestamp)', oprcode => 'timestamp_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '2062', descr => 'less than', - oprname => '<', oprleft => 'timestamp', oprright => 'timestamp', - oprresult => 'bool', oprcom => '>(timestamp,timestamp)', - oprnegate => '>=(timestamp,timestamp)', oprcode => 'timestamp_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '2063', descr => 'less than or equal', - oprname => '<=', oprleft => 'timestamp', oprright => 'timestamp', - oprresult => 'bool', oprcom => '>=(timestamp,timestamp)', - oprnegate => '>(timestamp,timestamp)', oprcode => 'timestamp_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '2064', descr => 'greater than', - oprname => '>', oprleft => 'timestamp', oprright => 'timestamp', - oprresult => 'bool', oprcom => '<(timestamp,timestamp)', - oprnegate => '<=(timestamp,timestamp)', oprcode => 'timestamp_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '2065', descr => 'greater than or equal', - oprname => '>=', oprleft => 'timestamp', oprright => 'timestamp', - oprresult => 'bool', oprcom => '<=(timestamp,timestamp)', - oprnegate => '<(timestamp,timestamp)', oprcode => 'timestamp_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '2066', descr => 'add', - oprname => '+', oprleft => 'timestamp', oprright => 'interval', - oprresult => 'timestamp', oprcom => '+(interval,timestamp)', - oprcode => 'timestamp_pl_interval' }, -{ oid => '2067', descr => 'subtract', - oprname => '-', oprleft => 'timestamp', oprright => 'timestamp', - oprresult => 'interval', oprcode => 'timestamp_mi' }, -{ oid => '2068', descr => 'subtract', - oprname => '-', oprleft => 'timestamp', oprright => 'interval', - oprresult => 'timestamp', oprcode => 'timestamp_mi_interval' }, - -# character-by-character (not collation order) comparison operators for character types -{ oid => '2314', oid_symbol => 'TextPatternLessOperator', - descr => 'less than', - oprname => '~<~', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprcom => '~>~(text,text)', oprnegate => '~>=~(text,text)', - oprcode => 'text_pattern_lt', oprrest => 'scalarltsel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '2315', descr => 'less than or equal', - oprname => '~<=~', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprcom => '~>=~(text,text)', oprnegate => '~>~(text,text)', - oprcode => 'text_pattern_le', oprrest => 'scalarlesel', - oprjoin => 'scalarlejoinsel' }, -{ oid => '2317', oid_symbol => 'TextPatternGreaterEqualOperator', - descr => 'greater than or equal', - oprname => '~>=~', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprcom => '~<=~(text,text)', oprnegate => '~<~(text,text)', - oprcode => 'text_pattern_ge', oprrest => 'scalargesel', - oprjoin => 'scalargejoinsel' }, -{ oid => '2318', descr => 'greater than', - oprname => '~>~', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprcom => '~<~(text,text)', oprnegate => '~<=~(text,text)', - oprcode => 'text_pattern_gt', oprrest => 'scalargtsel', - oprjoin => 'scalargtjoinsel' }, - -{ oid => '2326', oid_symbol => 'BpcharPatternLessOperator', - descr => 'less than', - oprname => '~<~', oprleft => 'bpchar', oprright => 'bpchar', - oprresult => 'bool', oprcom => '~>~(bpchar,bpchar)', - oprnegate => '~>=~(bpchar,bpchar)', oprcode => 'bpchar_pattern_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '2327', descr => 'less than or equal', - oprname => '~<=~', oprleft => 'bpchar', oprright => 'bpchar', - oprresult => 'bool', oprcom => '~>=~(bpchar,bpchar)', - oprnegate => '~>~(bpchar,bpchar)', oprcode => 'bpchar_pattern_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '2329', oid_symbol => 'BpcharPatternGreaterEqualOperator', - descr => 'greater than or equal', - oprname => '~>=~', oprleft => 'bpchar', oprright => 'bpchar', - oprresult => 'bool', oprcom => '~<=~(bpchar,bpchar)', - oprnegate => '~<~(bpchar,bpchar)', oprcode => 'bpchar_pattern_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '2330', descr => 'greater than', - oprname => '~>~', oprleft => 'bpchar', oprright => 'bpchar', - oprresult => 'bool', oprcom => '~<~(bpchar,bpchar)', - oprnegate => '~<=~(bpchar,bpchar)', oprcode => 'bpchar_pattern_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, - -# crosstype operations for date vs. timestamp and timestamptz -{ oid => '2345', descr => 'less than', - oprname => '<', oprleft => 'date', oprright => 'timestamp', - oprresult => 'bool', oprcom => '>(timestamp,date)', - oprnegate => '>=(date,timestamp)', oprcode => 'date_lt_timestamp', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '2346', descr => 'less than or equal', - oprname => '<=', oprleft => 'date', oprright => 'timestamp', - oprresult => 'bool', oprcom => '>=(timestamp,date)', - oprnegate => '>(date,timestamp)', oprcode => 'date_le_timestamp', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '2347', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprleft => 'date', - oprright => 'timestamp', oprresult => 'bool', oprcom => '=(timestamp,date)', - oprnegate => '<>(date,timestamp)', oprcode => 'date_eq_timestamp', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '2348', descr => 'greater than or equal', - oprname => '>=', oprleft => 'date', oprright => 'timestamp', - oprresult => 'bool', oprcom => '<=(timestamp,date)', - oprnegate => '<(date,timestamp)', oprcode => 'date_ge_timestamp', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '2349', descr => 'greater than', - oprname => '>', oprleft => 'date', oprright => 'timestamp', - oprresult => 'bool', oprcom => '<(timestamp,date)', - oprnegate => '<=(date,timestamp)', oprcode => 'date_gt_timestamp', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '2350', descr => 'not equal', - oprname => '<>', oprleft => 'date', oprright => 'timestamp', - oprresult => 'bool', oprcom => '<>(timestamp,date)', - oprnegate => '=(date,timestamp)', oprcode => 'date_ne_timestamp', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, - -{ oid => '2358', descr => 'less than', - oprname => '<', oprleft => 'date', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '>(timestamptz,date)', - oprnegate => '>=(date,timestamptz)', oprcode => 'date_lt_timestamptz', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '2359', descr => 'less than or equal', - oprname => '<=', oprleft => 'date', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '>=(timestamptz,date)', - oprnegate => '>(date,timestamptz)', oprcode => 'date_le_timestamptz', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '2360', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprleft => 'date', - oprright => 'timestamptz', oprresult => 'bool', - oprcom => '=(timestamptz,date)', oprnegate => '<>(date,timestamptz)', - oprcode => 'date_eq_timestamptz', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '2361', descr => 'greater than or equal', - oprname => '>=', oprleft => 'date', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '<=(timestamptz,date)', - oprnegate => '<(date,timestamptz)', oprcode => 'date_ge_timestamptz', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '2362', descr => 'greater than', - oprname => '>', oprleft => 'date', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '<(timestamptz,date)', - oprnegate => '<=(date,timestamptz)', oprcode => 'date_gt_timestamptz', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '2363', descr => 'not equal', - oprname => '<>', oprleft => 'date', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '<>(timestamptz,date)', - oprnegate => '=(date,timestamptz)', oprcode => 'date_ne_timestamptz', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, - -{ oid => '2371', descr => 'less than', - oprname => '<', oprleft => 'timestamp', oprright => 'date', - oprresult => 'bool', oprcom => '>(date,timestamp)', - oprnegate => '>=(timestamp,date)', oprcode => 'timestamp_lt_date', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '2372', descr => 'less than or equal', - oprname => '<=', oprleft => 'timestamp', oprright => 'date', - oprresult => 'bool', oprcom => '>=(date,timestamp)', - oprnegate => '>(timestamp,date)', oprcode => 'timestamp_le_date', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '2373', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprleft => 'timestamp', - oprright => 'date', oprresult => 'bool', oprcom => '=(date,timestamp)', - oprnegate => '<>(timestamp,date)', oprcode => 'timestamp_eq_date', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '2374', descr => 'greater than or equal', - oprname => '>=', oprleft => 'timestamp', oprright => 'date', - oprresult => 'bool', oprcom => '<=(date,timestamp)', - oprnegate => '<(timestamp,date)', oprcode => 'timestamp_ge_date', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '2375', descr => 'greater than', - oprname => '>', oprleft => 'timestamp', oprright => 'date', - oprresult => 'bool', oprcom => '<(date,timestamp)', - oprnegate => '<=(timestamp,date)', oprcode => 'timestamp_gt_date', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '2376', descr => 'not equal', - oprname => '<>', oprleft => 'timestamp', oprright => 'date', - oprresult => 'bool', oprcom => '<>(date,timestamp)', - oprnegate => '=(timestamp,date)', oprcode => 'timestamp_ne_date', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, - -{ oid => '2384', descr => 'less than', - oprname => '<', oprleft => 'timestamptz', oprright => 'date', - oprresult => 'bool', oprcom => '>(date,timestamptz)', - oprnegate => '>=(timestamptz,date)', oprcode => 'timestamptz_lt_date', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '2385', descr => 'less than or equal', - oprname => '<=', oprleft => 'timestamptz', oprright => 'date', - oprresult => 'bool', oprcom => '>=(date,timestamptz)', - oprnegate => '>(timestamptz,date)', oprcode => 'timestamptz_le_date', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '2386', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprleft => 'timestamptz', - oprright => 'date', oprresult => 'bool', oprcom => '=(date,timestamptz)', - oprnegate => '<>(timestamptz,date)', oprcode => 'timestamptz_eq_date', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '2387', descr => 'greater than or equal', - oprname => '>=', oprleft => 'timestamptz', oprright => 'date', - oprresult => 'bool', oprcom => '<=(date,timestamptz)', - oprnegate => '<(timestamptz,date)', oprcode => 'timestamptz_ge_date', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '2388', descr => 'greater than', - oprname => '>', oprleft => 'timestamptz', oprright => 'date', - oprresult => 'bool', oprcom => '<(date,timestamptz)', - oprnegate => '<=(timestamptz,date)', oprcode => 'timestamptz_gt_date', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '2389', descr => 'not equal', - oprname => '<>', oprleft => 'timestamptz', oprright => 'date', - oprresult => 'bool', oprcom => '<>(date,timestamptz)', - oprnegate => '=(timestamptz,date)', oprcode => 'timestamptz_ne_date', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, - -# crosstype operations for timestamp vs. timestamptz -{ oid => '2534', descr => 'less than', - oprname => '<', oprleft => 'timestamp', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '>(timestamptz,timestamp)', - oprnegate => '>=(timestamp,timestamptz)', - oprcode => 'timestamp_lt_timestamptz', oprrest => 'scalarltsel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '2535', descr => 'less than or equal', - oprname => '<=', oprleft => 'timestamp', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '>=(timestamptz,timestamp)', - oprnegate => '>(timestamp,timestamptz)', - oprcode => 'timestamp_le_timestamptz', oprrest => 'scalarlesel', - oprjoin => 'scalarlejoinsel' }, -{ oid => '2536', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprleft => 'timestamp', - oprright => 'timestamptz', oprresult => 'bool', - oprcom => '=(timestamptz,timestamp)', - oprnegate => '<>(timestamp,timestamptz)', - oprcode => 'timestamp_eq_timestamptz', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '2537', descr => 'greater than or equal', - oprname => '>=', oprleft => 'timestamp', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '<=(timestamptz,timestamp)', - oprnegate => '<(timestamp,timestamptz)', - oprcode => 'timestamp_ge_timestamptz', oprrest => 'scalargesel', - oprjoin => 'scalargejoinsel' }, -{ oid => '2538', descr => 'greater than', - oprname => '>', oprleft => 'timestamp', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '<(timestamptz,timestamp)', - oprnegate => '<=(timestamp,timestamptz)', - oprcode => 'timestamp_gt_timestamptz', oprrest => 'scalargtsel', - oprjoin => 'scalargtjoinsel' }, -{ oid => '2539', descr => 'not equal', - oprname => '<>', oprleft => 'timestamp', oprright => 'timestamptz', - oprresult => 'bool', oprcom => '<>(timestamptz,timestamp)', - oprnegate => '=(timestamp,timestamptz)', - oprcode => 'timestamp_ne_timestamptz', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, - -{ oid => '2540', descr => 'less than', - oprname => '<', oprleft => 'timestamptz', oprright => 'timestamp', - oprresult => 'bool', oprcom => '>(timestamp,timestamptz)', - oprnegate => '>=(timestamptz,timestamp)', - oprcode => 'timestamptz_lt_timestamp', oprrest => 'scalarltsel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '2541', descr => 'less than or equal', - oprname => '<=', oprleft => 'timestamptz', oprright => 'timestamp', - oprresult => 'bool', oprcom => '>=(timestamp,timestamptz)', - oprnegate => '>(timestamptz,timestamp)', - oprcode => 'timestamptz_le_timestamp', oprrest => 'scalarlesel', - oprjoin => 'scalarlejoinsel' }, -{ oid => '2542', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprleft => 'timestamptz', - oprright => 'timestamp', oprresult => 'bool', - oprcom => '=(timestamp,timestamptz)', - oprnegate => '<>(timestamptz,timestamp)', - oprcode => 'timestamptz_eq_timestamp', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '2543', descr => 'greater than or equal', - oprname => '>=', oprleft => 'timestamptz', oprright => 'timestamp', - oprresult => 'bool', oprcom => '<=(timestamp,timestamptz)', - oprnegate => '<(timestamptz,timestamp)', - oprcode => 'timestamptz_ge_timestamp', oprrest => 'scalargesel', - oprjoin => 'scalargejoinsel' }, -{ oid => '2544', descr => 'greater than', - oprname => '>', oprleft => 'timestamptz', oprright => 'timestamp', - oprresult => 'bool', oprcom => '<(timestamp,timestamptz)', - oprnegate => '<=(timestamptz,timestamp)', - oprcode => 'timestamptz_gt_timestamp', oprrest => 'scalargtsel', - oprjoin => 'scalargtjoinsel' }, -{ oid => '2545', descr => 'not equal', - oprname => '<>', oprleft => 'timestamptz', oprright => 'timestamp', - oprresult => 'bool', oprcom => '<>(timestamp,timestamptz)', - oprnegate => '=(timestamptz,timestamp)', - oprcode => 'timestamptz_ne_timestamp', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, - -# formerly-missing interval + datetime operators -{ oid => '2551', descr => 'add', - oprname => '+', oprleft => 'interval', oprright => 'date', - oprresult => 'timestamp', oprcom => '+(date,interval)', - oprcode => 'interval_pl_date' }, -{ oid => '2552', descr => 'add', - oprname => '+', oprleft => 'interval', oprright => 'timetz', - oprresult => 'timetz', oprcom => '+(timetz,interval)', - oprcode => 'interval_pl_timetz' }, -{ oid => '2553', descr => 'add', - oprname => '+', oprleft => 'interval', oprright => 'timestamp', - oprresult => 'timestamp', oprcom => '+(timestamp,interval)', - oprcode => 'interval_pl_timestamp' }, -{ oid => '2554', descr => 'add', - oprname => '+', oprleft => 'interval', oprright => 'timestamptz', - oprresult => 'timestamptz', oprcom => '+(timestamptz,interval)', - oprcode => 'interval_pl_timestamptz' }, -{ oid => '2555', descr => 'add', - oprname => '+', oprleft => 'int4', oprright => 'date', oprresult => 'date', - oprcom => '+(date,int4)', oprcode => 'integer_pl_date' }, - -# new operators for Y-direction rtree opfamilies -{ oid => '2570', descr => 'is below', - oprname => '<<|', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcode => 'box_below', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '2571', descr => 'overlaps or is below', - oprname => '&<|', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcode => 'box_overbelow', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '2572', descr => 'overlaps or is above', - oprname => '|&>', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcode => 'box_overabove', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '2573', descr => 'is above', - oprname => '|>>', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcode => 'box_above', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '2574', descr => 'is below', - oprname => '<<|', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcode => 'poly_below', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '2575', descr => 'overlaps or is below', - oprname => '&<|', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcode => 'poly_overbelow', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '2576', descr => 'overlaps or is above', - oprname => '|&>', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcode => 'poly_overabove', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '2577', descr => 'is above', - oprname => '|>>', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcode => 'poly_above', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '2589', descr => 'overlaps or is below', - oprname => '&<|', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcode => 'circle_overbelow', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, -{ oid => '2590', descr => 'overlaps or is above', - oprname => '|&>', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcode => 'circle_overabove', oprrest => 'positionsel', - oprjoin => 'positionjoinsel' }, - -# overlap/contains/contained for arrays -{ oid => '2750', oid_symbol => 'OID_ARRAY_OVERLAP_OP', descr => 'overlaps', - oprname => '&&', oprleft => 'anyarray', oprright => 'anyarray', - oprresult => 'bool', oprcom => '&&(anyarray,anyarray)', - oprcode => 'arrayoverlap', oprrest => 'arraycontsel', - oprjoin => 'arraycontjoinsel' }, -{ oid => '2751', oid_symbol => 'OID_ARRAY_CONTAINS_OP', descr => 'contains', - oprname => '@>', oprleft => 'anyarray', oprright => 'anyarray', - oprresult => 'bool', oprcom => '<@(anyarray,anyarray)', - oprcode => 'arraycontains', oprrest => 'arraycontsel', - oprjoin => 'arraycontjoinsel' }, -{ oid => '2752', oid_symbol => 'OID_ARRAY_CONTAINED_OP', - descr => 'is contained by', - oprname => '<@', oprleft => 'anyarray', oprright => 'anyarray', - oprresult => 'bool', oprcom => '@>(anyarray,anyarray)', - oprcode => 'arraycontained', oprrest => 'arraycontsel', - oprjoin => 'arraycontjoinsel' }, - -# capturing operators to preserve pre-8.3 behavior of text concatenation -{ oid => '2779', descr => 'concatenate', - oprname => '||', oprleft => 'text', oprright => 'anynonarray', - oprresult => 'text', oprcode => 'textanycat' }, -{ oid => '2780', descr => 'concatenate', - oprname => '||', oprleft => 'anynonarray', oprright => 'text', - oprresult => 'text', oprcode => 'anytextcat' }, - -# uuid operators -{ oid => '2972', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'uuid', - oprright => 'uuid', oprresult => 'bool', oprcom => '=(uuid,uuid)', - oprnegate => '<>(uuid,uuid)', oprcode => 'uuid_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '2973', descr => 'not equal', - oprname => '<>', oprleft => 'uuid', oprright => 'uuid', oprresult => 'bool', - oprcom => '<>(uuid,uuid)', oprnegate => '=(uuid,uuid)', oprcode => 'uuid_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '2974', descr => 'less than', - oprname => '<', oprleft => 'uuid', oprright => 'uuid', oprresult => 'bool', - oprcom => '>(uuid,uuid)', oprnegate => '>=(uuid,uuid)', oprcode => 'uuid_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '2975', descr => 'greater than', - oprname => '>', oprleft => 'uuid', oprright => 'uuid', oprresult => 'bool', - oprcom => '<(uuid,uuid)', oprnegate => '<=(uuid,uuid)', oprcode => 'uuid_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '2976', descr => 'less than or equal', - oprname => '<=', oprleft => 'uuid', oprright => 'uuid', oprresult => 'bool', - oprcom => '>=(uuid,uuid)', oprnegate => '>(uuid,uuid)', oprcode => 'uuid_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '2977', descr => 'greater than or equal', - oprname => '>=', oprleft => 'uuid', oprright => 'uuid', oprresult => 'bool', - oprcom => '<=(uuid,uuid)', oprnegate => '<(uuid,uuid)', oprcode => 'uuid_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -# pg_lsn operators -{ oid => '3222', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'pg_lsn', - oprright => 'pg_lsn', oprresult => 'bool', oprcom => '=(pg_lsn,pg_lsn)', - oprnegate => '<>(pg_lsn,pg_lsn)', oprcode => 'pg_lsn_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '3223', descr => 'not equal', - oprname => '<>', oprleft => 'pg_lsn', oprright => 'pg_lsn', - oprresult => 'bool', oprcom => '<>(pg_lsn,pg_lsn)', - oprnegate => '=(pg_lsn,pg_lsn)', oprcode => 'pg_lsn_ne', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, -{ oid => '3224', descr => 'less than', - oprname => '<', oprleft => 'pg_lsn', oprright => 'pg_lsn', - oprresult => 'bool', oprcom => '>(pg_lsn,pg_lsn)', - oprnegate => '>=(pg_lsn,pg_lsn)', oprcode => 'pg_lsn_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '3225', descr => 'greater than', - oprname => '>', oprleft => 'pg_lsn', oprright => 'pg_lsn', - oprresult => 'bool', oprcom => '<(pg_lsn,pg_lsn)', - oprnegate => '<=(pg_lsn,pg_lsn)', oprcode => 'pg_lsn_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '3226', descr => 'less than or equal', - oprname => '<=', oprleft => 'pg_lsn', oprright => 'pg_lsn', - oprresult => 'bool', oprcom => '>=(pg_lsn,pg_lsn)', - oprnegate => '>(pg_lsn,pg_lsn)', oprcode => 'pg_lsn_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '3227', descr => 'greater than or equal', - oprname => '>=', oprleft => 'pg_lsn', oprright => 'pg_lsn', - oprresult => 'bool', oprcom => '<=(pg_lsn,pg_lsn)', - oprnegate => '<(pg_lsn,pg_lsn)', oprcode => 'pg_lsn_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '3228', descr => 'minus', - oprname => '-', oprleft => 'pg_lsn', oprright => 'pg_lsn', - oprresult => 'numeric', oprcode => 'pg_lsn_mi' }, -{ oid => '5025', descr => 'add', - oprname => '+', oprleft => 'pg_lsn', oprright => 'numeric', - oprresult => 'pg_lsn', oprcom => '+(numeric,pg_lsn)', - oprcode => 'pg_lsn_pli' }, -{ oid => '5026', descr => 'add', - oprname => '+', oprleft => 'numeric', oprright => 'pg_lsn', - oprresult => 'pg_lsn', oprcom => '+(pg_lsn,numeric)', - oprcode => 'numeric_pl_pg_lsn' }, -{ oid => '5027', descr => 'subtract', - oprname => '-', oprleft => 'pg_lsn', oprright => 'numeric', - oprresult => 'pg_lsn', oprcode => 'pg_lsn_mii' }, - -# enum operators -{ oid => '3516', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'anyenum', - oprright => 'anyenum', oprresult => 'bool', oprcom => '=(anyenum,anyenum)', - oprnegate => '<>(anyenum,anyenum)', oprcode => 'enum_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '3517', descr => 'not equal', - oprname => '<>', oprleft => 'anyenum', oprright => 'anyenum', - oprresult => 'bool', oprcom => '<>(anyenum,anyenum)', - oprnegate => '=(anyenum,anyenum)', oprcode => 'enum_ne', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, -{ oid => '3518', descr => 'less than', - oprname => '<', oprleft => 'anyenum', oprright => 'anyenum', - oprresult => 'bool', oprcom => '>(anyenum,anyenum)', - oprnegate => '>=(anyenum,anyenum)', oprcode => 'enum_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '3519', descr => 'greater than', - oprname => '>', oprleft => 'anyenum', oprright => 'anyenum', - oprresult => 'bool', oprcom => '<(anyenum,anyenum)', - oprnegate => '<=(anyenum,anyenum)', oprcode => 'enum_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '3520', descr => 'less than or equal', - oprname => '<=', oprleft => 'anyenum', oprright => 'anyenum', - oprresult => 'bool', oprcom => '>=(anyenum,anyenum)', - oprnegate => '>(anyenum,anyenum)', oprcode => 'enum_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '3521', descr => 'greater than or equal', - oprname => '>=', oprleft => 'anyenum', oprright => 'anyenum', - oprresult => 'bool', oprcom => '<=(anyenum,anyenum)', - oprnegate => '<(anyenum,anyenum)', oprcode => 'enum_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -# tsearch operations -{ oid => '3627', descr => 'less than', - oprname => '<', oprleft => 'tsvector', oprright => 'tsvector', - oprresult => 'bool', oprcom => '>(tsvector,tsvector)', - oprnegate => '>=(tsvector,tsvector)', oprcode => 'tsvector_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '3628', descr => 'less than or equal', - oprname => '<=', oprleft => 'tsvector', oprright => 'tsvector', - oprresult => 'bool', oprcom => '>=(tsvector,tsvector)', - oprnegate => '>(tsvector,tsvector)', oprcode => 'tsvector_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '3629', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprleft => 'tsvector', - oprright => 'tsvector', oprresult => 'bool', oprcom => '=(tsvector,tsvector)', - oprnegate => '<>(tsvector,tsvector)', oprcode => 'tsvector_eq', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '3630', descr => 'not equal', - oprname => '<>', oprleft => 'tsvector', oprright => 'tsvector', - oprresult => 'bool', oprcom => '<>(tsvector,tsvector)', - oprnegate => '=(tsvector,tsvector)', oprcode => 'tsvector_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '3631', descr => 'greater than or equal', - oprname => '>=', oprleft => 'tsvector', oprright => 'tsvector', - oprresult => 'bool', oprcom => '<=(tsvector,tsvector)', - oprnegate => '<(tsvector,tsvector)', oprcode => 'tsvector_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '3632', descr => 'greater than', - oprname => '>', oprleft => 'tsvector', oprright => 'tsvector', - oprresult => 'bool', oprcom => '<(tsvector,tsvector)', - oprnegate => '<=(tsvector,tsvector)', oprcode => 'tsvector_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '3633', descr => 'concatenate', - oprname => '||', oprleft => 'tsvector', oprright => 'tsvector', - oprresult => 'tsvector', oprcode => 'tsvector_concat' }, -{ oid => '3636', descr => 'text search match', - oprname => '@@', oprleft => 'tsvector', oprright => 'tsquery', - oprresult => 'bool', oprcom => '@@(tsquery,tsvector)', - oprcode => 'ts_match_vq', oprrest => 'tsmatchsel', - oprjoin => 'tsmatchjoinsel' }, -{ oid => '3637', descr => 'text search match', - oprname => '@@', oprleft => 'tsquery', oprright => 'tsvector', - oprresult => 'bool', oprcom => '@@(tsvector,tsquery)', - oprcode => 'ts_match_qv', oprrest => 'tsmatchsel', - oprjoin => 'tsmatchjoinsel' }, -{ oid => '3660', descr => 'deprecated, use @@ instead', - oprname => '@@@', oprleft => 'tsvector', oprright => 'tsquery', - oprresult => 'bool', oprcom => '@@@(tsquery,tsvector)', - oprcode => 'ts_match_vq', oprrest => 'tsmatchsel', - oprjoin => 'tsmatchjoinsel' }, -{ oid => '3661', descr => 'deprecated, use @@ instead', - oprname => '@@@', oprleft => 'tsquery', oprright => 'tsvector', - oprresult => 'bool', oprcom => '@@@(tsvector,tsquery)', - oprcode => 'ts_match_qv', oprrest => 'tsmatchsel', - oprjoin => 'tsmatchjoinsel' }, -{ oid => '3674', descr => 'less than', - oprname => '<', oprleft => 'tsquery', oprright => 'tsquery', - oprresult => 'bool', oprcom => '>(tsquery,tsquery)', - oprnegate => '>=(tsquery,tsquery)', oprcode => 'tsquery_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '3675', descr => 'less than or equal', - oprname => '<=', oprleft => 'tsquery', oprright => 'tsquery', - oprresult => 'bool', oprcom => '>=(tsquery,tsquery)', - oprnegate => '>(tsquery,tsquery)', oprcode => 'tsquery_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '3676', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprleft => 'tsquery', - oprright => 'tsquery', oprresult => 'bool', oprcom => '=(tsquery,tsquery)', - oprnegate => '<>(tsquery,tsquery)', oprcode => 'tsquery_eq', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '3677', descr => 'not equal', - oprname => '<>', oprleft => 'tsquery', oprright => 'tsquery', - oprresult => 'bool', oprcom => '<>(tsquery,tsquery)', - oprnegate => '=(tsquery,tsquery)', oprcode => 'tsquery_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '3678', descr => 'greater than or equal', - oprname => '>=', oprleft => 'tsquery', oprright => 'tsquery', - oprresult => 'bool', oprcom => '<=(tsquery,tsquery)', - oprnegate => '<(tsquery,tsquery)', oprcode => 'tsquery_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, -{ oid => '3679', descr => 'greater than', - oprname => '>', oprleft => 'tsquery', oprright => 'tsquery', - oprresult => 'bool', oprcom => '<(tsquery,tsquery)', - oprnegate => '<=(tsquery,tsquery)', oprcode => 'tsquery_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '3680', descr => 'AND-concatenate', - oprname => '&&', oprleft => 'tsquery', oprright => 'tsquery', - oprresult => 'tsquery', oprcode => 'tsquery_and' }, -{ oid => '3681', descr => 'OR-concatenate', - oprname => '||', oprleft => 'tsquery', oprright => 'tsquery', - oprresult => 'tsquery', oprcode => 'tsquery_or' }, -{ oid => '5005', descr => 'phrase-concatenate', - oprname => '<->', oprleft => 'tsquery', oprright => 'tsquery', - oprresult => 'tsquery', oprcode => 'tsquery_phrase(tsquery,tsquery)' }, -{ oid => '3682', descr => 'NOT tsquery', - oprname => '!!', oprkind => 'l', oprleft => '0', oprright => 'tsquery', - oprresult => 'tsquery', oprcode => 'tsquery_not' }, -{ oid => '3693', descr => 'contains', - oprname => '@>', oprleft => 'tsquery', oprright => 'tsquery', - oprresult => 'bool', oprcom => '<@(tsquery,tsquery)', - oprcode => 'tsq_mcontains', oprrest => 'matchingsel', - oprjoin => 'matchingjoinsel' }, -{ oid => '3694', descr => 'is contained by', - oprname => '<@', oprleft => 'tsquery', oprright => 'tsquery', - oprresult => 'bool', oprcom => '@>(tsquery,tsquery)', - oprcode => 'tsq_mcontained', oprrest => 'matchingsel', - oprjoin => 'matchingjoinsel' }, -{ oid => '3762', descr => 'text search match', - oprname => '@@', oprleft => 'text', oprright => 'text', oprresult => 'bool', - oprcode => 'ts_match_tt', oprrest => 'matchingsel', - oprjoin => 'matchingjoinsel' }, -{ oid => '3763', descr => 'text search match', - oprname => '@@', oprleft => 'text', oprright => 'tsquery', - oprresult => 'bool', oprcode => 'ts_match_tq', oprrest => 'matchingsel', - oprjoin => 'matchingjoinsel' }, - -# generic record comparison operators -{ oid => '2988', oid_symbol => 'RECORD_EQ_OP', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'record', - oprright => 'record', oprresult => 'bool', oprcom => '=(record,record)', - oprnegate => '<>(record,record)', oprcode => 'record_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '2989', descr => 'not equal', - oprname => '<>', oprleft => 'record', oprright => 'record', - oprresult => 'bool', oprcom => '<>(record,record)', - oprnegate => '=(record,record)', oprcode => 'record_ne', oprrest => 'neqsel', - oprjoin => 'neqjoinsel' }, -{ oid => '2990', oid_symbol => 'RECORD_LT_OP', descr => 'less than', - oprname => '<', oprleft => 'record', oprright => 'record', - oprresult => 'bool', oprcom => '>(record,record)', - oprnegate => '>=(record,record)', oprcode => 'record_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '2991', oid_symbol => 'RECORD_GT_OP', descr => 'greater than', - oprname => '>', oprleft => 'record', oprright => 'record', - oprresult => 'bool', oprcom => '<(record,record)', - oprnegate => '<=(record,record)', oprcode => 'record_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '2992', descr => 'less than or equal', - oprname => '<=', oprleft => 'record', oprright => 'record', - oprresult => 'bool', oprcom => '>=(record,record)', - oprnegate => '>(record,record)', oprcode => 'record_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '2993', descr => 'greater than or equal', - oprname => '>=', oprleft => 'record', oprright => 'record', - oprresult => 'bool', oprcom => '<=(record,record)', - oprnegate => '<(record,record)', oprcode => 'record_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -# byte-oriented tests for identical rows and fast sorting -{ oid => '3188', descr => 'identical', - oprname => '*=', oprcanmerge => 't', oprleft => 'record', - oprright => 'record', oprresult => 'bool', oprcom => '*=(record,record)', - oprnegate => '*<>(record,record)', oprcode => 'record_image_eq', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '3189', descr => 'not identical', - oprname => '*<>', oprleft => 'record', oprright => 'record', - oprresult => 'bool', oprcom => '*<>(record,record)', - oprnegate => '*=(record,record)', oprcode => 'record_image_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '3190', descr => 'less than', - oprname => '*<', oprleft => 'record', oprright => 'record', - oprresult => 'bool', oprcom => '*>(record,record)', - oprnegate => '*>=(record,record)', oprcode => 'record_image_lt', - oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' }, -{ oid => '3191', descr => 'greater than', - oprname => '*>', oprleft => 'record', oprright => 'record', - oprresult => 'bool', oprcom => '*<(record,record)', - oprnegate => '*<=(record,record)', oprcode => 'record_image_gt', - oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' }, -{ oid => '3192', descr => 'less than or equal', - oprname => '*<=', oprleft => 'record', oprright => 'record', - oprresult => 'bool', oprcom => '*>=(record,record)', - oprnegate => '*>(record,record)', oprcode => 'record_image_le', - oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '3193', descr => 'greater than or equal', - oprname => '*>=', oprleft => 'record', oprright => 'record', - oprresult => 'bool', oprcom => '*<=(record,record)', - oprnegate => '*<(record,record)', oprcode => 'record_image_ge', - oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' }, - -# generic range type operators -{ oid => '3882', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'anyrange', - oprright => 'anyrange', oprresult => 'bool', oprcom => '=(anyrange,anyrange)', - oprnegate => '<>(anyrange,anyrange)', oprcode => 'range_eq', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '3883', descr => 'not equal', - oprname => '<>', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '<>(anyrange,anyrange)', - oprnegate => '=(anyrange,anyrange)', oprcode => 'range_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '3884', oid_symbol => 'OID_RANGE_LESS_OP', descr => 'less than', - oprname => '<', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '>(anyrange,anyrange)', - oprnegate => '>=(anyrange,anyrange)', oprcode => 'range_lt', - oprrest => 'rangesel', oprjoin => 'scalarltjoinsel' }, -{ oid => '3885', oid_symbol => 'OID_RANGE_LESS_EQUAL_OP', - descr => 'less than or equal', - oprname => '<=', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '>=(anyrange,anyrange)', - oprnegate => '>(anyrange,anyrange)', oprcode => 'range_le', - oprrest => 'rangesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '3886', oid_symbol => 'OID_RANGE_GREATER_EQUAL_OP', - descr => 'greater than or equal', - oprname => '>=', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '<=(anyrange,anyrange)', - oprnegate => '<(anyrange,anyrange)', oprcode => 'range_ge', - oprrest => 'rangesel', oprjoin => 'scalargejoinsel' }, -{ oid => '3887', oid_symbol => 'OID_RANGE_GREATER_OP', - descr => 'greater than', - oprname => '>', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '<(anyrange,anyrange)', - oprnegate => '<=(anyrange,anyrange)', oprcode => 'range_gt', - oprrest => 'rangesel', oprjoin => 'scalargtjoinsel' }, -{ oid => '3888', oid_symbol => 'OID_RANGE_OVERLAP_OP', descr => 'overlaps', - oprname => '&&', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '&&(anyrange,anyrange)', - oprcode => 'range_overlaps', oprrest => 'rangesel', - oprjoin => 'areajoinsel' }, -{ oid => '3889', oid_symbol => 'OID_RANGE_CONTAINS_ELEM_OP', - descr => 'contains', - oprname => '@>', oprleft => 'anyrange', oprright => 'anyelement', - oprresult => 'bool', oprcom => '<@(anyelement,anyrange)', - oprcode => 'range_contains_elem', oprrest => 'rangesel', - oprjoin => 'contjoinsel' }, -{ oid => '3890', oid_symbol => 'OID_RANGE_CONTAINS_OP', descr => 'contains', - oprname => '@>', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '<@(anyrange,anyrange)', - oprcode => 'range_contains', oprrest => 'rangesel', - oprjoin => 'contjoinsel' }, -{ oid => '3891', oid_symbol => 'OID_RANGE_ELEM_CONTAINED_OP', - descr => 'is contained by', - oprname => '<@', oprleft => 'anyelement', oprright => 'anyrange', - oprresult => 'bool', oprcom => '@>(anyrange,anyelement)', - oprcode => 'elem_contained_by_range', oprrest => 'rangesel', - oprjoin => 'contjoinsel' }, -{ oid => '3892', oid_symbol => 'OID_RANGE_CONTAINED_OP', - descr => 'is contained by', - oprname => '<@', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '@>(anyrange,anyrange)', - oprcode => 'range_contained_by', oprrest => 'rangesel', - oprjoin => 'contjoinsel' }, -{ oid => '3893', oid_symbol => 'OID_RANGE_LEFT_OP', descr => 'is left of', - oprname => '<<', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '>>(anyrange,anyrange)', - oprcode => 'range_before', oprrest => 'rangesel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '3894', oid_symbol => 'OID_RANGE_RIGHT_OP', descr => 'is right of', - oprname => '>>', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '<<(anyrange,anyrange)', - oprcode => 'range_after', oprrest => 'rangesel', - oprjoin => 'scalargtjoinsel' }, -{ oid => '3895', oid_symbol => 'OID_RANGE_OVERLAPS_LEFT_OP', - descr => 'overlaps or is left of', - oprname => '&<', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'bool', oprcode => 'range_overleft', oprrest => 'rangesel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '3896', oid_symbol => 'OID_RANGE_OVERLAPS_RIGHT_OP', - descr => 'overlaps or is right of', - oprname => '&>', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'bool', oprcode => 'range_overright', oprrest => 'rangesel', - oprjoin => 'scalargtjoinsel' }, -{ oid => '3897', descr => 'is adjacent to', - oprname => '-|-', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '-|-(anyrange,anyrange)', - oprcode => 'range_adjacent', oprrest => 'matchingsel', - oprjoin => 'matchingjoinsel' }, -{ oid => '3898', descr => 'range union', - oprname => '+', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'anyrange', oprcom => '+(anyrange,anyrange)', - oprcode => 'range_union' }, -{ oid => '3899', descr => 'range difference', - oprname => '-', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'anyrange', oprcode => 'range_minus' }, -{ oid => '3900', descr => 'range intersection', - oprname => '*', oprleft => 'anyrange', oprright => 'anyrange', - oprresult => 'anyrange', oprcom => '*(anyrange,anyrange)', - oprcode => 'range_intersect' }, -{ oid => '3962', descr => 'get json object field', - oprname => '->', oprleft => 'json', oprright => 'text', oprresult => 'json', - oprcode => 'json_object_field' }, -{ oid => '3963', descr => 'get json object field as text', - oprname => '->>', oprleft => 'json', oprright => 'text', oprresult => 'text', - oprcode => 'json_object_field_text' }, -{ oid => '3964', descr => 'get json array element', - oprname => '->', oprleft => 'json', oprright => 'int4', oprresult => 'json', - oprcode => 'json_array_element' }, -{ oid => '3965', descr => 'get json array element as text', - oprname => '->>', oprleft => 'json', oprright => 'int4', oprresult => 'text', - oprcode => 'json_array_element_text' }, -{ oid => '3966', descr => 'get value from json with path elements', - oprname => '#>', oprleft => 'json', oprright => '_text', oprresult => 'json', - oprcode => 'json_extract_path' }, -{ oid => '3967', descr => 'get value from json as text with path elements', - oprname => '#>>', oprleft => 'json', oprright => '_text', oprresult => 'text', - oprcode => 'json_extract_path_text' }, -{ oid => '3211', descr => 'get jsonb object field', - oprname => '->', oprleft => 'jsonb', oprright => 'text', oprresult => 'jsonb', - oprcode => 'jsonb_object_field' }, -{ oid => '3477', descr => 'get jsonb object field as text', - oprname => '->>', oprleft => 'jsonb', oprright => 'text', oprresult => 'text', - oprcode => 'jsonb_object_field_text' }, -{ oid => '3212', descr => 'get jsonb array element', - oprname => '->', oprleft => 'jsonb', oprright => 'int4', oprresult => 'jsonb', - oprcode => 'jsonb_array_element' }, -{ oid => '3481', descr => 'get jsonb array element as text', - oprname => '->>', oprleft => 'jsonb', oprright => 'int4', oprresult => 'text', - oprcode => 'jsonb_array_element_text' }, -{ oid => '3213', descr => 'get value from jsonb with path elements', - oprname => '#>', oprleft => 'jsonb', oprright => '_text', - oprresult => 'jsonb', oprcode => 'jsonb_extract_path' }, -{ oid => '3206', descr => 'get value from jsonb as text with path elements', - oprname => '#>>', oprleft => 'jsonb', oprright => '_text', - oprresult => 'text', oprcode => 'jsonb_extract_path_text' }, -{ oid => '3240', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'jsonb', - oprright => 'jsonb', oprresult => 'bool', oprcom => '=(jsonb,jsonb)', - oprnegate => '<>(jsonb,jsonb)', oprcode => 'jsonb_eq', oprrest => 'eqsel', - oprjoin => 'eqjoinsel' }, -{ oid => '3241', descr => 'not equal', - oprname => '<>', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', - oprcom => '<>(jsonb,jsonb)', oprnegate => '=(jsonb,jsonb)', - oprcode => 'jsonb_ne', oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '3242', descr => 'less than', - oprname => '<', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', - oprcom => '>(jsonb,jsonb)', oprnegate => '>=(jsonb,jsonb)', - oprcode => 'jsonb_lt', oprrest => 'scalarltsel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '3243', descr => 'greater than', - oprname => '>', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', - oprcom => '<(jsonb,jsonb)', oprnegate => '<=(jsonb,jsonb)', - oprcode => 'jsonb_gt', oprrest => 'scalargtsel', - oprjoin => 'scalargtjoinsel' }, -{ oid => '3244', descr => 'less than or equal', - oprname => '<=', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', - oprcom => '>=(jsonb,jsonb)', oprnegate => '>(jsonb,jsonb)', - oprcode => 'jsonb_le', oprrest => 'scalarlesel', - oprjoin => 'scalarlejoinsel' }, -{ oid => '3245', descr => 'greater than or equal', - oprname => '>=', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', - oprcom => '<=(jsonb,jsonb)', oprnegate => '<(jsonb,jsonb)', - oprcode => 'jsonb_ge', oprrest => 'scalargesel', - oprjoin => 'scalargejoinsel' }, -{ oid => '3246', descr => 'contains', - oprname => '@>', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', - oprcom => '<@(jsonb,jsonb)', oprcode => 'jsonb_contains', - oprrest => 'matchingsel', oprjoin => 'matchingjoinsel' }, -{ oid => '3247', descr => 'key exists', - oprname => '?', oprleft => 'jsonb', oprright => 'text', oprresult => 'bool', - oprcode => 'jsonb_exists', oprrest => 'matchingsel', - oprjoin => 'matchingjoinsel' }, -{ oid => '3248', descr => 'any key exists', - oprname => '?|', oprleft => 'jsonb', oprright => '_text', oprresult => 'bool', - oprcode => 'jsonb_exists_any', oprrest => 'matchingsel', - oprjoin => 'matchingjoinsel' }, -{ oid => '3249', descr => 'all keys exist', - oprname => '?&', oprleft => 'jsonb', oprright => '_text', oprresult => 'bool', - oprcode => 'jsonb_exists_all', oprrest => 'matchingsel', - oprjoin => 'matchingjoinsel' }, -{ oid => '3250', descr => 'is contained by', - oprname => '<@', oprleft => 'jsonb', oprright => 'jsonb', oprresult => 'bool', - oprcom => '@>(jsonb,jsonb)', oprcode => 'jsonb_contained', - oprrest => 'matchingsel', oprjoin => 'matchingjoinsel' }, -{ oid => '3284', descr => 'concatenate', - oprname => '||', oprleft => 'jsonb', oprright => 'jsonb', - oprresult => 'jsonb', oprcode => 'jsonb_concat' }, -{ oid => '3285', descr => 'delete object field', - oprname => '-', oprleft => 'jsonb', oprright => 'text', oprresult => 'jsonb', - oprcode => 'jsonb_delete(jsonb,text)' }, -{ oid => '3398', descr => 'delete object fields', - oprname => '-', oprleft => 'jsonb', oprright => '_text', oprresult => 'jsonb', - oprcode => 'jsonb_delete(jsonb,_text)' }, -{ oid => '3286', descr => 'delete array element', - oprname => '-', oprleft => 'jsonb', oprright => 'int4', oprresult => 'jsonb', - oprcode => 'jsonb_delete(jsonb,int4)' }, -{ oid => '3287', descr => 'delete path', - oprname => '#-', oprleft => 'jsonb', oprright => '_text', - oprresult => 'jsonb', oprcode => 'jsonb_delete_path' }, -{ oid => '4012', descr => 'jsonpath exists', - oprname => '@?', oprleft => 'jsonb', oprright => 'jsonpath', - oprresult => 'bool', oprcode => 'jsonb_path_exists_opr(jsonb,jsonpath)', - oprrest => 'matchingsel', oprjoin => 'matchingjoinsel' }, -{ oid => '4013', descr => 'jsonpath match', - oprname => '@@', oprleft => 'jsonb', oprright => 'jsonpath', - oprresult => 'bool', oprcode => 'jsonb_path_match_opr(jsonb,jsonpath)', - oprrest => 'matchingsel', oprjoin => 'matchingjoinsel' }, -{ oid => '2860', descr => 'equal', - oprname => '=', oprcanmerge => 't', oprcanhash => 't', - oprleft => 'anymultirange', oprright => 'anymultirange', oprresult => 'bool', - oprcom => '=(anymultirange,anymultirange)', - oprnegate => '<>(anymultirange,anymultirange)', oprcode => 'multirange_eq', - oprrest => 'eqsel', oprjoin => 'eqjoinsel' }, -{ oid => '2861', descr => 'not equal', - oprname => '<>', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '<>(anymultirange,anymultirange)', - oprnegate => '=(anymultirange,anymultirange)', oprcode => 'multirange_ne', - oprrest => 'neqsel', oprjoin => 'neqjoinsel' }, -{ oid => '2862', oid_symbol => 'OID_MULTIRANGE_LESS_OP', descr => 'less than', - oprname => '<', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '>(anymultirange,anymultirange)', - oprnegate => '>=(anymultirange,anymultirange)', oprcode => 'multirange_lt', - oprrest => 'multirangesel', oprjoin => 'scalarltjoinsel' }, -{ oid => '2863', oid_symbol => 'OID_MULTIRANGE_LESS_EQUAL_OP', - descr => 'less than or equal', - oprname => '<=', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '>=(anymultirange,anymultirange)', - oprnegate => '>(anymultirange,anymultirange)', oprcode => 'multirange_le', - oprrest => 'multirangesel', oprjoin => 'scalarlejoinsel' }, -{ oid => '2864', oid_symbol => 'OID_MULTIRANGE_GREATER_EQUAL_OP', - descr => 'greater than or equal', - oprname => '>=', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '<=(anymultirange,anymultirange)', - oprnegate => '<(anymultirange,anymultirange)', oprcode => 'multirange_ge', - oprrest => 'multirangesel', oprjoin => 'scalargejoinsel' }, -{ oid => '2865', oid_symbol => 'OID_MULTIRANGE_GREATER_OP', - descr => 'greater than', - oprname => '>', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '<(anymultirange,anymultirange)', - oprnegate => '<=(anymultirange,anymultirange)', oprcode => 'multirange_gt', - oprrest => 'multirangesel', oprjoin => 'scalargtjoinsel' }, -{ oid => '2866', oid_symbol => 'OID_RANGE_OVERLAPS_MULTIRANGE_OP', - descr => 'overlaps', - oprname => '&&', oprleft => 'anyrange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '&&(anymultirange,anyrange)', - oprcode => 'range_overlaps_multirange', oprrest => 'multirangesel', - oprjoin => 'areajoinsel' }, -{ oid => '2867', oid_symbol => 'OID_MULTIRANGE_OVERLAPS_RANGE_OP', - descr => 'overlaps', - oprname => '&&', oprleft => 'anymultirange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '&&(anyrange,anymultirange)', - oprcode => 'multirange_overlaps_range', oprrest => 'multirangesel', - oprjoin => 'areajoinsel' }, -{ oid => '2868', oid_symbol => 'OID_MULTIRANGE_OVERLAPS_MULTIRANGE_OP', - descr => 'overlaps', - oprname => '&&', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '&&(anymultirange,anymultirange)', - oprcode => 'multirange_overlaps_multirange', oprrest => 'multirangesel', - oprjoin => 'areajoinsel' }, -{ oid => '2869', oid_symbol => 'OID_MULTIRANGE_CONTAINS_ELEM_OP', - descr => 'contains', - oprname => '@>', oprleft => 'anymultirange', oprright => 'anyelement', - oprresult => 'bool', oprcom => '<@(anyelement,anymultirange)', - oprcode => 'multirange_contains_elem', oprrest => 'multirangesel', - oprjoin => 'contjoinsel' }, -{ oid => '2870', oid_symbol => 'OID_MULTIRANGE_CONTAINS_RANGE_OP', - descr => 'contains', - oprname => '@>', oprleft => 'anymultirange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '<@(anyrange,anymultirange)', - oprcode => 'multirange_contains_range', oprrest => 'multirangesel', - oprjoin => 'contjoinsel' }, -{ oid => '2871', oid_symbol => 'OID_MULTIRANGE_CONTAINS_MULTIRANGE_OP', - descr => 'contains', - oprname => '@>', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '<@(anymultirange,anymultirange)', - oprcode => 'multirange_contains_multirange', oprrest => 'multirangesel', - oprjoin => 'contjoinsel' }, -{ oid => '2872', oid_symbol => 'OID_MULTIRANGE_ELEM_CONTAINED_OP', - descr => 'is contained by', - oprname => '<@', oprleft => 'anyelement', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '@>(anymultirange,anyelement)', - oprcode => 'elem_contained_by_multirange', oprrest => 'multirangesel', - oprjoin => 'contjoinsel' }, -{ oid => '2873', oid_symbol => 'OID_MULTIRANGE_RANGE_CONTAINED_OP', - descr => 'is contained by', - oprname => '<@', oprleft => 'anyrange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '@>(anymultirange,anyrange)', - oprcode => 'range_contained_by_multirange', oprrest => 'multirangesel', - oprjoin => 'contjoinsel' }, -{ oid => '2874', oid_symbol => 'OID_MULTIRANGE_MULTIRANGE_CONTAINED_OP', - descr => 'is contained by', - oprname => '<@', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '@>(anymultirange,anymultirange)', - oprcode => 'multirange_contained_by_multirange', oprrest => 'multirangesel', - oprjoin => 'contjoinsel' }, -{ oid => '4539', oid_symbol => 'OID_RANGE_CONTAINS_MULTIRANGE_OP', - descr => 'contains', - oprname => '@>', oprleft => 'anyrange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '<@(anymultirange,anyrange)', - oprcode => 'range_contains_multirange', oprrest => 'multirangesel', - oprjoin => 'contjoinsel' }, -{ oid => '4540', oid_symbol => 'OID_RANGE_MULTIRANGE_CONTAINED_OP', - descr => 'is contained by', - oprname => '<@', oprleft => 'anymultirange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '@>(anyrange,anymultirange)', - oprcode => 'multirange_contained_by_range', oprrest => 'multirangesel', - oprjoin => 'contjoinsel' }, -{ oid => '2875', oid_symbol => 'OID_RANGE_OVERLAPS_LEFT_MULTIRANGE_OP', - descr => 'overlaps or is left of', - oprname => '&<', oprleft => 'anyrange', oprright => 'anymultirange', - oprresult => 'bool', oprcode => 'range_overleft_multirange', - oprrest => 'multirangesel', oprjoin => 'scalarltjoinsel' }, -{ oid => '2876', oid_symbol => 'OID_MULTIRANGE_OVERLAPS_LEFT_RANGE_OP', - descr => 'overlaps or is left of', - oprname => '&<', oprleft => 'anymultirange', oprright => 'anyrange', - oprresult => 'bool', oprcode => 'multirange_overleft_range', - oprrest => 'multirangesel', oprjoin => 'scalarltjoinsel' }, -{ oid => '2877', oid_symbol => 'OID_MULTIRANGE_OVERLAPS_LEFT_MULTIRANGE_OP', - descr => 'overlaps or is left of', - oprname => '&<', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'bool', oprcode => 'multirange_overleft_multirange', - oprrest => 'multirangesel', oprjoin => 'scalarltjoinsel' }, -{ oid => '3585', oid_symbol => 'OID_RANGE_OVERLAPS_RIGHT_MULTIRANGE_OP', - descr => 'overlaps or is right of', - oprname => '&>', oprleft => 'anyrange', oprright => 'anymultirange', - oprresult => 'bool', oprcode => 'range_overright_multirange', - oprrest => 'multirangesel', oprjoin => 'scalargtjoinsel' }, -{ oid => '4035', oid_symbol => 'OID_MULTIRANGE_OVERLAPS_RIGHT_RANGE_OP', - descr => 'overlaps or is right of', - oprname => '&>', oprleft => 'anymultirange', oprright => 'anyrange', - oprresult => 'bool', oprcode => 'multirange_overright_range', - oprrest => 'multirangesel', oprjoin => 'scalargtjoinsel' }, -{ oid => '4142', oid_symbol => 'OID_MULTIRANGE_OVERLAPS_RIGHT_MULTIRANGE_OP', - descr => 'overlaps or is right of', - oprname => '&>', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'bool', oprcode => 'multirange_overright_multirange', - oprrest => 'multirangesel', oprjoin => 'scalargtjoinsel' }, -{ oid => '4179', oid_symbol => 'OID_RANGE_ADJACENT_MULTIRANGE_OP', - descr => 'is adjacent to', - oprname => '-|-', oprleft => 'anyrange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '-|-(anymultirange,anyrange)', - oprcode => 'range_adjacent_multirange', oprrest => 'matchingsel', - oprjoin => 'matchingjoinsel' }, -{ oid => '4180', oid_symbol => 'OID_MULTIRANGE_ADJACENT_RANGE_OP', - descr => 'is adjacent to', - oprname => '-|-', oprleft => 'anymultirange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '-|-(anyrange,anymultirange)', - oprcode => 'multirange_adjacent_range', oprrest => 'matchingsel', - oprjoin => 'matchingjoinsel' }, -{ oid => '4198', oid_symbol => 'OID_MULTIRANGE_ADJACENT_MULTIRANGE_OP', - descr => 'is adjacent to', - oprname => '-|-', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '-|-(anymultirange,anymultirange)', - oprcode => 'multirange_adjacent_multirange', oprrest => 'matchingsel', - oprjoin => 'matchingjoinsel' }, -{ oid => '4392', descr => 'multirange union', - oprname => '+', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'anymultirange', oprcom => '+(anymultirange,anymultirange)', - oprcode => 'multirange_union' }, -{ oid => '4393', descr => 'multirange minus', - oprname => '-', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'anymultirange', oprcode => 'multirange_minus' }, -{ oid => '4394', descr => 'multirange intersect', - oprname => '*', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'anymultirange', oprcom => '*(anymultirange,anymultirange)', - oprcode => 'multirange_intersect' }, -{ oid => '4395', oid_symbol => 'OID_RANGE_LEFT_MULTIRANGE_OP', - descr => 'is left of', - oprname => '<<', oprleft => 'anyrange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '>>(anymultirange,anyrange)', - oprcode => 'range_before_multirange', oprrest => 'multirangesel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '4396', oid_symbol => 'OID_MULTIRANGE_LEFT_RANGE_OP', - descr => 'is left of', - oprname => '<<', oprleft => 'anymultirange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '>>(anyrange,anymultirange)', - oprcode => 'multirange_before_range', oprrest => 'multirangesel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '4397', oid_symbol => 'OID_MULTIRANGE_LEFT_MULTIRANGE_OP', - descr => 'is left of', - oprname => '<<', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '>>(anymultirange,anymultirange)', - oprcode => 'multirange_before_multirange', oprrest => 'multirangesel', - oprjoin => 'scalarltjoinsel' }, -{ oid => '4398', oid_symbol => 'OID_RANGE_RIGHT_MULTIRANGE_OP', - descr => 'is right of', - oprname => '>>', oprleft => 'anyrange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '<<(anymultirange,anyrange)', - oprcode => 'range_after_multirange', oprrest => 'multirangesel', - oprjoin => 'scalargtjoinsel' }, -{ oid => '4399', oid_symbol => 'OID_MULTIRANGE_RIGHT_RANGE_OP', - descr => 'is right of', - oprname => '>>', oprleft => 'anymultirange', oprright => 'anyrange', - oprresult => 'bool', oprcom => '<<(anyrange,anymultirange)', - oprcode => 'multirange_after_range', oprrest => 'multirangesel', - oprjoin => 'scalargtjoinsel' }, -{ oid => '4400', oid_symbol => 'OID_MULTIRANGE_RIGHT_MULTIRANGE_OP', - descr => 'is right of', - oprname => '>>', oprleft => 'anymultirange', oprright => 'anymultirange', - oprresult => 'bool', oprcom => '<<(anymultirange,anymultirange)', - oprcode => 'multirange_after_multirange', oprrest => 'multirangesel', - oprjoin => 'scalargtjoinsel' }, - -] diff --git a/contrib/libs/postgresql/src/include/catalog/pg_opfamily.dat b/contrib/libs/postgresql/src/include/catalog/pg_opfamily.dat deleted file mode 100644 index 8e480efd286..00000000000 --- a/contrib/libs/postgresql/src/include/catalog/pg_opfamily.dat +++ /dev/null @@ -1,308 +0,0 @@ -#---------------------------------------------------------------------- -# -# pg_opfamily.dat -# Initial contents of the pg_opfamily system catalog. -# -# Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group -# Portions Copyright (c) 1994, Regents of the University of California -# -# src/include/catalog/pg_opfamily.dat -# -#---------------------------------------------------------------------- - -[ - -{ oid => '397', - opfmethod => 'btree', opfname => 'array_ops' }, -{ oid => '627', - opfmethod => 'hash', opfname => 'array_ops' }, -{ oid => '423', - opfmethod => 'btree', opfname => 'bit_ops' }, -{ oid => '424', oid_symbol => 'BOOL_BTREE_FAM_OID', - opfmethod => 'btree', opfname => 'bool_ops' }, -{ oid => '426', oid_symbol => 'BPCHAR_BTREE_FAM_OID', - opfmethod => 'btree', opfname => 'bpchar_ops' }, -{ oid => '427', - opfmethod => 'hash', opfname => 'bpchar_ops' }, -{ oid => '428', oid_symbol => 'BYTEA_BTREE_FAM_OID', - opfmethod => 'btree', opfname => 'bytea_ops' }, -{ oid => '429', - opfmethod => 'btree', opfname => 'char_ops' }, -{ oid => '431', - opfmethod => 'hash', opfname => 'char_ops' }, -{ oid => '434', - opfmethod => 'btree', opfname => 'datetime_ops' }, -{ oid => '435', - opfmethod => 'hash', opfname => 'date_ops' }, -{ oid => '1970', - opfmethod => 'btree', opfname => 'float_ops' }, -{ oid => '1971', - opfmethod => 'hash', opfname => 'float_ops' }, -{ oid => '1974', oid_symbol => 'NETWORK_BTREE_FAM_OID', - opfmethod => 'btree', opfname => 'network_ops' }, -{ oid => '1975', - opfmethod => 'hash', opfname => 'network_ops' }, -{ oid => '3550', - opfmethod => 'gist', opfname => 'network_ops' }, -{ oid => '3794', - opfmethod => 'spgist', opfname => 'network_ops' }, -{ oid => '1976', oid_symbol => 'INTEGER_BTREE_FAM_OID', - opfmethod => 'btree', opfname => 'integer_ops' }, -{ oid => '1977', - opfmethod => 'hash', opfname => 'integer_ops' }, -{ oid => '1982', - opfmethod => 'btree', opfname => 'interval_ops' }, -{ oid => '1983', - opfmethod => 'hash', opfname => 'interval_ops' }, -{ oid => '1984', - opfmethod => 'btree', opfname => 'macaddr_ops' }, -{ oid => '1985', - opfmethod => 'hash', opfname => 'macaddr_ops' }, -{ oid => '3371', - opfmethod => 'btree', opfname => 'macaddr8_ops' }, -{ oid => '3372', - opfmethod => 'hash', opfname => 'macaddr8_ops' }, -{ oid => '1988', - opfmethod => 'btree', opfname => 'numeric_ops' }, -{ oid => '1998', - opfmethod => 'hash', opfname => 'numeric_ops' }, -{ oid => '1989', oid_symbol => 'OID_BTREE_FAM_OID', - opfmethod => 'btree', opfname => 'oid_ops' }, -{ oid => '1990', - opfmethod => 'hash', opfname => 'oid_ops' }, -{ oid => '1991', - opfmethod => 'btree', opfname => 'oidvector_ops' }, -{ oid => '1992', - opfmethod => 'hash', opfname => 'oidvector_ops' }, -{ oid => '2994', - opfmethod => 'btree', opfname => 'record_ops' }, -{ oid => '6194', - opfmethod => 'hash', opfname => 'record_ops' }, -{ oid => '3194', - opfmethod => 'btree', opfname => 'record_image_ops' }, -{ oid => '1994', oid_symbol => 'TEXT_BTREE_FAM_OID', - opfmethod => 'btree', opfname => 'text_ops' }, -{ oid => '1995', - opfmethod => 'hash', opfname => 'text_ops' }, -{ oid => '1996', - opfmethod => 'btree', opfname => 'time_ops' }, -{ oid => '1997', - opfmethod => 'hash', opfname => 'time_ops' }, -{ oid => '1999', - opfmethod => 'hash', opfname => 'timestamptz_ops' }, -{ oid => '2000', - opfmethod => 'btree', opfname => 'timetz_ops' }, -{ oid => '2001', - opfmethod => 'hash', opfname => 'timetz_ops' }, -{ oid => '2002', - opfmethod => 'btree', opfname => 'varbit_ops' }, -{ oid => '2040', - opfmethod => 'hash', opfname => 'timestamp_ops' }, -{ oid => '2095', oid_symbol => 'TEXT_PATTERN_BTREE_FAM_OID', - opfmethod => 'btree', opfname => 'text_pattern_ops' }, -{ oid => '2097', oid_symbol => 'BPCHAR_PATTERN_BTREE_FAM_OID', - opfmethod => 'btree', opfname => 'bpchar_pattern_ops' }, -{ oid => '2099', - opfmethod => 'btree', opfname => 'money_ops' }, -{ oid => '2222', oid_symbol => 'BOOL_HASH_FAM_OID', - opfmethod => 'hash', opfname => 'bool_ops' }, -{ oid => '2223', - opfmethod => 'hash', opfname => 'bytea_ops' }, -{ oid => '2789', - opfmethod => 'btree', opfname => 'tid_ops' }, -{ oid => '2225', - opfmethod => 'hash', opfname => 'xid_ops' }, -{ oid => '5032', - opfmethod => 'hash', opfname => 'xid8_ops' }, -{ oid => '5067', - opfmethod => 'btree', opfname => 'xid8_ops' }, -{ oid => '2226', - opfmethod => 'hash', opfname => 'cid_ops' }, -{ oid => '2227', - opfmethod => 'hash', opfname => 'tid_ops' }, -{ oid => '2229', - opfmethod => 'hash', opfname => 'text_pattern_ops' }, -{ oid => '2231', - opfmethod => 'hash', opfname => 'bpchar_pattern_ops' }, -{ oid => '2235', - opfmethod => 'hash', opfname => 'aclitem_ops' }, -{ oid => '2593', - opfmethod => 'gist', opfname => 'box_ops' }, -{ oid => '2594', - opfmethod => 'gist', opfname => 'poly_ops' }, -{ oid => '2595', - opfmethod => 'gist', opfname => 'circle_ops' }, -{ oid => '1029', - opfmethod => 'gist', opfname => 'point_ops' }, -{ oid => '2745', - opfmethod => 'gin', opfname => 'array_ops' }, -{ oid => '2968', - opfmethod => 'btree', opfname => 'uuid_ops' }, -{ oid => '2969', - opfmethod => 'hash', opfname => 'uuid_ops' }, -{ oid => '3253', - opfmethod => 'btree', opfname => 'pg_lsn_ops' }, -{ oid => '3254', - opfmethod => 'hash', opfname => 'pg_lsn_ops' }, -{ oid => '3522', - opfmethod => 'btree', opfname => 'enum_ops' }, -{ oid => '3523', - opfmethod => 'hash', opfname => 'enum_ops' }, -{ oid => '3626', - opfmethod => 'btree', opfname => 'tsvector_ops' }, -{ oid => '3655', - opfmethod => 'gist', opfname => 'tsvector_ops' }, -{ oid => '3659', - opfmethod => 'gin', opfname => 'tsvector_ops' }, -{ oid => '3683', - opfmethod => 'btree', opfname => 'tsquery_ops' }, -{ oid => '3702', - opfmethod => 'gist', opfname => 'tsquery_ops' }, -{ oid => '3901', - opfmethod => 'btree', opfname => 'range_ops' }, -{ oid => '3903', - opfmethod => 'hash', opfname => 'range_ops' }, -{ oid => '3919', - opfmethod => 'gist', opfname => 'range_ops' }, -{ oid => '3474', - opfmethod => 'spgist', opfname => 'range_ops' }, -{ oid => '4015', - opfmethod => 'spgist', opfname => 'quad_point_ops' }, -{ oid => '4016', - opfmethod => 'spgist', opfname => 'kd_point_ops' }, -{ oid => '4017', oid_symbol => 'TEXT_SPGIST_FAM_OID', - opfmethod => 'spgist', opfname => 'text_ops' }, -{ oid => '4033', - opfmethod => 'btree', opfname => 'jsonb_ops' }, -{ oid => '4034', - opfmethod => 'hash', opfname => 'jsonb_ops' }, -{ oid => '4036', - opfmethod => 'gin', opfname => 'jsonb_ops' }, -{ oid => '4037', - opfmethod => 'gin', opfname => 'jsonb_path_ops' }, -{ oid => '4054', - opfmethod => 'brin', opfname => 'integer_minmax_ops' }, -{ oid => '4602', - opfmethod => 'brin', opfname => 'integer_minmax_multi_ops' }, -{ oid => '4572', - opfmethod => 'brin', opfname => 'integer_bloom_ops' }, -{ oid => '4055', - opfmethod => 'brin', opfname => 'numeric_minmax_ops' }, -{ oid => '4603', - opfmethod => 'brin', opfname => 'numeric_minmax_multi_ops' }, -{ oid => '4056', - opfmethod => 'brin', opfname => 'text_minmax_ops' }, -{ oid => '4573', - opfmethod => 'brin', opfname => 'text_bloom_ops' }, -{ oid => '4574', - opfmethod => 'brin', opfname => 'numeric_bloom_ops' }, -{ oid => '4058', - opfmethod => 'brin', opfname => 'timetz_minmax_ops' }, -{ oid => '4604', - opfmethod => 'brin', opfname => 'timetz_minmax_multi_ops' }, -{ oid => '4575', - opfmethod => 'brin', opfname => 'timetz_bloom_ops' }, -{ oid => '4059', - opfmethod => 'brin', opfname => 'datetime_minmax_ops' }, -{ oid => '4605', - opfmethod => 'brin', opfname => 'datetime_minmax_multi_ops' }, -{ oid => '4576', - opfmethod => 'brin', opfname => 'datetime_bloom_ops' }, -{ oid => '4062', - opfmethod => 'brin', opfname => 'char_minmax_ops' }, -{ oid => '4577', - opfmethod => 'brin', opfname => 'char_bloom_ops' }, -{ oid => '4064', - opfmethod => 'brin', opfname => 'bytea_minmax_ops' }, -{ oid => '4578', - opfmethod => 'brin', opfname => 'bytea_bloom_ops' }, -{ oid => '4065', - opfmethod => 'brin', opfname => 'name_minmax_ops' }, -{ oid => '4579', - opfmethod => 'brin', opfname => 'name_bloom_ops' }, -{ oid => '4068', - opfmethod => 'brin', opfname => 'oid_minmax_ops' }, -{ oid => '4606', - opfmethod => 'brin', opfname => 'oid_minmax_multi_ops' }, -{ oid => '4580', - opfmethod => 'brin', opfname => 'oid_bloom_ops' }, -{ oid => '4069', - opfmethod => 'brin', opfname => 'tid_minmax_ops' }, -{ oid => '4581', - opfmethod => 'brin', opfname => 'tid_bloom_ops' }, -{ oid => '4607', - opfmethod => 'brin', opfname => 'tid_minmax_multi_ops' }, -{ oid => '4070', - opfmethod => 'brin', opfname => 'float_minmax_ops' }, -{ oid => '4608', - opfmethod => 'brin', opfname => 'float_minmax_multi_ops' }, -{ oid => '4582', - opfmethod => 'brin', opfname => 'float_bloom_ops' }, -{ oid => '4074', - opfmethod => 'brin', opfname => 'macaddr_minmax_ops' }, -{ oid => '4609', - opfmethod => 'brin', opfname => 'macaddr_minmax_multi_ops' }, -{ oid => '4583', - opfmethod => 'brin', opfname => 'macaddr_bloom_ops' }, -{ oid => '4109', - opfmethod => 'brin', opfname => 'macaddr8_minmax_ops' }, -{ oid => '4610', - opfmethod => 'brin', opfname => 'macaddr8_minmax_multi_ops' }, -{ oid => '4584', - opfmethod => 'brin', opfname => 'macaddr8_bloom_ops' }, -{ oid => '4075', - opfmethod => 'brin', opfname => 'network_minmax_ops' }, -{ oid => '4611', - opfmethod => 'brin', opfname => 'network_minmax_multi_ops' }, -{ oid => '4102', - opfmethod => 'brin', opfname => 'network_inclusion_ops' }, -{ oid => '4585', - opfmethod => 'brin', opfname => 'network_bloom_ops' }, -{ oid => '4076', - opfmethod => 'brin', opfname => 'bpchar_minmax_ops' }, -{ oid => '4586', - opfmethod => 'brin', opfname => 'bpchar_bloom_ops' }, -{ oid => '4077', - opfmethod => 'brin', opfname => 'time_minmax_ops' }, -{ oid => '4612', - opfmethod => 'brin', opfname => 'time_minmax_multi_ops' }, -{ oid => '4587', - opfmethod => 'brin', opfname => 'time_bloom_ops' }, -{ oid => '4078', - opfmethod => 'brin', opfname => 'interval_minmax_ops' }, -{ oid => '4613', - opfmethod => 'brin', opfname => 'interval_minmax_multi_ops' }, -{ oid => '4588', - opfmethod => 'brin', opfname => 'interval_bloom_ops' }, -{ oid => '4079', - opfmethod => 'brin', opfname => 'bit_minmax_ops' }, -{ oid => '4080', - opfmethod => 'brin', opfname => 'varbit_minmax_ops' }, -{ oid => '4081', - opfmethod => 'brin', opfname => 'uuid_minmax_ops' }, -{ oid => '4614', - opfmethod => 'brin', opfname => 'uuid_minmax_multi_ops' }, -{ oid => '4589', - opfmethod => 'brin', opfname => 'uuid_bloom_ops' }, -{ oid => '4103', - opfmethod => 'brin', opfname => 'range_inclusion_ops' }, -{ oid => '4082', - opfmethod => 'brin', opfname => 'pg_lsn_minmax_ops' }, -{ oid => '4615', - opfmethod => 'brin', opfname => 'pg_lsn_minmax_multi_ops' }, -{ oid => '4590', - opfmethod => 'brin', opfname => 'pg_lsn_bloom_ops' }, -{ oid => '4104', - opfmethod => 'brin', opfname => 'box_inclusion_ops' }, -{ oid => '5000', - opfmethod => 'spgist', opfname => 'box_ops' }, -{ oid => '5008', - opfmethod => 'spgist', opfname => 'poly_ops' }, -{ oid => '4199', - opfmethod => 'btree', opfname => 'multirange_ops' }, -{ oid => '4225', - opfmethod => 'hash', opfname => 'multirange_ops' }, -{ oid => '6158', - opfmethod => 'gist', opfname => 'multirange_ops' }, - -] diff --git a/contrib/libs/postgresql/src/include/catalog/pg_proc.dat b/contrib/libs/postgresql/src/include/catalog/pg_proc.dat deleted file mode 100644 index 79669bf5a2e..00000000000 --- a/contrib/libs/postgresql/src/include/catalog/pg_proc.dat +++ /dev/null @@ -1,11624 +0,0 @@ -#---------------------------------------------------------------------- -# -# pg_proc.dat -# Initial contents of the pg_proc system catalog. -# -# Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group -# Portions Copyright (c) 1994, Regents of the University of California -# -# src/include/catalog/pg_proc.dat -# -#---------------------------------------------------------------------- - -[ - -# Note: every entry in pg_proc.dat is expected to have a 'descr' comment, -# except for functions that implement pg_operator.dat operators and don't -# have a good reason to be called directly rather than via the operator. -# (If you do expect such a function to be used directly, you should -# duplicate the operator's comment.) initdb will supply suitable default -# comments for functions referenced by pg_operator. - -# Try to follow the style of existing functions' comments. -# Some recommended conventions: -# -# "I/O" for typinput, typoutput, typreceive, typsend functions -# "I/O typmod" for typmodin, typmodout functions -# "aggregate transition function" for aggtransfn functions, unless -# they are reasonably useful in their own right -# "aggregate final function" for aggfinalfn functions (likewise) -# "convert srctypename to desttypename" for cast functions -# "less-equal-greater" for B-tree comparison functions - -# Note: pronargs is computed when this file is read, so it does not need -# to be specified in entries here. See AddDefaultValues() in Catalog.pm. - -# Once upon a time these entries were ordered by OID. Lately it's often -# been the custom to insert new entries adjacent to related older entries. -# Try to do one or the other though, don't just insert entries at random. - -# OIDS 1 - 99 - -{ oid => '1242', descr => 'I/O', - proname => 'boolin', prorettype => 'bool', proargtypes => 'cstring', - prosrc => 'boolin' }, -{ oid => '1243', descr => 'I/O', - proname => 'boolout', prorettype => 'cstring', proargtypes => 'bool', - prosrc => 'boolout' }, -{ oid => '1244', descr => 'I/O', - proname => 'byteain', prorettype => 'bytea', proargtypes => 'cstring', - prosrc => 'byteain' }, -{ oid => '31', descr => 'I/O', - proname => 'byteaout', prorettype => 'cstring', proargtypes => 'bytea', - prosrc => 'byteaout' }, -{ oid => '1245', descr => 'I/O', - proname => 'charin', prorettype => 'char', proargtypes => 'cstring', - prosrc => 'charin' }, -{ oid => '33', descr => 'I/O', - proname => 'charout', prorettype => 'cstring', proargtypes => 'char', - prosrc => 'charout' }, -{ oid => '34', descr => 'I/O', - proname => 'namein', prorettype => 'name', proargtypes => 'cstring', - prosrc => 'namein' }, -{ oid => '35', descr => 'I/O', - proname => 'nameout', prorettype => 'cstring', proargtypes => 'name', - prosrc => 'nameout' }, -{ oid => '38', descr => 'I/O', - proname => 'int2in', prorettype => 'int2', proargtypes => 'cstring', - prosrc => 'int2in' }, -{ oid => '39', descr => 'I/O', - proname => 'int2out', prorettype => 'cstring', proargtypes => 'int2', - prosrc => 'int2out' }, -{ oid => '40', descr => 'I/O', - proname => 'int2vectorin', prorettype => 'int2vector', - proargtypes => 'cstring', prosrc => 'int2vectorin' }, -{ oid => '41', descr => 'I/O', - proname => 'int2vectorout', prorettype => 'cstring', - proargtypes => 'int2vector', prosrc => 'int2vectorout' }, -{ oid => '42', descr => 'I/O', - proname => 'int4in', prorettype => 'int4', proargtypes => 'cstring', - prosrc => 'int4in' }, -{ oid => '43', descr => 'I/O', - proname => 'int4out', prorettype => 'cstring', proargtypes => 'int4', - prosrc => 'int4out' }, -{ oid => '44', descr => 'I/O', - proname => 'regprocin', provolatile => 's', prorettype => 'regproc', - proargtypes => 'cstring', prosrc => 'regprocin' }, -{ oid => '45', descr => 'I/O', - proname => 'regprocout', provolatile => 's', prorettype => 'cstring', - proargtypes => 'regproc', prosrc => 'regprocout' }, -{ oid => '3494', descr => 'convert proname to regproc', - proname => 'to_regproc', provolatile => 's', prorettype => 'regproc', - proargtypes => 'text', prosrc => 'to_regproc' }, -{ oid => '3479', descr => 'convert proname to regprocedure', - proname => 'to_regprocedure', provolatile => 's', - prorettype => 'regprocedure', proargtypes => 'text', - prosrc => 'to_regprocedure' }, -{ oid => '46', descr => 'I/O', - proname => 'textin', prorettype => 'text', proargtypes => 'cstring', - prosrc => 'textin' }, -{ oid => '47', descr => 'I/O', - proname => 'textout', prorettype => 'cstring', proargtypes => 'text', - prosrc => 'textout' }, -{ oid => '48', descr => 'I/O', - proname => 'tidin', prorettype => 'tid', proargtypes => 'cstring', - prosrc => 'tidin' }, -{ oid => '49', descr => 'I/O', - proname => 'tidout', prorettype => 'cstring', proargtypes => 'tid', - prosrc => 'tidout' }, -{ oid => '50', descr => 'I/O', - proname => 'xidin', prorettype => 'xid', proargtypes => 'cstring', - prosrc => 'xidin' }, -{ oid => '51', descr => 'I/O', - proname => 'xidout', prorettype => 'cstring', proargtypes => 'xid', - prosrc => 'xidout' }, -{ oid => '5070', descr => 'I/O', - proname => 'xid8in', prorettype => 'xid8', proargtypes => 'cstring', - prosrc => 'xid8in' }, -{ oid => '5081', descr => 'I/O', - proname => 'xid8out', prorettype => 'cstring', proargtypes => 'xid8', - prosrc => 'xid8out' }, -{ oid => '5082', descr => 'I/O', - proname => 'xid8recv', prorettype => 'xid8', proargtypes => 'internal', - prosrc => 'xid8recv' }, -{ oid => '5083', descr => 'I/O', - proname => 'xid8send', prorettype => 'bytea', proargtypes => 'xid8', - prosrc => 'xid8send' }, -{ oid => '52', descr => 'I/O', - proname => 'cidin', prorettype => 'cid', proargtypes => 'cstring', - prosrc => 'cidin' }, -{ oid => '53', descr => 'I/O', - proname => 'cidout', prorettype => 'cstring', proargtypes => 'cid', - prosrc => 'cidout' }, -{ oid => '54', descr => 'I/O', - proname => 'oidvectorin', prorettype => 'oidvector', proargtypes => 'cstring', - prosrc => 'oidvectorin' }, -{ oid => '55', descr => 'I/O', - proname => 'oidvectorout', prorettype => 'cstring', - proargtypes => 'oidvector', prosrc => 'oidvectorout' }, -{ oid => '56', - proname => 'boollt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bool bool', prosrc => 'boollt' }, -{ oid => '57', - proname => 'boolgt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bool bool', prosrc => 'boolgt' }, -{ oid => '60', - proname => 'booleq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bool bool', prosrc => 'booleq' }, -{ oid => '61', - proname => 'chareq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'char char', prosrc => 'chareq' }, -{ oid => '62', - proname => 'nameeq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'name name', prosrc => 'nameeq' }, -{ oid => '63', - proname => 'int2eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int2', prosrc => 'int2eq' }, -{ oid => '64', - proname => 'int2lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int2', prosrc => 'int2lt' }, -{ oid => '65', - proname => 'int4eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int4', prosrc => 'int4eq' }, -{ oid => '66', - proname => 'int4lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int4', prosrc => 'int4lt' }, -{ oid => '67', - proname => 'texteq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'texteq' }, -{ oid => '3696', - proname => 'starts_with', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'text_starts_with' }, -{ oid => '68', - proname => 'xideq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'xid xid', prosrc => 'xideq' }, -{ oid => '3308', - proname => 'xidneq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'xid xid', prosrc => 'xidneq' }, -{ oid => '5084', - proname => 'xid8eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'xid8 xid8', prosrc => 'xid8eq' }, -{ oid => '5085', - proname => 'xid8ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'xid8 xid8', prosrc => 'xid8ne' }, -{ oid => '5034', - proname => 'xid8lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'xid8 xid8', prosrc => 'xid8lt' }, -{ oid => '5035', - proname => 'xid8gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'xid8 xid8', prosrc => 'xid8gt' }, -{ oid => '5036', - proname => 'xid8le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'xid8 xid8', prosrc => 'xid8le' }, -{ oid => '5037', - proname => 'xid8ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'xid8 xid8', prosrc => 'xid8ge' }, -{ oid => '5096', descr => 'less-equal-greater', - proname => 'xid8cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'xid8 xid8', prosrc => 'xid8cmp' }, -{ oid => '5071', descr => 'convert xid8 to xid', - proname => 'xid', prorettype => 'xid', proargtypes => 'xid8', - prosrc => 'xid8toxid' }, -{ oid => '69', - proname => 'cideq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'cid cid', prosrc => 'cideq' }, -{ oid => '70', - proname => 'charne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'char char', prosrc => 'charne' }, -{ oid => '1246', - proname => 'charlt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'char char', prosrc => 'charlt' }, -{ oid => '72', - proname => 'charle', proleakproof => 't', prorettype => 'bool', - proargtypes => 'char char', prosrc => 'charle' }, -{ oid => '73', - proname => 'chargt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'char char', prosrc => 'chargt' }, -{ oid => '74', - proname => 'charge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'char char', prosrc => 'charge' }, -{ oid => '77', descr => 'convert char to int4', - proname => 'int4', prorettype => 'int4', proargtypes => 'char', - prosrc => 'chartoi4' }, -{ oid => '78', descr => 'convert int4 to char', - proname => 'char', prorettype => 'char', proargtypes => 'int4', - prosrc => 'i4tochar' }, - -{ oid => '79', - proname => 'nameregexeq', prosupport => 'textregexeq_support', - prorettype => 'bool', proargtypes => 'name text', prosrc => 'nameregexeq' }, -{ oid => '1252', - proname => 'nameregexne', prorettype => 'bool', proargtypes => 'name text', - prosrc => 'nameregexne' }, -{ oid => '1254', - proname => 'textregexeq', prosupport => 'textregexeq_support', - prorettype => 'bool', proargtypes => 'text text', prosrc => 'textregexeq' }, -{ oid => '1256', - proname => 'textregexne', prorettype => 'bool', proargtypes => 'text text', - prosrc => 'textregexne' }, -{ oid => '1364', descr => 'planner support for textregexeq', - proname => 'textregexeq_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'textregexeq_support' }, - -{ oid => '1257', descr => 'length', - proname => 'textlen', prorettype => 'int4', proargtypes => 'text', - prosrc => 'textlen' }, -{ oid => '1258', - proname => 'textcat', prorettype => 'text', proargtypes => 'text text', - prosrc => 'textcat' }, - -{ oid => '84', - proname => 'boolne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bool bool', prosrc => 'boolne' }, -{ oid => '89', descr => 'PostgreSQL version string', - proname => 'version', provolatile => 's', prorettype => 'text', - proargtypes => '', prosrc => 'pgsql_version' }, - -{ oid => '86', descr => 'I/O', - proname => 'pg_ddl_command_in', prorettype => 'pg_ddl_command', - proargtypes => 'cstring', prosrc => 'pg_ddl_command_in' }, -{ oid => '87', descr => 'I/O', - proname => 'pg_ddl_command_out', prorettype => 'cstring', - proargtypes => 'pg_ddl_command', prosrc => 'pg_ddl_command_out' }, -{ oid => '88', descr => 'I/O', - proname => 'pg_ddl_command_recv', prorettype => 'pg_ddl_command', - proargtypes => 'internal', prosrc => 'pg_ddl_command_recv' }, -{ oid => '90', descr => 'I/O', - proname => 'pg_ddl_command_send', prorettype => 'bytea', - proargtypes => 'pg_ddl_command', prosrc => 'pg_ddl_command_send' }, - -# OIDS 100 - 199 - -{ oid => '101', descr => 'restriction selectivity of = and related operators', - proname => 'eqsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'eqsel' }, -{ oid => '102', - descr => 'restriction selectivity of <> and related operators', - proname => 'neqsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'neqsel' }, -{ oid => '103', - descr => 'restriction selectivity of < and related operators on scalar datatypes', - proname => 'scalarltsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'scalarltsel' }, -{ oid => '104', - descr => 'restriction selectivity of > and related operators on scalar datatypes', - proname => 'scalargtsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'scalargtsel' }, -{ oid => '105', descr => 'join selectivity of = and related operators', - proname => 'eqjoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', prosrc => 'eqjoinsel' }, -{ oid => '106', descr => 'join selectivity of <> and related operators', - proname => 'neqjoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'neqjoinsel' }, -{ oid => '107', - descr => 'join selectivity of < and related operators on scalar datatypes', - proname => 'scalarltjoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'scalarltjoinsel' }, -{ oid => '108', - descr => 'join selectivity of > and related operators on scalar datatypes', - proname => 'scalargtjoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'scalargtjoinsel' }, - -{ oid => '336', - descr => 'restriction selectivity of <= and related operators on scalar datatypes', - proname => 'scalarlesel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'scalarlesel' }, -{ oid => '337', - descr => 'restriction selectivity of >= and related operators on scalar datatypes', - proname => 'scalargesel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'scalargesel' }, -{ oid => '386', - descr => 'join selectivity of <= and related operators on scalar datatypes', - proname => 'scalarlejoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'scalarlejoinsel' }, -{ oid => '398', - descr => 'join selectivity of >= and related operators on scalar datatypes', - proname => 'scalargejoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'scalargejoinsel' }, - -{ oid => '109', descr => 'I/O', - proname => 'unknownin', prorettype => 'unknown', proargtypes => 'cstring', - prosrc => 'unknownin' }, -{ oid => '110', descr => 'I/O', - proname => 'unknownout', prorettype => 'cstring', proargtypes => 'unknown', - prosrc => 'unknownout' }, - -{ oid => '115', - proname => 'box_above_eq', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_above_eq' }, -{ oid => '116', - proname => 'box_below_eq', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_below_eq' }, - -{ oid => '117', descr => 'I/O', - proname => 'point_in', prorettype => 'point', proargtypes => 'cstring', - prosrc => 'point_in' }, -{ oid => '118', descr => 'I/O', - proname => 'point_out', prorettype => 'cstring', proargtypes => 'point', - prosrc => 'point_out' }, -{ oid => '119', descr => 'I/O', - proname => 'lseg_in', prorettype => 'lseg', proargtypes => 'cstring', - prosrc => 'lseg_in' }, -{ oid => '120', descr => 'I/O', - proname => 'lseg_out', prorettype => 'cstring', proargtypes => 'lseg', - prosrc => 'lseg_out' }, -{ oid => '121', descr => 'I/O', - proname => 'path_in', prorettype => 'path', proargtypes => 'cstring', - prosrc => 'path_in' }, -{ oid => '122', descr => 'I/O', - proname => 'path_out', prorettype => 'cstring', proargtypes => 'path', - prosrc => 'path_out' }, -{ oid => '123', descr => 'I/O', - proname => 'box_in', prorettype => 'box', proargtypes => 'cstring', - prosrc => 'box_in' }, -{ oid => '124', descr => 'I/O', - proname => 'box_out', prorettype => 'cstring', proargtypes => 'box', - prosrc => 'box_out' }, -{ oid => '125', - proname => 'box_overlap', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_overlap' }, -{ oid => '126', - proname => 'box_ge', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_ge' }, -{ oid => '127', - proname => 'box_gt', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_gt' }, -{ oid => '128', - proname => 'box_eq', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_eq' }, -{ oid => '129', - proname => 'box_lt', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_lt' }, -{ oid => '130', - proname => 'box_le', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_le' }, -{ oid => '131', - proname => 'point_above', prorettype => 'bool', proargtypes => 'point point', - prosrc => 'point_above' }, -{ oid => '132', - proname => 'point_left', prorettype => 'bool', proargtypes => 'point point', - prosrc => 'point_left' }, -{ oid => '133', - proname => 'point_right', prorettype => 'bool', proargtypes => 'point point', - prosrc => 'point_right' }, -{ oid => '134', - proname => 'point_below', prorettype => 'bool', proargtypes => 'point point', - prosrc => 'point_below' }, -{ oid => '135', - proname => 'point_eq', prorettype => 'bool', proargtypes => 'point point', - prosrc => 'point_eq' }, -{ oid => '136', - proname => 'on_pb', prorettype => 'bool', proargtypes => 'point box', - prosrc => 'on_pb' }, -{ oid => '137', - proname => 'on_ppath', prorettype => 'bool', proargtypes => 'point path', - prosrc => 'on_ppath' }, -{ oid => '138', - proname => 'box_center', prorettype => 'point', proargtypes => 'box', - prosrc => 'box_center' }, -{ oid => '139', - descr => 'restriction selectivity for area-comparison operators', - proname => 'areasel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'areasel' }, -{ oid => '140', descr => 'join selectivity for area-comparison operators', - proname => 'areajoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'areajoinsel' }, -{ oid => '141', - proname => 'int4mul', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4mul' }, -{ oid => '144', - proname => 'int4ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int4', prosrc => 'int4ne' }, -{ oid => '145', - proname => 'int2ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int2', prosrc => 'int2ne' }, -{ oid => '146', - proname => 'int2gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int2', prosrc => 'int2gt' }, -{ oid => '147', - proname => 'int4gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int4', prosrc => 'int4gt' }, -{ oid => '148', - proname => 'int2le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int2', prosrc => 'int2le' }, -{ oid => '149', - proname => 'int4le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int4', prosrc => 'int4le' }, -{ oid => '150', - proname => 'int4ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int4', prosrc => 'int4ge' }, -{ oid => '151', - proname => 'int2ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int2', prosrc => 'int2ge' }, -{ oid => '152', - proname => 'int2mul', prorettype => 'int2', proargtypes => 'int2 int2', - prosrc => 'int2mul' }, -{ oid => '153', - proname => 'int2div', prorettype => 'int2', proargtypes => 'int2 int2', - prosrc => 'int2div' }, -{ oid => '154', - proname => 'int4div', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4div' }, -{ oid => '155', - proname => 'int2mod', prorettype => 'int2', proargtypes => 'int2 int2', - prosrc => 'int2mod' }, -{ oid => '156', - proname => 'int4mod', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4mod' }, -{ oid => '157', - proname => 'textne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'textne' }, -{ oid => '158', - proname => 'int24eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int4', prosrc => 'int24eq' }, -{ oid => '159', - proname => 'int42eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int2', prosrc => 'int42eq' }, -{ oid => '160', - proname => 'int24lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int4', prosrc => 'int24lt' }, -{ oid => '161', - proname => 'int42lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int2', prosrc => 'int42lt' }, -{ oid => '162', - proname => 'int24gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int4', prosrc => 'int24gt' }, -{ oid => '163', - proname => 'int42gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int2', prosrc => 'int42gt' }, -{ oid => '164', - proname => 'int24ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int4', prosrc => 'int24ne' }, -{ oid => '165', - proname => 'int42ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int2', prosrc => 'int42ne' }, -{ oid => '166', - proname => 'int24le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int4', prosrc => 'int24le' }, -{ oid => '167', - proname => 'int42le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int2', prosrc => 'int42le' }, -{ oid => '168', - proname => 'int24ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int4', prosrc => 'int24ge' }, -{ oid => '169', - proname => 'int42ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int2', prosrc => 'int42ge' }, -{ oid => '170', - proname => 'int24mul', prorettype => 'int4', proargtypes => 'int2 int4', - prosrc => 'int24mul' }, -{ oid => '171', - proname => 'int42mul', prorettype => 'int4', proargtypes => 'int4 int2', - prosrc => 'int42mul' }, -{ oid => '172', - proname => 'int24div', prorettype => 'int4', proargtypes => 'int2 int4', - prosrc => 'int24div' }, -{ oid => '173', - proname => 'int42div', prorettype => 'int4', proargtypes => 'int4 int2', - prosrc => 'int42div' }, -{ oid => '176', - proname => 'int2pl', prorettype => 'int2', proargtypes => 'int2 int2', - prosrc => 'int2pl' }, -{ oid => '177', - proname => 'int4pl', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4pl' }, -{ oid => '178', - proname => 'int24pl', prorettype => 'int4', proargtypes => 'int2 int4', - prosrc => 'int24pl' }, -{ oid => '179', - proname => 'int42pl', prorettype => 'int4', proargtypes => 'int4 int2', - prosrc => 'int42pl' }, -{ oid => '180', - proname => 'int2mi', prorettype => 'int2', proargtypes => 'int2 int2', - prosrc => 'int2mi' }, -{ oid => '181', - proname => 'int4mi', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4mi' }, -{ oid => '182', - proname => 'int24mi', prorettype => 'int4', proargtypes => 'int2 int4', - prosrc => 'int24mi' }, -{ oid => '183', - proname => 'int42mi', prorettype => 'int4', proargtypes => 'int4 int2', - prosrc => 'int42mi' }, -{ oid => '184', - proname => 'oideq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'oid oid', prosrc => 'oideq' }, -{ oid => '185', - proname => 'oidne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'oid oid', prosrc => 'oidne' }, -{ oid => '186', - proname => 'box_same', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_same' }, -{ oid => '187', - proname => 'box_contain', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_contain' }, -{ oid => '188', - proname => 'box_left', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_left' }, -{ oid => '189', - proname => 'box_overleft', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_overleft' }, -{ oid => '190', - proname => 'box_overright', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_overright' }, -{ oid => '191', - proname => 'box_right', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_right' }, -{ oid => '192', - proname => 'box_contained', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_contained' }, -{ oid => '193', - proname => 'box_contain_pt', prorettype => 'bool', proargtypes => 'box point', - prosrc => 'box_contain_pt' }, - -{ oid => '195', descr => 'I/O', - proname => 'pg_node_tree_in', prorettype => 'pg_node_tree', - proargtypes => 'cstring', prosrc => 'pg_node_tree_in' }, -{ oid => '196', descr => 'I/O', - proname => 'pg_node_tree_out', prorettype => 'cstring', - proargtypes => 'pg_node_tree', prosrc => 'pg_node_tree_out' }, -{ oid => '197', descr => 'I/O', - proname => 'pg_node_tree_recv', provolatile => 's', - prorettype => 'pg_node_tree', proargtypes => 'internal', - prosrc => 'pg_node_tree_recv' }, -{ oid => '198', descr => 'I/O', - proname => 'pg_node_tree_send', provolatile => 's', prorettype => 'bytea', - proargtypes => 'pg_node_tree', prosrc => 'pg_node_tree_send' }, - -# OIDS 200 - 299 - -{ oid => '200', descr => 'I/O', - proname => 'float4in', prorettype => 'float4', proargtypes => 'cstring', - prosrc => 'float4in' }, -{ oid => '201', descr => 'I/O', - proname => 'float4out', prorettype => 'cstring', proargtypes => 'float4', - prosrc => 'float4out' }, -{ oid => '202', - proname => 'float4mul', prorettype => 'float4', - proargtypes => 'float4 float4', prosrc => 'float4mul' }, -{ oid => '203', - proname => 'float4div', prorettype => 'float4', - proargtypes => 'float4 float4', prosrc => 'float4div' }, -{ oid => '204', - proname => 'float4pl', prorettype => 'float4', proargtypes => 'float4 float4', - prosrc => 'float4pl' }, -{ oid => '205', - proname => 'float4mi', prorettype => 'float4', proargtypes => 'float4 float4', - prosrc => 'float4mi' }, -{ oid => '206', - proname => 'float4um', prorettype => 'float4', proargtypes => 'float4', - prosrc => 'float4um' }, -{ oid => '207', - proname => 'float4abs', prorettype => 'float4', proargtypes => 'float4', - prosrc => 'float4abs' }, -{ oid => '208', descr => 'aggregate transition function', - proname => 'float4_accum', prorettype => '_float8', - proargtypes => '_float8 float4', prosrc => 'float4_accum' }, -{ oid => '209', descr => 'larger of two', - proname => 'float4larger', prorettype => 'float4', - proargtypes => 'float4 float4', prosrc => 'float4larger' }, -{ oid => '211', descr => 'smaller of two', - proname => 'float4smaller', prorettype => 'float4', - proargtypes => 'float4 float4', prosrc => 'float4smaller' }, - -{ oid => '212', - proname => 'int4um', prorettype => 'int4', proargtypes => 'int4', - prosrc => 'int4um' }, -{ oid => '213', - proname => 'int2um', prorettype => 'int2', proargtypes => 'int2', - prosrc => 'int2um' }, - -{ oid => '214', descr => 'I/O', - proname => 'float8in', prorettype => 'float8', proargtypes => 'cstring', - prosrc => 'float8in' }, -{ oid => '215', descr => 'I/O', - proname => 'float8out', prorettype => 'cstring', proargtypes => 'float8', - prosrc => 'float8out' }, -{ oid => '216', - proname => 'float8mul', prorettype => 'float8', - proargtypes => 'float8 float8', prosrc => 'float8mul' }, -{ oid => '217', - proname => 'float8div', prorettype => 'float8', - proargtypes => 'float8 float8', prosrc => 'float8div' }, -{ oid => '218', - proname => 'float8pl', prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'float8pl' }, -{ oid => '219', - proname => 'float8mi', prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'float8mi' }, -{ oid => '220', - proname => 'float8um', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'float8um' }, -{ oid => '221', - proname => 'float8abs', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'float8abs' }, -{ oid => '222', descr => 'aggregate transition function', - proname => 'float8_accum', prorettype => '_float8', - proargtypes => '_float8 float8', prosrc => 'float8_accum' }, -{ oid => '276', descr => 'aggregate combine function', - proname => 'float8_combine', prorettype => '_float8', - proargtypes => '_float8 _float8', prosrc => 'float8_combine' }, -{ oid => '223', descr => 'larger of two', - proname => 'float8larger', prorettype => 'float8', - proargtypes => 'float8 float8', prosrc => 'float8larger' }, -{ oid => '224', descr => 'smaller of two', - proname => 'float8smaller', prorettype => 'float8', - proargtypes => 'float8 float8', prosrc => 'float8smaller' }, - -{ oid => '225', - proname => 'lseg_center', prorettype => 'point', proargtypes => 'lseg', - prosrc => 'lseg_center' }, -{ oid => '226', - proname => 'path_center', prorettype => 'point', proargtypes => 'path', - prosrc => 'path_center' }, -{ oid => '227', - proname => 'poly_center', prorettype => 'point', proargtypes => 'polygon', - prosrc => 'poly_center' }, - -{ oid => '228', descr => 'round to nearest integer', - proname => 'dround', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dround' }, -{ oid => '229', descr => 'truncate to integer', - proname => 'dtrunc', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dtrunc' }, -{ oid => '2308', descr => 'nearest integer >= value', - proname => 'ceil', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dceil' }, -{ oid => '2320', descr => 'nearest integer >= value', - proname => 'ceiling', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dceil' }, -{ oid => '2309', descr => 'nearest integer <= value', - proname => 'floor', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dfloor' }, -{ oid => '2310', descr => 'sign of value', - proname => 'sign', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dsign' }, -{ oid => '230', - proname => 'dsqrt', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dsqrt' }, -{ oid => '231', - proname => 'dcbrt', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dcbrt' }, -{ oid => '232', - proname => 'dpow', prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'dpow' }, -{ oid => '233', descr => 'natural exponential (e^x)', - proname => 'dexp', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dexp' }, -{ oid => '234', descr => 'natural logarithm', - proname => 'dlog1', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dlog1' }, -{ oid => '235', descr => 'convert int2 to float8', - proname => 'float8', proleakproof => 't', prorettype => 'float8', - proargtypes => 'int2', prosrc => 'i2tod' }, -{ oid => '236', descr => 'convert int2 to float4', - proname => 'float4', proleakproof => 't', prorettype => 'float4', - proargtypes => 'int2', prosrc => 'i2tof' }, -{ oid => '237', descr => 'convert float8 to int2', - proname => 'int2', prorettype => 'int2', proargtypes => 'float8', - prosrc => 'dtoi2' }, -{ oid => '238', descr => 'convert float4 to int2', - proname => 'int2', prorettype => 'int2', proargtypes => 'float4', - prosrc => 'ftoi2' }, -{ oid => '239', - proname => 'line_distance', prorettype => 'float8', - proargtypes => 'line line', prosrc => 'line_distance' }, - -{ oid => '240', - proname => 'nameeqtext', proleakproof => 't', prorettype => 'bool', - proargtypes => 'name text', prosrc => 'nameeqtext' }, -{ oid => '241', - proname => 'namelttext', proleakproof => 't', prorettype => 'bool', - proargtypes => 'name text', prosrc => 'namelttext' }, -{ oid => '242', - proname => 'nameletext', proleakproof => 't', prorettype => 'bool', - proargtypes => 'name text', prosrc => 'nameletext' }, -{ oid => '243', - proname => 'namegetext', proleakproof => 't', prorettype => 'bool', - proargtypes => 'name text', prosrc => 'namegetext' }, -{ oid => '244', - proname => 'namegttext', proleakproof => 't', prorettype => 'bool', - proargtypes => 'name text', prosrc => 'namegttext' }, -{ oid => '245', - proname => 'namenetext', proleakproof => 't', prorettype => 'bool', - proargtypes => 'name text', prosrc => 'namenetext' }, -{ oid => '246', descr => 'less-equal-greater', - proname => 'btnametextcmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'name text', prosrc => 'btnametextcmp' }, -{ oid => '247', - proname => 'texteqname', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text name', prosrc => 'texteqname' }, -{ oid => '248', - proname => 'textltname', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text name', prosrc => 'textltname' }, -{ oid => '249', - proname => 'textlename', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text name', prosrc => 'textlename' }, -{ oid => '250', - proname => 'textgename', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text name', prosrc => 'textgename' }, -{ oid => '251', - proname => 'textgtname', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text name', prosrc => 'textgtname' }, -{ oid => '252', - proname => 'textnename', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text name', prosrc => 'textnename' }, -{ oid => '253', descr => 'less-equal-greater', - proname => 'bttextnamecmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'text name', prosrc => 'bttextnamecmp' }, - -{ oid => '266', descr => 'concatenate name and oid', - proname => 'nameconcatoid', prorettype => 'name', proargtypes => 'name oid', - prosrc => 'nameconcatoid' }, - -{ oid => '274', - descr => 'current date and time - increments during transactions', - proname => 'timeofday', provolatile => 'v', prorettype => 'text', - proargtypes => '', prosrc => 'timeofday' }, - -{ oid => '277', - proname => 'inter_sl', prorettype => 'bool', proargtypes => 'lseg line', - prosrc => 'inter_sl' }, -{ oid => '278', - proname => 'inter_lb', prorettype => 'bool', proargtypes => 'line box', - prosrc => 'inter_lb' }, - -{ oid => '279', - proname => 'float48mul', prorettype => 'float8', - proargtypes => 'float4 float8', prosrc => 'float48mul' }, -{ oid => '280', - proname => 'float48div', prorettype => 'float8', - proargtypes => 'float4 float8', prosrc => 'float48div' }, -{ oid => '281', - proname => 'float48pl', prorettype => 'float8', - proargtypes => 'float4 float8', prosrc => 'float48pl' }, -{ oid => '282', - proname => 'float48mi', prorettype => 'float8', - proargtypes => 'float4 float8', prosrc => 'float48mi' }, -{ oid => '283', - proname => 'float84mul', prorettype => 'float8', - proargtypes => 'float8 float4', prosrc => 'float84mul' }, -{ oid => '284', - proname => 'float84div', prorettype => 'float8', - proargtypes => 'float8 float4', prosrc => 'float84div' }, -{ oid => '285', - proname => 'float84pl', prorettype => 'float8', - proargtypes => 'float8 float4', prosrc => 'float84pl' }, -{ oid => '286', - proname => 'float84mi', prorettype => 'float8', - proargtypes => 'float8 float4', prosrc => 'float84mi' }, - -{ oid => '287', - proname => 'float4eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float4 float4', prosrc => 'float4eq' }, -{ oid => '288', - proname => 'float4ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float4 float4', prosrc => 'float4ne' }, -{ oid => '289', - proname => 'float4lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float4 float4', prosrc => 'float4lt' }, -{ oid => '290', - proname => 'float4le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float4 float4', prosrc => 'float4le' }, -{ oid => '291', - proname => 'float4gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float4 float4', prosrc => 'float4gt' }, -{ oid => '292', - proname => 'float4ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float4 float4', prosrc => 'float4ge' }, - -{ oid => '293', - proname => 'float8eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float8 float8', prosrc => 'float8eq' }, -{ oid => '294', - proname => 'float8ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float8 float8', prosrc => 'float8ne' }, -{ oid => '295', - proname => 'float8lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float8 float8', prosrc => 'float8lt' }, -{ oid => '296', - proname => 'float8le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float8 float8', prosrc => 'float8le' }, -{ oid => '297', - proname => 'float8gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float8 float8', prosrc => 'float8gt' }, -{ oid => '298', - proname => 'float8ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float8 float8', prosrc => 'float8ge' }, - -{ oid => '299', - proname => 'float48eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float4 float8', prosrc => 'float48eq' }, - -# OIDS 300 - 399 - -{ oid => '300', - proname => 'float48ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float4 float8', prosrc => 'float48ne' }, -{ oid => '301', - proname => 'float48lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float4 float8', prosrc => 'float48lt' }, -{ oid => '302', - proname => 'float48le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float4 float8', prosrc => 'float48le' }, -{ oid => '303', - proname => 'float48gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float4 float8', prosrc => 'float48gt' }, -{ oid => '304', - proname => 'float48ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float4 float8', prosrc => 'float48ge' }, -{ oid => '305', - proname => 'float84eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float8 float4', prosrc => 'float84eq' }, -{ oid => '306', - proname => 'float84ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float8 float4', prosrc => 'float84ne' }, -{ oid => '307', - proname => 'float84lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float8 float4', prosrc => 'float84lt' }, -{ oid => '308', - proname => 'float84le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float8 float4', prosrc => 'float84le' }, -{ oid => '309', - proname => 'float84gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float8 float4', prosrc => 'float84gt' }, -{ oid => '310', - proname => 'float84ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'float8 float4', prosrc => 'float84ge' }, -{ oid => '320', descr => 'bucket number of operand in equal-width histogram', - proname => 'width_bucket', prorettype => 'int4', - proargtypes => 'float8 float8 float8 int4', prosrc => 'width_bucket_float8' }, - -{ oid => '311', descr => 'convert float4 to float8', - proname => 'float8', proleakproof => 't', prorettype => 'float8', - proargtypes => 'float4', prosrc => 'ftod' }, -{ oid => '312', descr => 'convert float8 to float4', - proname => 'float4', prorettype => 'float4', proargtypes => 'float8', - prosrc => 'dtof' }, -{ oid => '313', descr => 'convert int2 to int4', - proname => 'int4', proleakproof => 't', prorettype => 'int4', - proargtypes => 'int2', prosrc => 'i2toi4' }, -{ oid => '314', descr => 'convert int4 to int2', - proname => 'int2', prorettype => 'int2', proargtypes => 'int4', - prosrc => 'i4toi2' }, -{ oid => '316', descr => 'convert int4 to float8', - proname => 'float8', proleakproof => 't', prorettype => 'float8', - proargtypes => 'int4', prosrc => 'i4tod' }, -{ oid => '317', descr => 'convert float8 to int4', - proname => 'int4', prorettype => 'int4', proargtypes => 'float8', - prosrc => 'dtoi4' }, -{ oid => '318', descr => 'convert int4 to float4', - proname => 'float4', proleakproof => 't', prorettype => 'float4', - proargtypes => 'int4', prosrc => 'i4tof' }, -{ oid => '319', descr => 'convert float4 to int4', - proname => 'int4', prorettype => 'int4', proargtypes => 'float4', - prosrc => 'ftoi4' }, - -# Table access method handlers -{ oid => '3', descr => 'row-oriented heap table access method handler', - proname => 'heap_tableam_handler', provolatile => 'v', - prorettype => 'table_am_handler', proargtypes => 'internal', - prosrc => 'heap_tableam_handler' }, - -# Index access method handlers -{ oid => '330', descr => 'btree index access method handler', - proname => 'bthandler', provolatile => 'v', prorettype => 'index_am_handler', - proargtypes => 'internal', prosrc => 'bthandler' }, -{ oid => '331', descr => 'hash index access method handler', - proname => 'hashhandler', provolatile => 'v', - prorettype => 'index_am_handler', proargtypes => 'internal', - prosrc => 'hashhandler' }, -{ oid => '332', descr => 'gist index access method handler', - proname => 'gisthandler', provolatile => 'v', - prorettype => 'index_am_handler', proargtypes => 'internal', - prosrc => 'gisthandler' }, -{ oid => '333', descr => 'gin index access method handler', - proname => 'ginhandler', provolatile => 'v', prorettype => 'index_am_handler', - proargtypes => 'internal', prosrc => 'ginhandler' }, -{ oid => '334', descr => 'spgist index access method handler', - proname => 'spghandler', provolatile => 'v', prorettype => 'index_am_handler', - proargtypes => 'internal', prosrc => 'spghandler' }, -{ oid => '335', descr => 'brin index access method handler', - proname => 'brinhandler', provolatile => 'v', - prorettype => 'index_am_handler', proargtypes => 'internal', - prosrc => 'brinhandler' }, -{ oid => '3952', descr => 'brin: standalone scan new table pages', - proname => 'brin_summarize_new_values', provolatile => 'v', - proparallel => 'u', prorettype => 'int4', proargtypes => 'regclass', - prosrc => 'brin_summarize_new_values' }, -{ oid => '3999', descr => 'brin: standalone scan new table pages', - proname => 'brin_summarize_range', provolatile => 'v', proparallel => 'u', - prorettype => 'int4', proargtypes => 'regclass int8', - prosrc => 'brin_summarize_range' }, -{ oid => '4014', descr => 'brin: desummarize page range', - proname => 'brin_desummarize_range', provolatile => 'v', proparallel => 'u', - prorettype => 'void', proargtypes => 'regclass int8', - prosrc => 'brin_desummarize_range' }, - -{ oid => '338', descr => 'validate an operator class', - proname => 'amvalidate', provolatile => 'v', prorettype => 'bool', - proargtypes => 'oid', prosrc => 'amvalidate' }, - -{ oid => '636', descr => 'test property of an index access method', - proname => 'pg_indexam_has_property', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid text', - prosrc => 'pg_indexam_has_property' }, -{ oid => '637', descr => 'test property of an index', - proname => 'pg_index_has_property', provolatile => 's', prorettype => 'bool', - proargtypes => 'regclass text', prosrc => 'pg_index_has_property' }, -{ oid => '638', descr => 'test property of an index column', - proname => 'pg_index_column_has_property', provolatile => 's', - prorettype => 'bool', proargtypes => 'regclass int4 text', - prosrc => 'pg_index_column_has_property' }, -{ oid => '676', descr => 'return name of given index build phase', - proname => 'pg_indexam_progress_phasename', prorettype => 'text', - proargtypes => 'oid int8', prosrc => 'pg_indexam_progress_phasename' }, - -{ oid => '339', - proname => 'poly_same', prorettype => 'bool', - proargtypes => 'polygon polygon', prosrc => 'poly_same' }, -{ oid => '340', - proname => 'poly_contain', prorettype => 'bool', - proargtypes => 'polygon polygon', prosrc => 'poly_contain' }, -{ oid => '341', - proname => 'poly_left', prorettype => 'bool', - proargtypes => 'polygon polygon', prosrc => 'poly_left' }, -{ oid => '342', - proname => 'poly_overleft', prorettype => 'bool', - proargtypes => 'polygon polygon', prosrc => 'poly_overleft' }, -{ oid => '343', - proname => 'poly_overright', prorettype => 'bool', - proargtypes => 'polygon polygon', prosrc => 'poly_overright' }, -{ oid => '344', - proname => 'poly_right', prorettype => 'bool', - proargtypes => 'polygon polygon', prosrc => 'poly_right' }, -{ oid => '345', - proname => 'poly_contained', prorettype => 'bool', - proargtypes => 'polygon polygon', prosrc => 'poly_contained' }, -{ oid => '346', - proname => 'poly_overlap', prorettype => 'bool', - proargtypes => 'polygon polygon', prosrc => 'poly_overlap' }, -{ oid => '347', descr => 'I/O', - proname => 'poly_in', prorettype => 'polygon', proargtypes => 'cstring', - prosrc => 'poly_in' }, -{ oid => '348', descr => 'I/O', - proname => 'poly_out', prorettype => 'cstring', proargtypes => 'polygon', - prosrc => 'poly_out' }, - -{ oid => '350', descr => 'less-equal-greater', - proname => 'btint2cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'int2 int2', prosrc => 'btint2cmp' }, -{ oid => '3129', descr => 'sort support', - proname => 'btint2sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'btint2sortsupport' }, -{ oid => '351', descr => 'less-equal-greater', - proname => 'btint4cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'int4 int4', prosrc => 'btint4cmp' }, -{ oid => '3130', descr => 'sort support', - proname => 'btint4sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'btint4sortsupport' }, -{ oid => '842', descr => 'less-equal-greater', - proname => 'btint8cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'int8 int8', prosrc => 'btint8cmp' }, -{ oid => '3131', descr => 'sort support', - proname => 'btint8sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'btint8sortsupport' }, -{ oid => '354', descr => 'less-equal-greater', - proname => 'btfloat4cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'float4 float4', prosrc => 'btfloat4cmp' }, -{ oid => '3132', descr => 'sort support', - proname => 'btfloat4sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'btfloat4sortsupport' }, -{ oid => '355', descr => 'less-equal-greater', - proname => 'btfloat8cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'float8 float8', prosrc => 'btfloat8cmp' }, -{ oid => '3133', descr => 'sort support', - proname => 'btfloat8sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'btfloat8sortsupport' }, -{ oid => '356', descr => 'less-equal-greater', - proname => 'btoidcmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'oid oid', prosrc => 'btoidcmp' }, -{ oid => '3134', descr => 'sort support', - proname => 'btoidsortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'btoidsortsupport' }, -{ oid => '404', descr => 'less-equal-greater', - proname => 'btoidvectorcmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'oidvector oidvector', prosrc => 'btoidvectorcmp' }, -{ oid => '358', descr => 'less-equal-greater', - proname => 'btcharcmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'char char', prosrc => 'btcharcmp' }, -{ oid => '359', descr => 'less-equal-greater', - proname => 'btnamecmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'name name', prosrc => 'btnamecmp' }, -{ oid => '3135', descr => 'sort support', - proname => 'btnamesortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'btnamesortsupport' }, -{ oid => '360', descr => 'less-equal-greater', - proname => 'bttextcmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'text text', prosrc => 'bttextcmp' }, -{ oid => '3255', descr => 'sort support', - proname => 'bttextsortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'bttextsortsupport' }, -{ oid => '5050', descr => 'equal image', - proname => 'btvarstrequalimage', prorettype => 'bool', proargtypes => 'oid', - prosrc => 'btvarstrequalimage' }, -{ oid => '377', descr => 'less-equal-greater', - proname => 'cash_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'money money', prosrc => 'cash_cmp' }, -{ oid => '382', descr => 'less-equal-greater', - proname => 'btarraycmp', prorettype => 'int4', - proargtypes => 'anyarray anyarray', prosrc => 'btarraycmp' }, -{ oid => '4126', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'int8 int8 int8 bool bool', prosrc => 'in_range_int8_int8' }, -{ oid => '4127', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'int4 int4 int8 bool bool', prosrc => 'in_range_int4_int8' }, -{ oid => '4128', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'int4 int4 int4 bool bool', prosrc => 'in_range_int4_int4' }, -{ oid => '4129', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'int4 int4 int2 bool bool', prosrc => 'in_range_int4_int2' }, -{ oid => '4130', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'int2 int2 int8 bool bool', prosrc => 'in_range_int2_int8' }, -{ oid => '4131', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'int2 int2 int4 bool bool', prosrc => 'in_range_int2_int4' }, -{ oid => '4132', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'int2 int2 int2 bool bool', prosrc => 'in_range_int2_int2' }, -{ oid => '4139', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'float8 float8 float8 bool bool', - prosrc => 'in_range_float8_float8' }, -{ oid => '4140', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'float4 float4 float8 bool bool', - prosrc => 'in_range_float4_float8' }, -{ oid => '4141', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'numeric numeric numeric bool bool', - prosrc => 'in_range_numeric_numeric' }, - -{ oid => '361', - proname => 'lseg_distance', prorettype => 'float8', - proargtypes => 'lseg lseg', prosrc => 'lseg_distance' }, -{ oid => '362', - proname => 'lseg_interpt', prorettype => 'point', proargtypes => 'lseg lseg', - prosrc => 'lseg_interpt' }, -{ oid => '363', - proname => 'dist_ps', prorettype => 'float8', proargtypes => 'point lseg', - prosrc => 'dist_ps' }, -{ oid => '380', - proname => 'dist_sp', prorettype => 'float8', proargtypes => 'lseg point', - prosrc => 'dist_sp' }, -{ oid => '364', - proname => 'dist_pb', prorettype => 'float8', proargtypes => 'point box', - prosrc => 'dist_pb' }, -{ oid => '357', - proname => 'dist_bp', prorettype => 'float8', proargtypes => 'box point', - prosrc => 'dist_bp' }, -{ oid => '365', - proname => 'dist_sb', prorettype => 'float8', proargtypes => 'lseg box', - prosrc => 'dist_sb' }, -{ oid => '381', - proname => 'dist_bs', prorettype => 'float8', proargtypes => 'box lseg', - prosrc => 'dist_bs' }, -{ oid => '366', - proname => 'close_ps', prorettype => 'point', proargtypes => 'point lseg', - prosrc => 'close_ps' }, -{ oid => '367', - proname => 'close_pb', prorettype => 'point', proargtypes => 'point box', - prosrc => 'close_pb' }, -{ oid => '368', - proname => 'close_sb', prorettype => 'point', proargtypes => 'lseg box', - prosrc => 'close_sb' }, -{ oid => '369', - proname => 'on_ps', prorettype => 'bool', proargtypes => 'point lseg', - prosrc => 'on_ps' }, -{ oid => '370', - proname => 'path_distance', prorettype => 'float8', - proargtypes => 'path path', prosrc => 'path_distance' }, -{ oid => '371', - proname => 'dist_ppath', prorettype => 'float8', proargtypes => 'point path', - prosrc => 'dist_ppath' }, -{ oid => '421', - proname => 'dist_pathp', prorettype => 'float8', proargtypes => 'path point', - prosrc => 'dist_pathp' }, -{ oid => '372', - proname => 'on_sb', prorettype => 'bool', proargtypes => 'lseg box', - prosrc => 'on_sb' }, -{ oid => '373', - proname => 'inter_sb', prorettype => 'bool', proargtypes => 'lseg box', - prosrc => 'inter_sb' }, - -# OIDS 400 - 499 - -{ oid => '401', descr => 'convert char(n) to text', - proname => 'text', prorettype => 'text', proargtypes => 'bpchar', - prosrc => 'rtrim1' }, -{ oid => '406', descr => 'convert name to text', - proname => 'text', proleakproof => 't', prorettype => 'text', - proargtypes => 'name', prosrc => 'name_text' }, -{ oid => '407', descr => 'convert text to name', - proname => 'name', proleakproof => 't', prorettype => 'name', - proargtypes => 'text', prosrc => 'text_name' }, -{ oid => '408', descr => 'convert name to char(n)', - proname => 'bpchar', prorettype => 'bpchar', proargtypes => 'name', - prosrc => 'name_bpchar' }, -{ oid => '409', descr => 'convert char(n) to name', - proname => 'name', proleakproof => 't', prorettype => 'name', - proargtypes => 'bpchar', prosrc => 'bpchar_name' }, - -{ oid => '449', descr => 'hash', - proname => 'hashint2', prorettype => 'int4', proargtypes => 'int2', - prosrc => 'hashint2' }, -{ oid => '441', descr => 'hash', - proname => 'hashint2extended', prorettype => 'int8', - proargtypes => 'int2 int8', prosrc => 'hashint2extended' }, -{ oid => '450', descr => 'hash', - proname => 'hashint4', prorettype => 'int4', proargtypes => 'int4', - prosrc => 'hashint4' }, -{ oid => '425', descr => 'hash', - proname => 'hashint4extended', prorettype => 'int8', - proargtypes => 'int4 int8', prosrc => 'hashint4extended' }, -{ oid => '949', descr => 'hash', - proname => 'hashint8', prorettype => 'int4', proargtypes => 'int8', - prosrc => 'hashint8' }, -{ oid => '442', descr => 'hash', - proname => 'hashint8extended', prorettype => 'int8', - proargtypes => 'int8 int8', prosrc => 'hashint8extended' }, -{ oid => '451', descr => 'hash', - proname => 'hashfloat4', prorettype => 'int4', proargtypes => 'float4', - prosrc => 'hashfloat4' }, -{ oid => '443', descr => 'hash', - proname => 'hashfloat4extended', prorettype => 'int8', - proargtypes => 'float4 int8', prosrc => 'hashfloat4extended' }, -{ oid => '452', descr => 'hash', - proname => 'hashfloat8', prorettype => 'int4', proargtypes => 'float8', - prosrc => 'hashfloat8' }, -{ oid => '444', descr => 'hash', - proname => 'hashfloat8extended', prorettype => 'int8', - proargtypes => 'float8 int8', prosrc => 'hashfloat8extended' }, -{ oid => '453', descr => 'hash', - proname => 'hashoid', prorettype => 'int4', proargtypes => 'oid', - prosrc => 'hashoid' }, -{ oid => '445', descr => 'hash', - proname => 'hashoidextended', prorettype => 'int8', proargtypes => 'oid int8', - prosrc => 'hashoidextended' }, -{ oid => '454', descr => 'hash', - proname => 'hashchar', prorettype => 'int4', proargtypes => 'char', - prosrc => 'hashchar' }, -{ oid => '446', descr => 'hash', - proname => 'hashcharextended', prorettype => 'int8', - proargtypes => 'char int8', prosrc => 'hashcharextended' }, -{ oid => '455', descr => 'hash', - proname => 'hashname', prorettype => 'int4', proargtypes => 'name', - prosrc => 'hashname' }, -{ oid => '447', descr => 'hash', - proname => 'hashnameextended', prorettype => 'int8', - proargtypes => 'name int8', prosrc => 'hashnameextended' }, -{ oid => '400', descr => 'hash', - proname => 'hashtext', prorettype => 'int4', proargtypes => 'text', - prosrc => 'hashtext' }, -{ oid => '448', descr => 'hash', - proname => 'hashtextextended', prorettype => 'int8', - proargtypes => 'text int8', prosrc => 'hashtextextended' }, -{ oid => '456', descr => 'hash', - proname => 'hashvarlena', prorettype => 'int4', proargtypes => 'internal', - prosrc => 'hashvarlena' }, -{ oid => '772', descr => 'hash', - proname => 'hashvarlenaextended', prorettype => 'int8', - proargtypes => 'internal int8', prosrc => 'hashvarlenaextended' }, -{ oid => '457', descr => 'hash', - proname => 'hashoidvector', prorettype => 'int4', proargtypes => 'oidvector', - prosrc => 'hashoidvector' }, -{ oid => '776', descr => 'hash', - proname => 'hashoidvectorextended', prorettype => 'int8', - proargtypes => 'oidvector int8', prosrc => 'hashoidvectorextended' }, -{ oid => '329', descr => 'hash', - proname => 'hash_aclitem', prorettype => 'int4', proargtypes => 'aclitem', - prosrc => 'hash_aclitem' }, -{ oid => '777', descr => 'hash', - proname => 'hash_aclitem_extended', prorettype => 'int8', - proargtypes => 'aclitem int8', prosrc => 'hash_aclitem_extended' }, -{ oid => '399', descr => 'hash', - proname => 'hashmacaddr', prorettype => 'int4', proargtypes => 'macaddr', - prosrc => 'hashmacaddr' }, -{ oid => '778', descr => 'hash', - proname => 'hashmacaddrextended', prorettype => 'int8', - proargtypes => 'macaddr int8', prosrc => 'hashmacaddrextended' }, -{ oid => '422', descr => 'hash', - proname => 'hashinet', prorettype => 'int4', proargtypes => 'inet', - prosrc => 'hashinet' }, -{ oid => '779', descr => 'hash', - proname => 'hashinetextended', prorettype => 'int8', - proargtypes => 'inet int8', prosrc => 'hashinetextended' }, -{ oid => '432', descr => 'hash', - proname => 'hash_numeric', prorettype => 'int4', proargtypes => 'numeric', - prosrc => 'hash_numeric' }, -{ oid => '780', descr => 'hash', - proname => 'hash_numeric_extended', prorettype => 'int8', - proargtypes => 'numeric int8', prosrc => 'hash_numeric_extended' }, -{ oid => '328', descr => 'hash', - proname => 'hashmacaddr8', prorettype => 'int4', proargtypes => 'macaddr8', - prosrc => 'hashmacaddr8' }, -{ oid => '781', descr => 'hash', - proname => 'hashmacaddr8extended', prorettype => 'int8', - proargtypes => 'macaddr8 int8', prosrc => 'hashmacaddr8extended' }, - -{ oid => '438', descr => 'count the number of NULL arguments', - proname => 'num_nulls', provariadic => 'any', proisstrict => 'f', - prorettype => 'int4', proargtypes => 'any', proallargtypes => '{any}', - proargmodes => '{v}', prosrc => 'pg_num_nulls' }, -{ oid => '440', descr => 'count the number of non-NULL arguments', - proname => 'num_nonnulls', provariadic => 'any', proisstrict => 'f', - prorettype => 'int4', proargtypes => 'any', proallargtypes => '{any}', - proargmodes => '{v}', prosrc => 'pg_num_nonnulls' }, - -{ oid => '458', descr => 'larger of two', - proname => 'text_larger', proleakproof => 't', prorettype => 'text', - proargtypes => 'text text', prosrc => 'text_larger' }, -{ oid => '459', descr => 'smaller of two', - proname => 'text_smaller', proleakproof => 't', prorettype => 'text', - proargtypes => 'text text', prosrc => 'text_smaller' }, - -{ oid => '460', descr => 'I/O', - proname => 'int8in', prorettype => 'int8', proargtypes => 'cstring', - prosrc => 'int8in' }, -{ oid => '461', descr => 'I/O', - proname => 'int8out', prorettype => 'cstring', proargtypes => 'int8', - prosrc => 'int8out' }, -{ oid => '462', - proname => 'int8um', prorettype => 'int8', proargtypes => 'int8', - prosrc => 'int8um' }, -{ oid => '463', - proname => 'int8pl', prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'int8pl' }, -{ oid => '464', - proname => 'int8mi', prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'int8mi' }, -{ oid => '465', - proname => 'int8mul', prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'int8mul' }, -{ oid => '466', - proname => 'int8div', prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'int8div' }, -{ oid => '467', - proname => 'int8eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int8', prosrc => 'int8eq' }, -{ oid => '468', - proname => 'int8ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int8', prosrc => 'int8ne' }, -{ oid => '469', - proname => 'int8lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int8', prosrc => 'int8lt' }, -{ oid => '470', - proname => 'int8gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int8', prosrc => 'int8gt' }, -{ oid => '471', - proname => 'int8le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int8', prosrc => 'int8le' }, -{ oid => '472', - proname => 'int8ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int8', prosrc => 'int8ge' }, - -{ oid => '474', - proname => 'int84eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int4', prosrc => 'int84eq' }, -{ oid => '475', - proname => 'int84ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int4', prosrc => 'int84ne' }, -{ oid => '476', - proname => 'int84lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int4', prosrc => 'int84lt' }, -{ oid => '477', - proname => 'int84gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int4', prosrc => 'int84gt' }, -{ oid => '478', - proname => 'int84le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int4', prosrc => 'int84le' }, -{ oid => '479', - proname => 'int84ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int4', prosrc => 'int84ge' }, - -{ oid => '480', descr => 'convert int8 to int4', - proname => 'int4', prorettype => 'int4', proargtypes => 'int8', - prosrc => 'int84' }, -{ oid => '481', descr => 'convert int4 to int8', - proname => 'int8', proleakproof => 't', prorettype => 'int8', - proargtypes => 'int4', prosrc => 'int48' }, -{ oid => '482', descr => 'convert int8 to float8', - proname => 'float8', proleakproof => 't', prorettype => 'float8', - proargtypes => 'int8', prosrc => 'i8tod' }, -{ oid => '483', descr => 'convert float8 to int8', - proname => 'int8', prorettype => 'int8', proargtypes => 'float8', - prosrc => 'dtoi8' }, - -# OIDS 500 - 599 - -# OIDS 600 - 699 - -{ oid => '626', descr => 'hash', - proname => 'hash_array', prorettype => 'int4', proargtypes => 'anyarray', - prosrc => 'hash_array' }, -{ oid => '782', descr => 'hash', - proname => 'hash_array_extended', prorettype => 'int8', - proargtypes => 'anyarray int8', prosrc => 'hash_array_extended' }, - -{ oid => '652', descr => 'convert int8 to float4', - proname => 'float4', proleakproof => 't', prorettype => 'float4', - proargtypes => 'int8', prosrc => 'i8tof' }, -{ oid => '653', descr => 'convert float4 to int8', - proname => 'int8', prorettype => 'int8', proargtypes => 'float4', - prosrc => 'ftoi8' }, - -{ oid => '714', descr => 'convert int8 to int2', - proname => 'int2', prorettype => 'int2', proargtypes => 'int8', - prosrc => 'int82' }, -{ oid => '754', descr => 'convert int2 to int8', - proname => 'int8', proleakproof => 't', prorettype => 'int8', - proargtypes => 'int2', prosrc => 'int28' }, - -{ oid => '655', - proname => 'namelt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'name name', prosrc => 'namelt' }, -{ oid => '656', - proname => 'namele', proleakproof => 't', prorettype => 'bool', - proargtypes => 'name name', prosrc => 'namele' }, -{ oid => '657', - proname => 'namegt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'name name', prosrc => 'namegt' }, -{ oid => '658', - proname => 'namege', proleakproof => 't', prorettype => 'bool', - proargtypes => 'name name', prosrc => 'namege' }, -{ oid => '659', - proname => 'namene', proleakproof => 't', prorettype => 'bool', - proargtypes => 'name name', prosrc => 'namene' }, - -{ oid => '668', descr => 'adjust char() to typmod length', - proname => 'bpchar', prorettype => 'bpchar', - proargtypes => 'bpchar int4 bool', prosrc => 'bpchar' }, -{ oid => '3097', descr => 'planner support for varchar length coercion', - proname => 'varchar_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'varchar_support' }, -{ oid => '669', descr => 'adjust varchar() to typmod length', - proname => 'varchar', prosupport => 'varchar_support', - prorettype => 'varchar', proargtypes => 'varchar int4 bool', - prosrc => 'varchar' }, - -{ oid => '619', - proname => 'oidvectorne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'oidvector oidvector', prosrc => 'oidvectorne' }, -{ oid => '677', - proname => 'oidvectorlt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'oidvector oidvector', prosrc => 'oidvectorlt' }, -{ oid => '678', - proname => 'oidvectorle', proleakproof => 't', prorettype => 'bool', - proargtypes => 'oidvector oidvector', prosrc => 'oidvectorle' }, -{ oid => '679', - proname => 'oidvectoreq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'oidvector oidvector', prosrc => 'oidvectoreq' }, -{ oid => '680', - proname => 'oidvectorge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'oidvector oidvector', prosrc => 'oidvectorge' }, -{ oid => '681', - proname => 'oidvectorgt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'oidvector oidvector', prosrc => 'oidvectorgt' }, - -# OIDS 700 - 799 -{ oid => '710', descr => 'deprecated, use current_user instead', - proname => 'getpgusername', provolatile => 's', prorettype => 'name', - proargtypes => '', prosrc => 'current_user' }, -{ oid => '716', - proname => 'oidlt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'oid oid', prosrc => 'oidlt' }, -{ oid => '717', - proname => 'oidle', proleakproof => 't', prorettype => 'bool', - proargtypes => 'oid oid', prosrc => 'oidle' }, - -{ oid => '720', descr => 'octet length', - proname => 'octet_length', prorettype => 'int4', proargtypes => 'bytea', - prosrc => 'byteaoctetlen' }, -{ oid => '721', descr => 'get byte', - proname => 'get_byte', prorettype => 'int4', proargtypes => 'bytea int4', - prosrc => 'byteaGetByte' }, -{ oid => '722', descr => 'set byte', - proname => 'set_byte', prorettype => 'bytea', - proargtypes => 'bytea int4 int4', prosrc => 'byteaSetByte' }, -{ oid => '723', descr => 'get bit', - proname => 'get_bit', prorettype => 'int4', proargtypes => 'bytea int8', - prosrc => 'byteaGetBit' }, -{ oid => '724', descr => 'set bit', - proname => 'set_bit', prorettype => 'bytea', proargtypes => 'bytea int8 int4', - prosrc => 'byteaSetBit' }, -{ oid => '749', descr => 'substitute portion of string', - proname => 'overlay', prorettype => 'bytea', - proargtypes => 'bytea bytea int4 int4', prosrc => 'byteaoverlay' }, -{ oid => '752', descr => 'substitute portion of string', - proname => 'overlay', prorettype => 'bytea', - proargtypes => 'bytea bytea int4', prosrc => 'byteaoverlay_no_len' }, -{ oid => '6163', descr => 'number of set bits', - proname => 'bit_count', prorettype => 'int8', proargtypes => 'bytea', - prosrc => 'bytea_bit_count' }, - -{ oid => '725', - proname => 'dist_pl', prorettype => 'float8', proargtypes => 'point line', - prosrc => 'dist_pl' }, -{ oid => '702', - proname => 'dist_lp', prorettype => 'float8', proargtypes => 'line point', - prosrc => 'dist_lp' }, -{ oid => '726', - proname => 'dist_lb', prorettype => 'float8', proargtypes => 'line box', - prosrc => 'dist_lb' }, -{ oid => '703', - proname => 'dist_bl', prorettype => 'float8', proargtypes => 'box line', - prosrc => 'dist_bl' }, -{ oid => '727', - proname => 'dist_sl', prorettype => 'float8', proargtypes => 'lseg line', - prosrc => 'dist_sl' }, -{ oid => '704', - proname => 'dist_ls', prorettype => 'float8', proargtypes => 'line lseg', - prosrc => 'dist_ls' }, - -{ oid => '728', - proname => 'dist_cpoly', prorettype => 'float8', - proargtypes => 'circle polygon', prosrc => 'dist_cpoly' }, -{ oid => '785', - proname => 'dist_polyc', prorettype => 'float8', - proargtypes => 'polygon circle', prosrc => 'dist_polyc' }, -{ oid => '729', - proname => 'poly_distance', prorettype => 'float8', - proargtypes => 'polygon polygon', prosrc => 'poly_distance' }, -{ oid => '3275', - proname => 'dist_ppoly', prorettype => 'float8', - proargtypes => 'point polygon', prosrc => 'dist_ppoly' }, -{ oid => '3292', - proname => 'dist_polyp', prorettype => 'float8', - proargtypes => 'polygon point', prosrc => 'dist_polyp' }, -{ oid => '3290', - proname => 'dist_cpoint', prorettype => 'float8', - proargtypes => 'circle point', prosrc => 'dist_cpoint' }, - -{ oid => '740', - proname => 'text_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'text_lt' }, -{ oid => '741', - proname => 'text_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'text_le' }, -{ oid => '742', - proname => 'text_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'text_gt' }, -{ oid => '743', - proname => 'text_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'text_ge' }, - -{ oid => '745', descr => 'current user name', - proname => 'current_user', provolatile => 's', prorettype => 'name', - proargtypes => '', prosrc => 'current_user' }, -{ oid => '746', descr => 'session user name', - proname => 'session_user', provolatile => 's', prorettype => 'name', - proargtypes => '', prosrc => 'session_user' }, - -{ oid => '744', - proname => 'array_eq', prorettype => 'bool', - proargtypes => 'anyarray anyarray', prosrc => 'array_eq' }, -{ oid => '390', - proname => 'array_ne', prorettype => 'bool', - proargtypes => 'anyarray anyarray', prosrc => 'array_ne' }, -{ oid => '391', - proname => 'array_lt', prorettype => 'bool', - proargtypes => 'anyarray anyarray', prosrc => 'array_lt' }, -{ oid => '392', - proname => 'array_gt', prorettype => 'bool', - proargtypes => 'anyarray anyarray', prosrc => 'array_gt' }, -{ oid => '393', - proname => 'array_le', prorettype => 'bool', - proargtypes => 'anyarray anyarray', prosrc => 'array_le' }, -{ oid => '396', - proname => 'array_ge', prorettype => 'bool', - proargtypes => 'anyarray anyarray', prosrc => 'array_ge' }, -{ oid => '747', descr => 'array dimensions', - proname => 'array_dims', prorettype => 'text', proargtypes => 'anyarray', - prosrc => 'array_dims' }, -{ oid => '748', descr => 'number of array dimensions', - proname => 'array_ndims', prorettype => 'int4', proargtypes => 'anyarray', - prosrc => 'array_ndims' }, -{ oid => '750', descr => 'I/O', - proname => 'array_in', provolatile => 's', prorettype => 'anyarray', - proargtypes => 'cstring oid int4', prosrc => 'array_in' }, -{ oid => '751', descr => 'I/O', - proname => 'array_out', provolatile => 's', prorettype => 'cstring', - proargtypes => 'anyarray', prosrc => 'array_out' }, -{ oid => '2091', descr => 'array lower dimension', - proname => 'array_lower', prorettype => 'int4', - proargtypes => 'anyarray int4', prosrc => 'array_lower' }, -{ oid => '2092', descr => 'array upper dimension', - proname => 'array_upper', prorettype => 'int4', - proargtypes => 'anyarray int4', prosrc => 'array_upper' }, -{ oid => '2176', descr => 'array length', - proname => 'array_length', prorettype => 'int4', - proargtypes => 'anyarray int4', prosrc => 'array_length' }, -{ oid => '3179', descr => 'array cardinality', - proname => 'cardinality', prorettype => 'int4', proargtypes => 'anyarray', - prosrc => 'array_cardinality' }, -{ oid => '378', descr => 'append element onto end of array', - proname => 'array_append', proisstrict => 'f', - prorettype => 'anycompatiblearray', - proargtypes => 'anycompatiblearray anycompatible', prosrc => 'array_append' }, -{ oid => '379', descr => 'prepend element onto front of array', - proname => 'array_prepend', proisstrict => 'f', - prorettype => 'anycompatiblearray', - proargtypes => 'anycompatible anycompatiblearray', - prosrc => 'array_prepend' }, -{ oid => '383', - proname => 'array_cat', proisstrict => 'f', - prorettype => 'anycompatiblearray', - proargtypes => 'anycompatiblearray anycompatiblearray', - prosrc => 'array_cat' }, -{ oid => '394', descr => 'split delimited text', - proname => 'string_to_array', proisstrict => 'f', prorettype => '_text', - proargtypes => 'text text', prosrc => 'text_to_array' }, -{ oid => '376', descr => 'split delimited text, with null string', - proname => 'string_to_array', proisstrict => 'f', prorettype => '_text', - proargtypes => 'text text text', prosrc => 'text_to_array_null' }, -{ oid => '6160', descr => 'split delimited text', - proname => 'string_to_table', prorows => '1000', proisstrict => 'f', - proretset => 't', prorettype => 'text', proargtypes => 'text text', - prosrc => 'text_to_table' }, -{ oid => '6161', descr => 'split delimited text, with null string', - proname => 'string_to_table', prorows => '1000', proisstrict => 'f', - proretset => 't', prorettype => 'text', proargtypes => 'text text text', - prosrc => 'text_to_table_null' }, -{ oid => '395', - descr => 'concatenate array elements, using delimiter, into text', - proname => 'array_to_string', provolatile => 's', prorettype => 'text', - proargtypes => 'anyarray text', prosrc => 'array_to_text' }, -{ oid => '384', - descr => 'concatenate array elements, using delimiter and null string, into text', - proname => 'array_to_string', proisstrict => 'f', provolatile => 's', - prorettype => 'text', proargtypes => 'anyarray text text', - prosrc => 'array_to_text_null' }, -{ oid => '515', descr => 'larger of two', - proname => 'array_larger', prorettype => 'anyarray', - proargtypes => 'anyarray anyarray', prosrc => 'array_larger' }, -{ oid => '516', descr => 'smaller of two', - proname => 'array_smaller', prorettype => 'anyarray', - proargtypes => 'anyarray anyarray', prosrc => 'array_smaller' }, -{ oid => '3277', descr => 'returns an offset of value in array', - proname => 'array_position', proisstrict => 'f', prorettype => 'int4', - proargtypes => 'anycompatiblearray anycompatible', - prosrc => 'array_position' }, -{ oid => '3278', - descr => 'returns an offset of value in array with start index', - proname => 'array_position', proisstrict => 'f', prorettype => 'int4', - proargtypes => 'anycompatiblearray anycompatible int4', - prosrc => 'array_position_start' }, -{ oid => '3279', - descr => 'returns an array of offsets of some value in array', - proname => 'array_positions', proisstrict => 'f', prorettype => '_int4', - proargtypes => 'anycompatiblearray anycompatible', - prosrc => 'array_positions' }, -{ oid => '1191', descr => 'array subscripts generator', - proname => 'generate_subscripts', prorows => '1000', proretset => 't', - prorettype => 'int4', proargtypes => 'anyarray int4 bool', - prosrc => 'generate_subscripts' }, -{ oid => '1192', descr => 'array subscripts generator', - proname => 'generate_subscripts', prorows => '1000', proretset => 't', - prorettype => 'int4', proargtypes => 'anyarray int4', - prosrc => 'generate_subscripts_nodir' }, -{ oid => '1193', descr => 'array constructor with value', - proname => 'array_fill', proisstrict => 'f', prorettype => 'anyarray', - proargtypes => 'anyelement _int4', prosrc => 'array_fill' }, -{ oid => '1286', descr => 'array constructor with value', - proname => 'array_fill', proisstrict => 'f', prorettype => 'anyarray', - proargtypes => 'anyelement _int4 _int4', - prosrc => 'array_fill_with_lower_bounds' }, -{ oid => '2331', descr => 'expand array to set of rows', - proname => 'unnest', prorows => '100', prosupport => 'array_unnest_support', - proretset => 't', prorettype => 'anyelement', proargtypes => 'anyarray', - prosrc => 'array_unnest' }, -{ oid => '3996', descr => 'planner support for array_unnest', - proname => 'array_unnest_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'array_unnest_support' }, -{ oid => '3167', - descr => 'remove any occurrences of an element from an array', - proname => 'array_remove', proisstrict => 'f', - prorettype => 'anycompatiblearray', - proargtypes => 'anycompatiblearray anycompatible', prosrc => 'array_remove' }, -{ oid => '3168', descr => 'replace any occurrences of an element in an array', - proname => 'array_replace', proisstrict => 'f', - prorettype => 'anycompatiblearray', - proargtypes => 'anycompatiblearray anycompatible anycompatible', - prosrc => 'array_replace' }, -{ oid => '2333', descr => 'aggregate transition function', - proname => 'array_agg_transfn', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal anynonarray', prosrc => 'array_agg_transfn' }, -{ oid => '2334', descr => 'aggregate final function', - proname => 'array_agg_finalfn', proisstrict => 'f', prorettype => 'anyarray', - proargtypes => 'internal anynonarray', prosrc => 'array_agg_finalfn' }, -{ oid => '2335', descr => 'concatenate aggregate input into an array', - proname => 'array_agg', prokind => 'a', proisstrict => 'f', - prorettype => 'anyarray', proargtypes => 'anynonarray', - prosrc => 'aggregate_dummy' }, -{ oid => '4051', descr => 'aggregate transition function', - proname => 'array_agg_array_transfn', proisstrict => 'f', - prorettype => 'internal', proargtypes => 'internal anyarray', - prosrc => 'array_agg_array_transfn' }, -{ oid => '4052', descr => 'aggregate final function', - proname => 'array_agg_array_finalfn', proisstrict => 'f', - prorettype => 'anyarray', proargtypes => 'internal anyarray', - prosrc => 'array_agg_array_finalfn' }, -{ oid => '4053', descr => 'concatenate aggregate input into an array', - proname => 'array_agg', prokind => 'a', proisstrict => 'f', - prorettype => 'anyarray', proargtypes => 'anyarray', - prosrc => 'aggregate_dummy' }, -{ oid => '3218', - descr => 'bucket number of operand given a sorted array of bucket lower bounds', - proname => 'width_bucket', prorettype => 'int4', - proargtypes => 'anycompatible anycompatiblearray', - prosrc => 'width_bucket_array' }, -{ oid => '6172', descr => 'remove last N elements of array', - proname => 'trim_array', prorettype => 'anyarray', - proargtypes => 'anyarray int4', prosrc => 'trim_array' }, -{ oid => '3816', descr => 'array typanalyze', - proname => 'array_typanalyze', provolatile => 's', prorettype => 'bool', - proargtypes => 'internal', prosrc => 'array_typanalyze' }, -{ oid => '3817', - descr => 'restriction selectivity for array-containment operators', - proname => 'arraycontsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'arraycontsel' }, -{ oid => '3818', descr => 'join selectivity for array-containment operators', - proname => 'arraycontjoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'arraycontjoinsel' }, - -{ oid => '764', descr => 'large object import', - proname => 'lo_import', provolatile => 'v', proparallel => 'u', - prorettype => 'oid', proargtypes => 'text', prosrc => 'be_lo_import' }, -{ oid => '767', descr => 'large object import', - proname => 'lo_import', provolatile => 'v', proparallel => 'u', - prorettype => 'oid', proargtypes => 'text oid', - prosrc => 'be_lo_import_with_oid' }, -{ oid => '765', descr => 'large object export', - proname => 'lo_export', provolatile => 'v', proparallel => 'u', - prorettype => 'int4', proargtypes => 'oid text', prosrc => 'be_lo_export' }, - -{ oid => '766', descr => 'increment', - proname => 'int4inc', prorettype => 'int4', proargtypes => 'int4', - prosrc => 'int4inc' }, -{ oid => '768', descr => 'larger of two', - proname => 'int4larger', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4larger' }, -{ oid => '769', descr => 'smaller of two', - proname => 'int4smaller', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4smaller' }, -{ oid => '770', descr => 'larger of two', - proname => 'int2larger', prorettype => 'int2', proargtypes => 'int2 int2', - prosrc => 'int2larger' }, -{ oid => '771', descr => 'smaller of two', - proname => 'int2smaller', prorettype => 'int2', proargtypes => 'int2 int2', - prosrc => 'int2smaller' }, - -# OIDS 800 - 899 - -{ oid => '846', - proname => 'cash_mul_flt4', prorettype => 'money', - proargtypes => 'money float4', prosrc => 'cash_mul_flt4' }, -{ oid => '847', - proname => 'cash_div_flt4', prorettype => 'money', - proargtypes => 'money float4', prosrc => 'cash_div_flt4' }, -{ oid => '848', - proname => 'flt4_mul_cash', prorettype => 'money', - proargtypes => 'float4 money', prosrc => 'flt4_mul_cash' }, - -{ oid => '849', descr => 'position of substring', - proname => 'position', prorettype => 'int4', proargtypes => 'text text', - prosrc => 'textpos' }, -{ oid => '850', - proname => 'textlike', prosupport => 'textlike_support', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'textlike' }, -{ oid => '1023', descr => 'planner support for textlike', - proname => 'textlike_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'textlike_support' }, -{ oid => '851', - proname => 'textnlike', prorettype => 'bool', proargtypes => 'text text', - prosrc => 'textnlike' }, - -{ oid => '852', - proname => 'int48eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int8', prosrc => 'int48eq' }, -{ oid => '853', - proname => 'int48ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int8', prosrc => 'int48ne' }, -{ oid => '854', - proname => 'int48lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int8', prosrc => 'int48lt' }, -{ oid => '855', - proname => 'int48gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int8', prosrc => 'int48gt' }, -{ oid => '856', - proname => 'int48le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int8', prosrc => 'int48le' }, -{ oid => '857', - proname => 'int48ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4 int8', prosrc => 'int48ge' }, - -{ oid => '858', - proname => 'namelike', prosupport => 'textlike_support', prorettype => 'bool', - proargtypes => 'name text', prosrc => 'namelike' }, -{ oid => '859', - proname => 'namenlike', prorettype => 'bool', proargtypes => 'name text', - prosrc => 'namenlike' }, - -{ oid => '860', descr => 'convert char to char(n)', - proname => 'bpchar', prorettype => 'bpchar', proargtypes => 'char', - prosrc => 'char_bpchar' }, - -{ oid => '861', descr => 'name of the current database', - proname => 'current_database', provolatile => 's', prorettype => 'name', - proargtypes => '', prosrc => 'current_database' }, -{ oid => '817', descr => 'get the currently executing query', - proname => 'current_query', proisstrict => 'f', provolatile => 'v', - proparallel => 'r', prorettype => 'text', proargtypes => '', - prosrc => 'current_query' }, - -{ oid => '3399', - proname => 'int8_mul_cash', prorettype => 'money', - proargtypes => 'int8 money', prosrc => 'int8_mul_cash' }, -{ oid => '862', - proname => 'int4_mul_cash', prorettype => 'money', - proargtypes => 'int4 money', prosrc => 'int4_mul_cash' }, -{ oid => '863', - proname => 'int2_mul_cash', prorettype => 'money', - proargtypes => 'int2 money', prosrc => 'int2_mul_cash' }, -{ oid => '3344', - proname => 'cash_mul_int8', prorettype => 'money', - proargtypes => 'money int8', prosrc => 'cash_mul_int8' }, -{ oid => '3345', - proname => 'cash_div_int8', prorettype => 'money', - proargtypes => 'money int8', prosrc => 'cash_div_int8' }, -{ oid => '864', - proname => 'cash_mul_int4', prorettype => 'money', - proargtypes => 'money int4', prosrc => 'cash_mul_int4' }, -{ oid => '865', - proname => 'cash_div_int4', prorettype => 'money', - proargtypes => 'money int4', prosrc => 'cash_div_int4' }, -{ oid => '866', - proname => 'cash_mul_int2', prorettype => 'money', - proargtypes => 'money int2', prosrc => 'cash_mul_int2' }, -{ oid => '867', - proname => 'cash_div_int2', prorettype => 'money', - proargtypes => 'money int2', prosrc => 'cash_div_int2' }, - -{ oid => '886', descr => 'I/O', - proname => 'cash_in', provolatile => 's', prorettype => 'money', - proargtypes => 'cstring', prosrc => 'cash_in' }, -{ oid => '887', descr => 'I/O', - proname => 'cash_out', provolatile => 's', prorettype => 'cstring', - proargtypes => 'money', prosrc => 'cash_out' }, -{ oid => '888', - proname => 'cash_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'money money', prosrc => 'cash_eq' }, -{ oid => '889', - proname => 'cash_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'money money', prosrc => 'cash_ne' }, -{ oid => '890', - proname => 'cash_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'money money', prosrc => 'cash_lt' }, -{ oid => '891', - proname => 'cash_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'money money', prosrc => 'cash_le' }, -{ oid => '892', - proname => 'cash_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'money money', prosrc => 'cash_gt' }, -{ oid => '893', - proname => 'cash_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'money money', prosrc => 'cash_ge' }, -{ oid => '894', - proname => 'cash_pl', prorettype => 'money', proargtypes => 'money money', - prosrc => 'cash_pl' }, -{ oid => '895', - proname => 'cash_mi', prorettype => 'money', proargtypes => 'money money', - prosrc => 'cash_mi' }, -{ oid => '896', - proname => 'cash_mul_flt8', prorettype => 'money', - proargtypes => 'money float8', prosrc => 'cash_mul_flt8' }, -{ oid => '897', - proname => 'cash_div_flt8', prorettype => 'money', - proargtypes => 'money float8', prosrc => 'cash_div_flt8' }, -{ oid => '898', descr => 'larger of two', - proname => 'cashlarger', prorettype => 'money', proargtypes => 'money money', - prosrc => 'cashlarger' }, -{ oid => '899', descr => 'smaller of two', - proname => 'cashsmaller', prorettype => 'money', proargtypes => 'money money', - prosrc => 'cashsmaller' }, -{ oid => '919', - proname => 'flt8_mul_cash', prorettype => 'money', - proargtypes => 'float8 money', prosrc => 'flt8_mul_cash' }, -{ oid => '935', descr => 'output money amount as words', - proname => 'cash_words', prorettype => 'text', proargtypes => 'money', - prosrc => 'cash_words' }, -{ oid => '3822', - proname => 'cash_div_cash', prorettype => 'float8', - proargtypes => 'money money', prosrc => 'cash_div_cash' }, -{ oid => '3823', descr => 'convert money to numeric', - proname => 'numeric', provolatile => 's', prorettype => 'numeric', - proargtypes => 'money', prosrc => 'cash_numeric' }, -{ oid => '3824', descr => 'convert numeric to money', - proname => 'money', provolatile => 's', prorettype => 'money', - proargtypes => 'numeric', prosrc => 'numeric_cash' }, -{ oid => '3811', descr => 'convert int4 to money', - proname => 'money', provolatile => 's', prorettype => 'money', - proargtypes => 'int4', prosrc => 'int4_cash' }, -{ oid => '3812', descr => 'convert int8 to money', - proname => 'money', provolatile => 's', prorettype => 'money', - proargtypes => 'int8', prosrc => 'int8_cash' }, - -# OIDS 900 - 999 - -{ oid => '940', descr => 'modulus', - proname => 'mod', prorettype => 'int2', proargtypes => 'int2 int2', - prosrc => 'int2mod' }, -{ oid => '941', descr => 'modulus', - proname => 'mod', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4mod' }, - -{ oid => '945', - proname => 'int8mod', prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'int8mod' }, -{ oid => '947', descr => 'modulus', - proname => 'mod', prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'int8mod' }, - -{ oid => '5044', descr => 'greatest common divisor', - proname => 'gcd', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4gcd' }, -{ oid => '5045', descr => 'greatest common divisor', - proname => 'gcd', prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'int8gcd' }, - -{ oid => '5046', descr => 'least common multiple', - proname => 'lcm', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4lcm' }, -{ oid => '5047', descr => 'least common multiple', - proname => 'lcm', prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'int8lcm' }, - -{ oid => '944', descr => 'convert text to char', - proname => 'char', prorettype => 'char', proargtypes => 'text', - prosrc => 'text_char' }, -{ oid => '946', descr => 'convert char to text', - proname => 'text', prorettype => 'text', proargtypes => 'char', - prosrc => 'char_text' }, - -{ oid => '952', descr => 'large object open', - proname => 'lo_open', provolatile => 'v', proparallel => 'u', - prorettype => 'int4', proargtypes => 'oid int4', prosrc => 'be_lo_open' }, -{ oid => '953', descr => 'large object close', - proname => 'lo_close', provolatile => 'v', proparallel => 'u', - prorettype => 'int4', proargtypes => 'int4', prosrc => 'be_lo_close' }, -{ oid => '954', descr => 'large object read', - proname => 'loread', provolatile => 'v', proparallel => 'u', - prorettype => 'bytea', proargtypes => 'int4 int4', prosrc => 'be_loread' }, -{ oid => '955', descr => 'large object write', - proname => 'lowrite', provolatile => 'v', proparallel => 'u', - prorettype => 'int4', proargtypes => 'int4 bytea', prosrc => 'be_lowrite' }, -{ oid => '956', descr => 'large object seek', - proname => 'lo_lseek', provolatile => 'v', proparallel => 'u', - prorettype => 'int4', proargtypes => 'int4 int4 int4', - prosrc => 'be_lo_lseek' }, -{ oid => '3170', descr => 'large object seek (64 bit)', - proname => 'lo_lseek64', provolatile => 'v', proparallel => 'u', - prorettype => 'int8', proargtypes => 'int4 int8 int4', - prosrc => 'be_lo_lseek64' }, -{ oid => '957', descr => 'large object create', - proname => 'lo_creat', provolatile => 'v', proparallel => 'u', - prorettype => 'oid', proargtypes => 'int4', prosrc => 'be_lo_creat' }, -{ oid => '715', descr => 'large object create', - proname => 'lo_create', provolatile => 'v', proparallel => 'u', - prorettype => 'oid', proargtypes => 'oid', prosrc => 'be_lo_create' }, -{ oid => '958', descr => 'large object position', - proname => 'lo_tell', provolatile => 'v', proparallel => 'u', - prorettype => 'int4', proargtypes => 'int4', prosrc => 'be_lo_tell' }, -{ oid => '3171', descr => 'large object position (64 bit)', - proname => 'lo_tell64', provolatile => 'v', proparallel => 'u', - prorettype => 'int8', proargtypes => 'int4', prosrc => 'be_lo_tell64' }, -{ oid => '1004', descr => 'truncate large object', - proname => 'lo_truncate', provolatile => 'v', proparallel => 'u', - prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'be_lo_truncate' }, -{ oid => '3172', descr => 'truncate large object (64 bit)', - proname => 'lo_truncate64', provolatile => 'v', proparallel => 'u', - prorettype => 'int4', proargtypes => 'int4 int8', - prosrc => 'be_lo_truncate64' }, - -{ oid => '3457', descr => 'create new large object with given content', - proname => 'lo_from_bytea', provolatile => 'v', proparallel => 'u', - prorettype => 'oid', proargtypes => 'oid bytea', - prosrc => 'be_lo_from_bytea' }, -{ oid => '3458', descr => 'read entire large object', - proname => 'lo_get', provolatile => 'v', proparallel => 'u', - prorettype => 'bytea', proargtypes => 'oid', prosrc => 'be_lo_get' }, -{ oid => '3459', descr => 'read large object from offset for length', - proname => 'lo_get', provolatile => 'v', proparallel => 'u', - prorettype => 'bytea', proargtypes => 'oid int8 int4', - prosrc => 'be_lo_get_fragment' }, -{ oid => '3460', descr => 'write data at offset', - proname => 'lo_put', provolatile => 'v', proparallel => 'u', - prorettype => 'void', proargtypes => 'oid int8 bytea', - prosrc => 'be_lo_put' }, - -{ oid => '959', - proname => 'on_pl', prorettype => 'bool', proargtypes => 'point line', - prosrc => 'on_pl' }, -{ oid => '960', - proname => 'on_sl', prorettype => 'bool', proargtypes => 'lseg line', - prosrc => 'on_sl' }, -{ oid => '961', - proname => 'close_pl', prorettype => 'point', proargtypes => 'point line', - prosrc => 'close_pl' }, -{ oid => '962', - proname => 'close_sl', prorettype => 'point', proargtypes => 'lseg line', - prosrc => 'close_sl' }, -{ oid => '963', - proname => 'close_lb', prorettype => 'point', proargtypes => 'line box', - prosrc => 'close_lb' }, - -{ oid => '964', descr => 'large object unlink (delete)', - proname => 'lo_unlink', provolatile => 'v', proparallel => 'u', - prorettype => 'int4', proargtypes => 'oid', prosrc => 'be_lo_unlink' }, - -{ oid => '973', - proname => 'path_inter', prorettype => 'bool', proargtypes => 'path path', - prosrc => 'path_inter' }, -{ oid => '975', descr => 'box area', - proname => 'area', prorettype => 'float8', proargtypes => 'box', - prosrc => 'box_area' }, -{ oid => '976', descr => 'box width', - proname => 'width', prorettype => 'float8', proargtypes => 'box', - prosrc => 'box_width' }, -{ oid => '977', descr => 'box height', - proname => 'height', prorettype => 'float8', proargtypes => 'box', - prosrc => 'box_height' }, -{ oid => '978', - proname => 'box_distance', prorettype => 'float8', proargtypes => 'box box', - prosrc => 'box_distance' }, -{ oid => '979', descr => 'area of a closed path', - proname => 'area', prorettype => 'float8', proargtypes => 'path', - prosrc => 'path_area' }, -{ oid => '980', - proname => 'box_intersect', prorettype => 'box', proargtypes => 'box box', - prosrc => 'box_intersect' }, -{ oid => '4067', descr => 'bounding box of two boxes', - proname => 'bound_box', prorettype => 'box', proargtypes => 'box box', - prosrc => 'boxes_bound_box' }, -{ oid => '981', descr => 'box diagonal', - proname => 'diagonal', prorettype => 'lseg', proargtypes => 'box', - prosrc => 'box_diagonal' }, -{ oid => '982', - proname => 'path_n_lt', prorettype => 'bool', proargtypes => 'path path', - prosrc => 'path_n_lt' }, -{ oid => '983', - proname => 'path_n_gt', prorettype => 'bool', proargtypes => 'path path', - prosrc => 'path_n_gt' }, -{ oid => '984', - proname => 'path_n_eq', prorettype => 'bool', proargtypes => 'path path', - prosrc => 'path_n_eq' }, -{ oid => '985', - proname => 'path_n_le', prorettype => 'bool', proargtypes => 'path path', - prosrc => 'path_n_le' }, -{ oid => '986', - proname => 'path_n_ge', prorettype => 'bool', proargtypes => 'path path', - prosrc => 'path_n_ge' }, -{ oid => '987', - proname => 'path_length', prorettype => 'float8', proargtypes => 'path', - prosrc => 'path_length' }, -{ oid => '988', - proname => 'point_ne', prorettype => 'bool', proargtypes => 'point point', - prosrc => 'point_ne' }, -{ oid => '989', - proname => 'point_vert', prorettype => 'bool', proargtypes => 'point point', - prosrc => 'point_vert' }, -{ oid => '990', - proname => 'point_horiz', prorettype => 'bool', proargtypes => 'point point', - prosrc => 'point_horiz' }, -{ oid => '991', - proname => 'point_distance', prorettype => 'float8', - proargtypes => 'point point', prosrc => 'point_distance' }, -{ oid => '992', descr => 'slope between points', - proname => 'slope', prorettype => 'float8', proargtypes => 'point point', - prosrc => 'point_slope' }, -{ oid => '993', descr => 'convert points to line segment', - proname => 'lseg', prorettype => 'lseg', proargtypes => 'point point', - prosrc => 'lseg_construct' }, -{ oid => '994', - proname => 'lseg_intersect', prorettype => 'bool', proargtypes => 'lseg lseg', - prosrc => 'lseg_intersect' }, -{ oid => '995', - proname => 'lseg_parallel', prorettype => 'bool', proargtypes => 'lseg lseg', - prosrc => 'lseg_parallel' }, -{ oid => '996', - proname => 'lseg_perp', prorettype => 'bool', proargtypes => 'lseg lseg', - prosrc => 'lseg_perp' }, -{ oid => '997', - proname => 'lseg_vertical', prorettype => 'bool', proargtypes => 'lseg', - prosrc => 'lseg_vertical' }, -{ oid => '998', - proname => 'lseg_horizontal', prorettype => 'bool', proargtypes => 'lseg', - prosrc => 'lseg_horizontal' }, -{ oid => '999', - proname => 'lseg_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'lseg lseg', prosrc => 'lseg_eq' }, - -# OIDS 1000 - 1999 - -{ oid => '1026', descr => 'adjust timestamp to new time zone', - proname => 'timezone', prorettype => 'timestamp', - proargtypes => 'interval timestamptz', prosrc => 'timestamptz_izone' }, - -{ oid => '1031', descr => 'I/O', - proname => 'aclitemin', provolatile => 's', prorettype => 'aclitem', - proargtypes => 'cstring', prosrc => 'aclitemin' }, -{ oid => '1032', descr => 'I/O', - proname => 'aclitemout', provolatile => 's', prorettype => 'cstring', - proargtypes => 'aclitem', prosrc => 'aclitemout' }, -{ oid => '1035', descr => 'add/update ACL item', - proname => 'aclinsert', prorettype => '_aclitem', - proargtypes => '_aclitem aclitem', prosrc => 'aclinsert' }, -{ oid => '1036', descr => 'remove ACL item', - proname => 'aclremove', prorettype => '_aclitem', - proargtypes => '_aclitem aclitem', prosrc => 'aclremove' }, -{ oid => '1037', descr => 'contains', - proname => 'aclcontains', prorettype => 'bool', - proargtypes => '_aclitem aclitem', prosrc => 'aclcontains' }, -{ oid => '1062', - proname => 'aclitemeq', prorettype => 'bool', - proargtypes => 'aclitem aclitem', prosrc => 'aclitem_eq' }, -{ oid => '1365', descr => 'make ACL item', - proname => 'makeaclitem', prorettype => 'aclitem', - proargtypes => 'oid oid text bool', prosrc => 'makeaclitem' }, -{ oid => '3943', - descr => 'show hardwired default privileges, primarily for use by the information schema', - proname => 'acldefault', prorettype => '_aclitem', proargtypes => 'char oid', - prosrc => 'acldefault_sql' }, -{ oid => '1689', - descr => 'convert ACL item array to table, primarily for use by information schema', - proname => 'aclexplode', prorows => '10', proretset => 't', - provolatile => 's', prorettype => 'record', proargtypes => '_aclitem', - proallargtypes => '{_aclitem,oid,oid,text,bool}', - proargmodes => '{i,o,o,o,o}', - proargnames => '{acl,grantor,grantee,privilege_type,is_grantable}', - prosrc => 'aclexplode' }, -{ oid => '1044', descr => 'I/O', - proname => 'bpcharin', prorettype => 'bpchar', - proargtypes => 'cstring oid int4', prosrc => 'bpcharin' }, -{ oid => '1045', descr => 'I/O', - proname => 'bpcharout', prorettype => 'cstring', proargtypes => 'bpchar', - prosrc => 'bpcharout' }, -{ oid => '2913', descr => 'I/O typmod', - proname => 'bpchartypmodin', prorettype => 'int4', proargtypes => '_cstring', - prosrc => 'bpchartypmodin' }, -{ oid => '2914', descr => 'I/O typmod', - proname => 'bpchartypmodout', prorettype => 'cstring', proargtypes => 'int4', - prosrc => 'bpchartypmodout' }, -{ oid => '1046', descr => 'I/O', - proname => 'varcharin', prorettype => 'varchar', - proargtypes => 'cstring oid int4', prosrc => 'varcharin' }, -{ oid => '1047', descr => 'I/O', - proname => 'varcharout', prorettype => 'cstring', proargtypes => 'varchar', - prosrc => 'varcharout' }, -{ oid => '2915', descr => 'I/O typmod', - proname => 'varchartypmodin', prorettype => 'int4', proargtypes => '_cstring', - prosrc => 'varchartypmodin' }, -{ oid => '2916', descr => 'I/O typmod', - proname => 'varchartypmodout', prorettype => 'cstring', proargtypes => 'int4', - prosrc => 'varchartypmodout' }, -{ oid => '1048', - proname => 'bpchareq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bpchar bpchar', prosrc => 'bpchareq' }, -{ oid => '1049', - proname => 'bpcharlt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bpchar bpchar', prosrc => 'bpcharlt' }, -{ oid => '1050', - proname => 'bpcharle', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bpchar bpchar', prosrc => 'bpcharle' }, -{ oid => '1051', - proname => 'bpchargt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bpchar bpchar', prosrc => 'bpchargt' }, -{ oid => '1052', - proname => 'bpcharge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bpchar bpchar', prosrc => 'bpcharge' }, -{ oid => '1053', - proname => 'bpcharne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bpchar bpchar', prosrc => 'bpcharne' }, -{ oid => '1063', descr => 'larger of two', - proname => 'bpchar_larger', proleakproof => 't', prorettype => 'bpchar', - proargtypes => 'bpchar bpchar', prosrc => 'bpchar_larger' }, -{ oid => '1064', descr => 'smaller of two', - proname => 'bpchar_smaller', proleakproof => 't', prorettype => 'bpchar', - proargtypes => 'bpchar bpchar', prosrc => 'bpchar_smaller' }, -{ oid => '1078', descr => 'less-equal-greater', - proname => 'bpcharcmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'bpchar bpchar', prosrc => 'bpcharcmp' }, -{ oid => '3328', descr => 'sort support', - proname => 'bpchar_sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'bpchar_sortsupport' }, -{ oid => '1080', descr => 'hash', - proname => 'hashbpchar', prorettype => 'int4', proargtypes => 'bpchar', - prosrc => 'hashbpchar' }, -{ oid => '972', descr => 'hash', - proname => 'hashbpcharextended', prorettype => 'int8', - proargtypes => 'bpchar int8', prosrc => 'hashbpcharextended' }, -{ oid => '1081', descr => 'format a type oid and atttypmod to canonical SQL', - proname => 'format_type', proisstrict => 'f', provolatile => 's', - prorettype => 'text', proargtypes => 'oid int4', prosrc => 'format_type' }, -{ oid => '1084', descr => 'I/O', - proname => 'date_in', provolatile => 's', prorettype => 'date', - proargtypes => 'cstring', prosrc => 'date_in' }, -{ oid => '1085', descr => 'I/O', - proname => 'date_out', provolatile => 's', prorettype => 'cstring', - proargtypes => 'date', prosrc => 'date_out' }, -{ oid => '1086', - proname => 'date_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'date date', prosrc => 'date_eq' }, -{ oid => '1087', - proname => 'date_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'date date', prosrc => 'date_lt' }, -{ oid => '1088', - proname => 'date_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'date date', prosrc => 'date_le' }, -{ oid => '1089', - proname => 'date_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'date date', prosrc => 'date_gt' }, -{ oid => '1090', - proname => 'date_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'date date', prosrc => 'date_ge' }, -{ oid => '1091', - proname => 'date_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'date date', prosrc => 'date_ne' }, -{ oid => '1092', descr => 'less-equal-greater', - proname => 'date_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'date date', prosrc => 'date_cmp' }, -{ oid => '3136', descr => 'sort support', - proname => 'date_sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'date_sortsupport' }, -{ oid => '4133', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'date date interval bool bool', - prosrc => 'in_range_date_interval' }, - -# OIDS 1100 - 1199 - -{ oid => '1102', - proname => 'time_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'time time', prosrc => 'time_lt' }, -{ oid => '1103', - proname => 'time_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'time time', prosrc => 'time_le' }, -{ oid => '1104', - proname => 'time_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'time time', prosrc => 'time_gt' }, -{ oid => '1105', - proname => 'time_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'time time', prosrc => 'time_ge' }, -{ oid => '1106', - proname => 'time_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'time time', prosrc => 'time_ne' }, -{ oid => '1107', descr => 'less-equal-greater', - proname => 'time_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'time time', prosrc => 'time_cmp' }, -{ oid => '1138', descr => 'larger of two', - proname => 'date_larger', prorettype => 'date', proargtypes => 'date date', - prosrc => 'date_larger' }, -{ oid => '1139', descr => 'smaller of two', - proname => 'date_smaller', prorettype => 'date', proargtypes => 'date date', - prosrc => 'date_smaller' }, -{ oid => '1140', - proname => 'date_mi', prorettype => 'int4', proargtypes => 'date date', - prosrc => 'date_mi' }, -{ oid => '1141', - proname => 'date_pli', prorettype => 'date', proargtypes => 'date int4', - prosrc => 'date_pli' }, -{ oid => '1142', - proname => 'date_mii', prorettype => 'date', proargtypes => 'date int4', - prosrc => 'date_mii' }, -{ oid => '1143', descr => 'I/O', - proname => 'time_in', provolatile => 's', prorettype => 'time', - proargtypes => 'cstring oid int4', prosrc => 'time_in' }, -{ oid => '1144', descr => 'I/O', - proname => 'time_out', prorettype => 'cstring', proargtypes => 'time', - prosrc => 'time_out' }, -{ oid => '2909', descr => 'I/O typmod', - proname => 'timetypmodin', prorettype => 'int4', proargtypes => '_cstring', - prosrc => 'timetypmodin' }, -{ oid => '2910', descr => 'I/O typmod', - proname => 'timetypmodout', prorettype => 'cstring', proargtypes => 'int4', - prosrc => 'timetypmodout' }, -{ oid => '1145', - proname => 'time_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'time time', prosrc => 'time_eq' }, - -{ oid => '1146', - proname => 'circle_add_pt', prorettype => 'circle', - proargtypes => 'circle point', prosrc => 'circle_add_pt' }, -{ oid => '1147', - proname => 'circle_sub_pt', prorettype => 'circle', - proargtypes => 'circle point', prosrc => 'circle_sub_pt' }, -{ oid => '1148', - proname => 'circle_mul_pt', prorettype => 'circle', - proargtypes => 'circle point', prosrc => 'circle_mul_pt' }, -{ oid => '1149', - proname => 'circle_div_pt', prorettype => 'circle', - proargtypes => 'circle point', prosrc => 'circle_div_pt' }, - -{ oid => '1150', descr => 'I/O', - proname => 'timestamptz_in', provolatile => 's', prorettype => 'timestamptz', - proargtypes => 'cstring oid int4', prosrc => 'timestamptz_in' }, -{ oid => '1151', descr => 'I/O', - proname => 'timestamptz_out', provolatile => 's', prorettype => 'cstring', - proargtypes => 'timestamptz', prosrc => 'timestamptz_out' }, -{ oid => '2907', descr => 'I/O typmod', - proname => 'timestamptztypmodin', prorettype => 'int4', - proargtypes => '_cstring', prosrc => 'timestamptztypmodin' }, -{ oid => '2908', descr => 'I/O typmod', - proname => 'timestamptztypmodout', prorettype => 'cstring', - proargtypes => 'int4', prosrc => 'timestamptztypmodout' }, -{ oid => '1152', - proname => 'timestamptz_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_eq' }, -{ oid => '1153', - proname => 'timestamptz_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_ne' }, -{ oid => '1154', - proname => 'timestamptz_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_lt' }, -{ oid => '1155', - proname => 'timestamptz_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_le' }, -{ oid => '1156', - proname => 'timestamptz_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_ge' }, -{ oid => '1157', - proname => 'timestamptz_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_gt' }, -{ oid => '1158', descr => 'convert UNIX epoch to timestamptz', - proname => 'to_timestamp', prorettype => 'timestamptz', - proargtypes => 'float8', prosrc => 'float8_timestamptz' }, -{ oid => '1159', descr => 'adjust timestamp to new time zone', - proname => 'timezone', prorettype => 'timestamp', - proargtypes => 'text timestamptz', prosrc => 'timestamptz_zone' }, - -{ oid => '1160', descr => 'I/O', - proname => 'interval_in', provolatile => 's', prorettype => 'interval', - proargtypes => 'cstring oid int4', prosrc => 'interval_in' }, -{ oid => '1161', descr => 'I/O', - proname => 'interval_out', prorettype => 'cstring', proargtypes => 'interval', - prosrc => 'interval_out' }, -{ oid => '2903', descr => 'I/O typmod', - proname => 'intervaltypmodin', prorettype => 'int4', - proargtypes => '_cstring', prosrc => 'intervaltypmodin' }, -{ oid => '2904', descr => 'I/O typmod', - proname => 'intervaltypmodout', prorettype => 'cstring', - proargtypes => 'int4', prosrc => 'intervaltypmodout' }, -{ oid => '1162', - proname => 'interval_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'interval interval', prosrc => 'interval_eq' }, -{ oid => '1163', - proname => 'interval_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'interval interval', prosrc => 'interval_ne' }, -{ oid => '1164', - proname => 'interval_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'interval interval', prosrc => 'interval_lt' }, -{ oid => '1165', - proname => 'interval_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'interval interval', prosrc => 'interval_le' }, -{ oid => '1166', - proname => 'interval_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'interval interval', prosrc => 'interval_ge' }, -{ oid => '1167', - proname => 'interval_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'interval interval', prosrc => 'interval_gt' }, -{ oid => '1168', - proname => 'interval_um', prorettype => 'interval', proargtypes => 'interval', - prosrc => 'interval_um' }, -{ oid => '1169', - proname => 'interval_pl', prorettype => 'interval', - proargtypes => 'interval interval', prosrc => 'interval_pl' }, -{ oid => '1170', - proname => 'interval_mi', prorettype => 'interval', - proargtypes => 'interval interval', prosrc => 'interval_mi' }, -{ oid => '1171', descr => 'extract field from timestamp with time zone', - proname => 'date_part', provolatile => 's', prorettype => 'float8', - proargtypes => 'text timestamptz', prosrc => 'timestamptz_part' }, -{ oid => '6203', descr => 'extract field from timestamp with time zone', - proname => 'extract', provolatile => 's', prorettype => 'numeric', - proargtypes => 'text timestamptz', prosrc => 'extract_timestamptz' }, -{ oid => '1172', descr => 'extract field from interval', - proname => 'date_part', prorettype => 'float8', - proargtypes => 'text interval', prosrc => 'interval_part' }, -{ oid => '6204', descr => 'extract field from interval', - proname => 'extract', prorettype => 'numeric', proargtypes => 'text interval', - prosrc => 'extract_interval' }, -{ oid => '1174', descr => 'convert date to timestamp with time zone', - proname => 'timestamptz', provolatile => 's', prorettype => 'timestamptz', - proargtypes => 'date', prosrc => 'date_timestamptz' }, -{ oid => '2711', - descr => 'promote groups of 24 hours to numbers of days and promote groups of 30 days to numbers of months', - proname => 'justify_interval', prorettype => 'interval', - proargtypes => 'interval', prosrc => 'interval_justify_interval' }, -{ oid => '1175', descr => 'promote groups of 24 hours to numbers of days', - proname => 'justify_hours', prorettype => 'interval', - proargtypes => 'interval', prosrc => 'interval_justify_hours' }, -{ oid => '1295', descr => 'promote groups of 30 days to numbers of months', - proname => 'justify_days', prorettype => 'interval', - proargtypes => 'interval', prosrc => 'interval_justify_days' }, -{ oid => '1176', descr => 'convert date and time to timestamp with time zone', - proname => 'timestamptz', prolang => 'sql', provolatile => 's', - prorettype => 'timestamptz', proargtypes => 'date time', - prosrc => 'see system_functions.sql' }, -{ oid => '1178', descr => 'convert timestamp with time zone to date', - proname => 'date', provolatile => 's', prorettype => 'date', - proargtypes => 'timestamptz', prosrc => 'timestamptz_date' }, -{ oid => '1181', - descr => 'age of a transaction ID, in transactions before current transaction', - proname => 'age', provolatile => 's', proparallel => 'r', - prorettype => 'int4', proargtypes => 'xid', prosrc => 'xid_age' }, -{ oid => '3939', - descr => 'age of a multi-transaction ID, in multi-transactions before current multi-transaction', - proname => 'mxid_age', provolatile => 's', prorettype => 'int4', - proargtypes => 'xid', prosrc => 'mxid_age' }, - -{ oid => '1188', - proname => 'timestamptz_mi', prorettype => 'interval', - proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_mi' }, -{ oid => '1189', - proname => 'timestamptz_pl_interval', provolatile => 's', - prorettype => 'timestamptz', proargtypes => 'timestamptz interval', - prosrc => 'timestamptz_pl_interval' }, -{ oid => '1190', - proname => 'timestamptz_mi_interval', provolatile => 's', - prorettype => 'timestamptz', proargtypes => 'timestamptz interval', - prosrc => 'timestamptz_mi_interval' }, -{ oid => '1195', descr => 'smaller of two', - proname => 'timestamptz_smaller', prorettype => 'timestamptz', - proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_smaller' }, -{ oid => '1196', descr => 'larger of two', - proname => 'timestamptz_larger', prorettype => 'timestamptz', - proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_larger' }, -{ oid => '1197', descr => 'smaller of two', - proname => 'interval_smaller', prorettype => 'interval', - proargtypes => 'interval interval', prosrc => 'interval_smaller' }, -{ oid => '1198', descr => 'larger of two', - proname => 'interval_larger', prorettype => 'interval', - proargtypes => 'interval interval', prosrc => 'interval_larger' }, -{ oid => '1199', descr => 'date difference preserving months and years', - proname => 'age', prorettype => 'interval', - proargtypes => 'timestamptz timestamptz', prosrc => 'timestamptz_age' }, - -# OIDS 1200 - 1299 - -{ oid => '3918', descr => 'planner support for interval length coercion', - proname => 'interval_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'interval_support' }, -{ oid => '1200', descr => 'adjust interval precision', - proname => 'interval', prosupport => 'interval_support', - prorettype => 'interval', proargtypes => 'interval int4', - prosrc => 'interval_scale' }, - -{ oid => '1215', descr => 'get description for object id and catalog name', - proname => 'obj_description', prolang => 'sql', procost => '100', - provolatile => 's', prorettype => 'text', proargtypes => 'oid name', - prosrc => 'see system_functions.sql' }, -{ oid => '1216', descr => 'get description for table column', - proname => 'col_description', prolang => 'sql', procost => '100', - provolatile => 's', prorettype => 'text', proargtypes => 'oid int4', - prosrc => 'see system_functions.sql' }, -{ oid => '1993', - descr => 'get description for object id and shared catalog name', - proname => 'shobj_description', prolang => 'sql', procost => '100', - provolatile => 's', prorettype => 'text', proargtypes => 'oid name', - prosrc => 'see system_functions.sql' }, - -{ oid => '1217', - descr => 'truncate timestamp with time zone to specified units', - proname => 'date_trunc', provolatile => 's', prorettype => 'timestamptz', - proargtypes => 'text timestamptz', prosrc => 'timestamptz_trunc' }, -{ oid => '1284', - descr => 'truncate timestamp with time zone to specified units in specified time zone', - proname => 'date_trunc', provolatile => 's', prorettype => 'timestamptz', - proargtypes => 'text timestamptz text', prosrc => 'timestamptz_trunc_zone' }, -{ oid => '1218', descr => 'truncate interval to specified units', - proname => 'date_trunc', prorettype => 'interval', - proargtypes => 'text interval', prosrc => 'interval_trunc' }, - -{ oid => '1219', descr => 'increment', - proname => 'int8inc', prorettype => 'int8', proargtypes => 'int8', - prosrc => 'int8inc' }, -{ oid => '3546', descr => 'decrement', - proname => 'int8dec', prorettype => 'int8', proargtypes => 'int8', - prosrc => 'int8dec' }, -{ oid => '2804', descr => 'increment, ignores second argument', - proname => 'int8inc_any', prorettype => 'int8', proargtypes => 'int8 any', - prosrc => 'int8inc_any' }, -{ oid => '3547', descr => 'decrement, ignores second argument', - proname => 'int8dec_any', prorettype => 'int8', proargtypes => 'int8 any', - prosrc => 'int8dec_any' }, -{ oid => '1230', - proname => 'int8abs', prorettype => 'int8', proargtypes => 'int8', - prosrc => 'int8abs' }, - -{ oid => '1236', descr => 'larger of two', - proname => 'int8larger', prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'int8larger' }, -{ oid => '1237', descr => 'smaller of two', - proname => 'int8smaller', prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'int8smaller' }, - -{ oid => '1238', - proname => 'texticregexeq', prosupport => 'texticregexeq_support', - prorettype => 'bool', proargtypes => 'text text', prosrc => 'texticregexeq' }, -{ oid => '1024', descr => 'planner support for texticregexeq', - proname => 'texticregexeq_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'texticregexeq_support' }, -{ oid => '1239', - proname => 'texticregexne', prorettype => 'bool', proargtypes => 'text text', - prosrc => 'texticregexne' }, -{ oid => '1240', - proname => 'nameicregexeq', prosupport => 'texticregexeq_support', - prorettype => 'bool', proargtypes => 'name text', prosrc => 'nameicregexeq' }, -{ oid => '1241', - proname => 'nameicregexne', prorettype => 'bool', proargtypes => 'name text', - prosrc => 'nameicregexne' }, - -{ oid => '1251', - proname => 'int4abs', prorettype => 'int4', proargtypes => 'int4', - prosrc => 'int4abs' }, -{ oid => '1253', - proname => 'int2abs', prorettype => 'int2', proargtypes => 'int2', - prosrc => 'int2abs' }, - -{ oid => '1271', descr => 'intervals overlap?', - proname => 'overlaps', proisstrict => 'f', prorettype => 'bool', - proargtypes => 'timetz timetz timetz timetz', prosrc => 'overlaps_timetz' }, -{ oid => '1272', - proname => 'datetime_pl', prorettype => 'timestamp', - proargtypes => 'date time', prosrc => 'datetime_timestamp' }, -{ oid => '1273', descr => 'extract field from time with time zone', - proname => 'date_part', prorettype => 'float8', proargtypes => 'text timetz', - prosrc => 'timetz_part' }, -{ oid => '6201', descr => 'extract field from time with time zone', - proname => 'extract', prorettype => 'numeric', proargtypes => 'text timetz', - prosrc => 'extract_timetz' }, -{ oid => '1274', - proname => 'int84pl', prorettype => 'int8', proargtypes => 'int8 int4', - prosrc => 'int84pl' }, -{ oid => '1275', - proname => 'int84mi', prorettype => 'int8', proargtypes => 'int8 int4', - prosrc => 'int84mi' }, -{ oid => '1276', - proname => 'int84mul', prorettype => 'int8', proargtypes => 'int8 int4', - prosrc => 'int84mul' }, -{ oid => '1277', - proname => 'int84div', prorettype => 'int8', proargtypes => 'int8 int4', - prosrc => 'int84div' }, -{ oid => '1278', - proname => 'int48pl', prorettype => 'int8', proargtypes => 'int4 int8', - prosrc => 'int48pl' }, -{ oid => '1279', - proname => 'int48mi', prorettype => 'int8', proargtypes => 'int4 int8', - prosrc => 'int48mi' }, -{ oid => '1280', - proname => 'int48mul', prorettype => 'int8', proargtypes => 'int4 int8', - prosrc => 'int48mul' }, -{ oid => '1281', - proname => 'int48div', prorettype => 'int8', proargtypes => 'int4 int8', - prosrc => 'int48div' }, - -{ oid => '837', - proname => 'int82pl', prorettype => 'int8', proargtypes => 'int8 int2', - prosrc => 'int82pl' }, -{ oid => '838', - proname => 'int82mi', prorettype => 'int8', proargtypes => 'int8 int2', - prosrc => 'int82mi' }, -{ oid => '839', - proname => 'int82mul', prorettype => 'int8', proargtypes => 'int8 int2', - prosrc => 'int82mul' }, -{ oid => '840', - proname => 'int82div', prorettype => 'int8', proargtypes => 'int8 int2', - prosrc => 'int82div' }, -{ oid => '841', - proname => 'int28pl', prorettype => 'int8', proargtypes => 'int2 int8', - prosrc => 'int28pl' }, -{ oid => '942', - proname => 'int28mi', prorettype => 'int8', proargtypes => 'int2 int8', - prosrc => 'int28mi' }, -{ oid => '943', - proname => 'int28mul', prorettype => 'int8', proargtypes => 'int2 int8', - prosrc => 'int28mul' }, -{ oid => '948', - proname => 'int28div', prorettype => 'int8', proargtypes => 'int2 int8', - prosrc => 'int28div' }, - -{ oid => '1287', descr => 'convert int8 to oid', - proname => 'oid', prorettype => 'oid', proargtypes => 'int8', - prosrc => 'i8tooid' }, -{ oid => '1288', descr => 'convert oid to int8', - proname => 'int8', proleakproof => 't', prorettype => 'int8', - proargtypes => 'oid', prosrc => 'oidtoi8' }, - -{ oid => '1291', - descr => 'trigger to suppress updates when new and old records match', - proname => 'suppress_redundant_updates_trigger', provolatile => 'v', - prorettype => 'trigger', proargtypes => '', - prosrc => 'suppress_redundant_updates_trigger' }, - -{ oid => '1292', - proname => 'tideq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'tid tid', prosrc => 'tideq' }, -{ oid => '1294', descr => 'latest tid of a tuple', - proname => 'currtid2', provolatile => 'v', proparallel => 'u', - prorettype => 'tid', proargtypes => 'text tid', - prosrc => 'currtid_byrelname' }, -{ oid => '1265', - proname => 'tidne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'tid tid', prosrc => 'tidne' }, -{ oid => '2790', - proname => 'tidgt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'tid tid', prosrc => 'tidgt' }, -{ oid => '2791', - proname => 'tidlt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'tid tid', prosrc => 'tidlt' }, -{ oid => '2792', - proname => 'tidge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'tid tid', prosrc => 'tidge' }, -{ oid => '2793', - proname => 'tidle', proleakproof => 't', prorettype => 'bool', - proargtypes => 'tid tid', prosrc => 'tidle' }, -{ oid => '2794', descr => 'less-equal-greater', - proname => 'bttidcmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'tid tid', prosrc => 'bttidcmp' }, -{ oid => '2795', descr => 'larger of two', - proname => 'tidlarger', prorettype => 'tid', proargtypes => 'tid tid', - prosrc => 'tidlarger' }, -{ oid => '2796', descr => 'smaller of two', - proname => 'tidsmaller', prorettype => 'tid', proargtypes => 'tid tid', - prosrc => 'tidsmaller' }, -{ oid => '2233', descr => 'hash', - proname => 'hashtid', prorettype => 'int4', proargtypes => 'tid', - prosrc => 'hashtid' }, -{ oid => '2234', descr => 'hash', - proname => 'hashtidextended', prorettype => 'int8', proargtypes => 'tid int8', - prosrc => 'hashtidextended' }, - -{ oid => '1296', - proname => 'timedate_pl', prolang => 'sql', prorettype => 'timestamp', - proargtypes => 'time date', prosrc => 'see system_functions.sql' }, -{ oid => '1297', - proname => 'datetimetz_pl', prorettype => 'timestamptz', - proargtypes => 'date timetz', prosrc => 'datetimetz_timestamptz' }, -{ oid => '1298', - proname => 'timetzdate_pl', prolang => 'sql', prorettype => 'timestamptz', - proargtypes => 'timetz date', prosrc => 'see system_functions.sql' }, -{ oid => '1299', descr => 'current transaction time', - proname => 'now', provolatile => 's', prorettype => 'timestamptz', - proargtypes => '', prosrc => 'now' }, -{ oid => '2647', descr => 'current transaction time', - proname => 'transaction_timestamp', provolatile => 's', - prorettype => 'timestamptz', proargtypes => '', prosrc => 'now' }, -{ oid => '2648', descr => 'current statement time', - proname => 'statement_timestamp', provolatile => 's', - prorettype => 'timestamptz', proargtypes => '', - prosrc => 'statement_timestamp' }, -{ oid => '2649', descr => 'current clock time', - proname => 'clock_timestamp', provolatile => 'v', prorettype => 'timestamptz', - proargtypes => '', prosrc => 'clock_timestamp' }, - -# OIDS 1300 - 1399 - -{ oid => '1300', - descr => 'restriction selectivity for position-comparison operators', - proname => 'positionsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'positionsel' }, -{ oid => '1301', - descr => 'join selectivity for position-comparison operators', - proname => 'positionjoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'positionjoinsel' }, -{ oid => '1302', - descr => 'restriction selectivity for containment comparison operators', - proname => 'contsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'contsel' }, -{ oid => '1303', - descr => 'join selectivity for containment comparison operators', - proname => 'contjoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'contjoinsel' }, - -{ oid => '1304', descr => 'intervals overlap?', - proname => 'overlaps', proisstrict => 'f', prorettype => 'bool', - proargtypes => 'timestamptz timestamptz timestamptz timestamptz', - prosrc => 'overlaps_timestamp' }, -{ oid => '1305', descr => 'intervals overlap?', - proname => 'overlaps', prolang => 'sql', proisstrict => 'f', - provolatile => 's', prorettype => 'bool', - proargtypes => 'timestamptz interval timestamptz interval', - prosrc => 'see system_functions.sql' }, -{ oid => '1306', descr => 'intervals overlap?', - proname => 'overlaps', prolang => 'sql', proisstrict => 'f', - provolatile => 's', prorettype => 'bool', - proargtypes => 'timestamptz timestamptz timestamptz interval', - prosrc => 'see system_functions.sql' }, -{ oid => '1307', descr => 'intervals overlap?', - proname => 'overlaps', prolang => 'sql', proisstrict => 'f', - provolatile => 's', prorettype => 'bool', - proargtypes => 'timestamptz interval timestamptz timestamptz', - prosrc => 'see system_functions.sql' }, - -{ oid => '1308', descr => 'intervals overlap?', - proname => 'overlaps', proisstrict => 'f', prorettype => 'bool', - proargtypes => 'time time time time', prosrc => 'overlaps_time' }, -{ oid => '1309', descr => 'intervals overlap?', - proname => 'overlaps', prolang => 'sql', proisstrict => 'f', - prorettype => 'bool', proargtypes => 'time interval time interval', - prosrc => 'see system_functions.sql' }, -{ oid => '1310', descr => 'intervals overlap?', - proname => 'overlaps', prolang => 'sql', proisstrict => 'f', - prorettype => 'bool', proargtypes => 'time time time interval', - prosrc => 'see system_functions.sql' }, -{ oid => '1311', descr => 'intervals overlap?', - proname => 'overlaps', prolang => 'sql', proisstrict => 'f', - prorettype => 'bool', proargtypes => 'time interval time time', - prosrc => 'see system_functions.sql' }, - -{ oid => '1312', descr => 'I/O', - proname => 'timestamp_in', provolatile => 's', prorettype => 'timestamp', - proargtypes => 'cstring oid int4', prosrc => 'timestamp_in' }, -{ oid => '1313', descr => 'I/O', - proname => 'timestamp_out', provolatile => 's', prorettype => 'cstring', - proargtypes => 'timestamp', prosrc => 'timestamp_out' }, -{ oid => '2905', descr => 'I/O typmod', - proname => 'timestamptypmodin', prorettype => 'int4', - proargtypes => '_cstring', prosrc => 'timestamptypmodin' }, -{ oid => '2906', descr => 'I/O typmod', - proname => 'timestamptypmodout', prorettype => 'cstring', - proargtypes => 'int4', prosrc => 'timestamptypmodout' }, -{ oid => '1314', descr => 'less-equal-greater', - proname => 'timestamptz_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'timestamptz timestamptz', prosrc => 'timestamp_cmp' }, -{ oid => '1315', descr => 'less-equal-greater', - proname => 'interval_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'interval interval', prosrc => 'interval_cmp' }, -{ oid => '1316', descr => 'convert timestamp to time', - proname => 'time', prorettype => 'time', proargtypes => 'timestamp', - prosrc => 'timestamp_time' }, - -{ oid => '1317', descr => 'length', - proname => 'length', prorettype => 'int4', proargtypes => 'text', - prosrc => 'textlen' }, -{ oid => '1318', descr => 'character length', - proname => 'length', prorettype => 'int4', proargtypes => 'bpchar', - prosrc => 'bpcharlen' }, - -{ oid => '1319', - proname => 'xideqint4', proleakproof => 't', prorettype => 'bool', - proargtypes => 'xid int4', prosrc => 'xideq' }, -{ oid => '3309', - proname => 'xidneqint4', proleakproof => 't', prorettype => 'bool', - proargtypes => 'xid int4', prosrc => 'xidneq' }, - -{ oid => '1326', - proname => 'interval_div', prorettype => 'interval', - proargtypes => 'interval float8', prosrc => 'interval_div' }, - -{ oid => '1339', descr => 'base 10 logarithm', - proname => 'dlog10', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dlog10' }, -{ oid => '1340', descr => 'base 10 logarithm', - proname => 'log', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dlog10' }, -{ oid => '1194', descr => 'base 10 logarithm', - proname => 'log10', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dlog10' }, -{ oid => '1341', descr => 'natural logarithm', - proname => 'ln', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dlog1' }, -{ oid => '1342', descr => 'round to nearest integer', - proname => 'round', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dround' }, -{ oid => '1343', descr => 'truncate to integer', - proname => 'trunc', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dtrunc' }, -{ oid => '1344', descr => 'square root', - proname => 'sqrt', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dsqrt' }, -{ oid => '1345', descr => 'cube root', - proname => 'cbrt', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dcbrt' }, -{ oid => '1346', descr => 'exponentiation', - proname => 'pow', prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'dpow' }, -{ oid => '1368', descr => 'exponentiation', - proname => 'power', prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'dpow' }, -{ oid => '1347', descr => 'natural exponential (e^x)', - proname => 'exp', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dexp' }, - -# This form of obj_description is now deprecated, since it will fail if -# OIDs are not unique across system catalogs. Use the other form instead. -{ oid => '1348', descr => 'deprecated, use two-argument form instead', - proname => 'obj_description', prolang => 'sql', procost => '100', - provolatile => 's', prorettype => 'text', proargtypes => 'oid', - prosrc => 'see system_functions.sql' }, - -{ oid => '1349', descr => 'print type names of oidvector field', - proname => 'oidvectortypes', provolatile => 's', prorettype => 'text', - proargtypes => 'oidvector', prosrc => 'oidvectortypes' }, - -{ oid => '1350', descr => 'I/O', - proname => 'timetz_in', provolatile => 's', prorettype => 'timetz', - proargtypes => 'cstring oid int4', prosrc => 'timetz_in' }, -{ oid => '1351', descr => 'I/O', - proname => 'timetz_out', prorettype => 'cstring', proargtypes => 'timetz', - prosrc => 'timetz_out' }, -{ oid => '2911', descr => 'I/O typmod', - proname => 'timetztypmodin', prorettype => 'int4', proargtypes => '_cstring', - prosrc => 'timetztypmodin' }, -{ oid => '2912', descr => 'I/O typmod', - proname => 'timetztypmodout', prorettype => 'cstring', proargtypes => 'int4', - prosrc => 'timetztypmodout' }, -{ oid => '1352', - proname => 'timetz_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timetz timetz', prosrc => 'timetz_eq' }, -{ oid => '1353', - proname => 'timetz_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timetz timetz', prosrc => 'timetz_ne' }, -{ oid => '1354', - proname => 'timetz_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timetz timetz', prosrc => 'timetz_lt' }, -{ oid => '1355', - proname => 'timetz_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timetz timetz', prosrc => 'timetz_le' }, -{ oid => '1356', - proname => 'timetz_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timetz timetz', prosrc => 'timetz_ge' }, -{ oid => '1357', - proname => 'timetz_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timetz timetz', prosrc => 'timetz_gt' }, -{ oid => '1358', descr => 'less-equal-greater', - proname => 'timetz_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'timetz timetz', prosrc => 'timetz_cmp' }, -{ oid => '1359', - descr => 'convert date and time with time zone to timestamp with time zone', - proname => 'timestamptz', prorettype => 'timestamptz', - proargtypes => 'date timetz', prosrc => 'datetimetz_timestamptz' }, - -{ oid => '1367', descr => 'character length', - proname => 'character_length', prorettype => 'int4', proargtypes => 'bpchar', - prosrc => 'bpcharlen' }, -{ oid => '1369', descr => 'character length', - proname => 'character_length', prorettype => 'int4', proargtypes => 'text', - prosrc => 'textlen' }, - -{ oid => '1370', descr => 'convert time to interval', - proname => 'interval', proleakproof => 't', prorettype => 'interval', - proargtypes => 'time', prosrc => 'time_interval' }, -{ oid => '1372', descr => 'character length', - proname => 'char_length', prorettype => 'int4', proargtypes => 'bpchar', - prosrc => 'bpcharlen' }, -{ oid => '1374', descr => 'octet length', - proname => 'octet_length', prorettype => 'int4', proargtypes => 'text', - prosrc => 'textoctetlen' }, -{ oid => '1375', descr => 'octet length', - proname => 'octet_length', prorettype => 'int4', proargtypes => 'bpchar', - prosrc => 'bpcharoctetlen' }, - -{ oid => '1377', descr => 'larger of two', - proname => 'time_larger', prorettype => 'time', proargtypes => 'time time', - prosrc => 'time_larger' }, -{ oid => '1378', descr => 'smaller of two', - proname => 'time_smaller', prorettype => 'time', proargtypes => 'time time', - prosrc => 'time_smaller' }, -{ oid => '1379', descr => 'larger of two', - proname => 'timetz_larger', prorettype => 'timetz', - proargtypes => 'timetz timetz', prosrc => 'timetz_larger' }, -{ oid => '1380', descr => 'smaller of two', - proname => 'timetz_smaller', prorettype => 'timetz', - proargtypes => 'timetz timetz', prosrc => 'timetz_smaller' }, - -{ oid => '1381', descr => 'character length', - proname => 'char_length', prorettype => 'int4', proargtypes => 'text', - prosrc => 'textlen' }, - -{ oid => '1384', descr => 'extract field from date', - proname => 'date_part', prolang => 'sql', prorettype => 'float8', - proargtypes => 'text date', prosrc => 'see system_functions.sql' }, -{ oid => '6199', descr => 'extract field from date', - proname => 'extract', prorettype => 'numeric', proargtypes => 'text date', - prosrc => 'extract_date' }, -{ oid => '1385', descr => 'extract field from time', - proname => 'date_part', prorettype => 'float8', proargtypes => 'text time', - prosrc => 'time_part' }, -{ oid => '6200', descr => 'extract field from time', - proname => 'extract', prorettype => 'numeric', proargtypes => 'text time', - prosrc => 'extract_time' }, -{ oid => '1386', - descr => 'date difference from today preserving months and years', - proname => 'age', prolang => 'sql', provolatile => 's', - prorettype => 'interval', proargtypes => 'timestamptz', - prosrc => 'see system_functions.sql' }, - -{ oid => '1388', - descr => 'convert timestamp with time zone to time with time zone', - proname => 'timetz', provolatile => 's', prorettype => 'timetz', - proargtypes => 'timestamptz', prosrc => 'timestamptz_timetz' }, - -{ oid => '1373', descr => 'finite date?', - proname => 'isfinite', prorettype => 'bool', proargtypes => 'date', - prosrc => 'date_finite' }, -{ oid => '1389', descr => 'finite timestamp?', - proname => 'isfinite', prorettype => 'bool', proargtypes => 'timestamptz', - prosrc => 'timestamp_finite' }, -{ oid => '1390', descr => 'finite interval?', - proname => 'isfinite', prorettype => 'bool', proargtypes => 'interval', - prosrc => 'interval_finite' }, - -{ oid => '1376', descr => 'factorial', - proname => 'factorial', prorettype => 'numeric', proargtypes => 'int8', - prosrc => 'numeric_fac' }, -{ oid => '1394', descr => 'absolute value', - proname => 'abs', prorettype => 'float4', proargtypes => 'float4', - prosrc => 'float4abs' }, -{ oid => '1395', descr => 'absolute value', - proname => 'abs', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'float8abs' }, -{ oid => '1396', descr => 'absolute value', - proname => 'abs', prorettype => 'int8', proargtypes => 'int8', - prosrc => 'int8abs' }, -{ oid => '1397', descr => 'absolute value', - proname => 'abs', prorettype => 'int4', proargtypes => 'int4', - prosrc => 'int4abs' }, -{ oid => '1398', descr => 'absolute value', - proname => 'abs', prorettype => 'int2', proargtypes => 'int2', - prosrc => 'int2abs' }, - -# OIDS 1400 - 1499 - -{ oid => '1400', descr => 'convert varchar to name', - proname => 'name', proleakproof => 't', prorettype => 'name', - proargtypes => 'varchar', prosrc => 'text_name' }, -{ oid => '1401', descr => 'convert name to varchar', - proname => 'varchar', proleakproof => 't', prorettype => 'varchar', - proargtypes => 'name', prosrc => 'name_text' }, - -{ oid => '1402', descr => 'current schema name', - proname => 'current_schema', provolatile => 's', proparallel => 'u', - prorettype => 'name', proargtypes => '', prosrc => 'current_schema' }, -{ oid => '1403', descr => 'current schema search list', - proname => 'current_schemas', provolatile => 's', proparallel => 'u', - prorettype => '_name', proargtypes => 'bool', prosrc => 'current_schemas' }, - -{ oid => '1404', descr => 'substitute portion of string', - proname => 'overlay', prorettype => 'text', - proargtypes => 'text text int4 int4', prosrc => 'textoverlay' }, -{ oid => '1405', descr => 'substitute portion of string', - proname => 'overlay', prorettype => 'text', proargtypes => 'text text int4', - prosrc => 'textoverlay_no_len' }, - -{ oid => '1406', descr => 'vertically aligned', - proname => 'isvertical', prorettype => 'bool', proargtypes => 'point point', - prosrc => 'point_vert' }, -{ oid => '1407', descr => 'horizontally aligned', - proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'point point', - prosrc => 'point_horiz' }, -{ oid => '1408', descr => 'parallel', - proname => 'isparallel', prorettype => 'bool', proargtypes => 'lseg lseg', - prosrc => 'lseg_parallel' }, -{ oid => '1409', descr => 'perpendicular', - proname => 'isperp', prorettype => 'bool', proargtypes => 'lseg lseg', - prosrc => 'lseg_perp' }, -{ oid => '1410', descr => 'vertical', - proname => 'isvertical', prorettype => 'bool', proargtypes => 'lseg', - prosrc => 'lseg_vertical' }, -{ oid => '1411', descr => 'horizontal', - proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'lseg', - prosrc => 'lseg_horizontal' }, -{ oid => '1412', descr => 'parallel', - proname => 'isparallel', prorettype => 'bool', proargtypes => 'line line', - prosrc => 'line_parallel' }, -{ oid => '1413', descr => 'perpendicular', - proname => 'isperp', prorettype => 'bool', proargtypes => 'line line', - prosrc => 'line_perp' }, -{ oid => '1414', descr => 'vertical', - proname => 'isvertical', prorettype => 'bool', proargtypes => 'line', - prosrc => 'line_vertical' }, -{ oid => '1415', descr => 'horizontal', - proname => 'ishorizontal', prorettype => 'bool', proargtypes => 'line', - prosrc => 'line_horizontal' }, -{ oid => '1416', descr => 'center of', - proname => 'point', prorettype => 'point', proargtypes => 'circle', - prosrc => 'circle_center' }, - -{ oid => '1419', descr => 'convert interval to time', - proname => 'time', prorettype => 'time', proargtypes => 'interval', - prosrc => 'interval_time' }, - -{ oid => '1421', descr => 'convert points to box', - proname => 'box', prorettype => 'box', proargtypes => 'point point', - prosrc => 'points_box' }, -{ oid => '1422', - proname => 'box_add', prorettype => 'box', proargtypes => 'box point', - prosrc => 'box_add' }, -{ oid => '1423', - proname => 'box_sub', prorettype => 'box', proargtypes => 'box point', - prosrc => 'box_sub' }, -{ oid => '1424', - proname => 'box_mul', prorettype => 'box', proargtypes => 'box point', - prosrc => 'box_mul' }, -{ oid => '1425', - proname => 'box_div', prorettype => 'box', proargtypes => 'box point', - prosrc => 'box_div' }, -{ oid => '1426', - proname => 'path_contain_pt', prolang => 'sql', prorettype => 'bool', - proargtypes => 'path point', prosrc => 'see system_functions.sql' }, -{ oid => '1428', - proname => 'poly_contain_pt', prorettype => 'bool', - proargtypes => 'polygon point', prosrc => 'poly_contain_pt' }, -{ oid => '1429', - proname => 'pt_contained_poly', prorettype => 'bool', - proargtypes => 'point polygon', prosrc => 'pt_contained_poly' }, - -{ oid => '1430', descr => 'path closed?', - proname => 'isclosed', prorettype => 'bool', proargtypes => 'path', - prosrc => 'path_isclosed' }, -{ oid => '1431', descr => 'path open?', - proname => 'isopen', prorettype => 'bool', proargtypes => 'path', - prosrc => 'path_isopen' }, -{ oid => '1432', - proname => 'path_npoints', prorettype => 'int4', proargtypes => 'path', - prosrc => 'path_npoints' }, - -# pclose and popen might better be named close and open, but that crashes initdb. -# - thomas 97/04/20 -{ oid => '1433', descr => 'close path', - proname => 'pclose', prorettype => 'path', proargtypes => 'path', - prosrc => 'path_close' }, -{ oid => '1434', descr => 'open path', - proname => 'popen', prorettype => 'path', proargtypes => 'path', - prosrc => 'path_open' }, - -{ oid => '1435', - proname => 'path_add', prorettype => 'path', proargtypes => 'path path', - prosrc => 'path_add' }, -{ oid => '1436', - proname => 'path_add_pt', prorettype => 'path', proargtypes => 'path point', - prosrc => 'path_add_pt' }, -{ oid => '1437', - proname => 'path_sub_pt', prorettype => 'path', proargtypes => 'path point', - prosrc => 'path_sub_pt' }, -{ oid => '1438', - proname => 'path_mul_pt', prorettype => 'path', proargtypes => 'path point', - prosrc => 'path_mul_pt' }, -{ oid => '1439', - proname => 'path_div_pt', prorettype => 'path', proargtypes => 'path point', - prosrc => 'path_div_pt' }, - -{ oid => '1440', descr => 'convert x, y to point', - proname => 'point', prorettype => 'point', proargtypes => 'float8 float8', - prosrc => 'construct_point' }, -{ oid => '1441', - proname => 'point_add', prorettype => 'point', proargtypes => 'point point', - prosrc => 'point_add' }, -{ oid => '1442', - proname => 'point_sub', prorettype => 'point', proargtypes => 'point point', - prosrc => 'point_sub' }, -{ oid => '1443', - proname => 'point_mul', prorettype => 'point', proargtypes => 'point point', - prosrc => 'point_mul' }, -{ oid => '1444', - proname => 'point_div', prorettype => 'point', proargtypes => 'point point', - prosrc => 'point_div' }, - -{ oid => '1445', - proname => 'poly_npoints', prorettype => 'int4', proargtypes => 'polygon', - prosrc => 'poly_npoints' }, -{ oid => '1446', descr => 'convert polygon to bounding box', - proname => 'box', prorettype => 'box', proargtypes => 'polygon', - prosrc => 'poly_box' }, -{ oid => '1447', descr => 'convert polygon to path', - proname => 'path', prorettype => 'path', proargtypes => 'polygon', - prosrc => 'poly_path' }, -{ oid => '1448', descr => 'convert box to polygon', - proname => 'polygon', prorettype => 'polygon', proargtypes => 'box', - prosrc => 'box_poly' }, -{ oid => '1449', descr => 'convert path to polygon', - proname => 'polygon', prorettype => 'polygon', proargtypes => 'path', - prosrc => 'path_poly' }, - -{ oid => '1450', descr => 'I/O', - proname => 'circle_in', prorettype => 'circle', proargtypes => 'cstring', - prosrc => 'circle_in' }, -{ oid => '1451', descr => 'I/O', - proname => 'circle_out', prorettype => 'cstring', proargtypes => 'circle', - prosrc => 'circle_out' }, -{ oid => '1452', - proname => 'circle_same', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_same' }, -{ oid => '1453', - proname => 'circle_contain', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_contain' }, -{ oid => '1454', - proname => 'circle_left', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_left' }, -{ oid => '1455', - proname => 'circle_overleft', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_overleft' }, -{ oid => '1456', - proname => 'circle_overright', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_overright' }, -{ oid => '1457', - proname => 'circle_right', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_right' }, -{ oid => '1458', - proname => 'circle_contained', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_contained' }, -{ oid => '1459', - proname => 'circle_overlap', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_overlap' }, -{ oid => '1460', - proname => 'circle_below', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_below' }, -{ oid => '1461', - proname => 'circle_above', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_above' }, -{ oid => '1462', - proname => 'circle_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_eq' }, -{ oid => '1463', - proname => 'circle_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_ne' }, -{ oid => '1464', - proname => 'circle_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_lt' }, -{ oid => '1465', - proname => 'circle_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_gt' }, -{ oid => '1466', - proname => 'circle_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_le' }, -{ oid => '1467', - proname => 'circle_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_ge' }, -{ oid => '1468', descr => 'area of circle', - proname => 'area', prorettype => 'float8', proargtypes => 'circle', - prosrc => 'circle_area' }, -{ oid => '1469', descr => 'diameter of circle', - proname => 'diameter', prorettype => 'float8', proargtypes => 'circle', - prosrc => 'circle_diameter' }, -{ oid => '1470', descr => 'radius of circle', - proname => 'radius', prorettype => 'float8', proargtypes => 'circle', - prosrc => 'circle_radius' }, -{ oid => '1471', - proname => 'circle_distance', prorettype => 'float8', - proargtypes => 'circle circle', prosrc => 'circle_distance' }, -{ oid => '1472', - proname => 'circle_center', prorettype => 'point', proargtypes => 'circle', - prosrc => 'circle_center' }, -{ oid => '1473', descr => 'convert point and radius to circle', - proname => 'circle', prorettype => 'circle', proargtypes => 'point float8', - prosrc => 'cr_circle' }, -{ oid => '1474', descr => 'convert polygon to circle', - proname => 'circle', prorettype => 'circle', proargtypes => 'polygon', - prosrc => 'poly_circle' }, -{ oid => '1475', descr => 'convert vertex count and circle to polygon', - proname => 'polygon', prorettype => 'polygon', proargtypes => 'int4 circle', - prosrc => 'circle_poly' }, -{ oid => '1476', - proname => 'dist_pc', prorettype => 'float8', proargtypes => 'point circle', - prosrc => 'dist_pc' }, -{ oid => '1477', - proname => 'circle_contain_pt', prorettype => 'bool', - proargtypes => 'circle point', prosrc => 'circle_contain_pt' }, -{ oid => '1478', - proname => 'pt_contained_circle', prorettype => 'bool', - proargtypes => 'point circle', prosrc => 'pt_contained_circle' }, -{ oid => '4091', descr => 'convert point to empty box', - proname => 'box', prorettype => 'box', proargtypes => 'point', - prosrc => 'point_box' }, -{ oid => '1479', descr => 'convert box to circle', - proname => 'circle', prorettype => 'circle', proargtypes => 'box', - prosrc => 'box_circle' }, -{ oid => '1480', descr => 'convert circle to box', - proname => 'box', prorettype => 'box', proargtypes => 'circle', - prosrc => 'circle_box' }, - -{ oid => '1482', - proname => 'lseg_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'lseg lseg', prosrc => 'lseg_ne' }, -{ oid => '1483', - proname => 'lseg_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'lseg lseg', prosrc => 'lseg_lt' }, -{ oid => '1484', - proname => 'lseg_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'lseg lseg', prosrc => 'lseg_le' }, -{ oid => '1485', - proname => 'lseg_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'lseg lseg', prosrc => 'lseg_gt' }, -{ oid => '1486', - proname => 'lseg_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'lseg lseg', prosrc => 'lseg_ge' }, -{ oid => '1487', - proname => 'lseg_length', prorettype => 'float8', proargtypes => 'lseg', - prosrc => 'lseg_length' }, -{ oid => '1488', - proname => 'close_ls', prorettype => 'point', proargtypes => 'line lseg', - prosrc => 'close_ls' }, -{ oid => '1489', - proname => 'close_lseg', prorettype => 'point', proargtypes => 'lseg lseg', - prosrc => 'close_lseg' }, - -{ oid => '1490', descr => 'I/O', - proname => 'line_in', prorettype => 'line', proargtypes => 'cstring', - prosrc => 'line_in' }, -{ oid => '1491', descr => 'I/O', - proname => 'line_out', prorettype => 'cstring', proargtypes => 'line', - prosrc => 'line_out' }, -{ oid => '1492', - proname => 'line_eq', prorettype => 'bool', proargtypes => 'line line', - prosrc => 'line_eq' }, -{ oid => '1493', descr => 'construct line from points', - proname => 'line', prorettype => 'line', proargtypes => 'point point', - prosrc => 'line_construct_pp' }, -{ oid => '1494', - proname => 'line_interpt', prorettype => 'point', proargtypes => 'line line', - prosrc => 'line_interpt' }, -{ oid => '1495', - proname => 'line_intersect', prorettype => 'bool', proargtypes => 'line line', - prosrc => 'line_intersect' }, -{ oid => '1496', - proname => 'line_parallel', prorettype => 'bool', proargtypes => 'line line', - prosrc => 'line_parallel' }, -{ oid => '1497', - proname => 'line_perp', prorettype => 'bool', proargtypes => 'line line', - prosrc => 'line_perp' }, -{ oid => '1498', - proname => 'line_vertical', prorettype => 'bool', proargtypes => 'line', - prosrc => 'line_vertical' }, -{ oid => '1499', - proname => 'line_horizontal', prorettype => 'bool', proargtypes => 'line', - prosrc => 'line_horizontal' }, - -# OIDS 1500 - 1599 - -{ oid => '1530', descr => 'distance between endpoints', - proname => 'length', prorettype => 'float8', proargtypes => 'lseg', - prosrc => 'lseg_length' }, -{ oid => '1531', descr => 'sum of path segments', - proname => 'length', prorettype => 'float8', proargtypes => 'path', - prosrc => 'path_length' }, - -{ oid => '1532', descr => 'center of', - proname => 'point', prorettype => 'point', proargtypes => 'lseg', - prosrc => 'lseg_center' }, -{ oid => '1533', descr => 'center of', - proname => 'point', prorettype => 'point', proargtypes => 'path', - prosrc => 'path_center' }, -{ oid => '1534', descr => 'center of', - proname => 'point', prorettype => 'point', proargtypes => 'box', - prosrc => 'box_center' }, -{ oid => '1540', descr => 'center of', - proname => 'point', prorettype => 'point', proargtypes => 'polygon', - prosrc => 'poly_center' }, -{ oid => '1541', descr => 'diagonal of', - proname => 'lseg', prorettype => 'lseg', proargtypes => 'box', - prosrc => 'box_diagonal' }, -{ oid => '1542', descr => 'center of', - proname => 'center', prorettype => 'point', proargtypes => 'box', - prosrc => 'box_center' }, -{ oid => '1543', descr => 'center of', - proname => 'center', prorettype => 'point', proargtypes => 'circle', - prosrc => 'circle_center' }, -{ oid => '1544', descr => 'convert circle to 12-vertex polygon', - proname => 'polygon', prolang => 'sql', prorettype => 'polygon', - proargtypes => 'circle', prosrc => 'see system_functions.sql' }, -{ oid => '1545', descr => 'number of points', - proname => 'npoints', prorettype => 'int4', proargtypes => 'path', - prosrc => 'path_npoints' }, -{ oid => '1556', descr => 'number of points', - proname => 'npoints', prorettype => 'int4', proargtypes => 'polygon', - prosrc => 'poly_npoints' }, - -{ oid => '1564', descr => 'I/O', - proname => 'bit_in', prorettype => 'bit', proargtypes => 'cstring oid int4', - prosrc => 'bit_in' }, -{ oid => '1565', descr => 'I/O', - proname => 'bit_out', prorettype => 'cstring', proargtypes => 'bit', - prosrc => 'bit_out' }, -{ oid => '2919', descr => 'I/O typmod', - proname => 'bittypmodin', prorettype => 'int4', proargtypes => '_cstring', - prosrc => 'bittypmodin' }, -{ oid => '2920', descr => 'I/O typmod', - proname => 'bittypmodout', prorettype => 'cstring', proargtypes => 'int4', - prosrc => 'bittypmodout' }, - -{ oid => '1569', descr => 'matches LIKE expression', - proname => 'like', prosupport => 'textlike_support', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'textlike' }, -{ oid => '1570', descr => 'does not match LIKE expression', - proname => 'notlike', prorettype => 'bool', proargtypes => 'text text', - prosrc => 'textnlike' }, -{ oid => '1571', descr => 'matches LIKE expression', - proname => 'like', prosupport => 'textlike_support', prorettype => 'bool', - proargtypes => 'name text', prosrc => 'namelike' }, -{ oid => '1572', descr => 'does not match LIKE expression', - proname => 'notlike', prorettype => 'bool', proargtypes => 'name text', - prosrc => 'namenlike' }, - -# SEQUENCE functions -{ oid => '1574', descr => 'sequence next value', - proname => 'nextval', provolatile => 'v', proparallel => 'u', - prorettype => 'int8', proargtypes => 'regclass', prosrc => 'nextval_oid' }, -{ oid => '1575', descr => 'sequence current value', - proname => 'currval', provolatile => 'v', proparallel => 'u', - prorettype => 'int8', proargtypes => 'regclass', prosrc => 'currval_oid' }, -{ oid => '1576', descr => 'set sequence value', - proname => 'setval', provolatile => 'v', proparallel => 'u', - prorettype => 'int8', proargtypes => 'regclass int8', - prosrc => 'setval_oid' }, -{ oid => '1765', descr => 'set sequence value and is_called status', - proname => 'setval', provolatile => 'v', proparallel => 'u', - prorettype => 'int8', proargtypes => 'regclass int8 bool', - prosrc => 'setval3_oid' }, -{ oid => '3078', - descr => 'sequence parameters, for use by information schema', - proname => 'pg_sequence_parameters', provolatile => 's', - prorettype => 'record', proargtypes => 'oid', - proallargtypes => '{oid,int8,int8,int8,int8,bool,int8,oid}', - proargmodes => '{i,o,o,o,o,o,o,o}', - proargnames => '{sequence_oid,start_value,minimum_value,maximum_value,increment,cycle_option,cache_size,data_type}', - prosrc => 'pg_sequence_parameters' }, -{ oid => '4032', descr => 'sequence last value', - proname => 'pg_sequence_last_value', provolatile => 'v', proparallel => 'u', - prorettype => 'int8', proargtypes => 'regclass', - prosrc => 'pg_sequence_last_value' }, - -{ oid => '275', descr => 'return the next oid for a system table', - proname => 'pg_nextoid', provolatile => 'v', proparallel => 'u', - prorettype => 'oid', proargtypes => 'regclass name regclass', - prosrc => 'pg_nextoid' }, - -{ oid => '1579', descr => 'I/O', - proname => 'varbit_in', prorettype => 'varbit', - proargtypes => 'cstring oid int4', prosrc => 'varbit_in' }, -{ oid => '1580', descr => 'I/O', - proname => 'varbit_out', prorettype => 'cstring', proargtypes => 'varbit', - prosrc => 'varbit_out' }, -{ oid => '2902', descr => 'I/O typmod', - proname => 'varbittypmodin', prorettype => 'int4', proargtypes => '_cstring', - prosrc => 'varbittypmodin' }, -{ oid => '2921', descr => 'I/O typmod', - proname => 'varbittypmodout', prorettype => 'cstring', proargtypes => 'int4', - prosrc => 'varbittypmodout' }, - -{ oid => '1581', - proname => 'biteq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bit bit', prosrc => 'biteq' }, -{ oid => '1582', - proname => 'bitne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bit bit', prosrc => 'bitne' }, -{ oid => '1592', - proname => 'bitge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bit bit', prosrc => 'bitge' }, -{ oid => '1593', - proname => 'bitgt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bit bit', prosrc => 'bitgt' }, -{ oid => '1594', - proname => 'bitle', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bit bit', prosrc => 'bitle' }, -{ oid => '1595', - proname => 'bitlt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bit bit', prosrc => 'bitlt' }, -{ oid => '1596', descr => 'less-equal-greater', - proname => 'bitcmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'bit bit', prosrc => 'bitcmp' }, - -{ oid => '1598', descr => 'random value', - proname => 'random', provolatile => 'v', proparallel => 'r', - prorettype => 'float8', proargtypes => '', prosrc => 'drandom' }, -{ oid => '1599', descr => 'set random seed', - proname => 'setseed', provolatile => 'v', proparallel => 'r', - prorettype => 'void', proargtypes => 'float8', prosrc => 'setseed' }, - -# OIDS 1600 - 1699 - -{ oid => '1600', descr => 'arcsine', - proname => 'asin', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dasin' }, -{ oid => '1601', descr => 'arccosine', - proname => 'acos', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dacos' }, -{ oid => '1602', descr => 'arctangent', - proname => 'atan', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'datan' }, -{ oid => '1603', descr => 'arctangent, two arguments', - proname => 'atan2', prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'datan2' }, -{ oid => '1604', descr => 'sine', - proname => 'sin', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dsin' }, -{ oid => '1605', descr => 'cosine', - proname => 'cos', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dcos' }, -{ oid => '1606', descr => 'tangent', - proname => 'tan', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dtan' }, -{ oid => '1607', descr => 'cotangent', - proname => 'cot', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dcot' }, - -{ oid => '2731', descr => 'arcsine, degrees', - proname => 'asind', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dasind' }, -{ oid => '2732', descr => 'arccosine, degrees', - proname => 'acosd', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dacosd' }, -{ oid => '2733', descr => 'arctangent, degrees', - proname => 'atand', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'datand' }, -{ oid => '2734', descr => 'arctangent, two arguments, degrees', - proname => 'atan2d', prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'datan2d' }, -{ oid => '2735', descr => 'sine, degrees', - proname => 'sind', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dsind' }, -{ oid => '2736', descr => 'cosine, degrees', - proname => 'cosd', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dcosd' }, -{ oid => '2737', descr => 'tangent, degrees', - proname => 'tand', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dtand' }, -{ oid => '2738', descr => 'cotangent, degrees', - proname => 'cotd', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dcotd' }, - -{ oid => '1608', descr => 'radians to degrees', - proname => 'degrees', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'degrees' }, -{ oid => '1609', descr => 'degrees to radians', - proname => 'radians', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'radians' }, -{ oid => '1610', descr => 'PI', - proname => 'pi', prorettype => 'float8', proargtypes => '', prosrc => 'dpi' }, - -{ oid => '2462', descr => 'hyperbolic sine', - proname => 'sinh', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dsinh' }, -{ oid => '2463', descr => 'hyperbolic cosine', - proname => 'cosh', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dcosh' }, -{ oid => '2464', descr => 'hyperbolic tangent', - proname => 'tanh', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dtanh' }, -{ oid => '2465', descr => 'inverse hyperbolic sine', - proname => 'asinh', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dasinh' }, -{ oid => '2466', descr => 'inverse hyperbolic cosine', - proname => 'acosh', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'dacosh' }, -{ oid => '2467', descr => 'inverse hyperbolic tangent', - proname => 'atanh', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'datanh' }, - -{ oid => '1618', - proname => 'interval_mul', prorettype => 'interval', - proargtypes => 'interval float8', prosrc => 'interval_mul' }, - -{ oid => '1620', descr => 'convert first char to int4', - proname => 'ascii', prorettype => 'int4', proargtypes => 'text', - prosrc => 'ascii' }, -{ oid => '1621', descr => 'convert int4 to char', - proname => 'chr', prorettype => 'text', proargtypes => 'int4', - prosrc => 'chr' }, -{ oid => '1622', descr => 'replicate string n times', - proname => 'repeat', prorettype => 'text', proargtypes => 'text int4', - prosrc => 'repeat' }, - -{ oid => '1623', descr => 'convert SQL regexp pattern to POSIX style', - proname => 'similar_escape', proisstrict => 'f', prorettype => 'text', - proargtypes => 'text text', prosrc => 'similar_escape' }, -{ oid => '1986', descr => 'convert SQL regexp pattern to POSIX style', - proname => 'similar_to_escape', prorettype => 'text', - proargtypes => 'text text', prosrc => 'similar_to_escape_2' }, -{ oid => '1987', descr => 'convert SQL regexp pattern to POSIX style', - proname => 'similar_to_escape', prorettype => 'text', proargtypes => 'text', - prosrc => 'similar_to_escape_1' }, - -{ oid => '1624', - proname => 'mul_d_interval', prorettype => 'interval', - proargtypes => 'float8 interval', prosrc => 'mul_d_interval' }, - -{ oid => '1631', - proname => 'bpcharlike', prosupport => 'textlike_support', - prorettype => 'bool', proargtypes => 'bpchar text', prosrc => 'textlike' }, -{ oid => '1632', - proname => 'bpcharnlike', prorettype => 'bool', proargtypes => 'bpchar text', - prosrc => 'textnlike' }, - -{ oid => '1633', - proname => 'texticlike', prosupport => 'texticlike_support', - prorettype => 'bool', proargtypes => 'text text', prosrc => 'texticlike' }, -{ oid => '1025', descr => 'planner support for texticlike', - proname => 'texticlike_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'texticlike_support' }, -{ oid => '1634', - proname => 'texticnlike', prorettype => 'bool', proargtypes => 'text text', - prosrc => 'texticnlike' }, -{ oid => '1635', - proname => 'nameiclike', prosupport => 'texticlike_support', - prorettype => 'bool', proargtypes => 'name text', prosrc => 'nameiclike' }, -{ oid => '1636', - proname => 'nameicnlike', prorettype => 'bool', proargtypes => 'name text', - prosrc => 'nameicnlike' }, -{ oid => '1637', descr => 'convert LIKE pattern to use backslash escapes', - proname => 'like_escape', prorettype => 'text', proargtypes => 'text text', - prosrc => 'like_escape' }, - -{ oid => '1656', - proname => 'bpcharicregexeq', prosupport => 'texticregexeq_support', - prorettype => 'bool', proargtypes => 'bpchar text', - prosrc => 'texticregexeq' }, -{ oid => '1657', - proname => 'bpcharicregexne', prorettype => 'bool', - proargtypes => 'bpchar text', prosrc => 'texticregexne' }, -{ oid => '1658', - proname => 'bpcharregexeq', prosupport => 'textregexeq_support', - prorettype => 'bool', proargtypes => 'bpchar text', prosrc => 'textregexeq' }, -{ oid => '1659', - proname => 'bpcharregexne', prorettype => 'bool', - proargtypes => 'bpchar text', prosrc => 'textregexne' }, -{ oid => '1660', - proname => 'bpchariclike', prosupport => 'texticlike_support', - prorettype => 'bool', proargtypes => 'bpchar text', prosrc => 'texticlike' }, -{ oid => '1661', - proname => 'bpcharicnlike', prorettype => 'bool', - proargtypes => 'bpchar text', prosrc => 'texticnlike' }, - -# Oracle Compatibility Related Functions - By Edmund Mergl <E.Mergl@bawue.de> -{ oid => '868', descr => 'position of substring', - proname => 'strpos', prorettype => 'int4', proargtypes => 'text text', - prosrc => 'textpos' }, -{ oid => '870', descr => 'lowercase', - proname => 'lower', prorettype => 'text', proargtypes => 'text', - prosrc => 'lower' }, -{ oid => '871', descr => 'uppercase', - proname => 'upper', prorettype => 'text', proargtypes => 'text', - prosrc => 'upper' }, -{ oid => '872', descr => 'capitalize each word', - proname => 'initcap', prorettype => 'text', proargtypes => 'text', - prosrc => 'initcap' }, -{ oid => '873', descr => 'left-pad string to length', - proname => 'lpad', prorettype => 'text', proargtypes => 'text int4 text', - prosrc => 'lpad' }, -{ oid => '874', descr => 'right-pad string to length', - proname => 'rpad', prorettype => 'text', proargtypes => 'text int4 text', - prosrc => 'rpad' }, -{ oid => '875', descr => 'trim selected characters from left end of string', - proname => 'ltrim', prorettype => 'text', proargtypes => 'text text', - prosrc => 'ltrim' }, -{ oid => '876', descr => 'trim selected characters from right end of string', - proname => 'rtrim', prorettype => 'text', proargtypes => 'text text', - prosrc => 'rtrim' }, -{ oid => '877', descr => 'extract portion of string', - proname => 'substr', prorettype => 'text', proargtypes => 'text int4 int4', - prosrc => 'text_substr' }, -{ oid => '878', descr => 'map a set of characters appearing in string', - proname => 'translate', prorettype => 'text', proargtypes => 'text text text', - prosrc => 'translate' }, -{ oid => '879', descr => 'left-pad string to length', - proname => 'lpad', prolang => 'sql', prorettype => 'text', - proargtypes => 'text int4', prosrc => 'see system_functions.sql' }, -{ oid => '880', descr => 'right-pad string to length', - proname => 'rpad', prolang => 'sql', prorettype => 'text', - proargtypes => 'text int4', prosrc => 'see system_functions.sql' }, -{ oid => '881', descr => 'trim spaces from left end of string', - proname => 'ltrim', prorettype => 'text', proargtypes => 'text', - prosrc => 'ltrim1' }, -{ oid => '882', descr => 'trim spaces from right end of string', - proname => 'rtrim', prorettype => 'text', proargtypes => 'text', - prosrc => 'rtrim1' }, -{ oid => '883', descr => 'extract portion of string', - proname => 'substr', prorettype => 'text', proargtypes => 'text int4', - prosrc => 'text_substr_no_len' }, -{ oid => '884', descr => 'trim selected characters from both ends of string', - proname => 'btrim', prorettype => 'text', proargtypes => 'text text', - prosrc => 'btrim' }, -{ oid => '885', descr => 'trim spaces from both ends of string', - proname => 'btrim', prorettype => 'text', proargtypes => 'text', - prosrc => 'btrim1' }, - -{ oid => '936', descr => 'extract portion of string', - proname => 'substring', prorettype => 'text', proargtypes => 'text int4 int4', - prosrc => 'text_substr' }, -{ oid => '937', descr => 'extract portion of string', - proname => 'substring', prorettype => 'text', proargtypes => 'text int4', - prosrc => 'text_substr_no_len' }, -{ oid => '2087', - descr => 'replace all occurrences in string of old_substr with new_substr', - proname => 'replace', prorettype => 'text', proargtypes => 'text text text', - prosrc => 'replace_text' }, -{ oid => '2284', descr => 'replace text using regexp', - proname => 'regexp_replace', prorettype => 'text', - proargtypes => 'text text text', prosrc => 'textregexreplace_noopt' }, -{ oid => '2285', descr => 'replace text using regexp', - proname => 'regexp_replace', prorettype => 'text', - proargtypes => 'text text text text', prosrc => 'textregexreplace' }, -{ oid => '3396', descr => 'find first match for regexp', - proname => 'regexp_match', prorettype => '_text', proargtypes => 'text text', - prosrc => 'regexp_match_no_flags' }, -{ oid => '3397', descr => 'find first match for regexp', - proname => 'regexp_match', prorettype => '_text', - proargtypes => 'text text text', prosrc => 'regexp_match' }, -{ oid => '2763', descr => 'find match(es) for regexp', - proname => 'regexp_matches', prorows => '1', proretset => 't', - prorettype => '_text', proargtypes => 'text text', - prosrc => 'regexp_matches_no_flags' }, -{ oid => '2764', descr => 'find match(es) for regexp', - proname => 'regexp_matches', prorows => '10', proretset => 't', - prorettype => '_text', proargtypes => 'text text text', - prosrc => 'regexp_matches' }, -{ oid => '2088', descr => 'split string by field_sep and return field_num', - proname => 'split_part', prorettype => 'text', - proargtypes => 'text text int4', prosrc => 'split_part' }, -{ oid => '2765', descr => 'split string by pattern', - proname => 'regexp_split_to_table', prorows => '1000', proretset => 't', - prorettype => 'text', proargtypes => 'text text', - prosrc => 'regexp_split_to_table_no_flags' }, -{ oid => '2766', descr => 'split string by pattern', - proname => 'regexp_split_to_table', prorows => '1000', proretset => 't', - prorettype => 'text', proargtypes => 'text text text', - prosrc => 'regexp_split_to_table' }, -{ oid => '2767', descr => 'split string by pattern', - proname => 'regexp_split_to_array', prorettype => '_text', - proargtypes => 'text text', prosrc => 'regexp_split_to_array_no_flags' }, -{ oid => '2768', descr => 'split string by pattern', - proname => 'regexp_split_to_array', prorettype => '_text', - proargtypes => 'text text text', prosrc => 'regexp_split_to_array' }, -{ oid => '2089', descr => 'convert int4 number to hex', - proname => 'to_hex', prorettype => 'text', proargtypes => 'int4', - prosrc => 'to_hex32' }, -{ oid => '2090', descr => 'convert int8 number to hex', - proname => 'to_hex', prorettype => 'text', proargtypes => 'int8', - prosrc => 'to_hex64' }, - -# for character set encoding support - -# return database encoding name -{ oid => '1039', descr => 'encoding name of current database', - proname => 'getdatabaseencoding', provolatile => 's', prorettype => 'name', - proargtypes => '', prosrc => 'getdatabaseencoding' }, - -# return client encoding name i.e. session encoding -{ oid => '810', descr => 'encoding name of current database', - proname => 'pg_client_encoding', provolatile => 's', prorettype => 'name', - proargtypes => '', prosrc => 'pg_client_encoding' }, - -{ oid => '1713', descr => 'length of string in specified encoding', - proname => 'length', provolatile => 's', prorettype => 'int4', - proargtypes => 'bytea name', prosrc => 'length_in_encoding' }, - -{ oid => '1714', - descr => 'convert string with specified source encoding name', - proname => 'convert_from', provolatile => 's', prorettype => 'text', - proargtypes => 'bytea name', prosrc => 'pg_convert_from' }, - -{ oid => '1717', - descr => 'convert string with specified destination encoding name', - proname => 'convert_to', provolatile => 's', prorettype => 'bytea', - proargtypes => 'text name', prosrc => 'pg_convert_to' }, - -{ oid => '1813', descr => 'convert string with specified encoding names', - proname => 'convert', provolatile => 's', prorettype => 'bytea', - proargtypes => 'bytea name name', prosrc => 'pg_convert' }, - -{ oid => '1264', descr => 'convert encoding name to encoding id', - proname => 'pg_char_to_encoding', provolatile => 's', prorettype => 'int4', - proargtypes => 'name', prosrc => 'PG_char_to_encoding' }, - -{ oid => '1597', descr => 'convert encoding id to encoding name', - proname => 'pg_encoding_to_char', provolatile => 's', prorettype => 'name', - proargtypes => 'int4', prosrc => 'PG_encoding_to_char' }, - -{ oid => '2319', - descr => 'maximum octet length of a character in given encoding', - proname => 'pg_encoding_max_length', prorettype => 'int4', - proargtypes => 'int4', prosrc => 'pg_encoding_max_length_sql' }, - -{ oid => '1638', - proname => 'oidgt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'oid oid', prosrc => 'oidgt' }, -{ oid => '1639', - proname => 'oidge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'oid oid', prosrc => 'oidge' }, - -# System-view support functions -{ oid => '1573', descr => 'source text of a rule', - proname => 'pg_get_ruledef', provolatile => 's', prorettype => 'text', - proargtypes => 'oid', prosrc => 'pg_get_ruledef' }, -{ oid => '1640', descr => 'select statement of a view', - proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', - prorettype => 'text', proargtypes => 'text', - prosrc => 'pg_get_viewdef_name' }, -{ oid => '1641', descr => 'select statement of a view', - proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', - prorettype => 'text', proargtypes => 'oid', prosrc => 'pg_get_viewdef' }, -{ oid => '1642', descr => 'role name by OID (with fallback)', - proname => 'pg_get_userbyid', provolatile => 's', prorettype => 'name', - proargtypes => 'oid', prosrc => 'pg_get_userbyid' }, -{ oid => '1643', descr => 'index description', - proname => 'pg_get_indexdef', provolatile => 's', prorettype => 'text', - proargtypes => 'oid', prosrc => 'pg_get_indexdef' }, -{ oid => '3415', descr => 'extended statistics object description', - proname => 'pg_get_statisticsobjdef', provolatile => 's', - prorettype => 'text', proargtypes => 'oid', - prosrc => 'pg_get_statisticsobjdef' }, -{ oid => '6174', descr => 'extended statistics columns', - proname => 'pg_get_statisticsobjdef_columns', provolatile => 's', - prorettype => 'text', proargtypes => 'oid', - prosrc => 'pg_get_statisticsobjdef_columns' }, -{ oid => '6173', descr => 'extended statistics expressions', - proname => 'pg_get_statisticsobjdef_expressions', provolatile => 's', - prorettype => '_text', proargtypes => 'oid', - prosrc => 'pg_get_statisticsobjdef_expressions' }, -{ oid => '3352', descr => 'partition key description', - proname => 'pg_get_partkeydef', provolatile => 's', prorettype => 'text', - proargtypes => 'oid', prosrc => 'pg_get_partkeydef' }, -{ oid => '3408', descr => 'partition constraint description', - proname => 'pg_get_partition_constraintdef', provolatile => 's', - prorettype => 'text', proargtypes => 'oid', - prosrc => 'pg_get_partition_constraintdef' }, -{ oid => '1662', descr => 'trigger description', - proname => 'pg_get_triggerdef', provolatile => 's', prorettype => 'text', - proargtypes => 'oid', prosrc => 'pg_get_triggerdef' }, -{ oid => '1387', descr => 'constraint description', - proname => 'pg_get_constraintdef', provolatile => 's', prorettype => 'text', - proargtypes => 'oid', prosrc => 'pg_get_constraintdef' }, -{ oid => '1716', descr => 'deparse an encoded expression', - proname => 'pg_get_expr', provolatile => 's', prorettype => 'text', - proargtypes => 'pg_node_tree oid', prosrc => 'pg_get_expr' }, -{ oid => '1665', descr => 'name of sequence for a serial column', - proname => 'pg_get_serial_sequence', provolatile => 's', prorettype => 'text', - proargtypes => 'text text', prosrc => 'pg_get_serial_sequence' }, -{ oid => '2098', descr => 'definition of a function', - proname => 'pg_get_functiondef', provolatile => 's', prorettype => 'text', - proargtypes => 'oid', prosrc => 'pg_get_functiondef' }, -{ oid => '2162', descr => 'argument list of a function', - proname => 'pg_get_function_arguments', provolatile => 's', - prorettype => 'text', proargtypes => 'oid', - prosrc => 'pg_get_function_arguments' }, -{ oid => '2232', descr => 'identity argument list of a function', - proname => 'pg_get_function_identity_arguments', provolatile => 's', - prorettype => 'text', proargtypes => 'oid', - prosrc => 'pg_get_function_identity_arguments' }, -{ oid => '2165', descr => 'result type of a function', - proname => 'pg_get_function_result', provolatile => 's', prorettype => 'text', - proargtypes => 'oid', prosrc => 'pg_get_function_result' }, -{ oid => '3808', descr => 'function argument default', - proname => 'pg_get_function_arg_default', provolatile => 's', - prorettype => 'text', proargtypes => 'oid int4', - prosrc => 'pg_get_function_arg_default' }, -{ oid => '6197', descr => 'function SQL body', - proname => 'pg_get_function_sqlbody', provolatile => 's', - prorettype => 'text', proargtypes => 'oid', - prosrc => 'pg_get_function_sqlbody' }, - -{ oid => '1686', descr => 'list of SQL keywords', - proname => 'pg_get_keywords', procost => '10', prorows => '500', - proretset => 't', provolatile => 's', prorettype => 'record', - proargtypes => '', proallargtypes => '{text,char,bool,text,text}', - proargmodes => '{o,o,o,o,o}', - proargnames => '{word,catcode,barelabel,catdesc,baredesc}', - prosrc => 'pg_get_keywords' }, - -{ oid => '6159', descr => 'list of catalog foreign key relationships', - proname => 'pg_get_catalog_foreign_keys', procost => '10', prorows => '250', - proretset => 't', provolatile => 's', prorettype => 'record', - proargtypes => '', - proallargtypes => '{regclass,_text,regclass,_text,bool,bool}', - proargmodes => '{o,o,o,o,o,o}', - proargnames => '{fktable,fkcols,pktable,pkcols,is_array,is_opt}', - prosrc => 'pg_get_catalog_foreign_keys' }, - -{ oid => '2289', descr => 'convert generic options array to name/value table', - proname => 'pg_options_to_table', prorows => '3', proretset => 't', - provolatile => 's', prorettype => 'record', proargtypes => '_text', - proallargtypes => '{_text,text,text}', proargmodes => '{i,o,o}', - proargnames => '{options_array,option_name,option_value}', - prosrc => 'pg_options_to_table' }, - -{ oid => '1619', descr => 'type of the argument', - proname => 'pg_typeof', proisstrict => 'f', provolatile => 's', - prorettype => 'regtype', proargtypes => 'any', prosrc => 'pg_typeof' }, -{ oid => '3162', - descr => 'collation of the argument; implementation of the COLLATION FOR expression', - proname => 'pg_collation_for', proisstrict => 'f', provolatile => 's', - prorettype => 'text', proargtypes => 'any', prosrc => 'pg_collation_for' }, - -{ oid => '3842', descr => 'is a relation insertable/updatable/deletable', - proname => 'pg_relation_is_updatable', procost => '10', provolatile => 's', - prorettype => 'int4', proargtypes => 'regclass bool', - prosrc => 'pg_relation_is_updatable' }, -{ oid => '3843', descr => 'is a column updatable', - proname => 'pg_column_is_updatable', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'regclass int2 bool', - prosrc => 'pg_column_is_updatable' }, - -{ oid => '6120', descr => 'oid of replica identity index if any', - proname => 'pg_get_replica_identity_index', procost => '10', - provolatile => 's', prorettype => 'regclass', proargtypes => 'regclass', - prosrc => 'pg_get_replica_identity_index' }, - -# Deferrable unique constraint trigger -{ oid => '1250', descr => 'deferred UNIQUE constraint check', - proname => 'unique_key_recheck', provolatile => 'v', prorettype => 'trigger', - proargtypes => '', prosrc => 'unique_key_recheck' }, - -# Generic referential integrity constraint triggers -{ oid => '1644', descr => 'referential integrity FOREIGN KEY ... REFERENCES', - proname => 'RI_FKey_check_ins', provolatile => 'v', prorettype => 'trigger', - proargtypes => '', prosrc => 'RI_FKey_check_ins' }, -{ oid => '1645', descr => 'referential integrity FOREIGN KEY ... REFERENCES', - proname => 'RI_FKey_check_upd', provolatile => 'v', prorettype => 'trigger', - proargtypes => '', prosrc => 'RI_FKey_check_upd' }, -{ oid => '1646', descr => 'referential integrity ON DELETE CASCADE', - proname => 'RI_FKey_cascade_del', provolatile => 'v', prorettype => 'trigger', - proargtypes => '', prosrc => 'RI_FKey_cascade_del' }, -{ oid => '1647', descr => 'referential integrity ON UPDATE CASCADE', - proname => 'RI_FKey_cascade_upd', provolatile => 'v', prorettype => 'trigger', - proargtypes => '', prosrc => 'RI_FKey_cascade_upd' }, -{ oid => '1648', descr => 'referential integrity ON DELETE RESTRICT', - proname => 'RI_FKey_restrict_del', provolatile => 'v', - prorettype => 'trigger', proargtypes => '', - prosrc => 'RI_FKey_restrict_del' }, -{ oid => '1649', descr => 'referential integrity ON UPDATE RESTRICT', - proname => 'RI_FKey_restrict_upd', provolatile => 'v', - prorettype => 'trigger', proargtypes => '', - prosrc => 'RI_FKey_restrict_upd' }, -{ oid => '1650', descr => 'referential integrity ON DELETE SET NULL', - proname => 'RI_FKey_setnull_del', provolatile => 'v', prorettype => 'trigger', - proargtypes => '', prosrc => 'RI_FKey_setnull_del' }, -{ oid => '1651', descr => 'referential integrity ON UPDATE SET NULL', - proname => 'RI_FKey_setnull_upd', provolatile => 'v', prorettype => 'trigger', - proargtypes => '', prosrc => 'RI_FKey_setnull_upd' }, -{ oid => '1652', descr => 'referential integrity ON DELETE SET DEFAULT', - proname => 'RI_FKey_setdefault_del', provolatile => 'v', - prorettype => 'trigger', proargtypes => '', - prosrc => 'RI_FKey_setdefault_del' }, -{ oid => '1653', descr => 'referential integrity ON UPDATE SET DEFAULT', - proname => 'RI_FKey_setdefault_upd', provolatile => 'v', - prorettype => 'trigger', proargtypes => '', - prosrc => 'RI_FKey_setdefault_upd' }, -{ oid => '1654', descr => 'referential integrity ON DELETE NO ACTION', - proname => 'RI_FKey_noaction_del', provolatile => 'v', - prorettype => 'trigger', proargtypes => '', - prosrc => 'RI_FKey_noaction_del' }, -{ oid => '1655', descr => 'referential integrity ON UPDATE NO ACTION', - proname => 'RI_FKey_noaction_upd', provolatile => 'v', - prorettype => 'trigger', proargtypes => '', - prosrc => 'RI_FKey_noaction_upd' }, - -{ oid => '1666', - proname => 'varbiteq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'varbit varbit', prosrc => 'biteq' }, -{ oid => '1667', - proname => 'varbitne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'varbit varbit', prosrc => 'bitne' }, -{ oid => '1668', - proname => 'varbitge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'varbit varbit', prosrc => 'bitge' }, -{ oid => '1669', - proname => 'varbitgt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'varbit varbit', prosrc => 'bitgt' }, -{ oid => '1670', - proname => 'varbitle', proleakproof => 't', prorettype => 'bool', - proargtypes => 'varbit varbit', prosrc => 'bitle' }, -{ oid => '1671', - proname => 'varbitlt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'varbit varbit', prosrc => 'bitlt' }, -{ oid => '1672', descr => 'less-equal-greater', - proname => 'varbitcmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'varbit varbit', prosrc => 'bitcmp' }, - -# avoid the C names bitand and bitor, since they are C++ keywords -{ oid => '1673', - proname => 'bitand', prorettype => 'bit', proargtypes => 'bit bit', - prosrc => 'bit_and' }, -{ oid => '1674', - proname => 'bitor', prorettype => 'bit', proargtypes => 'bit bit', - prosrc => 'bit_or' }, -{ oid => '1675', - proname => 'bitxor', prorettype => 'bit', proargtypes => 'bit bit', - prosrc => 'bitxor' }, -{ oid => '1676', - proname => 'bitnot', prorettype => 'bit', proargtypes => 'bit', - prosrc => 'bitnot' }, -{ oid => '1677', - proname => 'bitshiftleft', prorettype => 'bit', proargtypes => 'bit int4', - prosrc => 'bitshiftleft' }, -{ oid => '1678', - proname => 'bitshiftright', prorettype => 'bit', proargtypes => 'bit int4', - prosrc => 'bitshiftright' }, -{ oid => '1679', - proname => 'bitcat', prorettype => 'varbit', proargtypes => 'varbit varbit', - prosrc => 'bitcat' }, -{ oid => '1680', descr => 'extract portion of bitstring', - proname => 'substring', prorettype => 'bit', proargtypes => 'bit int4 int4', - prosrc => 'bitsubstr' }, -{ oid => '1681', descr => 'bitstring length', - proname => 'length', prorettype => 'int4', proargtypes => 'bit', - prosrc => 'bitlength' }, -{ oid => '1682', descr => 'octet length', - proname => 'octet_length', prorettype => 'int4', proargtypes => 'bit', - prosrc => 'bitoctetlength' }, -{ oid => '1683', descr => 'convert int4 to bitstring', - proname => 'bit', prorettype => 'bit', proargtypes => 'int4 int4', - prosrc => 'bitfromint4' }, -{ oid => '1684', descr => 'convert bitstring to int4', - proname => 'int4', prorettype => 'int4', proargtypes => 'bit', - prosrc => 'bittoint4' }, - -{ oid => '1685', descr => 'adjust bit() to typmod length', - proname => 'bit', prorettype => 'bit', proargtypes => 'bit int4 bool', - prosrc => 'bit' }, -{ oid => '3158', descr => 'planner support for varbit length coercion', - proname => 'varbit_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'varbit_support' }, -{ oid => '1687', descr => 'adjust varbit() to typmod length', - proname => 'varbit', prosupport => 'varbit_support', prorettype => 'varbit', - proargtypes => 'varbit int4 bool', prosrc => 'varbit' }, - -{ oid => '1698', descr => 'position of sub-bitstring', - proname => 'position', prorettype => 'int4', proargtypes => 'bit bit', - prosrc => 'bitposition' }, -{ oid => '1699', descr => 'extract portion of bitstring', - proname => 'substring', prorettype => 'bit', proargtypes => 'bit int4', - prosrc => 'bitsubstr_no_len' }, - -{ oid => '3030', descr => 'substitute portion of bitstring', - proname => 'overlay', prorettype => 'bit', proargtypes => 'bit bit int4 int4', - prosrc => 'bitoverlay' }, -{ oid => '3031', descr => 'substitute portion of bitstring', - proname => 'overlay', prorettype => 'bit', proargtypes => 'bit bit int4', - prosrc => 'bitoverlay_no_len' }, -{ oid => '3032', descr => 'get bit', - proname => 'get_bit', prorettype => 'int4', proargtypes => 'bit int4', - prosrc => 'bitgetbit' }, -{ oid => '3033', descr => 'set bit', - proname => 'set_bit', prorettype => 'bit', proargtypes => 'bit int4 int4', - prosrc => 'bitsetbit' }, -{ oid => '6162', descr => 'number of set bits', - proname => 'bit_count', prorettype => 'int8', proargtypes => 'bit', - prosrc => 'bit_bit_count' }, - -# for macaddr type support -{ oid => '436', descr => 'I/O', - proname => 'macaddr_in', prorettype => 'macaddr', proargtypes => 'cstring', - prosrc => 'macaddr_in' }, -{ oid => '437', descr => 'I/O', - proname => 'macaddr_out', prorettype => 'cstring', proargtypes => 'macaddr', - prosrc => 'macaddr_out' }, - -{ oid => '753', descr => 'MACADDR manufacturer fields', - proname => 'trunc', prorettype => 'macaddr', proargtypes => 'macaddr', - prosrc => 'macaddr_trunc' }, - -{ oid => '830', - proname => 'macaddr_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'macaddr macaddr', prosrc => 'macaddr_eq' }, -{ oid => '831', - proname => 'macaddr_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'macaddr macaddr', prosrc => 'macaddr_lt' }, -{ oid => '832', - proname => 'macaddr_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'macaddr macaddr', prosrc => 'macaddr_le' }, -{ oid => '833', - proname => 'macaddr_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'macaddr macaddr', prosrc => 'macaddr_gt' }, -{ oid => '834', - proname => 'macaddr_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'macaddr macaddr', prosrc => 'macaddr_ge' }, -{ oid => '835', - proname => 'macaddr_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'macaddr macaddr', prosrc => 'macaddr_ne' }, -{ oid => '836', descr => 'less-equal-greater', - proname => 'macaddr_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'macaddr macaddr', prosrc => 'macaddr_cmp' }, -{ oid => '3144', - proname => 'macaddr_not', prorettype => 'macaddr', proargtypes => 'macaddr', - prosrc => 'macaddr_not' }, -{ oid => '3145', - proname => 'macaddr_and', prorettype => 'macaddr', - proargtypes => 'macaddr macaddr', prosrc => 'macaddr_and' }, -{ oid => '3146', - proname => 'macaddr_or', prorettype => 'macaddr', - proargtypes => 'macaddr macaddr', prosrc => 'macaddr_or' }, -{ oid => '3359', descr => 'sort support', - proname => 'macaddr_sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'macaddr_sortsupport' }, - -# for macaddr8 type support -{ oid => '4110', descr => 'I/O', - proname => 'macaddr8_in', prorettype => 'macaddr8', proargtypes => 'cstring', - prosrc => 'macaddr8_in' }, -{ oid => '4111', descr => 'I/O', - proname => 'macaddr8_out', prorettype => 'cstring', proargtypes => 'macaddr8', - prosrc => 'macaddr8_out' }, - -{ oid => '4112', descr => 'MACADDR8 manufacturer fields', - proname => 'trunc', prorettype => 'macaddr8', proargtypes => 'macaddr8', - prosrc => 'macaddr8_trunc' }, - -{ oid => '4113', - proname => 'macaddr8_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_eq' }, -{ oid => '4114', - proname => 'macaddr8_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_lt' }, -{ oid => '4115', - proname => 'macaddr8_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_le' }, -{ oid => '4116', - proname => 'macaddr8_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_gt' }, -{ oid => '4117', - proname => 'macaddr8_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_ge' }, -{ oid => '4118', - proname => 'macaddr8_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_ne' }, -{ oid => '4119', descr => 'less-equal-greater', - proname => 'macaddr8_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_cmp' }, -{ oid => '4120', - proname => 'macaddr8_not', prorettype => 'macaddr8', - proargtypes => 'macaddr8', prosrc => 'macaddr8_not' }, -{ oid => '4121', - proname => 'macaddr8_and', prorettype => 'macaddr8', - proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_and' }, -{ oid => '4122', - proname => 'macaddr8_or', prorettype => 'macaddr8', - proargtypes => 'macaddr8 macaddr8', prosrc => 'macaddr8_or' }, -{ oid => '4123', descr => 'convert macaddr to macaddr8', - proname => 'macaddr8', proleakproof => 't', prorettype => 'macaddr8', - proargtypes => 'macaddr', prosrc => 'macaddrtomacaddr8' }, -{ oid => '4124', descr => 'convert macaddr8 to macaddr', - proname => 'macaddr', prorettype => 'macaddr', proargtypes => 'macaddr8', - prosrc => 'macaddr8tomacaddr' }, -{ oid => '4125', descr => 'set 7th bit in macaddr8', - proname => 'macaddr8_set7bit', prorettype => 'macaddr8', - proargtypes => 'macaddr8', prosrc => 'macaddr8_set7bit' }, - -# for inet type support -{ oid => '910', descr => 'I/O', - proname => 'inet_in', prorettype => 'inet', proargtypes => 'cstring', - prosrc => 'inet_in' }, -{ oid => '911', descr => 'I/O', - proname => 'inet_out', prorettype => 'cstring', proargtypes => 'inet', - prosrc => 'inet_out' }, - -# for cidr type support -{ oid => '1267', descr => 'I/O', - proname => 'cidr_in', prorettype => 'cidr', proargtypes => 'cstring', - prosrc => 'cidr_in' }, -{ oid => '1427', descr => 'I/O', - proname => 'cidr_out', prorettype => 'cstring', proargtypes => 'cidr', - prosrc => 'cidr_out' }, - -# these are used for both inet and cidr -{ oid => '920', - proname => 'network_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'inet inet', prosrc => 'network_eq' }, -{ oid => '921', - proname => 'network_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'inet inet', prosrc => 'network_lt' }, -{ oid => '922', - proname => 'network_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'inet inet', prosrc => 'network_le' }, -{ oid => '923', - proname => 'network_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'inet inet', prosrc => 'network_gt' }, -{ oid => '924', - proname => 'network_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'inet inet', prosrc => 'network_ge' }, -{ oid => '925', - proname => 'network_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'inet inet', prosrc => 'network_ne' }, -{ oid => '3562', descr => 'larger of two', - proname => 'network_larger', prorettype => 'inet', proargtypes => 'inet inet', - prosrc => 'network_larger' }, -{ oid => '3563', descr => 'smaller of two', - proname => 'network_smaller', prorettype => 'inet', - proargtypes => 'inet inet', prosrc => 'network_smaller' }, -{ oid => '926', descr => 'less-equal-greater', - proname => 'network_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'inet inet', prosrc => 'network_cmp' }, -{ oid => '927', - proname => 'network_sub', prosupport => 'network_subset_support', - prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_sub' }, -{ oid => '928', - proname => 'network_subeq', prosupport => 'network_subset_support', - prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_subeq' }, -{ oid => '929', - proname => 'network_sup', prosupport => 'network_subset_support', - prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_sup' }, -{ oid => '930', - proname => 'network_supeq', prosupport => 'network_subset_support', - prorettype => 'bool', proargtypes => 'inet inet', prosrc => 'network_supeq' }, -{ oid => '1173', descr => 'planner support for network_sub/superset', - proname => 'network_subset_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'network_subset_support' }, - -{ oid => '3551', - proname => 'network_overlap', prorettype => 'bool', - proargtypes => 'inet inet', prosrc => 'network_overlap' }, -{ oid => '5033', descr => 'sort support', - proname => 'network_sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'network_sortsupport' }, - -# inet/cidr functions -{ oid => '598', descr => 'abbreviated display of inet value', - proname => 'abbrev', prorettype => 'text', proargtypes => 'inet', - prosrc => 'inet_abbrev' }, -{ oid => '599', descr => 'abbreviated display of cidr value', - proname => 'abbrev', prorettype => 'text', proargtypes => 'cidr', - prosrc => 'cidr_abbrev' }, -{ oid => '605', descr => 'change netmask of inet', - proname => 'set_masklen', prorettype => 'inet', proargtypes => 'inet int4', - prosrc => 'inet_set_masklen' }, -{ oid => '635', descr => 'change netmask of cidr', - proname => 'set_masklen', prorettype => 'cidr', proargtypes => 'cidr int4', - prosrc => 'cidr_set_masklen' }, -{ oid => '711', descr => 'address family (4 for IPv4, 6 for IPv6)', - proname => 'family', prorettype => 'int4', proargtypes => 'inet', - prosrc => 'network_family' }, -{ oid => '683', descr => 'network part of address', - proname => 'network', prorettype => 'cidr', proargtypes => 'inet', - prosrc => 'network_network' }, -{ oid => '696', descr => 'netmask of address', - proname => 'netmask', prorettype => 'inet', proargtypes => 'inet', - prosrc => 'network_netmask' }, -{ oid => '697', descr => 'netmask length', - proname => 'masklen', prorettype => 'int4', proargtypes => 'inet', - prosrc => 'network_masklen' }, -{ oid => '698', descr => 'broadcast address of network', - proname => 'broadcast', prorettype => 'inet', proargtypes => 'inet', - prosrc => 'network_broadcast' }, -{ oid => '699', descr => 'show address octets only', - proname => 'host', prorettype => 'text', proargtypes => 'inet', - prosrc => 'network_host' }, -{ oid => '730', descr => 'show all parts of inet/cidr value', - proname => 'text', prorettype => 'text', proargtypes => 'inet', - prosrc => 'network_show' }, -{ oid => '1362', descr => 'hostmask of address', - proname => 'hostmask', prorettype => 'inet', proargtypes => 'inet', - prosrc => 'network_hostmask' }, -{ oid => '1715', descr => 'convert inet to cidr', - proname => 'cidr', prorettype => 'cidr', proargtypes => 'inet', - prosrc => 'inet_to_cidr' }, - -{ oid => '2196', descr => 'inet address of the client', - proname => 'inet_client_addr', proisstrict => 'f', provolatile => 's', - proparallel => 'r', prorettype => 'inet', proargtypes => '', - prosrc => 'inet_client_addr' }, -{ oid => '2197', descr => 'client\'s port number for this connection', - proname => 'inet_client_port', proisstrict => 'f', provolatile => 's', - proparallel => 'r', prorettype => 'int4', proargtypes => '', - prosrc => 'inet_client_port' }, -{ oid => '2198', descr => 'inet address of the server', - proname => 'inet_server_addr', proisstrict => 'f', provolatile => 's', - proparallel => 'r', prorettype => 'inet', proargtypes => '', - prosrc => 'inet_server_addr' }, -{ oid => '2199', descr => 'server\'s port number for this connection', - proname => 'inet_server_port', proisstrict => 'f', provolatile => 's', - proparallel => 'r', prorettype => 'int4', proargtypes => '', - prosrc => 'inet_server_port' }, - -{ oid => '2627', - proname => 'inetnot', prorettype => 'inet', proargtypes => 'inet', - prosrc => 'inetnot' }, -{ oid => '2628', - proname => 'inetand', prorettype => 'inet', proargtypes => 'inet inet', - prosrc => 'inetand' }, -{ oid => '2629', - proname => 'inetor', prorettype => 'inet', proargtypes => 'inet inet', - prosrc => 'inetor' }, -{ oid => '2630', - proname => 'inetpl', prorettype => 'inet', proargtypes => 'inet int8', - prosrc => 'inetpl' }, -{ oid => '2631', - proname => 'int8pl_inet', prolang => 'sql', prorettype => 'inet', - proargtypes => 'int8 inet', prosrc => 'see system_functions.sql' }, -{ oid => '2632', - proname => 'inetmi_int8', prorettype => 'inet', proargtypes => 'inet int8', - prosrc => 'inetmi_int8' }, -{ oid => '2633', - proname => 'inetmi', prorettype => 'int8', proargtypes => 'inet inet', - prosrc => 'inetmi' }, -{ oid => '4071', descr => 'are the addresses from the same family?', - proname => 'inet_same_family', prorettype => 'bool', - proargtypes => 'inet inet', prosrc => 'inet_same_family' }, -{ oid => '4063', - descr => 'the smallest network which includes both of the given networks', - proname => 'inet_merge', prorettype => 'cidr', proargtypes => 'inet inet', - prosrc => 'inet_merge' }, - -# GiST support for inet and cidr -{ oid => '3553', descr => 'GiST support', - proname => 'inet_gist_consistent', prorettype => 'bool', - proargtypes => 'internal inet int2 oid internal', - prosrc => 'inet_gist_consistent' }, -{ oid => '3554', descr => 'GiST support', - proname => 'inet_gist_union', prorettype => 'inet', - proargtypes => 'internal internal', prosrc => 'inet_gist_union' }, -{ oid => '3555', descr => 'GiST support', - proname => 'inet_gist_compress', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'inet_gist_compress' }, -{ oid => '3573', descr => 'GiST support', - proname => 'inet_gist_fetch', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'inet_gist_fetch' }, -{ oid => '3557', descr => 'GiST support', - proname => 'inet_gist_penalty', prorettype => 'internal', - proargtypes => 'internal internal internal', prosrc => 'inet_gist_penalty' }, -{ oid => '3558', descr => 'GiST support', - proname => 'inet_gist_picksplit', prorettype => 'internal', - proargtypes => 'internal internal', prosrc => 'inet_gist_picksplit' }, -{ oid => '3559', descr => 'GiST support', - proname => 'inet_gist_same', prorettype => 'internal', - proargtypes => 'inet inet internal', prosrc => 'inet_gist_same' }, - -# SP-GiST support for inet and cidr -{ oid => '3795', descr => 'SP-GiST support', - proname => 'inet_spg_config', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'inet_spg_config' }, -{ oid => '3796', descr => 'SP-GiST support', - proname => 'inet_spg_choose', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'inet_spg_choose' }, -{ oid => '3797', descr => 'SP-GiST support', - proname => 'inet_spg_picksplit', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'inet_spg_picksplit' }, -{ oid => '3798', descr => 'SP-GiST support', - proname => 'inet_spg_inner_consistent', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'inet_spg_inner_consistent' }, -{ oid => '3799', descr => 'SP-GiST support', - proname => 'inet_spg_leaf_consistent', prorettype => 'bool', - proargtypes => 'internal internal', prosrc => 'inet_spg_leaf_consistent' }, - -# Selectivity estimation for inet and cidr -{ oid => '3560', descr => 'restriction selectivity for network operators', - proname => 'networksel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'networksel' }, -{ oid => '3561', descr => 'join selectivity for network operators', - proname => 'networkjoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'networkjoinsel' }, - -{ oid => '1690', - proname => 'time_mi_time', prorettype => 'interval', - proargtypes => 'time time', prosrc => 'time_mi_time' }, - -{ oid => '1691', - proname => 'boolle', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bool bool', prosrc => 'boolle' }, -{ oid => '1692', - proname => 'boolge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bool bool', prosrc => 'boolge' }, -{ oid => '1693', descr => 'less-equal-greater', - proname => 'btboolcmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'bool bool', prosrc => 'btboolcmp' }, - -{ oid => '1688', descr => 'hash', - proname => 'time_hash', prorettype => 'int4', proargtypes => 'time', - prosrc => 'time_hash' }, -{ oid => '3409', descr => 'hash', - proname => 'time_hash_extended', prorettype => 'int8', - proargtypes => 'time int8', prosrc => 'time_hash_extended' }, -{ oid => '1696', descr => 'hash', - proname => 'timetz_hash', prorettype => 'int4', proargtypes => 'timetz', - prosrc => 'timetz_hash' }, -{ oid => '3410', descr => 'hash', - proname => 'timetz_hash_extended', prorettype => 'int8', - proargtypes => 'timetz int8', prosrc => 'timetz_hash_extended' }, -{ oid => '1697', descr => 'hash', - proname => 'interval_hash', prorettype => 'int4', proargtypes => 'interval', - prosrc => 'interval_hash' }, -{ oid => '3418', descr => 'hash', - proname => 'interval_hash_extended', prorettype => 'int8', - proargtypes => 'interval int8', prosrc => 'interval_hash_extended' }, - -# OID's 1700 - 1799 NUMERIC data type - -{ oid => '1701', descr => 'I/O', - proname => 'numeric_in', prorettype => 'numeric', - proargtypes => 'cstring oid int4', prosrc => 'numeric_in' }, -{ oid => '1702', descr => 'I/O', - proname => 'numeric_out', prorettype => 'cstring', proargtypes => 'numeric', - prosrc => 'numeric_out' }, -{ oid => '2917', descr => 'I/O typmod', - proname => 'numerictypmodin', prorettype => 'int4', proargtypes => '_cstring', - prosrc => 'numerictypmodin' }, -{ oid => '2918', descr => 'I/O typmod', - proname => 'numerictypmodout', prorettype => 'cstring', proargtypes => 'int4', - prosrc => 'numerictypmodout' }, -{ oid => '3157', descr => 'planner support for numeric length coercion', - proname => 'numeric_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'numeric_support' }, -{ oid => '1703', descr => 'adjust numeric to typmod precision/scale', - proname => 'numeric', prosupport => 'numeric_support', - prorettype => 'numeric', proargtypes => 'numeric int4', prosrc => 'numeric' }, -{ oid => '1704', - proname => 'numeric_abs', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_abs' }, -{ oid => '1705', descr => 'absolute value', - proname => 'abs', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_abs' }, -{ oid => '1706', descr => 'sign of value', - proname => 'sign', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_sign' }, -{ oid => '1707', descr => 'value rounded to \'scale\'', - proname => 'round', prorettype => 'numeric', proargtypes => 'numeric int4', - prosrc => 'numeric_round' }, -{ oid => '1708', descr => 'value rounded to \'scale\' of zero', - proname => 'round', prolang => 'sql', prorettype => 'numeric', - proargtypes => 'numeric', prosrc => 'see system_functions.sql' }, -{ oid => '1709', descr => 'value truncated to \'scale\'', - proname => 'trunc', prorettype => 'numeric', proargtypes => 'numeric int4', - prosrc => 'numeric_trunc' }, -{ oid => '1710', descr => 'value truncated to \'scale\' of zero', - proname => 'trunc', prolang => 'sql', prorettype => 'numeric', - proargtypes => 'numeric', prosrc => 'see system_functions.sql' }, -{ oid => '1711', descr => 'nearest integer >= value', - proname => 'ceil', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_ceil' }, -{ oid => '2167', descr => 'nearest integer >= value', - proname => 'ceiling', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_ceil' }, -{ oid => '1712', descr => 'nearest integer <= value', - proname => 'floor', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_floor' }, -{ oid => '1718', - proname => 'numeric_eq', prorettype => 'bool', - proargtypes => 'numeric numeric', prosrc => 'numeric_eq' }, -{ oid => '1719', - proname => 'numeric_ne', prorettype => 'bool', - proargtypes => 'numeric numeric', prosrc => 'numeric_ne' }, -{ oid => '1720', - proname => 'numeric_gt', prorettype => 'bool', - proargtypes => 'numeric numeric', prosrc => 'numeric_gt' }, -{ oid => '1721', - proname => 'numeric_ge', prorettype => 'bool', - proargtypes => 'numeric numeric', prosrc => 'numeric_ge' }, -{ oid => '1722', - proname => 'numeric_lt', prorettype => 'bool', - proargtypes => 'numeric numeric', prosrc => 'numeric_lt' }, -{ oid => '1723', - proname => 'numeric_le', prorettype => 'bool', - proargtypes => 'numeric numeric', prosrc => 'numeric_le' }, -{ oid => '1724', - proname => 'numeric_add', prorettype => 'numeric', - proargtypes => 'numeric numeric', prosrc => 'numeric_add' }, -{ oid => '1725', - proname => 'numeric_sub', prorettype => 'numeric', - proargtypes => 'numeric numeric', prosrc => 'numeric_sub' }, -{ oid => '1726', - proname => 'numeric_mul', prorettype => 'numeric', - proargtypes => 'numeric numeric', prosrc => 'numeric_mul' }, -{ oid => '1727', - proname => 'numeric_div', prorettype => 'numeric', - proargtypes => 'numeric numeric', prosrc => 'numeric_div' }, -{ oid => '1728', descr => 'modulus', - proname => 'mod', prorettype => 'numeric', proargtypes => 'numeric numeric', - prosrc => 'numeric_mod' }, -{ oid => '1729', - proname => 'numeric_mod', prorettype => 'numeric', - proargtypes => 'numeric numeric', prosrc => 'numeric_mod' }, -{ oid => '5048', descr => 'greatest common divisor', - proname => 'gcd', prorettype => 'numeric', proargtypes => 'numeric numeric', - prosrc => 'numeric_gcd' }, -{ oid => '5049', descr => 'least common multiple', - proname => 'lcm', prorettype => 'numeric', proargtypes => 'numeric numeric', - prosrc => 'numeric_lcm' }, -{ oid => '1730', descr => 'square root', - proname => 'sqrt', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_sqrt' }, -{ oid => '1731', descr => 'square root', - proname => 'numeric_sqrt', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_sqrt' }, -{ oid => '1732', descr => 'natural exponential (e^x)', - proname => 'exp', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_exp' }, -{ oid => '1733', descr => 'natural exponential (e^x)', - proname => 'numeric_exp', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_exp' }, -{ oid => '1734', descr => 'natural logarithm', - proname => 'ln', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_ln' }, -{ oid => '1735', descr => 'natural logarithm', - proname => 'numeric_ln', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_ln' }, -{ oid => '1736', descr => 'logarithm base m of n', - proname => 'log', prorettype => 'numeric', proargtypes => 'numeric numeric', - prosrc => 'numeric_log' }, -{ oid => '1737', descr => 'logarithm base m of n', - proname => 'numeric_log', prorettype => 'numeric', - proargtypes => 'numeric numeric', prosrc => 'numeric_log' }, -{ oid => '1738', descr => 'exponentiation', - proname => 'pow', prorettype => 'numeric', proargtypes => 'numeric numeric', - prosrc => 'numeric_power' }, -{ oid => '2169', descr => 'exponentiation', - proname => 'power', prorettype => 'numeric', proargtypes => 'numeric numeric', - prosrc => 'numeric_power' }, -{ oid => '1739', - proname => 'numeric_power', prorettype => 'numeric', - proargtypes => 'numeric numeric', prosrc => 'numeric_power' }, -{ oid => '3281', descr => 'number of decimal digits in the fractional part', - proname => 'scale', prorettype => 'int4', proargtypes => 'numeric', - prosrc => 'numeric_scale' }, -{ oid => '5042', descr => 'minimum scale needed to represent the value', - proname => 'min_scale', prorettype => 'int4', proargtypes => 'numeric', - prosrc => 'numeric_min_scale' }, -{ oid => '5043', - descr => 'numeric with minimum scale needed to represent the value', - proname => 'trim_scale', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_trim_scale' }, -{ oid => '1740', descr => 'convert int4 to numeric', - proname => 'numeric', proleakproof => 't', prorettype => 'numeric', - proargtypes => 'int4', prosrc => 'int4_numeric' }, -{ oid => '1741', descr => 'base 10 logarithm', - proname => 'log', prolang => 'sql', prorettype => 'numeric', - proargtypes => 'numeric', prosrc => 'see system_functions.sql' }, -{ oid => '1481', descr => 'base 10 logarithm', - proname => 'log10', prolang => 'sql', prorettype => 'numeric', - proargtypes => 'numeric', prosrc => 'see system_functions.sql' }, -{ oid => '1742', descr => 'convert float4 to numeric', - proname => 'numeric', proleakproof => 't', prorettype => 'numeric', - proargtypes => 'float4', prosrc => 'float4_numeric' }, -{ oid => '1743', descr => 'convert float8 to numeric', - proname => 'numeric', proleakproof => 't', prorettype => 'numeric', - proargtypes => 'float8', prosrc => 'float8_numeric' }, -{ oid => '1744', descr => 'convert numeric to int4', - proname => 'int4', prorettype => 'int4', proargtypes => 'numeric', - prosrc => 'numeric_int4' }, -{ oid => '1745', descr => 'convert numeric to float4', - proname => 'float4', prorettype => 'float4', proargtypes => 'numeric', - prosrc => 'numeric_float4' }, -{ oid => '1746', descr => 'convert numeric to float8', - proname => 'float8', prorettype => 'float8', proargtypes => 'numeric', - prosrc => 'numeric_float8' }, -{ oid => '1973', descr => 'trunc(x/y)', - proname => 'div', prorettype => 'numeric', proargtypes => 'numeric numeric', - prosrc => 'numeric_div_trunc' }, -{ oid => '1980', descr => 'trunc(x/y)', - proname => 'numeric_div_trunc', prorettype => 'numeric', - proargtypes => 'numeric numeric', prosrc => 'numeric_div_trunc' }, -{ oid => '2170', descr => 'bucket number of operand in equal-width histogram', - proname => 'width_bucket', prorettype => 'int4', - proargtypes => 'numeric numeric numeric int4', - prosrc => 'width_bucket_numeric' }, - -{ oid => '1747', - proname => 'time_pl_interval', prorettype => 'time', - proargtypes => 'time interval', prosrc => 'time_pl_interval' }, -{ oid => '1748', - proname => 'time_mi_interval', prorettype => 'time', - proargtypes => 'time interval', prosrc => 'time_mi_interval' }, -{ oid => '1749', - proname => 'timetz_pl_interval', prorettype => 'timetz', - proargtypes => 'timetz interval', prosrc => 'timetz_pl_interval' }, -{ oid => '1750', - proname => 'timetz_mi_interval', prorettype => 'timetz', - proargtypes => 'timetz interval', prosrc => 'timetz_mi_interval' }, - -{ oid => '1764', descr => 'increment by one', - proname => 'numeric_inc', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_inc' }, -{ oid => '1766', descr => 'smaller of two', - proname => 'numeric_smaller', prorettype => 'numeric', - proargtypes => 'numeric numeric', prosrc => 'numeric_smaller' }, -{ oid => '1767', descr => 'larger of two', - proname => 'numeric_larger', prorettype => 'numeric', - proargtypes => 'numeric numeric', prosrc => 'numeric_larger' }, -{ oid => '1769', descr => 'less-equal-greater', - proname => 'numeric_cmp', prorettype => 'int4', - proargtypes => 'numeric numeric', prosrc => 'numeric_cmp' }, -{ oid => '3283', descr => 'sort support', - proname => 'numeric_sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'numeric_sortsupport' }, -{ oid => '1771', - proname => 'numeric_uminus', prorettype => 'numeric', - proargtypes => 'numeric', prosrc => 'numeric_uminus' }, -{ oid => '1779', descr => 'convert numeric to int8', - proname => 'int8', prorettype => 'int8', proargtypes => 'numeric', - prosrc => 'numeric_int8' }, -{ oid => '1781', descr => 'convert int8 to numeric', - proname => 'numeric', proleakproof => 't', prorettype => 'numeric', - proargtypes => 'int8', prosrc => 'int8_numeric' }, -{ oid => '1782', descr => 'convert int2 to numeric', - proname => 'numeric', proleakproof => 't', prorettype => 'numeric', - proargtypes => 'int2', prosrc => 'int2_numeric' }, -{ oid => '1783', descr => 'convert numeric to int2', - proname => 'int2', prorettype => 'int2', proargtypes => 'numeric', - prosrc => 'numeric_int2' }, -{ oid => '6103', descr => 'convert numeric to pg_lsn', - proname => 'pg_lsn', prorettype => 'pg_lsn', proargtypes => 'numeric', - prosrc => 'numeric_pg_lsn' }, - -{ oid => '3556', descr => 'convert jsonb to boolean', - proname => 'bool', prorettype => 'bool', proargtypes => 'jsonb', - prosrc => 'jsonb_bool' }, -{ oid => '3449', descr => 'convert jsonb to numeric', - proname => 'numeric', prorettype => 'numeric', proargtypes => 'jsonb', - prosrc => 'jsonb_numeric' }, -{ oid => '3450', descr => 'convert jsonb to int2', - proname => 'int2', prorettype => 'int2', proargtypes => 'jsonb', - prosrc => 'jsonb_int2' }, -{ oid => '3451', descr => 'convert jsonb to int4', - proname => 'int4', prorettype => 'int4', proargtypes => 'jsonb', - prosrc => 'jsonb_int4' }, -{ oid => '3452', descr => 'convert jsonb to int8', - proname => 'int8', prorettype => 'int8', proargtypes => 'jsonb', - prosrc => 'jsonb_int8' }, -{ oid => '3453', descr => 'convert jsonb to float4', - proname => 'float4', prorettype => 'float4', proargtypes => 'jsonb', - prosrc => 'jsonb_float4' }, -{ oid => '2580', descr => 'convert jsonb to float8', - proname => 'float8', prorettype => 'float8', proargtypes => 'jsonb', - prosrc => 'jsonb_float8' }, - -# formatting -{ oid => '1770', descr => 'format timestamp with time zone to text', - proname => 'to_char', provolatile => 's', prorettype => 'text', - proargtypes => 'timestamptz text', prosrc => 'timestamptz_to_char' }, -{ oid => '1772', descr => 'format numeric to text', - proname => 'to_char', provolatile => 's', prorettype => 'text', - proargtypes => 'numeric text', prosrc => 'numeric_to_char' }, -{ oid => '1773', descr => 'format int4 to text', - proname => 'to_char', provolatile => 's', prorettype => 'text', - proargtypes => 'int4 text', prosrc => 'int4_to_char' }, -{ oid => '1774', descr => 'format int8 to text', - proname => 'to_char', provolatile => 's', prorettype => 'text', - proargtypes => 'int8 text', prosrc => 'int8_to_char' }, -{ oid => '1775', descr => 'format float4 to text', - proname => 'to_char', provolatile => 's', prorettype => 'text', - proargtypes => 'float4 text', prosrc => 'float4_to_char' }, -{ oid => '1776', descr => 'format float8 to text', - proname => 'to_char', provolatile => 's', prorettype => 'text', - proargtypes => 'float8 text', prosrc => 'float8_to_char' }, -{ oid => '1777', descr => 'convert text to numeric', - proname => 'to_number', provolatile => 's', prorettype => 'numeric', - proargtypes => 'text text', prosrc => 'numeric_to_number' }, -{ oid => '1778', descr => 'convert text to timestamp with time zone', - proname => 'to_timestamp', provolatile => 's', prorettype => 'timestamptz', - proargtypes => 'text text', prosrc => 'to_timestamp' }, -{ oid => '1780', descr => 'convert text to date', - proname => 'to_date', provolatile => 's', prorettype => 'date', - proargtypes => 'text text', prosrc => 'to_date' }, -{ oid => '1768', descr => 'format interval to text', - proname => 'to_char', provolatile => 's', prorettype => 'text', - proargtypes => 'interval text', prosrc => 'interval_to_char' }, - -{ oid => '1282', descr => 'quote an identifier for usage in a querystring', - proname => 'quote_ident', prorettype => 'text', proargtypes => 'text', - prosrc => 'quote_ident' }, -{ oid => '1283', descr => 'quote a literal for usage in a querystring', - proname => 'quote_literal', prorettype => 'text', proargtypes => 'text', - prosrc => 'quote_literal' }, -{ oid => '1285', descr => 'quote a data value for usage in a querystring', - proname => 'quote_literal', prolang => 'sql', provolatile => 's', - prorettype => 'text', proargtypes => 'anyelement', - prosrc => 'select pg_catalog.quote_literal($1::pg_catalog.text)' }, -{ oid => '1289', - descr => 'quote a possibly-null literal for usage in a querystring', - proname => 'quote_nullable', proisstrict => 'f', prorettype => 'text', - proargtypes => 'text', prosrc => 'quote_nullable' }, -{ oid => '1290', - descr => 'quote a possibly-null data value for usage in a querystring', - proname => 'quote_nullable', prolang => 'sql', proisstrict => 'f', - provolatile => 's', prorettype => 'text', proargtypes => 'anyelement', - prosrc => 'select pg_catalog.quote_nullable($1::pg_catalog.text)' }, - -{ oid => '1798', descr => 'I/O', - proname => 'oidin', prorettype => 'oid', proargtypes => 'cstring', - prosrc => 'oidin' }, -{ oid => '1799', descr => 'I/O', - proname => 'oidout', prorettype => 'cstring', proargtypes => 'oid', - prosrc => 'oidout' }, - -{ oid => '3058', descr => 'concatenate values', - proname => 'concat', provariadic => 'any', proisstrict => 'f', - provolatile => 's', prorettype => 'text', proargtypes => 'any', - proallargtypes => '{any}', proargmodes => '{v}', prosrc => 'text_concat' }, -{ oid => '3059', descr => 'concatenate values with separators', - proname => 'concat_ws', provariadic => 'any', proisstrict => 'f', - provolatile => 's', prorettype => 'text', proargtypes => 'text any', - proallargtypes => '{text,any}', proargmodes => '{i,v}', - prosrc => 'text_concat_ws' }, -{ oid => '3060', descr => 'extract the first n characters', - proname => 'left', prorettype => 'text', proargtypes => 'text int4', - prosrc => 'text_left' }, -{ oid => '3061', descr => 'extract the last n characters', - proname => 'right', prorettype => 'text', proargtypes => 'text int4', - prosrc => 'text_right' }, -{ oid => '3062', descr => 'reverse text', - proname => 'reverse', prorettype => 'text', proargtypes => 'text', - prosrc => 'text_reverse' }, -{ oid => '3539', descr => 'format text message', - proname => 'format', provariadic => 'any', proisstrict => 'f', - provolatile => 's', prorettype => 'text', proargtypes => 'text any', - proallargtypes => '{text,any}', proargmodes => '{i,v}', - prosrc => 'text_format' }, -{ oid => '3540', descr => 'format text message', - proname => 'format', proisstrict => 'f', provolatile => 's', - prorettype => 'text', proargtypes => 'text', prosrc => 'text_format_nv' }, - -{ oid => '1810', descr => 'length in bits', - proname => 'bit_length', prolang => 'sql', prorettype => 'int4', - proargtypes => 'bytea', prosrc => 'see system_functions.sql' }, -{ oid => '1811', descr => 'length in bits', - proname => 'bit_length', prolang => 'sql', prorettype => 'int4', - proargtypes => 'text', prosrc => 'see system_functions.sql' }, -{ oid => '1812', descr => 'length in bits', - proname => 'bit_length', prolang => 'sql', prorettype => 'int4', - proargtypes => 'bit', prosrc => 'see system_functions.sql' }, - -# Selectivity estimators for LIKE and related operators -{ oid => '1814', descr => 'restriction selectivity of ILIKE', - proname => 'iclikesel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'iclikesel' }, -{ oid => '1815', descr => 'restriction selectivity of NOT ILIKE', - proname => 'icnlikesel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'icnlikesel' }, -{ oid => '1816', descr => 'join selectivity of ILIKE', - proname => 'iclikejoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'iclikejoinsel' }, -{ oid => '1817', descr => 'join selectivity of NOT ILIKE', - proname => 'icnlikejoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'icnlikejoinsel' }, -{ oid => '1818', descr => 'restriction selectivity of regex match', - proname => 'regexeqsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'regexeqsel' }, -{ oid => '1819', descr => 'restriction selectivity of LIKE', - proname => 'likesel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'likesel' }, -{ oid => '1820', - descr => 'restriction selectivity of case-insensitive regex match', - proname => 'icregexeqsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'icregexeqsel' }, -{ oid => '1821', descr => 'restriction selectivity of regex non-match', - proname => 'regexnesel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'regexnesel' }, -{ oid => '1822', descr => 'restriction selectivity of NOT LIKE', - proname => 'nlikesel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'nlikesel' }, -{ oid => '1823', - descr => 'restriction selectivity of case-insensitive regex non-match', - proname => 'icregexnesel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'icregexnesel' }, -{ oid => '1824', descr => 'join selectivity of regex match', - proname => 'regexeqjoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'regexeqjoinsel' }, -{ oid => '1825', descr => 'join selectivity of LIKE', - proname => 'likejoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'likejoinsel' }, -{ oid => '1826', descr => 'join selectivity of case-insensitive regex match', - proname => 'icregexeqjoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'icregexeqjoinsel' }, -{ oid => '1827', descr => 'join selectivity of regex non-match', - proname => 'regexnejoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'regexnejoinsel' }, -{ oid => '1828', descr => 'join selectivity of NOT LIKE', - proname => 'nlikejoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'nlikejoinsel' }, -{ oid => '1829', - descr => 'join selectivity of case-insensitive regex non-match', - proname => 'icregexnejoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'icregexnejoinsel' }, -{ oid => '3437', descr => 'restriction selectivity of exact prefix', - proname => 'prefixsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'prefixsel' }, -{ oid => '3438', descr => 'join selectivity of exact prefix', - proname => 'prefixjoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'prefixjoinsel' }, - -# Aggregate-related functions -{ oid => '1830', descr => 'aggregate final function', - proname => 'float8_avg', prorettype => 'float8', proargtypes => '_float8', - prosrc => 'float8_avg' }, -{ oid => '2512', descr => 'aggregate final function', - proname => 'float8_var_pop', prorettype => 'float8', proargtypes => '_float8', - prosrc => 'float8_var_pop' }, -{ oid => '1831', descr => 'aggregate final function', - proname => 'float8_var_samp', prorettype => 'float8', - proargtypes => '_float8', prosrc => 'float8_var_samp' }, -{ oid => '2513', descr => 'aggregate final function', - proname => 'float8_stddev_pop', prorettype => 'float8', - proargtypes => '_float8', prosrc => 'float8_stddev_pop' }, -{ oid => '1832', descr => 'aggregate final function', - proname => 'float8_stddev_samp', prorettype => 'float8', - proargtypes => '_float8', prosrc => 'float8_stddev_samp' }, -{ oid => '1833', descr => 'aggregate transition function', - proname => 'numeric_accum', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal numeric', prosrc => 'numeric_accum' }, -{ oid => '3341', descr => 'aggregate combine function', - proname => 'numeric_combine', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal internal', prosrc => 'numeric_combine' }, -{ oid => '2858', descr => 'aggregate transition function', - proname => 'numeric_avg_accum', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal numeric', prosrc => 'numeric_avg_accum' }, -{ oid => '3337', descr => 'aggregate combine function', - proname => 'numeric_avg_combine', proisstrict => 'f', - prorettype => 'internal', proargtypes => 'internal internal', - prosrc => 'numeric_avg_combine' }, -{ oid => '2740', descr => 'aggregate serial function', - proname => 'numeric_avg_serialize', prorettype => 'bytea', - proargtypes => 'internal', prosrc => 'numeric_avg_serialize' }, -{ oid => '2741', descr => 'aggregate deserial function', - proname => 'numeric_avg_deserialize', prorettype => 'internal', - proargtypes => 'bytea internal', prosrc => 'numeric_avg_deserialize' }, -{ oid => '3335', descr => 'aggregate serial function', - proname => 'numeric_serialize', prorettype => 'bytea', - proargtypes => 'internal', prosrc => 'numeric_serialize' }, -{ oid => '3336', descr => 'aggregate deserial function', - proname => 'numeric_deserialize', prorettype => 'internal', - proargtypes => 'bytea internal', prosrc => 'numeric_deserialize' }, -{ oid => '3548', descr => 'aggregate transition function', - proname => 'numeric_accum_inv', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal numeric', prosrc => 'numeric_accum_inv' }, -{ oid => '1834', descr => 'aggregate transition function', - proname => 'int2_accum', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal int2', prosrc => 'int2_accum' }, -{ oid => '1835', descr => 'aggregate transition function', - proname => 'int4_accum', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal int4', prosrc => 'int4_accum' }, -{ oid => '1836', descr => 'aggregate transition function', - proname => 'int8_accum', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal int8', prosrc => 'int8_accum' }, -{ oid => '3338', descr => 'aggregate combine function', - proname => 'numeric_poly_combine', proisstrict => 'f', - prorettype => 'internal', proargtypes => 'internal internal', - prosrc => 'numeric_poly_combine' }, -{ oid => '3339', descr => 'aggregate serial function', - proname => 'numeric_poly_serialize', prorettype => 'bytea', - proargtypes => 'internal', prosrc => 'numeric_poly_serialize' }, -{ oid => '3340', descr => 'aggregate deserial function', - proname => 'numeric_poly_deserialize', prorettype => 'internal', - proargtypes => 'bytea internal', prosrc => 'numeric_poly_deserialize' }, -{ oid => '2746', descr => 'aggregate transition function', - proname => 'int8_avg_accum', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal int8', prosrc => 'int8_avg_accum' }, -{ oid => '3567', descr => 'aggregate transition function', - proname => 'int2_accum_inv', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal int2', prosrc => 'int2_accum_inv' }, -{ oid => '3568', descr => 'aggregate transition function', - proname => 'int4_accum_inv', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal int4', prosrc => 'int4_accum_inv' }, -{ oid => '3569', descr => 'aggregate transition function', - proname => 'int8_accum_inv', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal int8', prosrc => 'int8_accum_inv' }, -{ oid => '3387', descr => 'aggregate transition function', - proname => 'int8_avg_accum_inv', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal int8', prosrc => 'int8_avg_accum_inv' }, -{ oid => '2785', descr => 'aggregate combine function', - proname => 'int8_avg_combine', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal internal', prosrc => 'int8_avg_combine' }, -{ oid => '2786', descr => 'aggregate serial function', - proname => 'int8_avg_serialize', prorettype => 'bytea', - proargtypes => 'internal', prosrc => 'int8_avg_serialize' }, -{ oid => '2787', descr => 'aggregate deserial function', - proname => 'int8_avg_deserialize', prorettype => 'internal', - proargtypes => 'bytea internal', prosrc => 'int8_avg_deserialize' }, -{ oid => '3324', descr => 'aggregate combine function', - proname => 'int4_avg_combine', prorettype => '_int8', - proargtypes => '_int8 _int8', prosrc => 'int4_avg_combine' }, -{ oid => '3178', descr => 'aggregate final function', - proname => 'numeric_sum', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'internal', prosrc => 'numeric_sum' }, -{ oid => '1837', descr => 'aggregate final function', - proname => 'numeric_avg', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'internal', prosrc => 'numeric_avg' }, -{ oid => '2514', descr => 'aggregate final function', - proname => 'numeric_var_pop', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'internal', prosrc => 'numeric_var_pop' }, -{ oid => '1838', descr => 'aggregate final function', - proname => 'numeric_var_samp', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'internal', prosrc => 'numeric_var_samp' }, -{ oid => '2596', descr => 'aggregate final function', - proname => 'numeric_stddev_pop', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'internal', prosrc => 'numeric_stddev_pop' }, -{ oid => '1839', descr => 'aggregate final function', - proname => 'numeric_stddev_samp', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'internal', prosrc => 'numeric_stddev_samp' }, -{ oid => '1840', descr => 'aggregate transition function', - proname => 'int2_sum', proisstrict => 'f', prorettype => 'int8', - proargtypes => 'int8 int2', prosrc => 'int2_sum' }, -{ oid => '1841', descr => 'aggregate transition function', - proname => 'int4_sum', proisstrict => 'f', prorettype => 'int8', - proargtypes => 'int8 int4', prosrc => 'int4_sum' }, -{ oid => '1842', descr => 'aggregate transition function', - proname => 'int8_sum', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'numeric int8', prosrc => 'int8_sum' }, -{ oid => '3388', descr => 'aggregate final function', - proname => 'numeric_poly_sum', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'internal', prosrc => 'numeric_poly_sum' }, -{ oid => '3389', descr => 'aggregate final function', - proname => 'numeric_poly_avg', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'internal', prosrc => 'numeric_poly_avg' }, -{ oid => '3390', descr => 'aggregate final function', - proname => 'numeric_poly_var_pop', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'internal', - prosrc => 'numeric_poly_var_pop' }, -{ oid => '3391', descr => 'aggregate final function', - proname => 'numeric_poly_var_samp', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'internal', - prosrc => 'numeric_poly_var_samp' }, -{ oid => '3392', descr => 'aggregate final function', - proname => 'numeric_poly_stddev_pop', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'internal', - prosrc => 'numeric_poly_stddev_pop' }, -{ oid => '3393', descr => 'aggregate final function', - proname => 'numeric_poly_stddev_samp', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'internal', - prosrc => 'numeric_poly_stddev_samp' }, - -{ oid => '1843', descr => 'aggregate transition function', - proname => 'interval_accum', prorettype => '_interval', - proargtypes => '_interval interval', prosrc => 'interval_accum' }, -{ oid => '3325', descr => 'aggregate combine function', - proname => 'interval_combine', prorettype => '_interval', - proargtypes => '_interval _interval', prosrc => 'interval_combine' }, -{ oid => '3549', descr => 'aggregate transition function', - proname => 'interval_accum_inv', prorettype => '_interval', - proargtypes => '_interval interval', prosrc => 'interval_accum_inv' }, -{ oid => '1844', descr => 'aggregate final function', - proname => 'interval_avg', prorettype => 'interval', - proargtypes => '_interval', prosrc => 'interval_avg' }, -{ oid => '1962', descr => 'aggregate transition function', - proname => 'int2_avg_accum', prorettype => '_int8', - proargtypes => '_int8 int2', prosrc => 'int2_avg_accum' }, -{ oid => '1963', descr => 'aggregate transition function', - proname => 'int4_avg_accum', prorettype => '_int8', - proargtypes => '_int8 int4', prosrc => 'int4_avg_accum' }, -{ oid => '3570', descr => 'aggregate transition function', - proname => 'int2_avg_accum_inv', prorettype => '_int8', - proargtypes => '_int8 int2', prosrc => 'int2_avg_accum_inv' }, -{ oid => '3571', descr => 'aggregate transition function', - proname => 'int4_avg_accum_inv', prorettype => '_int8', - proargtypes => '_int8 int4', prosrc => 'int4_avg_accum_inv' }, -{ oid => '1964', descr => 'aggregate final function', - proname => 'int8_avg', prorettype => 'numeric', proargtypes => '_int8', - prosrc => 'int8_avg' }, -{ oid => '3572', descr => 'aggregate final function', - proname => 'int2int4_sum', prorettype => 'int8', proargtypes => '_int8', - prosrc => 'int2int4_sum' }, -{ oid => '2805', descr => 'aggregate transition function', - proname => 'int8inc_float8_float8', prorettype => 'int8', - proargtypes => 'int8 float8 float8', prosrc => 'int8inc_float8_float8' }, -{ oid => '2806', descr => 'aggregate transition function', - proname => 'float8_regr_accum', prorettype => '_float8', - proargtypes => '_float8 float8 float8', prosrc => 'float8_regr_accum' }, -{ oid => '3342', descr => 'aggregate combine function', - proname => 'float8_regr_combine', prorettype => '_float8', - proargtypes => '_float8 _float8', prosrc => 'float8_regr_combine' }, -{ oid => '2807', descr => 'aggregate final function', - proname => 'float8_regr_sxx', prorettype => 'float8', - proargtypes => '_float8', prosrc => 'float8_regr_sxx' }, -{ oid => '2808', descr => 'aggregate final function', - proname => 'float8_regr_syy', prorettype => 'float8', - proargtypes => '_float8', prosrc => 'float8_regr_syy' }, -{ oid => '2809', descr => 'aggregate final function', - proname => 'float8_regr_sxy', prorettype => 'float8', - proargtypes => '_float8', prosrc => 'float8_regr_sxy' }, -{ oid => '2810', descr => 'aggregate final function', - proname => 'float8_regr_avgx', prorettype => 'float8', - proargtypes => '_float8', prosrc => 'float8_regr_avgx' }, -{ oid => '2811', descr => 'aggregate final function', - proname => 'float8_regr_avgy', prorettype => 'float8', - proargtypes => '_float8', prosrc => 'float8_regr_avgy' }, -{ oid => '2812', descr => 'aggregate final function', - proname => 'float8_regr_r2', prorettype => 'float8', proargtypes => '_float8', - prosrc => 'float8_regr_r2' }, -{ oid => '2813', descr => 'aggregate final function', - proname => 'float8_regr_slope', prorettype => 'float8', - proargtypes => '_float8', prosrc => 'float8_regr_slope' }, -{ oid => '2814', descr => 'aggregate final function', - proname => 'float8_regr_intercept', prorettype => 'float8', - proargtypes => '_float8', prosrc => 'float8_regr_intercept' }, -{ oid => '2815', descr => 'aggregate final function', - proname => 'float8_covar_pop', prorettype => 'float8', - proargtypes => '_float8', prosrc => 'float8_covar_pop' }, -{ oid => '2816', descr => 'aggregate final function', - proname => 'float8_covar_samp', prorettype => 'float8', - proargtypes => '_float8', prosrc => 'float8_covar_samp' }, -{ oid => '2817', descr => 'aggregate final function', - proname => 'float8_corr', prorettype => 'float8', proargtypes => '_float8', - prosrc => 'float8_corr' }, - -{ oid => '3535', descr => 'aggregate transition function', - proname => 'string_agg_transfn', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal text text', prosrc => 'string_agg_transfn' }, -{ oid => '3536', descr => 'aggregate final function', - proname => 'string_agg_finalfn', proisstrict => 'f', prorettype => 'text', - proargtypes => 'internal', prosrc => 'string_agg_finalfn' }, -{ oid => '3538', descr => 'concatenate aggregate input into a string', - proname => 'string_agg', prokind => 'a', proisstrict => 'f', - prorettype => 'text', proargtypes => 'text text', - prosrc => 'aggregate_dummy' }, -{ oid => '3543', descr => 'aggregate transition function', - proname => 'bytea_string_agg_transfn', proisstrict => 'f', - prorettype => 'internal', proargtypes => 'internal bytea bytea', - prosrc => 'bytea_string_agg_transfn' }, -{ oid => '3544', descr => 'aggregate final function', - proname => 'bytea_string_agg_finalfn', proisstrict => 'f', - prorettype => 'bytea', proargtypes => 'internal', - prosrc => 'bytea_string_agg_finalfn' }, -{ oid => '3545', descr => 'concatenate aggregate input into a bytea', - proname => 'string_agg', prokind => 'a', proisstrict => 'f', - prorettype => 'bytea', proargtypes => 'bytea bytea', - prosrc => 'aggregate_dummy' }, - -# To ASCII conversion -{ oid => '1845', descr => 'encode text from DB encoding to ASCII text', - proname => 'to_ascii', prorettype => 'text', proargtypes => 'text', - prosrc => 'to_ascii_default' }, -{ oid => '1846', descr => 'encode text from encoding to ASCII text', - proname => 'to_ascii', prorettype => 'text', proargtypes => 'text int4', - prosrc => 'to_ascii_enc' }, -{ oid => '1847', descr => 'encode text from encoding to ASCII text', - proname => 'to_ascii', prorettype => 'text', proargtypes => 'text name', - prosrc => 'to_ascii_encname' }, - -{ oid => '1848', - proname => 'interval_pl_time', prolang => 'sql', prorettype => 'time', - proargtypes => 'interval time', prosrc => 'see system_functions.sql' }, - -{ oid => '1850', - proname => 'int28eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int8', prosrc => 'int28eq' }, -{ oid => '1851', - proname => 'int28ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int8', prosrc => 'int28ne' }, -{ oid => '1852', - proname => 'int28lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int8', prosrc => 'int28lt' }, -{ oid => '1853', - proname => 'int28gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int8', prosrc => 'int28gt' }, -{ oid => '1854', - proname => 'int28le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int8', prosrc => 'int28le' }, -{ oid => '1855', - proname => 'int28ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int2 int8', prosrc => 'int28ge' }, - -{ oid => '1856', - proname => 'int82eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int2', prosrc => 'int82eq' }, -{ oid => '1857', - proname => 'int82ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int2', prosrc => 'int82ne' }, -{ oid => '1858', - proname => 'int82lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int2', prosrc => 'int82lt' }, -{ oid => '1859', - proname => 'int82gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int2', prosrc => 'int82gt' }, -{ oid => '1860', - proname => 'int82le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int2', prosrc => 'int82le' }, -{ oid => '1861', - proname => 'int82ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int8 int2', prosrc => 'int82ge' }, - -{ oid => '1892', - proname => 'int2and', prorettype => 'int2', proargtypes => 'int2 int2', - prosrc => 'int2and' }, -{ oid => '1893', - proname => 'int2or', prorettype => 'int2', proargtypes => 'int2 int2', - prosrc => 'int2or' }, -{ oid => '1894', - proname => 'int2xor', prorettype => 'int2', proargtypes => 'int2 int2', - prosrc => 'int2xor' }, -{ oid => '1895', - proname => 'int2not', prorettype => 'int2', proargtypes => 'int2', - prosrc => 'int2not' }, -{ oid => '1896', - proname => 'int2shl', prorettype => 'int2', proargtypes => 'int2 int4', - prosrc => 'int2shl' }, -{ oid => '1897', - proname => 'int2shr', prorettype => 'int2', proargtypes => 'int2 int4', - prosrc => 'int2shr' }, - -{ oid => '1898', - proname => 'int4and', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4and' }, -{ oid => '1899', - proname => 'int4or', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4or' }, -{ oid => '1900', - proname => 'int4xor', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4xor' }, -{ oid => '1901', - proname => 'int4not', prorettype => 'int4', proargtypes => 'int4', - prosrc => 'int4not' }, -{ oid => '1902', - proname => 'int4shl', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4shl' }, -{ oid => '1903', - proname => 'int4shr', prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'int4shr' }, - -{ oid => '1904', - proname => 'int8and', prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'int8and' }, -{ oid => '1905', - proname => 'int8or', prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'int8or' }, -{ oid => '1906', - proname => 'int8xor', prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'int8xor' }, -{ oid => '1907', - proname => 'int8not', prorettype => 'int8', proargtypes => 'int8', - prosrc => 'int8not' }, -{ oid => '1908', - proname => 'int8shl', prorettype => 'int8', proargtypes => 'int8 int4', - prosrc => 'int8shl' }, -{ oid => '1909', - proname => 'int8shr', prorettype => 'int8', proargtypes => 'int8 int4', - prosrc => 'int8shr' }, - -{ oid => '1910', - proname => 'int8up', prorettype => 'int8', proargtypes => 'int8', - prosrc => 'int8up' }, -{ oid => '1911', - proname => 'int2up', prorettype => 'int2', proargtypes => 'int2', - prosrc => 'int2up' }, -{ oid => '1912', - proname => 'int4up', prorettype => 'int4', proargtypes => 'int4', - prosrc => 'int4up' }, -{ oid => '1913', - proname => 'float4up', prorettype => 'float4', proargtypes => 'float4', - prosrc => 'float4up' }, -{ oid => '1914', - proname => 'float8up', prorettype => 'float8', proargtypes => 'float8', - prosrc => 'float8up' }, -{ oid => '1915', - proname => 'numeric_uplus', prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'numeric_uplus' }, - -{ oid => '1922', descr => 'user privilege on relation by username, rel name', - proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name text text', prosrc => 'has_table_privilege_name_name' }, -{ oid => '1923', descr => 'user privilege on relation by username, rel oid', - proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name oid text', prosrc => 'has_table_privilege_name_id' }, -{ oid => '1924', descr => 'user privilege on relation by user oid, rel name', - proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text text', prosrc => 'has_table_privilege_id_name' }, -{ oid => '1925', descr => 'user privilege on relation by user oid, rel oid', - proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid oid text', prosrc => 'has_table_privilege_id_id' }, -{ oid => '1926', descr => 'current user privilege on relation by rel name', - proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'has_table_privilege_name' }, -{ oid => '1927', descr => 'current user privilege on relation by rel oid', - proname => 'has_table_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text', prosrc => 'has_table_privilege_id' }, - -{ oid => '2181', descr => 'user privilege on sequence by username, seq name', - proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name text text', - prosrc => 'has_sequence_privilege_name_name' }, -{ oid => '2182', descr => 'user privilege on sequence by username, seq oid', - proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name oid text', prosrc => 'has_sequence_privilege_name_id' }, -{ oid => '2183', descr => 'user privilege on sequence by user oid, seq name', - proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text text', prosrc => 'has_sequence_privilege_id_name' }, -{ oid => '2184', descr => 'user privilege on sequence by user oid, seq oid', - proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid oid text', prosrc => 'has_sequence_privilege_id_id' }, -{ oid => '2185', descr => 'current user privilege on sequence by seq name', - proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'has_sequence_privilege_name' }, -{ oid => '2186', descr => 'current user privilege on sequence by seq oid', - proname => 'has_sequence_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text', prosrc => 'has_sequence_privilege_id' }, - -{ oid => '3012', - descr => 'user privilege on column by username, rel name, col name', - proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name text text text', - prosrc => 'has_column_privilege_name_name_name' }, -{ oid => '3013', - descr => 'user privilege on column by username, rel name, col attnum', - proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name text int2 text', - prosrc => 'has_column_privilege_name_name_attnum' }, -{ oid => '3014', - descr => 'user privilege on column by username, rel oid, col name', - proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name oid text text', - prosrc => 'has_column_privilege_name_id_name' }, -{ oid => '3015', - descr => 'user privilege on column by username, rel oid, col attnum', - proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name oid int2 text', - prosrc => 'has_column_privilege_name_id_attnum' }, -{ oid => '3016', - descr => 'user privilege on column by user oid, rel name, col name', - proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text text text', - prosrc => 'has_column_privilege_id_name_name' }, -{ oid => '3017', - descr => 'user privilege on column by user oid, rel name, col attnum', - proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text int2 text', - prosrc => 'has_column_privilege_id_name_attnum' }, -{ oid => '3018', - descr => 'user privilege on column by user oid, rel oid, col name', - proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid oid text text', - prosrc => 'has_column_privilege_id_id_name' }, -{ oid => '3019', - descr => 'user privilege on column by user oid, rel oid, col attnum', - proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid oid int2 text', - prosrc => 'has_column_privilege_id_id_attnum' }, -{ oid => '3020', - descr => 'current user privilege on column by rel name, col name', - proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'text text text', prosrc => 'has_column_privilege_name_name' }, -{ oid => '3021', - descr => 'current user privilege on column by rel name, col attnum', - proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'text int2 text', - prosrc => 'has_column_privilege_name_attnum' }, -{ oid => '3022', - descr => 'current user privilege on column by rel oid, col name', - proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text text', prosrc => 'has_column_privilege_id_name' }, -{ oid => '3023', - descr => 'current user privilege on column by rel oid, col attnum', - proname => 'has_column_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid int2 text', prosrc => 'has_column_privilege_id_attnum' }, - -{ oid => '3024', - descr => 'user privilege on any column by username, rel name', - proname => 'has_any_column_privilege', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'name text text', - prosrc => 'has_any_column_privilege_name_name' }, -{ oid => '3025', descr => 'user privilege on any column by username, rel oid', - proname => 'has_any_column_privilege', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'name oid text', - prosrc => 'has_any_column_privilege_name_id' }, -{ oid => '3026', - descr => 'user privilege on any column by user oid, rel name', - proname => 'has_any_column_privilege', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid text text', - prosrc => 'has_any_column_privilege_id_name' }, -{ oid => '3027', descr => 'user privilege on any column by user oid, rel oid', - proname => 'has_any_column_privilege', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid oid text', - prosrc => 'has_any_column_privilege_id_id' }, -{ oid => '3028', descr => 'current user privilege on any column by rel name', - proname => 'has_any_column_privilege', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'text text', - prosrc => 'has_any_column_privilege_name' }, -{ oid => '3029', descr => 'current user privilege on any column by rel oid', - proname => 'has_any_column_privilege', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid text', - prosrc => 'has_any_column_privilege_id' }, - -{ oid => '3355', descr => 'I/O', - proname => 'pg_ndistinct_in', prorettype => 'pg_ndistinct', - proargtypes => 'cstring', prosrc => 'pg_ndistinct_in' }, -{ oid => '3356', descr => 'I/O', - proname => 'pg_ndistinct_out', prorettype => 'cstring', - proargtypes => 'pg_ndistinct', prosrc => 'pg_ndistinct_out' }, -{ oid => '3357', descr => 'I/O', - proname => 'pg_ndistinct_recv', provolatile => 's', - prorettype => 'pg_ndistinct', proargtypes => 'internal', - prosrc => 'pg_ndistinct_recv' }, -{ oid => '3358', descr => 'I/O', - proname => 'pg_ndistinct_send', provolatile => 's', prorettype => 'bytea', - proargtypes => 'pg_ndistinct', prosrc => 'pg_ndistinct_send' }, - -{ oid => '3404', descr => 'I/O', - proname => 'pg_dependencies_in', prorettype => 'pg_dependencies', - proargtypes => 'cstring', prosrc => 'pg_dependencies_in' }, -{ oid => '3405', descr => 'I/O', - proname => 'pg_dependencies_out', prorettype => 'cstring', - proargtypes => 'pg_dependencies', prosrc => 'pg_dependencies_out' }, -{ oid => '3406', descr => 'I/O', - proname => 'pg_dependencies_recv', provolatile => 's', - prorettype => 'pg_dependencies', proargtypes => 'internal', - prosrc => 'pg_dependencies_recv' }, -{ oid => '3407', descr => 'I/O', - proname => 'pg_dependencies_send', provolatile => 's', prorettype => 'bytea', - proargtypes => 'pg_dependencies', prosrc => 'pg_dependencies_send' }, - -{ oid => '5018', descr => 'I/O', - proname => 'pg_mcv_list_in', prorettype => 'pg_mcv_list', - proargtypes => 'cstring', prosrc => 'pg_mcv_list_in' }, -{ oid => '5019', descr => 'I/O', - proname => 'pg_mcv_list_out', prorettype => 'cstring', - proargtypes => 'pg_mcv_list', prosrc => 'pg_mcv_list_out' }, -{ oid => '5020', descr => 'I/O', - proname => 'pg_mcv_list_recv', provolatile => 's', - prorettype => 'pg_mcv_list', proargtypes => 'internal', - prosrc => 'pg_mcv_list_recv' }, -{ oid => '5021', descr => 'I/O', - proname => 'pg_mcv_list_send', provolatile => 's', prorettype => 'bytea', - proargtypes => 'pg_mcv_list', prosrc => 'pg_mcv_list_send' }, - -{ oid => '3427', descr => 'details about MCV list items', - proname => 'pg_mcv_list_items', prorows => '1000', proretset => 't', - provolatile => 's', prorettype => 'record', proargtypes => 'pg_mcv_list', - proallargtypes => '{pg_mcv_list,int4,_text,_bool,float8,float8}', - proargmodes => '{i,o,o,o,o,o}', - proargnames => '{mcv_list,index,values,nulls,frequency,base_frequency}', - prosrc => 'pg_stats_ext_mcvlist_items' }, - -{ oid => '1928', descr => 'statistics: number of scans done for table/index', - proname => 'pg_stat_get_numscans', provolatile => 's', proparallel => 'r', - prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_numscans' }, -{ oid => '1929', descr => 'statistics: number of tuples read by seqscan', - proname => 'pg_stat_get_tuples_returned', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_tuples_returned' }, -{ oid => '1930', descr => 'statistics: number of tuples fetched by idxscan', - proname => 'pg_stat_get_tuples_fetched', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_tuples_fetched' }, -{ oid => '1931', descr => 'statistics: number of tuples inserted', - proname => 'pg_stat_get_tuples_inserted', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_tuples_inserted' }, -{ oid => '1932', descr => 'statistics: number of tuples updated', - proname => 'pg_stat_get_tuples_updated', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_tuples_updated' }, -{ oid => '1933', descr => 'statistics: number of tuples deleted', - proname => 'pg_stat_get_tuples_deleted', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_tuples_deleted' }, -{ oid => '1972', descr => 'statistics: number of tuples hot updated', - proname => 'pg_stat_get_tuples_hot_updated', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_tuples_hot_updated' }, -{ oid => '2878', descr => 'statistics: number of live tuples', - proname => 'pg_stat_get_live_tuples', provolatile => 's', proparallel => 'r', - prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_live_tuples' }, -{ oid => '2879', descr => 'statistics: number of dead tuples', - proname => 'pg_stat_get_dead_tuples', provolatile => 's', proparallel => 'r', - prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_dead_tuples' }, -{ oid => '3177', - descr => 'statistics: number of tuples changed since last analyze', - proname => 'pg_stat_get_mod_since_analyze', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_mod_since_analyze' }, -{ oid => '5053', - descr => 'statistics: number of tuples inserted since last vacuum', - proname => 'pg_stat_get_ins_since_vacuum', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_ins_since_vacuum' }, -{ oid => '1934', descr => 'statistics: number of blocks fetched', - proname => 'pg_stat_get_blocks_fetched', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_blocks_fetched' }, -{ oid => '1935', descr => 'statistics: number of blocks found in cache', - proname => 'pg_stat_get_blocks_hit', provolatile => 's', proparallel => 'r', - prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_blocks_hit' }, -{ oid => '2781', descr => 'statistics: last manual vacuum time for a table', - proname => 'pg_stat_get_last_vacuum_time', provolatile => 's', - proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', - prosrc => 'pg_stat_get_last_vacuum_time' }, -{ oid => '2782', descr => 'statistics: last auto vacuum time for a table', - proname => 'pg_stat_get_last_autovacuum_time', provolatile => 's', - proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', - prosrc => 'pg_stat_get_last_autovacuum_time' }, -{ oid => '2783', descr => 'statistics: last manual analyze time for a table', - proname => 'pg_stat_get_last_analyze_time', provolatile => 's', - proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', - prosrc => 'pg_stat_get_last_analyze_time' }, -{ oid => '2784', descr => 'statistics: last auto analyze time for a table', - proname => 'pg_stat_get_last_autoanalyze_time', provolatile => 's', - proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', - prosrc => 'pg_stat_get_last_autoanalyze_time' }, -{ oid => '3054', descr => 'statistics: number of manual vacuums for a table', - proname => 'pg_stat_get_vacuum_count', provolatile => 's', proparallel => 'r', - prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_vacuum_count' }, -{ oid => '3055', descr => 'statistics: number of auto vacuums for a table', - proname => 'pg_stat_get_autovacuum_count', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_autovacuum_count' }, -{ oid => '3056', descr => 'statistics: number of manual analyzes for a table', - proname => 'pg_stat_get_analyze_count', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_analyze_count' }, -{ oid => '3057', descr => 'statistics: number of auto analyzes for a table', - proname => 'pg_stat_get_autoanalyze_count', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_autoanalyze_count' }, -{ oid => '1936', descr => 'statistics: currently active backend IDs', - proname => 'pg_stat_get_backend_idset', prorows => '100', proretset => 't', - provolatile => 's', proparallel => 'r', prorettype => 'int4', - proargtypes => '', prosrc => 'pg_stat_get_backend_idset' }, -{ oid => '2022', - descr => 'statistics: information about currently active backends', - proname => 'pg_stat_get_activity', prorows => '100', proisstrict => 'f', - proretset => 't', provolatile => 's', proparallel => 'r', - prorettype => 'record', proargtypes => 'int4', - proallargtypes => '{int4,oid,int4,oid,text,text,text,text,text,timestamptz,timestamptz,timestamptz,timestamptz,inet,text,int4,xid,xid,text,bool,text,text,int4,text,numeric,text,bool,text,bool,int4,int8}', - proargmodes => '{i,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', - proargnames => '{pid,datid,pid,usesysid,application_name,state,query,wait_event_type,wait_event,xact_start,query_start,backend_start,state_change,client_addr,client_hostname,client_port,backend_xid,backend_xmin,backend_type,ssl,sslversion,sslcipher,sslbits,ssl_client_dn,ssl_client_serial,ssl_issuer_dn,gss_auth,gss_princ,gss_enc,leader_pid,query_id}', - prosrc => 'pg_stat_get_activity' }, -{ oid => '3318', - descr => 'statistics: information about progress of backends running maintenance command', - proname => 'pg_stat_get_progress_info', prorows => '100', proretset => 't', - provolatile => 's', proparallel => 'r', prorettype => 'record', - proargtypes => 'text', - proallargtypes => '{text,int4,oid,oid,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8}', - proargmodes => '{i,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', - proargnames => '{cmdtype,pid,datid,relid,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10,param11,param12,param13,param14,param15,param16,param17,param18,param19,param20}', - prosrc => 'pg_stat_get_progress_info' }, -{ oid => '3099', - descr => 'statistics: information about currently active replication', - proname => 'pg_stat_get_wal_senders', prorows => '10', proisstrict => 'f', - proretset => 't', provolatile => 's', proparallel => 'r', - prorettype => 'record', proargtypes => '', - proallargtypes => '{int4,text,pg_lsn,pg_lsn,pg_lsn,pg_lsn,interval,interval,interval,int4,text,timestamptz}', - proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o}', - proargnames => '{pid,state,sent_lsn,write_lsn,flush_lsn,replay_lsn,write_lag,flush_lag,replay_lag,sync_priority,sync_state,reply_time}', - prosrc => 'pg_stat_get_wal_senders' }, -{ oid => '3317', descr => 'statistics: information about WAL receiver', - proname => 'pg_stat_get_wal_receiver', proisstrict => 'f', provolatile => 's', - proparallel => 'r', prorettype => 'record', proargtypes => '', - proallargtypes => '{int4,text,pg_lsn,int4,pg_lsn,pg_lsn,int4,timestamptz,timestamptz,pg_lsn,timestamptz,text,text,int4,text}', - proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', - proargnames => '{pid,status,receive_start_lsn,receive_start_tli,written_lsn,flushed_lsn,received_tli,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time,slot_name,sender_host,sender_port,conninfo}', - prosrc => 'pg_stat_get_wal_receiver' }, -{ oid => '6169', descr => 'statistics: information about replication slot', - proname => 'pg_stat_get_replication_slot', prorows => '1', proisstrict => 'f', - proretset => 't', provolatile => 's', proparallel => 'r', - prorettype => 'record', proargtypes => 'text', - proallargtypes => '{text,text,int8,int8,int8,int8,int8,int8,int8,int8,timestamptz}', - proargmodes => '{i,o,o,o,o,o,o,o,o,o,o}', - proargnames => '{slot_name,slot_name,spill_txns,spill_count,spill_bytes,stream_txns,stream_count,stream_bytes,total_txns,total_bytes,stats_reset}', - prosrc => 'pg_stat_get_replication_slot' }, -{ oid => '6118', descr => 'statistics: information about subscription', - proname => 'pg_stat_get_subscription', prorows => '10', proisstrict => 'f', - proretset => 't', provolatile => 's', proparallel => 'r', - prorettype => 'record', proargtypes => 'oid', - proallargtypes => '{oid,oid,oid,int4,pg_lsn,timestamptz,timestamptz,pg_lsn,timestamptz}', - proargmodes => '{i,o,o,o,o,o,o,o,o}', - proargnames => '{subid,subid,relid,pid,received_lsn,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time}', - prosrc => 'pg_stat_get_subscription' }, -{ oid => '2026', descr => 'statistics: current backend PID', - proname => 'pg_backend_pid', provolatile => 's', proparallel => 'r', - prorettype => 'int4', proargtypes => '', prosrc => 'pg_backend_pid' }, -{ oid => '1937', descr => 'statistics: PID of backend', - proname => 'pg_stat_get_backend_pid', provolatile => 's', proparallel => 'r', - prorettype => 'int4', proargtypes => 'int4', - prosrc => 'pg_stat_get_backend_pid' }, -{ oid => '1938', descr => 'statistics: database ID of backend', - proname => 'pg_stat_get_backend_dbid', provolatile => 's', proparallel => 'r', - prorettype => 'oid', proargtypes => 'int4', - prosrc => 'pg_stat_get_backend_dbid' }, -{ oid => '1939', descr => 'statistics: user ID of backend', - proname => 'pg_stat_get_backend_userid', provolatile => 's', - proparallel => 'r', prorettype => 'oid', proargtypes => 'int4', - prosrc => 'pg_stat_get_backend_userid' }, -{ oid => '1940', descr => 'statistics: current query of backend', - proname => 'pg_stat_get_backend_activity', provolatile => 's', - proparallel => 'r', prorettype => 'text', proargtypes => 'int4', - prosrc => 'pg_stat_get_backend_activity' }, -{ oid => '2788', - descr => 'statistics: wait event type on which backend is currently waiting', - proname => 'pg_stat_get_backend_wait_event_type', provolatile => 's', - proparallel => 'r', prorettype => 'text', proargtypes => 'int4', - prosrc => 'pg_stat_get_backend_wait_event_type' }, -{ oid => '2853', - descr => 'statistics: wait event on which backend is currently waiting', - proname => 'pg_stat_get_backend_wait_event', provolatile => 's', - proparallel => 'r', prorettype => 'text', proargtypes => 'int4', - prosrc => 'pg_stat_get_backend_wait_event' }, -{ oid => '2094', - descr => 'statistics: start time for current query of backend', - proname => 'pg_stat_get_backend_activity_start', provolatile => 's', - proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4', - prosrc => 'pg_stat_get_backend_activity_start' }, -{ oid => '2857', - descr => 'statistics: start time for backend\'s current transaction', - proname => 'pg_stat_get_backend_xact_start', provolatile => 's', - proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4', - prosrc => 'pg_stat_get_backend_xact_start' }, -{ oid => '1391', - descr => 'statistics: start time for current backend session', - proname => 'pg_stat_get_backend_start', provolatile => 's', - proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'int4', - prosrc => 'pg_stat_get_backend_start' }, -{ oid => '1392', - descr => 'statistics: address of client connected to backend', - proname => 'pg_stat_get_backend_client_addr', provolatile => 's', - proparallel => 'r', prorettype => 'inet', proargtypes => 'int4', - prosrc => 'pg_stat_get_backend_client_addr' }, -{ oid => '1393', - descr => 'statistics: port number of client connected to backend', - proname => 'pg_stat_get_backend_client_port', provolatile => 's', - proparallel => 'r', prorettype => 'int4', proargtypes => 'int4', - prosrc => 'pg_stat_get_backend_client_port' }, -{ oid => '1941', descr => 'statistics: number of backends in database', - proname => 'pg_stat_get_db_numbackends', provolatile => 's', - proparallel => 'r', prorettype => 'int4', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_numbackends' }, -{ oid => '1942', descr => 'statistics: transactions committed', - proname => 'pg_stat_get_db_xact_commit', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_xact_commit' }, -{ oid => '1943', descr => 'statistics: transactions rolled back', - proname => 'pg_stat_get_db_xact_rollback', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_xact_rollback' }, -{ oid => '1944', descr => 'statistics: blocks fetched for database', - proname => 'pg_stat_get_db_blocks_fetched', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_blocks_fetched' }, -{ oid => '1945', descr => 'statistics: blocks found in cache for database', - proname => 'pg_stat_get_db_blocks_hit', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_blocks_hit' }, -{ oid => '2758', descr => 'statistics: tuples returned for database', - proname => 'pg_stat_get_db_tuples_returned', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_tuples_returned' }, -{ oid => '2759', descr => 'statistics: tuples fetched for database', - proname => 'pg_stat_get_db_tuples_fetched', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_tuples_fetched' }, -{ oid => '2760', descr => 'statistics: tuples inserted in database', - proname => 'pg_stat_get_db_tuples_inserted', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_tuples_inserted' }, -{ oid => '2761', descr => 'statistics: tuples updated in database', - proname => 'pg_stat_get_db_tuples_updated', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_tuples_updated' }, -{ oid => '2762', descr => 'statistics: tuples deleted in database', - proname => 'pg_stat_get_db_tuples_deleted', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_tuples_deleted' }, -{ oid => '3065', - descr => 'statistics: recovery conflicts in database caused by drop tablespace', - proname => 'pg_stat_get_db_conflict_tablespace', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_conflict_tablespace' }, -{ oid => '3066', - descr => 'statistics: recovery conflicts in database caused by relation lock', - proname => 'pg_stat_get_db_conflict_lock', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_conflict_lock' }, -{ oid => '3067', - descr => 'statistics: recovery conflicts in database caused by snapshot expiry', - proname => 'pg_stat_get_db_conflict_snapshot', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_conflict_snapshot' }, -{ oid => '3068', - descr => 'statistics: recovery conflicts in database caused by shared buffer pin', - proname => 'pg_stat_get_db_conflict_bufferpin', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_conflict_bufferpin' }, -{ oid => '3069', - descr => 'statistics: recovery conflicts in database caused by buffer deadlock', - proname => 'pg_stat_get_db_conflict_startup_deadlock', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_conflict_startup_deadlock' }, -{ oid => '3070', descr => 'statistics: recovery conflicts in database', - proname => 'pg_stat_get_db_conflict_all', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_conflict_all' }, -{ oid => '3152', descr => 'statistics: deadlocks detected in database', - proname => 'pg_stat_get_db_deadlocks', provolatile => 's', proparallel => 'r', - prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_deadlocks' }, -{ oid => '3426', - descr => 'statistics: checksum failures detected in database', - proname => 'pg_stat_get_db_checksum_failures', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_checksum_failures' }, -{ oid => '3428', - descr => 'statistics: when last checksum failure was detected in database', - proname => 'pg_stat_get_db_checksum_last_failure', provolatile => 's', - proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_checksum_last_failure' }, -{ oid => '3074', descr => 'statistics: last reset for a database', - proname => 'pg_stat_get_db_stat_reset_time', provolatile => 's', - proparallel => 'r', prorettype => 'timestamptz', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_stat_reset_time' }, -{ oid => '3150', descr => 'statistics: number of temporary files written', - proname => 'pg_stat_get_db_temp_files', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_temp_files' }, -{ oid => '3151', - descr => 'statistics: number of bytes in temporary files written', - proname => 'pg_stat_get_db_temp_bytes', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_temp_bytes' }, -{ oid => '2844', descr => 'statistics: block read time, in milliseconds', - proname => 'pg_stat_get_db_blk_read_time', provolatile => 's', - proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_blk_read_time' }, -{ oid => '2845', descr => 'statistics: block write time, in milliseconds', - proname => 'pg_stat_get_db_blk_write_time', provolatile => 's', - proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_blk_write_time' }, -{ oid => '6185', descr => 'statistics: session time, in milliseconds', - proname => 'pg_stat_get_db_session_time', provolatile => 's', - proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_session_time' }, -{ oid => '6186', descr => 'statistics: session active time, in milliseconds', - proname => 'pg_stat_get_db_active_time', provolatile => 's', - proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_active_time' }, -{ oid => '6187', - descr => 'statistics: session idle in transaction time, in milliseconds', - proname => 'pg_stat_get_db_idle_in_transaction_time', provolatile => 's', - proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_idle_in_transaction_time' }, -{ oid => '6188', descr => 'statistics: total number of sessions', - proname => 'pg_stat_get_db_sessions', provolatile => 's', proparallel => 'r', - prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_sessions' }, -{ oid => '6189', - descr => 'statistics: number of sessions disconnected by the client closing the network connection', - proname => 'pg_stat_get_db_sessions_abandoned', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_sessions_abandoned' }, -{ oid => '6190', - descr => 'statistics: number of sessions disconnected by fatal errors', - proname => 'pg_stat_get_db_sessions_fatal', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_sessions_fatal' }, -{ oid => '6191', - descr => 'statistics: number of sessions killed by administrative action', - proname => 'pg_stat_get_db_sessions_killed', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_db_sessions_killed' }, -{ oid => '3195', descr => 'statistics: information about WAL archiver', - proname => 'pg_stat_get_archiver', proisstrict => 'f', provolatile => 's', - proparallel => 'r', prorettype => 'record', proargtypes => '', - proallargtypes => '{int8,text,timestamptz,int8,text,timestamptz,timestamptz}', - proargmodes => '{o,o,o,o,o,o,o}', - proargnames => '{archived_count,last_archived_wal,last_archived_time,failed_count,last_failed_wal,last_failed_time,stats_reset}', - prosrc => 'pg_stat_get_archiver' }, -{ oid => '2769', - descr => 'statistics: number of timed checkpoints started by the bgwriter', - proname => 'pg_stat_get_bgwriter_timed_checkpoints', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => '', - prosrc => 'pg_stat_get_bgwriter_timed_checkpoints' }, -{ oid => '2770', - descr => 'statistics: number of backend requested checkpoints started by the bgwriter', - proname => 'pg_stat_get_bgwriter_requested_checkpoints', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => '', - prosrc => 'pg_stat_get_bgwriter_requested_checkpoints' }, -{ oid => '2771', - descr => 'statistics: number of buffers written by the bgwriter during checkpoints', - proname => 'pg_stat_get_bgwriter_buf_written_checkpoints', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => '', - prosrc => 'pg_stat_get_bgwriter_buf_written_checkpoints' }, -{ oid => '2772', - descr => 'statistics: number of buffers written by the bgwriter for cleaning dirty buffers', - proname => 'pg_stat_get_bgwriter_buf_written_clean', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => '', - prosrc => 'pg_stat_get_bgwriter_buf_written_clean' }, -{ oid => '2773', - descr => 'statistics: number of times the bgwriter stopped processing when it had written too many buffers while cleaning', - proname => 'pg_stat_get_bgwriter_maxwritten_clean', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => '', - prosrc => 'pg_stat_get_bgwriter_maxwritten_clean' }, -{ oid => '3075', descr => 'statistics: last reset for the bgwriter', - proname => 'pg_stat_get_bgwriter_stat_reset_time', provolatile => 's', - proparallel => 'r', prorettype => 'timestamptz', proargtypes => '', - prosrc => 'pg_stat_get_bgwriter_stat_reset_time' }, -{ oid => '3160', - descr => 'statistics: checkpoint time spent writing buffers to disk, in milliseconds', - proname => 'pg_stat_get_checkpoint_write_time', provolatile => 's', - proparallel => 'r', prorettype => 'float8', proargtypes => '', - prosrc => 'pg_stat_get_checkpoint_write_time' }, -{ oid => '3161', - descr => 'statistics: checkpoint time spent synchronizing buffers to disk, in milliseconds', - proname => 'pg_stat_get_checkpoint_sync_time', provolatile => 's', - proparallel => 'r', prorettype => 'float8', proargtypes => '', - prosrc => 'pg_stat_get_checkpoint_sync_time' }, -{ oid => '2775', descr => 'statistics: number of buffers written by backends', - proname => 'pg_stat_get_buf_written_backend', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => '', - prosrc => 'pg_stat_get_buf_written_backend' }, -{ oid => '3063', - descr => 'statistics: number of backend buffer writes that did their own fsync', - proname => 'pg_stat_get_buf_fsync_backend', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => '', - prosrc => 'pg_stat_get_buf_fsync_backend' }, -{ oid => '2859', descr => 'statistics: number of buffer allocations', - proname => 'pg_stat_get_buf_alloc', provolatile => 's', proparallel => 'r', - prorettype => 'int8', proargtypes => '', prosrc => 'pg_stat_get_buf_alloc' }, - -{ oid => '1136', descr => 'statistics: information about WAL activity', - proname => 'pg_stat_get_wal', proisstrict => 'f', provolatile => 's', - proparallel => 'r', prorettype => 'record', proargtypes => '', - proallargtypes => '{int8,int8,numeric,int8,int8,int8,float8,float8,timestamptz}', - proargmodes => '{o,o,o,o,o,o,o,o,o}', - proargnames => '{wal_records,wal_fpi,wal_bytes,wal_buffers_full,wal_write,wal_sync,wal_write_time,wal_sync_time,stats_reset}', - prosrc => 'pg_stat_get_wal' }, - -{ oid => '2306', descr => 'statistics: information about SLRU caches', - proname => 'pg_stat_get_slru', prorows => '100', proisstrict => 'f', - proretset => 't', provolatile => 's', proparallel => 'r', - prorettype => 'record', proargtypes => '', - proallargtypes => '{text,int8,int8,int8,int8,int8,int8,int8,timestamptz}', - proargmodes => '{o,o,o,o,o,o,o,o,o}', - proargnames => '{name,blks_zeroed,blks_hit,blks_read,blks_written,blks_exists,flushes,truncates,stats_reset}', - prosrc => 'pg_stat_get_slru' }, - -{ oid => '2978', descr => 'statistics: number of function calls', - proname => 'pg_stat_get_function_calls', provolatile => 's', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_function_calls' }, -{ oid => '2979', - descr => 'statistics: total execution time of function, in milliseconds', - proname => 'pg_stat_get_function_total_time', provolatile => 's', - proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', - prosrc => 'pg_stat_get_function_total_time' }, -{ oid => '2980', - descr => 'statistics: self execution time of function, in milliseconds', - proname => 'pg_stat_get_function_self_time', provolatile => 's', - proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', - prosrc => 'pg_stat_get_function_self_time' }, - -{ oid => '3037', - descr => 'statistics: number of scans done for table/index in current transaction', - proname => 'pg_stat_get_xact_numscans', provolatile => 'v', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_xact_numscans' }, -{ oid => '3038', - descr => 'statistics: number of tuples read by seqscan in current transaction', - proname => 'pg_stat_get_xact_tuples_returned', provolatile => 'v', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_xact_tuples_returned' }, -{ oid => '3039', - descr => 'statistics: number of tuples fetched by idxscan in current transaction', - proname => 'pg_stat_get_xact_tuples_fetched', provolatile => 'v', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_xact_tuples_fetched' }, -{ oid => '3040', - descr => 'statistics: number of tuples inserted in current transaction', - proname => 'pg_stat_get_xact_tuples_inserted', provolatile => 'v', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_xact_tuples_inserted' }, -{ oid => '3041', - descr => 'statistics: number of tuples updated in current transaction', - proname => 'pg_stat_get_xact_tuples_updated', provolatile => 'v', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_xact_tuples_updated' }, -{ oid => '3042', - descr => 'statistics: number of tuples deleted in current transaction', - proname => 'pg_stat_get_xact_tuples_deleted', provolatile => 'v', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_xact_tuples_deleted' }, -{ oid => '3043', - descr => 'statistics: number of tuples hot updated in current transaction', - proname => 'pg_stat_get_xact_tuples_hot_updated', provolatile => 'v', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_xact_tuples_hot_updated' }, -{ oid => '3044', - descr => 'statistics: number of blocks fetched in current transaction', - proname => 'pg_stat_get_xact_blocks_fetched', provolatile => 'v', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_xact_blocks_fetched' }, -{ oid => '3045', - descr => 'statistics: number of blocks found in cache in current transaction', - proname => 'pg_stat_get_xact_blocks_hit', provolatile => 'v', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_xact_blocks_hit' }, -{ oid => '3046', - descr => 'statistics: number of function calls in current transaction', - proname => 'pg_stat_get_xact_function_calls', provolatile => 'v', - proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', - prosrc => 'pg_stat_get_xact_function_calls' }, -{ oid => '3047', - descr => 'statistics: total execution time of function in current transaction, in milliseconds', - proname => 'pg_stat_get_xact_function_total_time', provolatile => 'v', - proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', - prosrc => 'pg_stat_get_xact_function_total_time' }, -{ oid => '3048', - descr => 'statistics: self execution time of function in current transaction, in milliseconds', - proname => 'pg_stat_get_xact_function_self_time', provolatile => 'v', - proparallel => 'r', prorettype => 'float8', proargtypes => 'oid', - prosrc => 'pg_stat_get_xact_function_self_time' }, - -{ oid => '3788', - descr => 'statistics: timestamp of the current statistics snapshot', - proname => 'pg_stat_get_snapshot_timestamp', provolatile => 's', - proparallel => 'r', prorettype => 'timestamptz', proargtypes => '', - prosrc => 'pg_stat_get_snapshot_timestamp' }, -{ oid => '2230', - descr => 'statistics: discard current transaction\'s statistics snapshot', - proname => 'pg_stat_clear_snapshot', proisstrict => 'f', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => '', - prosrc => 'pg_stat_clear_snapshot' }, -{ oid => '2274', - descr => 'statistics: reset collected statistics for current database', - proname => 'pg_stat_reset', proisstrict => 'f', provolatile => 'v', - prorettype => 'void', proargtypes => '', prosrc => 'pg_stat_reset' }, -{ oid => '3775', - descr => 'statistics: reset collected statistics shared across the cluster', - proname => 'pg_stat_reset_shared', provolatile => 'v', prorettype => 'void', - proargtypes => 'text', prosrc => 'pg_stat_reset_shared' }, -{ oid => '3776', - descr => 'statistics: reset collected statistics for a single table or index in the current database', - proname => 'pg_stat_reset_single_table_counters', provolatile => 'v', - prorettype => 'void', proargtypes => 'oid', - prosrc => 'pg_stat_reset_single_table_counters' }, -{ oid => '3777', - descr => 'statistics: reset collected statistics for a single function in the current database', - proname => 'pg_stat_reset_single_function_counters', provolatile => 'v', - prorettype => 'void', proargtypes => 'oid', - prosrc => 'pg_stat_reset_single_function_counters' }, -{ oid => '2307', - descr => 'statistics: reset collected statistics for a single SLRU', - proname => 'pg_stat_reset_slru', proisstrict => 'f', provolatile => 'v', - prorettype => 'void', proargtypes => 'text', prosrc => 'pg_stat_reset_slru' }, -{ oid => '6170', - descr => 'statistics: reset collected statistics for a single replication slot', - proname => 'pg_stat_reset_replication_slot', proisstrict => 'f', - provolatile => 'v', prorettype => 'void', proargtypes => 'text', - prosrc => 'pg_stat_reset_replication_slot' }, - -{ oid => '3163', descr => 'current trigger depth', - proname => 'pg_trigger_depth', provolatile => 's', proparallel => 'r', - prorettype => 'int4', proargtypes => '', prosrc => 'pg_trigger_depth' }, - -{ oid => '3778', descr => 'tablespace location', - proname => 'pg_tablespace_location', provolatile => 's', prorettype => 'text', - proargtypes => 'oid', prosrc => 'pg_tablespace_location' }, - -{ oid => '1946', - descr => 'convert bytea value into some ascii-only text string', - proname => 'encode', prorettype => 'text', proargtypes => 'bytea text', - prosrc => 'binary_encode' }, -{ oid => '1947', - descr => 'convert ascii-encoded text string into bytea value', - proname => 'decode', prorettype => 'bytea', proargtypes => 'text text', - prosrc => 'binary_decode' }, - -{ oid => '1948', - proname => 'byteaeq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bytea bytea', prosrc => 'byteaeq' }, -{ oid => '1949', - proname => 'bytealt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bytea bytea', prosrc => 'bytealt' }, -{ oid => '1950', - proname => 'byteale', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bytea bytea', prosrc => 'byteale' }, -{ oid => '1951', - proname => 'byteagt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bytea bytea', prosrc => 'byteagt' }, -{ oid => '1952', - proname => 'byteage', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bytea bytea', prosrc => 'byteage' }, -{ oid => '1953', - proname => 'byteane', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bytea bytea', prosrc => 'byteane' }, -{ oid => '1954', descr => 'less-equal-greater', - proname => 'byteacmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'bytea bytea', prosrc => 'byteacmp' }, -{ oid => '3331', descr => 'sort support', - proname => 'bytea_sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'bytea_sortsupport' }, - -{ oid => '3917', descr => 'planner support for timestamp length coercion', - proname => 'timestamp_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'timestamp_support' }, -{ oid => '3944', descr => 'planner support for time length coercion', - proname => 'time_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'time_support' }, - -{ oid => '1961', descr => 'adjust timestamp precision', - proname => 'timestamp', prosupport => 'timestamp_support', - prorettype => 'timestamp', proargtypes => 'timestamp int4', - prosrc => 'timestamp_scale' }, - -{ oid => '1965', descr => 'larger of two', - proname => 'oidlarger', prorettype => 'oid', proargtypes => 'oid oid', - prosrc => 'oidlarger' }, -{ oid => '1966', descr => 'smaller of two', - proname => 'oidsmaller', prorettype => 'oid', proargtypes => 'oid oid', - prosrc => 'oidsmaller' }, - -{ oid => '1967', descr => 'adjust timestamptz precision', - proname => 'timestamptz', prosupport => 'timestamp_support', - prorettype => 'timestamptz', proargtypes => 'timestamptz int4', - prosrc => 'timestamptz_scale' }, -{ oid => '1968', descr => 'adjust time precision', - proname => 'time', prosupport => 'time_support', prorettype => 'time', - proargtypes => 'time int4', prosrc => 'time_scale' }, -{ oid => '1969', descr => 'adjust time with time zone precision', - proname => 'timetz', prosupport => 'time_support', prorettype => 'timetz', - proargtypes => 'timetz int4', prosrc => 'timetz_scale' }, - -{ oid => '2003', - proname => 'textanycat', prolang => 'sql', provolatile => 's', - prorettype => 'text', proargtypes => 'text anynonarray', - prosrc => 'select $1 operator(pg_catalog.||) $2::pg_catalog.text' }, -{ oid => '2004', - proname => 'anytextcat', prolang => 'sql', provolatile => 's', - prorettype => 'text', proargtypes => 'anynonarray text', - prosrc => 'select $1::pg_catalog.text operator(pg_catalog.||) $2' }, - -{ oid => '2005', - proname => 'bytealike', prosupport => 'textlike_support', - prorettype => 'bool', proargtypes => 'bytea bytea', prosrc => 'bytealike' }, -{ oid => '2006', - proname => 'byteanlike', prorettype => 'bool', proargtypes => 'bytea bytea', - prosrc => 'byteanlike' }, -{ oid => '2007', descr => 'matches LIKE expression', - proname => 'like', prosupport => 'textlike_support', prorettype => 'bool', - proargtypes => 'bytea bytea', prosrc => 'bytealike' }, -{ oid => '2008', descr => 'does not match LIKE expression', - proname => 'notlike', prorettype => 'bool', proargtypes => 'bytea bytea', - prosrc => 'byteanlike' }, -{ oid => '2009', descr => 'convert LIKE pattern to use backslash escapes', - proname => 'like_escape', prorettype => 'bytea', proargtypes => 'bytea bytea', - prosrc => 'like_escape_bytea' }, -{ oid => '2010', descr => 'octet length', - proname => 'length', prorettype => 'int4', proargtypes => 'bytea', - prosrc => 'byteaoctetlen' }, -{ oid => '2011', - proname => 'byteacat', prorettype => 'bytea', proargtypes => 'bytea bytea', - prosrc => 'byteacat' }, -{ oid => '2012', descr => 'extract portion of string', - proname => 'substring', prorettype => 'bytea', - proargtypes => 'bytea int4 int4', prosrc => 'bytea_substr' }, -{ oid => '2013', descr => 'extract portion of string', - proname => 'substring', prorettype => 'bytea', proargtypes => 'bytea int4', - prosrc => 'bytea_substr_no_len' }, -{ oid => '2085', descr => 'extract portion of string', - proname => 'substr', prorettype => 'bytea', proargtypes => 'bytea int4 int4', - prosrc => 'bytea_substr' }, -{ oid => '2086', descr => 'extract portion of string', - proname => 'substr', prorettype => 'bytea', proargtypes => 'bytea int4', - prosrc => 'bytea_substr_no_len' }, -{ oid => '2014', descr => 'position of substring', - proname => 'position', prorettype => 'int4', proargtypes => 'bytea bytea', - prosrc => 'byteapos' }, -{ oid => '2015', descr => 'trim selected bytes from both ends of string', - proname => 'btrim', prorettype => 'bytea', proargtypes => 'bytea bytea', - prosrc => 'byteatrim' }, -{ oid => '6195', descr => 'trim selected bytes from left end of string', - proname => 'ltrim', prorettype => 'bytea', proargtypes => 'bytea bytea', - prosrc => 'bytealtrim' }, -{ oid => '6196', descr => 'trim selected bytes from right end of string', - proname => 'rtrim', prorettype => 'bytea', proargtypes => 'bytea bytea', - prosrc => 'byteartrim' }, - -{ oid => '2019', descr => 'convert timestamp with time zone to time', - proname => 'time', provolatile => 's', prorettype => 'time', - proargtypes => 'timestamptz', prosrc => 'timestamptz_time' }, -{ oid => '2020', descr => 'truncate timestamp to specified units', - proname => 'date_trunc', prorettype => 'timestamp', - proargtypes => 'text timestamp', prosrc => 'timestamp_trunc' }, - -{ oid => '6177', descr => 'bin timestamp into specified interval', - proname => 'date_bin', prorettype => 'timestamp', - proargtypes => 'interval timestamp timestamp', prosrc => 'timestamp_bin' }, -{ oid => '6178', - descr => 'bin timestamp with time zone into specified interval', - proname => 'date_bin', prorettype => 'timestamptz', - proargtypes => 'interval timestamptz timestamptz', - prosrc => 'timestamptz_bin' }, - -{ oid => '2021', descr => 'extract field from timestamp', - proname => 'date_part', prorettype => 'float8', - proargtypes => 'text timestamp', prosrc => 'timestamp_part' }, -{ oid => '6202', descr => 'extract field from timestamp', - proname => 'extract', prorettype => 'numeric', - proargtypes => 'text timestamp', prosrc => 'extract_timestamp' }, -{ oid => '2024', descr => 'convert date to timestamp', - proname => 'timestamp', prorettype => 'timestamp', proargtypes => 'date', - prosrc => 'date_timestamp' }, -{ oid => '2025', descr => 'convert date and time to timestamp', - proname => 'timestamp', prorettype => 'timestamp', proargtypes => 'date time', - prosrc => 'datetime_timestamp' }, -{ oid => '2027', descr => 'convert timestamp with time zone to timestamp', - proname => 'timestamp', provolatile => 's', prorettype => 'timestamp', - proargtypes => 'timestamptz', prosrc => 'timestamptz_timestamp' }, -{ oid => '2028', descr => 'convert timestamp to timestamp with time zone', - proname => 'timestamptz', provolatile => 's', prorettype => 'timestamptz', - proargtypes => 'timestamp', prosrc => 'timestamp_timestamptz' }, -{ oid => '2029', descr => 'convert timestamp to date', - proname => 'date', prorettype => 'date', proargtypes => 'timestamp', - prosrc => 'timestamp_date' }, -{ oid => '2031', - proname => 'timestamp_mi', prorettype => 'interval', - proargtypes => 'timestamp timestamp', prosrc => 'timestamp_mi' }, -{ oid => '2032', - proname => 'timestamp_pl_interval', prorettype => 'timestamp', - proargtypes => 'timestamp interval', prosrc => 'timestamp_pl_interval' }, -{ oid => '2033', - proname => 'timestamp_mi_interval', prorettype => 'timestamp', - proargtypes => 'timestamp interval', prosrc => 'timestamp_mi_interval' }, -{ oid => '2035', descr => 'smaller of two', - proname => 'timestamp_smaller', prorettype => 'timestamp', - proargtypes => 'timestamp timestamp', prosrc => 'timestamp_smaller' }, -{ oid => '2036', descr => 'larger of two', - proname => 'timestamp_larger', prorettype => 'timestamp', - proargtypes => 'timestamp timestamp', prosrc => 'timestamp_larger' }, -{ oid => '2037', descr => 'adjust time with time zone to new zone', - proname => 'timezone', provolatile => 'v', prorettype => 'timetz', - proargtypes => 'text timetz', prosrc => 'timetz_zone' }, -{ oid => '2038', descr => 'adjust time with time zone to new zone', - proname => 'timezone', prorettype => 'timetz', - proargtypes => 'interval timetz', prosrc => 'timetz_izone' }, -{ oid => '2039', descr => 'hash', - proname => 'timestamp_hash', prorettype => 'int4', proargtypes => 'timestamp', - prosrc => 'timestamp_hash' }, -{ oid => '3411', descr => 'hash', - proname => 'timestamp_hash_extended', prorettype => 'int8', - proargtypes => 'timestamp int8', prosrc => 'timestamp_hash_extended' }, -{ oid => '2041', descr => 'intervals overlap?', - proname => 'overlaps', proisstrict => 'f', prorettype => 'bool', - proargtypes => 'timestamp timestamp timestamp timestamp', - prosrc => 'overlaps_timestamp' }, -{ oid => '2042', descr => 'intervals overlap?', - proname => 'overlaps', prolang => 'sql', proisstrict => 'f', - prorettype => 'bool', proargtypes => 'timestamp interval timestamp interval', - prosrc => 'see system_functions.sql' }, -{ oid => '2043', descr => 'intervals overlap?', - proname => 'overlaps', prolang => 'sql', proisstrict => 'f', - prorettype => 'bool', proargtypes => 'timestamp timestamp timestamp interval', - prosrc => 'see system_functions.sql' }, -{ oid => '2044', descr => 'intervals overlap?', - proname => 'overlaps', prolang => 'sql', proisstrict => 'f', - prorettype => 'bool', proargtypes => 'timestamp interval timestamp timestamp', - prosrc => 'see system_functions.sql' }, -{ oid => '2045', descr => 'less-equal-greater', - proname => 'timestamp_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'timestamp timestamp', prosrc => 'timestamp_cmp' }, -{ oid => '3137', descr => 'sort support', - proname => 'timestamp_sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'timestamp_sortsupport' }, - -{ oid => '4134', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'timestamp timestamp interval bool bool', - prosrc => 'in_range_timestamp_interval' }, -{ oid => '4135', descr => 'window RANGE support', - proname => 'in_range', provolatile => 's', prorettype => 'bool', - proargtypes => 'timestamptz timestamptz interval bool bool', - prosrc => 'in_range_timestamptz_interval' }, -{ oid => '4136', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'interval interval interval bool bool', - prosrc => 'in_range_interval_interval' }, -{ oid => '4137', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'time time interval bool bool', - prosrc => 'in_range_time_interval' }, -{ oid => '4138', descr => 'window RANGE support', - proname => 'in_range', prorettype => 'bool', - proargtypes => 'timetz timetz interval bool bool', - prosrc => 'in_range_timetz_interval' }, - -{ oid => '2046', descr => 'convert time with time zone to time', - proname => 'time', prorettype => 'time', proargtypes => 'timetz', - prosrc => 'timetz_time' }, -{ oid => '2047', descr => 'convert time to time with time zone', - proname => 'timetz', provolatile => 's', prorettype => 'timetz', - proargtypes => 'time', prosrc => 'time_timetz' }, -{ oid => '2048', descr => 'finite timestamp?', - proname => 'isfinite', prorettype => 'bool', proargtypes => 'timestamp', - prosrc => 'timestamp_finite' }, -{ oid => '2049', descr => 'format timestamp to text', - proname => 'to_char', provolatile => 's', prorettype => 'text', - proargtypes => 'timestamp text', prosrc => 'timestamp_to_char' }, -{ oid => '2052', - proname => 'timestamp_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timestamp timestamp', prosrc => 'timestamp_eq' }, -{ oid => '2053', - proname => 'timestamp_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timestamp timestamp', prosrc => 'timestamp_ne' }, -{ oid => '2054', - proname => 'timestamp_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timestamp timestamp', prosrc => 'timestamp_lt' }, -{ oid => '2055', - proname => 'timestamp_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timestamp timestamp', prosrc => 'timestamp_le' }, -{ oid => '2056', - proname => 'timestamp_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timestamp timestamp', prosrc => 'timestamp_ge' }, -{ oid => '2057', - proname => 'timestamp_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'timestamp timestamp', prosrc => 'timestamp_gt' }, -{ oid => '2058', descr => 'date difference preserving months and years', - proname => 'age', prorettype => 'interval', - proargtypes => 'timestamp timestamp', prosrc => 'timestamp_age' }, -{ oid => '2059', - descr => 'date difference from today preserving months and years', - proname => 'age', prolang => 'sql', provolatile => 's', - prorettype => 'interval', proargtypes => 'timestamp', - prosrc => 'see system_functions.sql' }, - -{ oid => '2069', descr => 'adjust timestamp to new time zone', - proname => 'timezone', prorettype => 'timestamptz', - proargtypes => 'text timestamp', prosrc => 'timestamp_zone' }, -{ oid => '2070', descr => 'adjust timestamp to new time zone', - proname => 'timezone', prorettype => 'timestamptz', - proargtypes => 'interval timestamp', prosrc => 'timestamp_izone' }, -{ oid => '2071', - proname => 'date_pl_interval', prorettype => 'timestamp', - proargtypes => 'date interval', prosrc => 'date_pl_interval' }, -{ oid => '2072', - proname => 'date_mi_interval', prorettype => 'timestamp', - proargtypes => 'date interval', prosrc => 'date_mi_interval' }, - -{ oid => '2073', descr => 'extract text matching regular expression', - proname => 'substring', prorettype => 'text', proargtypes => 'text text', - prosrc => 'textregexsubstr' }, -{ oid => '2074', descr => 'extract text matching SQL regular expression', - proname => 'substring', prolang => 'sql', prorettype => 'text', - proargtypes => 'text text text', prosrc => 'see system_functions.sql' }, - -{ oid => '2075', descr => 'convert int8 to bitstring', - proname => 'bit', prorettype => 'bit', proargtypes => 'int8 int4', - prosrc => 'bitfromint8' }, -{ oid => '2076', descr => 'convert bitstring to int8', - proname => 'int8', prorettype => 'int8', proargtypes => 'bit', - prosrc => 'bittoint8' }, - -{ oid => '2077', descr => 'SHOW X as a function', - proname => 'current_setting', provolatile => 's', prorettype => 'text', - proargtypes => 'text', prosrc => 'show_config_by_name' }, -{ oid => '3294', - descr => 'SHOW X as a function, optionally no error for missing variable', - proname => 'current_setting', provolatile => 's', prorettype => 'text', - proargtypes => 'text bool', prosrc => 'show_config_by_name_missing_ok' }, -{ oid => '2078', descr => 'SET X as a function', - proname => 'set_config', proisstrict => 'f', provolatile => 'v', - proparallel => 'u', prorettype => 'text', proargtypes => 'text text bool', - prosrc => 'set_config_by_name' }, -{ oid => '2084', descr => 'SHOW ALL as a function', - proname => 'pg_show_all_settings', prorows => '1000', proretset => 't', - provolatile => 's', prorettype => 'record', proargtypes => '', - proallargtypes => '{text,text,text,text,text,text,text,text,text,text,text,_text,text,text,text,int4,bool}', - proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', - proargnames => '{name,setting,unit,category,short_desc,extra_desc,context,vartype,source,min_val,max_val,enumvals,boot_val,reset_val,sourcefile,sourceline,pending_restart}', - prosrc => 'show_all_settings' }, -{ oid => '3329', descr => 'show config file settings', - proname => 'pg_show_all_file_settings', prorows => '1000', proretset => 't', - provolatile => 'v', prorettype => 'record', proargtypes => '', - proallargtypes => '{text,int4,int4,text,text,bool,text}', - proargmodes => '{o,o,o,o,o,o,o}', - proargnames => '{sourcefile,sourceline,seqno,name,setting,applied,error}', - prosrc => 'show_all_file_settings' }, -{ oid => '3401', descr => 'show pg_hba.conf rules', - proname => 'pg_hba_file_rules', prorows => '1000', proretset => 't', - provolatile => 'v', prorettype => 'record', proargtypes => '', - proallargtypes => '{int4,text,_text,_text,text,text,text,_text,text}', - proargmodes => '{o,o,o,o,o,o,o,o,o}', - proargnames => '{line_number,type,database,user_name,address,netmask,auth_method,options,error}', - prosrc => 'pg_hba_file_rules' }, -{ oid => '1371', descr => 'view system lock information', - proname => 'pg_lock_status', prorows => '1000', proretset => 't', - provolatile => 'v', prorettype => 'record', proargtypes => '', - proallargtypes => '{text,oid,oid,int4,int2,text,xid,oid,oid,int2,text,int4,text,bool,bool,timestamptz}', - proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', - proargnames => '{locktype,database,relation,page,tuple,virtualxid,transactionid,classid,objid,objsubid,virtualtransaction,pid,mode,granted,fastpath,waitstart}', - prosrc => 'pg_lock_status' }, -{ oid => '2561', - descr => 'get array of PIDs of sessions blocking specified backend PID from acquiring a heavyweight lock', - proname => 'pg_blocking_pids', provolatile => 'v', prorettype => '_int4', - proargtypes => 'int4', prosrc => 'pg_blocking_pids' }, -{ oid => '3376', - descr => 'get array of PIDs of sessions blocking specified backend PID from acquiring a safe snapshot', - proname => 'pg_safe_snapshot_blocking_pids', provolatile => 'v', - prorettype => '_int4', proargtypes => 'int4', - prosrc => 'pg_safe_snapshot_blocking_pids' }, -{ oid => '3378', descr => 'isolationtester support function', - proname => 'pg_isolation_test_session_is_blocked', provolatile => 'v', - prorettype => 'bool', proargtypes => 'int4 _int4', - prosrc => 'pg_isolation_test_session_is_blocked' }, -{ oid => '1065', descr => 'view two-phase transactions', - proname => 'pg_prepared_xact', prorows => '1000', proretset => 't', - provolatile => 'v', prorettype => 'record', proargtypes => '', - proallargtypes => '{xid,text,timestamptz,oid,oid}', - proargmodes => '{o,o,o,o,o}', - proargnames => '{transaction,gid,prepared,ownerid,dbid}', - prosrc => 'pg_prepared_xact' }, -{ oid => '3819', descr => 'view members of a multixactid', - proname => 'pg_get_multixact_members', prorows => '1000', proretset => 't', - provolatile => 'v', prorettype => 'record', proargtypes => 'xid', - proallargtypes => '{xid,xid,text}', proargmodes => '{i,o,o}', - proargnames => '{multixid,xid,mode}', prosrc => 'pg_get_multixact_members' }, - -{ oid => '3581', descr => 'get commit timestamp of a transaction', - proname => 'pg_xact_commit_timestamp', provolatile => 'v', - prorettype => 'timestamptz', proargtypes => 'xid', - prosrc => 'pg_xact_commit_timestamp' }, - -{ oid => '6168', - descr => 'get commit timestamp and replication origin of a transaction', - proname => 'pg_xact_commit_timestamp_origin', provolatile => 'v', - prorettype => 'record', proargtypes => 'xid', - proallargtypes => '{xid,timestamptz,oid}', proargmodes => '{i,o,o}', - proargnames => '{xid,timestamp,roident}', - prosrc => 'pg_xact_commit_timestamp_origin' }, - -{ oid => '3583', - descr => 'get transaction Id, commit timestamp and replication origin of latest transaction commit', - proname => 'pg_last_committed_xact', provolatile => 'v', - prorettype => 'record', proargtypes => '', - proallargtypes => '{xid,timestamptz,oid}', proargmodes => '{o,o,o}', - proargnames => '{xid,timestamp,roident}', - prosrc => 'pg_last_committed_xact' }, - -{ oid => '3537', descr => 'get identification of SQL object', - proname => 'pg_describe_object', provolatile => 's', prorettype => 'text', - proargtypes => 'oid oid int4', prosrc => 'pg_describe_object' }, - -{ oid => '3839', - descr => 'get machine-parseable identification of SQL object', - proname => 'pg_identify_object', provolatile => 's', prorettype => 'record', - proargtypes => 'oid oid int4', - proallargtypes => '{oid,oid,int4,text,text,text,text}', - proargmodes => '{i,i,i,o,o,o,o}', - proargnames => '{classid,objid,objsubid,type,schema,name,identity}', - prosrc => 'pg_identify_object' }, - -{ oid => '3382', - descr => 'get identification of SQL object for pg_get_object_address()', - proname => 'pg_identify_object_as_address', provolatile => 's', - prorettype => 'record', proargtypes => 'oid oid int4', - proallargtypes => '{oid,oid,int4,text,_text,_text}', - proargmodes => '{i,i,i,o,o,o}', - proargnames => '{classid,objid,objsubid,type,object_names,object_args}', - prosrc => 'pg_identify_object_as_address' }, - -{ oid => '3954', - descr => 'get OID-based object address from name/args arrays', - proname => 'pg_get_object_address', provolatile => 's', - prorettype => 'record', proargtypes => 'text _text _text', - proallargtypes => '{text,_text,_text,oid,oid,int4}', - proargmodes => '{i,i,i,o,o,o}', - proargnames => '{type,object_names,object_args,classid,objid,objsubid}', - prosrc => 'pg_get_object_address' }, - -{ oid => '2079', descr => 'is table visible in search path?', - proname => 'pg_table_is_visible', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid', prosrc => 'pg_table_is_visible' }, -{ oid => '2080', descr => 'is type visible in search path?', - proname => 'pg_type_is_visible', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid', prosrc => 'pg_type_is_visible' }, -{ oid => '2081', descr => 'is function visible in search path?', - proname => 'pg_function_is_visible', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid', - prosrc => 'pg_function_is_visible' }, -{ oid => '2082', descr => 'is operator visible in search path?', - proname => 'pg_operator_is_visible', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid', - prosrc => 'pg_operator_is_visible' }, -{ oid => '2083', descr => 'is opclass visible in search path?', - proname => 'pg_opclass_is_visible', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid', - prosrc => 'pg_opclass_is_visible' }, -{ oid => '3829', descr => 'is opfamily visible in search path?', - proname => 'pg_opfamily_is_visible', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid', - prosrc => 'pg_opfamily_is_visible' }, -{ oid => '2093', descr => 'is conversion visible in search path?', - proname => 'pg_conversion_is_visible', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid', - prosrc => 'pg_conversion_is_visible' }, -{ oid => '3403', descr => 'is statistics object visible in search path?', - proname => 'pg_statistics_obj_is_visible', procost => '10', - provolatile => 's', prorettype => 'bool', proargtypes => 'oid', - prosrc => 'pg_statistics_obj_is_visible' }, -{ oid => '3756', descr => 'is text search parser visible in search path?', - proname => 'pg_ts_parser_is_visible', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid', - prosrc => 'pg_ts_parser_is_visible' }, -{ oid => '3757', descr => 'is text search dictionary visible in search path?', - proname => 'pg_ts_dict_is_visible', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid', - prosrc => 'pg_ts_dict_is_visible' }, -{ oid => '3768', descr => 'is text search template visible in search path?', - proname => 'pg_ts_template_is_visible', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid', - prosrc => 'pg_ts_template_is_visible' }, -{ oid => '3758', - descr => 'is text search configuration visible in search path?', - proname => 'pg_ts_config_is_visible', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid', - prosrc => 'pg_ts_config_is_visible' }, -{ oid => '3815', descr => 'is collation visible in search path?', - proname => 'pg_collation_is_visible', procost => '10', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid', - prosrc => 'pg_collation_is_visible' }, - -{ oid => '2854', descr => 'get OID of current session\'s temp schema, if any', - proname => 'pg_my_temp_schema', provolatile => 's', proparallel => 'r', - prorettype => 'oid', proargtypes => '', prosrc => 'pg_my_temp_schema' }, -{ oid => '2855', descr => 'is schema another session\'s temp schema?', - proname => 'pg_is_other_temp_schema', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid', - prosrc => 'pg_is_other_temp_schema' }, - -{ oid => '2171', descr => 'cancel a server process\' current query', - proname => 'pg_cancel_backend', provolatile => 'v', prorettype => 'bool', - proargtypes => 'int4', prosrc => 'pg_cancel_backend' }, -{ oid => '2096', descr => 'terminate a server process', - proname => 'pg_terminate_backend', provolatile => 'v', prorettype => 'bool', - proargtypes => 'int4 int8', proargnames => '{pid,timeout}', - prosrc => 'pg_terminate_backend' }, -{ oid => '2172', descr => 'prepare for taking an online backup', - proname => 'pg_start_backup', provolatile => 'v', proparallel => 'r', - prorettype => 'pg_lsn', proargtypes => 'text bool bool', - prosrc => 'pg_start_backup' }, -{ oid => '2173', descr => 'finish taking an online backup', - proname => 'pg_stop_backup', provolatile => 'v', proparallel => 'r', - prorettype => 'pg_lsn', proargtypes => '', prosrc => 'pg_stop_backup' }, -{ oid => '2739', descr => 'finish taking an online backup', - proname => 'pg_stop_backup', prorows => '1', proretset => 't', - provolatile => 'v', proparallel => 'r', prorettype => 'record', - proargtypes => 'bool bool', proallargtypes => '{bool,bool,pg_lsn,text,text}', - proargmodes => '{i,i,o,o,o}', - proargnames => '{exclusive,wait_for_archive,lsn,labelfile,spcmapfile}', - prosrc => 'pg_stop_backup_v2' }, -{ oid => '3813', descr => 'true if server is in online backup', - proname => 'pg_is_in_backup', provolatile => 'v', prorettype => 'bool', - proargtypes => '', prosrc => 'pg_is_in_backup' }, -{ oid => '3814', descr => 'start time of an online backup', - proname => 'pg_backup_start_time', provolatile => 's', - prorettype => 'timestamptz', proargtypes => '', - prosrc => 'pg_backup_start_time' }, -{ oid => '3436', descr => 'promote standby server', - proname => 'pg_promote', provolatile => 'v', prorettype => 'bool', - proargtypes => 'bool int4', proargnames => '{wait,wait_seconds}', - prosrc => 'pg_promote' }, -{ oid => '2848', descr => 'switch to new wal file', - proname => 'pg_switch_wal', provolatile => 'v', prorettype => 'pg_lsn', - proargtypes => '', prosrc => 'pg_switch_wal' }, -{ oid => '3098', descr => 'create a named restore point', - proname => 'pg_create_restore_point', provolatile => 'v', - prorettype => 'pg_lsn', proargtypes => 'text', - prosrc => 'pg_create_restore_point' }, -{ oid => '2849', descr => 'current wal write location', - proname => 'pg_current_wal_lsn', provolatile => 'v', prorettype => 'pg_lsn', - proargtypes => '', prosrc => 'pg_current_wal_lsn' }, -{ oid => '2852', descr => 'current wal insert location', - proname => 'pg_current_wal_insert_lsn', provolatile => 'v', - prorettype => 'pg_lsn', proargtypes => '', - prosrc => 'pg_current_wal_insert_lsn' }, -{ oid => '3330', descr => 'current wal flush location', - proname => 'pg_current_wal_flush_lsn', provolatile => 'v', - prorettype => 'pg_lsn', proargtypes => '', - prosrc => 'pg_current_wal_flush_lsn' }, -{ oid => '2850', - descr => 'wal filename and byte offset, given a wal location', - proname => 'pg_walfile_name_offset', prorettype => 'record', - proargtypes => 'pg_lsn', proallargtypes => '{pg_lsn,text,int4}', - proargmodes => '{i,o,o}', proargnames => '{lsn,file_name,file_offset}', - prosrc => 'pg_walfile_name_offset' }, -{ oid => '2851', descr => 'wal filename, given a wal location', - proname => 'pg_walfile_name', prorettype => 'text', proargtypes => 'pg_lsn', - prosrc => 'pg_walfile_name' }, - -{ oid => '3165', descr => 'difference in bytes, given two wal locations', - proname => 'pg_wal_lsn_diff', prorettype => 'numeric', - proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_wal_lsn_diff' }, - -{ oid => '3809', descr => 'export a snapshot', - proname => 'pg_export_snapshot', provolatile => 'v', proparallel => 'u', - prorettype => 'text', proargtypes => '', prosrc => 'pg_export_snapshot' }, - -{ oid => '3810', descr => 'true if server is in recovery', - proname => 'pg_is_in_recovery', provolatile => 'v', prorettype => 'bool', - proargtypes => '', prosrc => 'pg_is_in_recovery' }, - -{ oid => '3820', descr => 'current wal flush location', - proname => 'pg_last_wal_receive_lsn', provolatile => 'v', - prorettype => 'pg_lsn', proargtypes => '', - prosrc => 'pg_last_wal_receive_lsn' }, -{ oid => '3821', descr => 'last wal replay location', - proname => 'pg_last_wal_replay_lsn', provolatile => 'v', - prorettype => 'pg_lsn', proargtypes => '', - prosrc => 'pg_last_wal_replay_lsn' }, -{ oid => '3830', descr => 'timestamp of last replay xact', - proname => 'pg_last_xact_replay_timestamp', provolatile => 'v', - prorettype => 'timestamptz', proargtypes => '', - prosrc => 'pg_last_xact_replay_timestamp' }, - -{ oid => '3071', descr => 'pause wal replay', - proname => 'pg_wal_replay_pause', provolatile => 'v', prorettype => 'void', - proargtypes => '', prosrc => 'pg_wal_replay_pause' }, -{ oid => '3072', descr => 'resume wal replay, if it was paused', - proname => 'pg_wal_replay_resume', provolatile => 'v', prorettype => 'void', - proargtypes => '', prosrc => 'pg_wal_replay_resume' }, -{ oid => '3073', descr => 'true if wal replay is paused', - proname => 'pg_is_wal_replay_paused', provolatile => 'v', - prorettype => 'bool', proargtypes => '', - prosrc => 'pg_is_wal_replay_paused' }, -{ oid => '1137', descr => 'get wal replay pause state', - proname => 'pg_get_wal_replay_pause_state', provolatile => 'v', - prorettype => 'text', proargtypes => '', - prosrc => 'pg_get_wal_replay_pause_state' }, - -{ oid => '2621', descr => 'reload configuration files', - proname => 'pg_reload_conf', provolatile => 'v', prorettype => 'bool', - proargtypes => '', prosrc => 'pg_reload_conf' }, -{ oid => '2622', descr => 'rotate log file', - proname => 'pg_rotate_logfile', provolatile => 'v', prorettype => 'bool', - proargtypes => '', prosrc => 'pg_rotate_logfile_v2' }, -{ oid => '4099', descr => 'rotate log file - old version for adminpack 1.0', - proname => 'pg_rotate_logfile_old', provolatile => 'v', prorettype => 'bool', - proargtypes => '', prosrc => 'pg_rotate_logfile' }, -{ oid => '3800', descr => 'current logging collector file location', - proname => 'pg_current_logfile', proisstrict => 'f', provolatile => 'v', - prorettype => 'text', proargtypes => '', prosrc => 'pg_current_logfile' }, -{ oid => '3801', descr => 'current logging collector file location', - proname => 'pg_current_logfile', proisstrict => 'f', provolatile => 'v', - prorettype => 'text', proargtypes => 'text', - prosrc => 'pg_current_logfile_1arg' }, - -{ oid => '2623', descr => 'get information about file', - proname => 'pg_stat_file', provolatile => 'v', prorettype => 'record', - proargtypes => 'text', - proallargtypes => '{text,int8,timestamptz,timestamptz,timestamptz,timestamptz,bool}', - proargmodes => '{i,o,o,o,o,o,o}', - proargnames => '{filename,size,access,modification,change,creation,isdir}', - prosrc => 'pg_stat_file_1arg' }, -{ oid => '3307', descr => 'get information about file', - proname => 'pg_stat_file', provolatile => 'v', prorettype => 'record', - proargtypes => 'text bool', - proallargtypes => '{text,bool,int8,timestamptz,timestamptz,timestamptz,timestamptz,bool}', - proargmodes => '{i,i,o,o,o,o,o,o}', - proargnames => '{filename,missing_ok,size,access,modification,change,creation,isdir}', - prosrc => 'pg_stat_file' }, -{ oid => '2624', descr => 'read text from a file', - proname => 'pg_read_file', provolatile => 'v', prorettype => 'text', - proargtypes => 'text int8 int8', prosrc => 'pg_read_file_off_len' }, -{ oid => '3293', descr => 'read text from a file', - proname => 'pg_read_file', provolatile => 'v', prorettype => 'text', - proargtypes => 'text int8 int8 bool', prosrc => 'pg_read_file_v2' }, -{ oid => '4100', - descr => 'read text from a file - old version for adminpack 1.0', - proname => 'pg_read_file_old', provolatile => 'v', prorettype => 'text', - proargtypes => 'text int8 int8', prosrc => 'pg_read_file' }, -{ oid => '3826', descr => 'read text from a file', - proname => 'pg_read_file', provolatile => 'v', prorettype => 'text', - proargtypes => 'text', prosrc => 'pg_read_file_all' }, -{ oid => '3827', descr => 'read bytea from a file', - proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea', - proargtypes => 'text int8 int8', prosrc => 'pg_read_binary_file_off_len' }, -{ oid => '3295', descr => 'read bytea from a file', - proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea', - proargtypes => 'text int8 int8 bool', prosrc => 'pg_read_binary_file' }, -{ oid => '3828', descr => 'read bytea from a file', - proname => 'pg_read_binary_file', provolatile => 'v', prorettype => 'bytea', - proargtypes => 'text', prosrc => 'pg_read_binary_file_all' }, -{ oid => '2625', descr => 'list all files in a directory', - proname => 'pg_ls_dir', prorows => '1000', proretset => 't', - provolatile => 'v', prorettype => 'text', proargtypes => 'text', - prosrc => 'pg_ls_dir_1arg' }, -{ oid => '3297', descr => 'list all files in a directory', - proname => 'pg_ls_dir', prorows => '1000', proretset => 't', - provolatile => 'v', prorettype => 'text', proargtypes => 'text bool bool', - prosrc => 'pg_ls_dir' }, -{ oid => '2626', descr => 'sleep for the specified time in seconds', - proname => 'pg_sleep', provolatile => 'v', prorettype => 'void', - proargtypes => 'float8', prosrc => 'pg_sleep' }, -{ oid => '3935', descr => 'sleep for the specified interval', - proname => 'pg_sleep_for', prolang => 'sql', provolatile => 'v', - prorettype => 'void', proargtypes => 'interval', - prosrc => 'see system_functions.sql' }, -{ oid => '3936', descr => 'sleep until the specified time', - proname => 'pg_sleep_until', prolang => 'sql', provolatile => 'v', - prorettype => 'void', proargtypes => 'timestamptz', - prosrc => 'see system_functions.sql' }, -{ oid => '315', descr => 'Is JIT compilation available in this session?', - proname => 'pg_jit_available', provolatile => 'v', prorettype => 'bool', - proargtypes => '', prosrc => 'pg_jit_available' }, - -{ oid => '2971', descr => 'convert boolean to text', - proname => 'text', prorettype => 'text', proargtypes => 'bool', - prosrc => 'booltext' }, - -# Aggregates (moved here from pg_aggregate for 7.3) - -{ oid => '2100', - descr => 'the average (arithmetic mean) as numeric of all bigint values', - proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'int8', prosrc => 'aggregate_dummy' }, -{ oid => '2101', - descr => 'the average (arithmetic mean) as numeric of all integer values', - proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'int4', prosrc => 'aggregate_dummy' }, -{ oid => '2102', - descr => 'the average (arithmetic mean) as numeric of all smallint values', - proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'int2', prosrc => 'aggregate_dummy' }, -{ oid => '2103', - descr => 'the average (arithmetic mean) as numeric of all numeric values', - proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'numeric', prosrc => 'aggregate_dummy' }, -{ oid => '2104', - descr => 'the average (arithmetic mean) as float8 of all float4 values', - proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'float8', - proargtypes => 'float4', prosrc => 'aggregate_dummy' }, -{ oid => '2105', - descr => 'the average (arithmetic mean) as float8 of all float8 values', - proname => 'avg', prokind => 'a', proisstrict => 'f', prorettype => 'float8', - proargtypes => 'float8', prosrc => 'aggregate_dummy' }, -{ oid => '2106', - descr => 'the average (arithmetic mean) as interval of all interval values', - proname => 'avg', prokind => 'a', proisstrict => 'f', - prorettype => 'interval', proargtypes => 'interval', - prosrc => 'aggregate_dummy' }, - -{ oid => '2107', descr => 'sum as numeric across all bigint input values', - proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'int8', prosrc => 'aggregate_dummy' }, -{ oid => '2108', descr => 'sum as bigint across all integer input values', - proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'int8', - proargtypes => 'int4', prosrc => 'aggregate_dummy' }, -{ oid => '2109', descr => 'sum as bigint across all smallint input values', - proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'int8', - proargtypes => 'int2', prosrc => 'aggregate_dummy' }, -{ oid => '2110', descr => 'sum as float4 across all float4 input values', - proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'float4', - proargtypes => 'float4', prosrc => 'aggregate_dummy' }, -{ oid => '2111', descr => 'sum as float8 across all float8 input values', - proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'float8', - proargtypes => 'float8', prosrc => 'aggregate_dummy' }, -{ oid => '2112', descr => 'sum as money across all money input values', - proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'money', - proargtypes => 'money', prosrc => 'aggregate_dummy' }, -{ oid => '2113', descr => 'sum as interval across all interval input values', - proname => 'sum', prokind => 'a', proisstrict => 'f', - prorettype => 'interval', proargtypes => 'interval', - prosrc => 'aggregate_dummy' }, -{ oid => '2114', descr => 'sum as numeric across all numeric input values', - proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'numeric', prosrc => 'aggregate_dummy' }, - -{ oid => '2115', descr => 'maximum value of all bigint input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int8', - proargtypes => 'int8', prosrc => 'aggregate_dummy' }, -{ oid => '2116', descr => 'maximum value of all integer input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int4', - proargtypes => 'int4', prosrc => 'aggregate_dummy' }, -{ oid => '2117', descr => 'maximum value of all smallint input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int2', - proargtypes => 'int2', prosrc => 'aggregate_dummy' }, -{ oid => '2118', descr => 'maximum value of all oid input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'oid', - proargtypes => 'oid', prosrc => 'aggregate_dummy' }, -{ oid => '2119', descr => 'maximum value of all float4 input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'float4', - proargtypes => 'float4', prosrc => 'aggregate_dummy' }, -{ oid => '2120', descr => 'maximum value of all float8 input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'float8', - proargtypes => 'float8', prosrc => 'aggregate_dummy' }, -{ oid => '2122', descr => 'maximum value of all date input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'date', - proargtypes => 'date', prosrc => 'aggregate_dummy' }, -{ oid => '2123', descr => 'maximum value of all time input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'time', - proargtypes => 'time', prosrc => 'aggregate_dummy' }, -{ oid => '2124', - descr => 'maximum value of all time with time zone input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'timetz', - proargtypes => 'timetz', prosrc => 'aggregate_dummy' }, -{ oid => '2125', descr => 'maximum value of all money input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'money', - proargtypes => 'money', prosrc => 'aggregate_dummy' }, -{ oid => '2126', descr => 'maximum value of all timestamp input values', - proname => 'max', prokind => 'a', proisstrict => 'f', - prorettype => 'timestamp', proargtypes => 'timestamp', - prosrc => 'aggregate_dummy' }, -{ oid => '2127', - descr => 'maximum value of all timestamp with time zone input values', - proname => 'max', prokind => 'a', proisstrict => 'f', - prorettype => 'timestamptz', proargtypes => 'timestamptz', - prosrc => 'aggregate_dummy' }, -{ oid => '2128', descr => 'maximum value of all interval input values', - proname => 'max', prokind => 'a', proisstrict => 'f', - prorettype => 'interval', proargtypes => 'interval', - prosrc => 'aggregate_dummy' }, -{ oid => '2129', descr => 'maximum value of all text input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'text', - proargtypes => 'text', prosrc => 'aggregate_dummy' }, -{ oid => '2130', descr => 'maximum value of all numeric input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'numeric', prosrc => 'aggregate_dummy' }, -{ oid => '2050', descr => 'maximum value of all anyarray input values', - proname => 'max', prokind => 'a', proisstrict => 'f', - prorettype => 'anyarray', proargtypes => 'anyarray', - prosrc => 'aggregate_dummy' }, -{ oid => '2244', descr => 'maximum value of all bpchar input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'bpchar', - proargtypes => 'bpchar', prosrc => 'aggregate_dummy' }, -{ oid => '2797', descr => 'maximum value of all tid input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'tid', - proargtypes => 'tid', prosrc => 'aggregate_dummy' }, -{ oid => '3564', descr => 'maximum value of all inet input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'inet', - proargtypes => 'inet', prosrc => 'aggregate_dummy' }, -{ oid => '4189', descr => 'maximum value of all pg_lsn input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'pg_lsn', - proargtypes => 'pg_lsn', prosrc => 'aggregate_dummy' }, - -{ oid => '2131', descr => 'minimum value of all bigint input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int8', - proargtypes => 'int8', prosrc => 'aggregate_dummy' }, -{ oid => '2132', descr => 'minimum value of all integer input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int4', - proargtypes => 'int4', prosrc => 'aggregate_dummy' }, -{ oid => '2133', descr => 'minimum value of all smallint input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int2', - proargtypes => 'int2', prosrc => 'aggregate_dummy' }, -{ oid => '2134', descr => 'minimum value of all oid input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'oid', - proargtypes => 'oid', prosrc => 'aggregate_dummy' }, -{ oid => '2135', descr => 'minimum value of all float4 input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'float4', - proargtypes => 'float4', prosrc => 'aggregate_dummy' }, -{ oid => '2136', descr => 'minimum value of all float8 input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'float8', - proargtypes => 'float8', prosrc => 'aggregate_dummy' }, -{ oid => '2138', descr => 'minimum value of all date input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'date', - proargtypes => 'date', prosrc => 'aggregate_dummy' }, -{ oid => '2139', descr => 'minimum value of all time input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'time', - proargtypes => 'time', prosrc => 'aggregate_dummy' }, -{ oid => '2140', - descr => 'minimum value of all time with time zone input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'timetz', - proargtypes => 'timetz', prosrc => 'aggregate_dummy' }, -{ oid => '2141', descr => 'minimum value of all money input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'money', - proargtypes => 'money', prosrc => 'aggregate_dummy' }, -{ oid => '2142', descr => 'minimum value of all timestamp input values', - proname => 'min', prokind => 'a', proisstrict => 'f', - prorettype => 'timestamp', proargtypes => 'timestamp', - prosrc => 'aggregate_dummy' }, -{ oid => '2143', - descr => 'minimum value of all timestamp with time zone input values', - proname => 'min', prokind => 'a', proisstrict => 'f', - prorettype => 'timestamptz', proargtypes => 'timestamptz', - prosrc => 'aggregate_dummy' }, -{ oid => '2144', descr => 'minimum value of all interval input values', - proname => 'min', prokind => 'a', proisstrict => 'f', - prorettype => 'interval', proargtypes => 'interval', - prosrc => 'aggregate_dummy' }, -{ oid => '2145', descr => 'minimum value of all text values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'text', - proargtypes => 'text', prosrc => 'aggregate_dummy' }, -{ oid => '2146', descr => 'minimum value of all numeric input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'numeric', - proargtypes => 'numeric', prosrc => 'aggregate_dummy' }, -{ oid => '2051', descr => 'minimum value of all anyarray input values', - proname => 'min', prokind => 'a', proisstrict => 'f', - prorettype => 'anyarray', proargtypes => 'anyarray', - prosrc => 'aggregate_dummy' }, -{ oid => '2245', descr => 'minimum value of all bpchar input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'bpchar', - proargtypes => 'bpchar', prosrc => 'aggregate_dummy' }, -{ oid => '2798', descr => 'minimum value of all tid input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'tid', - proargtypes => 'tid', prosrc => 'aggregate_dummy' }, -{ oid => '3565', descr => 'minimum value of all inet input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'inet', - proargtypes => 'inet', prosrc => 'aggregate_dummy' }, -{ oid => '4190', descr => 'minimum value of all pg_lsn input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'pg_lsn', - proargtypes => 'pg_lsn', prosrc => 'aggregate_dummy' }, - -# count has two forms: count(any) and count(*) -{ oid => '2147', - descr => 'number of input rows for which the input expression is not null', - proname => 'count', prokind => 'a', proisstrict => 'f', prorettype => 'int8', - proargtypes => 'any', prosrc => 'aggregate_dummy' }, -{ oid => '2803', descr => 'number of input rows', - proname => 'count', prokind => 'a', proisstrict => 'f', prorettype => 'int8', - proargtypes => '', prosrc => 'aggregate_dummy' }, - -{ oid => '2718', - descr => 'population variance of bigint input values (square of the population standard deviation)', - proname => 'var_pop', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, -{ oid => '2719', - descr => 'population variance of integer input values (square of the population standard deviation)', - proname => 'var_pop', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, -{ oid => '2720', - descr => 'population variance of smallint input values (square of the population standard deviation)', - proname => 'var_pop', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, -{ oid => '2721', - descr => 'population variance of float4 input values (square of the population standard deviation)', - proname => 'var_pop', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float4', - prosrc => 'aggregate_dummy' }, -{ oid => '2722', - descr => 'population variance of float8 input values (square of the population standard deviation)', - proname => 'var_pop', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2723', - descr => 'population variance of numeric input values (square of the population standard deviation)', - proname => 'var_pop', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'aggregate_dummy' }, - -{ oid => '2641', - descr => 'sample variance of bigint input values (square of the sample standard deviation)', - proname => 'var_samp', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, -{ oid => '2642', - descr => 'sample variance of integer input values (square of the sample standard deviation)', - proname => 'var_samp', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, -{ oid => '2643', - descr => 'sample variance of smallint input values (square of the sample standard deviation)', - proname => 'var_samp', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, -{ oid => '2644', - descr => 'sample variance of float4 input values (square of the sample standard deviation)', - proname => 'var_samp', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float4', - prosrc => 'aggregate_dummy' }, - -{ oid => '2645', - descr => 'sample variance of float8 input values (square of the sample standard deviation)', - proname => 'var_samp', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2646', - descr => 'sample variance of numeric input values (square of the sample standard deviation)', - proname => 'var_samp', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'aggregate_dummy' }, - -{ oid => '2148', descr => 'historical alias for var_samp', - proname => 'variance', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, -{ oid => '2149', descr => 'historical alias for var_samp', - proname => 'variance', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, -{ oid => '2150', descr => 'historical alias for var_samp', - proname => 'variance', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, -{ oid => '2151', descr => 'historical alias for var_samp', - proname => 'variance', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float4', - prosrc => 'aggregate_dummy' }, -{ oid => '2152', descr => 'historical alias for var_samp', - proname => 'variance', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2153', descr => 'historical alias for var_samp', - proname => 'variance', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'aggregate_dummy' }, - -{ oid => '2724', - descr => 'population standard deviation of bigint input values', - proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, -{ oid => '2725', - descr => 'population standard deviation of integer input values', - proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, -{ oid => '2726', - descr => 'population standard deviation of smallint input values', - proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, -{ oid => '2727', - descr => 'population standard deviation of float4 input values', - proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float4', - prosrc => 'aggregate_dummy' }, -{ oid => '2728', - descr => 'population standard deviation of float8 input values', - proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2729', - descr => 'population standard deviation of numeric input values', - proname => 'stddev_pop', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'aggregate_dummy' }, - -{ oid => '2712', descr => 'sample standard deviation of bigint input values', - proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, -{ oid => '2713', descr => 'sample standard deviation of integer input values', - proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, -{ oid => '2714', - descr => 'sample standard deviation of smallint input values', - proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, -{ oid => '2715', descr => 'sample standard deviation of float4 input values', - proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float4', - prosrc => 'aggregate_dummy' }, -{ oid => '2716', descr => 'sample standard deviation of float8 input values', - proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2717', descr => 'sample standard deviation of numeric input values', - proname => 'stddev_samp', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'aggregate_dummy' }, - -{ oid => '2154', descr => 'historical alias for stddev_samp', - proname => 'stddev', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, -{ oid => '2155', descr => 'historical alias for stddev_samp', - proname => 'stddev', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, -{ oid => '2156', descr => 'historical alias for stddev_samp', - proname => 'stddev', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, -{ oid => '2157', descr => 'historical alias for stddev_samp', - proname => 'stddev', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float4', - prosrc => 'aggregate_dummy' }, -{ oid => '2158', descr => 'historical alias for stddev_samp', - proname => 'stddev', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2159', descr => 'historical alias for stddev_samp', - proname => 'stddev', prokind => 'a', proisstrict => 'f', - prorettype => 'numeric', proargtypes => 'numeric', - prosrc => 'aggregate_dummy' }, - -{ oid => '2818', - descr => 'number of input rows in which both expressions are not null', - proname => 'regr_count', prokind => 'a', proisstrict => 'f', - prorettype => 'int8', proargtypes => 'float8 float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2819', - descr => 'sum of squares of the independent variable (sum(X^2) - sum(X)^2/N)', - proname => 'regr_sxx', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2820', - descr => 'sum of squares of the dependent variable (sum(Y^2) - sum(Y)^2/N)', - proname => 'regr_syy', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2821', - descr => 'sum of products of independent times dependent variable (sum(X*Y) - sum(X) * sum(Y)/N)', - proname => 'regr_sxy', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2822', descr => 'average of the independent variable (sum(X)/N)', - proname => 'regr_avgx', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2823', descr => 'average of the dependent variable (sum(Y)/N)', - proname => 'regr_avgy', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2824', descr => 'square of the correlation coefficient', - proname => 'regr_r2', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2825', - descr => 'slope of the least-squares-fit linear equation determined by the (X, Y) pairs', - proname => 'regr_slope', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2826', - descr => 'y-intercept of the least-squares-fit linear equation determined by the (X, Y) pairs', - proname => 'regr_intercept', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'aggregate_dummy' }, - -{ oid => '2827', descr => 'population covariance', - proname => 'covar_pop', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2828', descr => 'sample covariance', - proname => 'covar_samp', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'aggregate_dummy' }, -{ oid => '2829', descr => 'correlation coefficient', - proname => 'corr', prokind => 'a', proisstrict => 'f', prorettype => 'float8', - proargtypes => 'float8 float8', prosrc => 'aggregate_dummy' }, - -{ oid => '2160', - proname => 'text_pattern_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'text_pattern_lt' }, -{ oid => '2161', - proname => 'text_pattern_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'text_pattern_le' }, -{ oid => '2163', - proname => 'text_pattern_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'text_pattern_ge' }, -{ oid => '2164', - proname => 'text_pattern_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'text_pattern_gt' }, -{ oid => '2166', descr => 'less-equal-greater', - proname => 'bttext_pattern_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'text text', prosrc => 'bttext_pattern_cmp' }, -{ oid => '3332', descr => 'sort support', - proname => 'bttext_pattern_sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'bttext_pattern_sortsupport' }, - -{ oid => '2174', - proname => 'bpchar_pattern_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_lt' }, -{ oid => '2175', - proname => 'bpchar_pattern_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_le' }, -{ oid => '2177', - proname => 'bpchar_pattern_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_ge' }, -{ oid => '2178', - proname => 'bpchar_pattern_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'bpchar bpchar', prosrc => 'bpchar_pattern_gt' }, -{ oid => '2180', descr => 'less-equal-greater', - proname => 'btbpchar_pattern_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'bpchar bpchar', prosrc => 'btbpchar_pattern_cmp' }, -{ oid => '3333', descr => 'sort support', - proname => 'btbpchar_pattern_sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'btbpchar_pattern_sortsupport' }, - -{ oid => '2188', descr => 'less-equal-greater', - proname => 'btint48cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'int4 int8', prosrc => 'btint48cmp' }, -{ oid => '2189', descr => 'less-equal-greater', - proname => 'btint84cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'int8 int4', prosrc => 'btint84cmp' }, -{ oid => '2190', descr => 'less-equal-greater', - proname => 'btint24cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'int2 int4', prosrc => 'btint24cmp' }, -{ oid => '2191', descr => 'less-equal-greater', - proname => 'btint42cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'int4 int2', prosrc => 'btint42cmp' }, -{ oid => '2192', descr => 'less-equal-greater', - proname => 'btint28cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'int2 int8', prosrc => 'btint28cmp' }, -{ oid => '2193', descr => 'less-equal-greater', - proname => 'btint82cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'int8 int2', prosrc => 'btint82cmp' }, -{ oid => '2194', descr => 'less-equal-greater', - proname => 'btfloat48cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'float4 float8', prosrc => 'btfloat48cmp' }, -{ oid => '2195', descr => 'less-equal-greater', - proname => 'btfloat84cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'float8 float4', prosrc => 'btfloat84cmp' }, - -{ oid => '2212', descr => 'I/O', - proname => 'regprocedurein', provolatile => 's', prorettype => 'regprocedure', - proargtypes => 'cstring', prosrc => 'regprocedurein' }, -{ oid => '2213', descr => 'I/O', - proname => 'regprocedureout', provolatile => 's', prorettype => 'cstring', - proargtypes => 'regprocedure', prosrc => 'regprocedureout' }, -{ oid => '2214', descr => 'I/O', - proname => 'regoperin', provolatile => 's', prorettype => 'regoper', - proargtypes => 'cstring', prosrc => 'regoperin' }, -{ oid => '2215', descr => 'I/O', - proname => 'regoperout', provolatile => 's', prorettype => 'cstring', - proargtypes => 'regoper', prosrc => 'regoperout' }, -{ oid => '3492', descr => 'convert operator name to regoper', - proname => 'to_regoper', provolatile => 's', prorettype => 'regoper', - proargtypes => 'text', prosrc => 'to_regoper' }, -{ oid => '3476', descr => 'convert operator name to regoperator', - proname => 'to_regoperator', provolatile => 's', prorettype => 'regoperator', - proargtypes => 'text', prosrc => 'to_regoperator' }, -{ oid => '2216', descr => 'I/O', - proname => 'regoperatorin', provolatile => 's', prorettype => 'regoperator', - proargtypes => 'cstring', prosrc => 'regoperatorin' }, -{ oid => '2217', descr => 'I/O', - proname => 'regoperatorout', provolatile => 's', prorettype => 'cstring', - proargtypes => 'regoperator', prosrc => 'regoperatorout' }, -{ oid => '2218', descr => 'I/O', - proname => 'regclassin', provolatile => 's', prorettype => 'regclass', - proargtypes => 'cstring', prosrc => 'regclassin' }, -{ oid => '2219', descr => 'I/O', - proname => 'regclassout', provolatile => 's', prorettype => 'cstring', - proargtypes => 'regclass', prosrc => 'regclassout' }, -{ oid => '3495', descr => 'convert classname to regclass', - proname => 'to_regclass', provolatile => 's', prorettype => 'regclass', - proargtypes => 'text', prosrc => 'to_regclass' }, -{ oid => '4193', descr => 'I/O', - proname => 'regcollationin', provolatile => 's', prorettype => 'regcollation', - proargtypes => 'cstring', prosrc => 'regcollationin' }, -{ oid => '4194', descr => 'I/O', - proname => 'regcollationout', provolatile => 's', prorettype => 'cstring', - proargtypes => 'regcollation', prosrc => 'regcollationout' }, -{ oid => '4195', descr => 'convert classname to regcollation', - proname => 'to_regcollation', provolatile => 's', - prorettype => 'regcollation', proargtypes => 'text', - prosrc => 'to_regcollation' }, -{ oid => '2220', descr => 'I/O', - proname => 'regtypein', provolatile => 's', prorettype => 'regtype', - proargtypes => 'cstring', prosrc => 'regtypein' }, -{ oid => '2221', descr => 'I/O', - proname => 'regtypeout', provolatile => 's', prorettype => 'cstring', - proargtypes => 'regtype', prosrc => 'regtypeout' }, -{ oid => '3493', descr => 'convert type name to regtype', - proname => 'to_regtype', provolatile => 's', prorettype => 'regtype', - proargtypes => 'text', prosrc => 'to_regtype' }, -{ oid => '1079', descr => 'convert text to regclass', - proname => 'regclass', provolatile => 's', prorettype => 'regclass', - proargtypes => 'text', prosrc => 'text_regclass' }, - -{ oid => '4098', descr => 'I/O', - proname => 'regrolein', provolatile => 's', prorettype => 'regrole', - proargtypes => 'cstring', prosrc => 'regrolein' }, -{ oid => '4092', descr => 'I/O', - proname => 'regroleout', provolatile => 's', prorettype => 'cstring', - proargtypes => 'regrole', prosrc => 'regroleout' }, -{ oid => '4093', descr => 'convert role name to regrole', - proname => 'to_regrole', provolatile => 's', prorettype => 'regrole', - proargtypes => 'text', prosrc => 'to_regrole' }, - -{ oid => '4084', descr => 'I/O', - proname => 'regnamespacein', provolatile => 's', prorettype => 'regnamespace', - proargtypes => 'cstring', prosrc => 'regnamespacein' }, -{ oid => '4085', descr => 'I/O', - proname => 'regnamespaceout', provolatile => 's', prorettype => 'cstring', - proargtypes => 'regnamespace', prosrc => 'regnamespaceout' }, -{ oid => '4086', descr => 'convert namespace name to regnamespace', - proname => 'to_regnamespace', provolatile => 's', - prorettype => 'regnamespace', proargtypes => 'text', - prosrc => 'to_regnamespace' }, - -{ oid => '1268', - descr => 'parse qualified identifier to array of identifiers', - proname => 'parse_ident', prorettype => '_text', proargtypes => 'text bool', - proargnames => '{str,strict}', prosrc => 'parse_ident' }, - -{ oid => '2246', descr => '(internal)', - proname => 'fmgr_internal_validator', provolatile => 's', - prorettype => 'void', proargtypes => 'oid', - prosrc => 'fmgr_internal_validator' }, -{ oid => '2247', descr => '(internal)', - proname => 'fmgr_c_validator', provolatile => 's', prorettype => 'void', - proargtypes => 'oid', prosrc => 'fmgr_c_validator' }, -{ oid => '2248', descr => '(internal)', - proname => 'fmgr_sql_validator', provolatile => 's', prorettype => 'void', - proargtypes => 'oid', prosrc => 'fmgr_sql_validator' }, - -{ oid => '2250', - descr => 'user privilege on database by username, database name', - proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name text text', - prosrc => 'has_database_privilege_name_name' }, -{ oid => '2251', - descr => 'user privilege on database by username, database oid', - proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name oid text', prosrc => 'has_database_privilege_name_id' }, -{ oid => '2252', - descr => 'user privilege on database by user oid, database name', - proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text text', prosrc => 'has_database_privilege_id_name' }, -{ oid => '2253', - descr => 'user privilege on database by user oid, database oid', - proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid oid text', prosrc => 'has_database_privilege_id_id' }, -{ oid => '2254', - descr => 'current user privilege on database by database name', - proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'has_database_privilege_name' }, -{ oid => '2255', - descr => 'current user privilege on database by database oid', - proname => 'has_database_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text', prosrc => 'has_database_privilege_id' }, - -{ oid => '2256', - descr => 'user privilege on function by username, function name', - proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name text text', - prosrc => 'has_function_privilege_name_name' }, -{ oid => '2257', - descr => 'user privilege on function by username, function oid', - proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name oid text', prosrc => 'has_function_privilege_name_id' }, -{ oid => '2258', - descr => 'user privilege on function by user oid, function name', - proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text text', prosrc => 'has_function_privilege_id_name' }, -{ oid => '2259', - descr => 'user privilege on function by user oid, function oid', - proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid oid text', prosrc => 'has_function_privilege_id_id' }, -{ oid => '2260', - descr => 'current user privilege on function by function name', - proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'has_function_privilege_name' }, -{ oid => '2261', - descr => 'current user privilege on function by function oid', - proname => 'has_function_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text', prosrc => 'has_function_privilege_id' }, - -{ oid => '2262', - descr => 'user privilege on language by username, language name', - proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name text text', - prosrc => 'has_language_privilege_name_name' }, -{ oid => '2263', - descr => 'user privilege on language by username, language oid', - proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name oid text', prosrc => 'has_language_privilege_name_id' }, -{ oid => '2264', - descr => 'user privilege on language by user oid, language name', - proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text text', prosrc => 'has_language_privilege_id_name' }, -{ oid => '2265', - descr => 'user privilege on language by user oid, language oid', - proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid oid text', prosrc => 'has_language_privilege_id_id' }, -{ oid => '2266', - descr => 'current user privilege on language by language name', - proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'has_language_privilege_name' }, -{ oid => '2267', - descr => 'current user privilege on language by language oid', - proname => 'has_language_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text', prosrc => 'has_language_privilege_id' }, - -{ oid => '2268', descr => 'user privilege on schema by username, schema name', - proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name text text', prosrc => 'has_schema_privilege_name_name' }, -{ oid => '2269', descr => 'user privilege on schema by username, schema oid', - proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name oid text', prosrc => 'has_schema_privilege_name_id' }, -{ oid => '2270', descr => 'user privilege on schema by user oid, schema name', - proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text text', prosrc => 'has_schema_privilege_id_name' }, -{ oid => '2271', descr => 'user privilege on schema by user oid, schema oid', - proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid oid text', prosrc => 'has_schema_privilege_id_id' }, -{ oid => '2272', descr => 'current user privilege on schema by schema name', - proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'has_schema_privilege_name' }, -{ oid => '2273', descr => 'current user privilege on schema by schema oid', - proname => 'has_schema_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text', prosrc => 'has_schema_privilege_id' }, - -{ oid => '2390', - descr => 'user privilege on tablespace by username, tablespace name', - proname => 'has_tablespace_privilege', provolatile => 's', - prorettype => 'bool', proargtypes => 'name text text', - prosrc => 'has_tablespace_privilege_name_name' }, -{ oid => '2391', - descr => 'user privilege on tablespace by username, tablespace oid', - proname => 'has_tablespace_privilege', provolatile => 's', - prorettype => 'bool', proargtypes => 'name oid text', - prosrc => 'has_tablespace_privilege_name_id' }, -{ oid => '2392', - descr => 'user privilege on tablespace by user oid, tablespace name', - proname => 'has_tablespace_privilege', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid text text', - prosrc => 'has_tablespace_privilege_id_name' }, -{ oid => '2393', - descr => 'user privilege on tablespace by user oid, tablespace oid', - proname => 'has_tablespace_privilege', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid oid text', - prosrc => 'has_tablespace_privilege_id_id' }, -{ oid => '2394', - descr => 'current user privilege on tablespace by tablespace name', - proname => 'has_tablespace_privilege', provolatile => 's', - prorettype => 'bool', proargtypes => 'text text', - prosrc => 'has_tablespace_privilege_name' }, -{ oid => '2395', - descr => 'current user privilege on tablespace by tablespace oid', - proname => 'has_tablespace_privilege', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid text', - prosrc => 'has_tablespace_privilege_id' }, - -{ oid => '3000', - descr => 'user privilege on foreign data wrapper by username, foreign data wrapper name', - proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', - prorettype => 'bool', proargtypes => 'name text text', - prosrc => 'has_foreign_data_wrapper_privilege_name_name' }, -{ oid => '3001', - descr => 'user privilege on foreign data wrapper by username, foreign data wrapper oid', - proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', - prorettype => 'bool', proargtypes => 'name oid text', - prosrc => 'has_foreign_data_wrapper_privilege_name_id' }, -{ oid => '3002', - descr => 'user privilege on foreign data wrapper by user oid, foreign data wrapper name', - proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid text text', - prosrc => 'has_foreign_data_wrapper_privilege_id_name' }, -{ oid => '3003', - descr => 'user privilege on foreign data wrapper by user oid, foreign data wrapper oid', - proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid oid text', - prosrc => 'has_foreign_data_wrapper_privilege_id_id' }, -{ oid => '3004', - descr => 'current user privilege on foreign data wrapper by foreign data wrapper name', - proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', - prorettype => 'bool', proargtypes => 'text text', - prosrc => 'has_foreign_data_wrapper_privilege_name' }, -{ oid => '3005', - descr => 'current user privilege on foreign data wrapper by foreign data wrapper oid', - proname => 'has_foreign_data_wrapper_privilege', provolatile => 's', - prorettype => 'bool', proargtypes => 'oid text', - prosrc => 'has_foreign_data_wrapper_privilege_id' }, - -{ oid => '3006', descr => 'user privilege on server by username, server name', - proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name text text', prosrc => 'has_server_privilege_name_name' }, -{ oid => '3007', descr => 'user privilege on server by username, server oid', - proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name oid text', prosrc => 'has_server_privilege_name_id' }, -{ oid => '3008', descr => 'user privilege on server by user oid, server name', - proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text text', prosrc => 'has_server_privilege_id_name' }, -{ oid => '3009', descr => 'user privilege on server by user oid, server oid', - proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid oid text', prosrc => 'has_server_privilege_id_id' }, -{ oid => '3010', descr => 'current user privilege on server by server name', - proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'has_server_privilege_name' }, -{ oid => '3011', descr => 'current user privilege on server by server oid', - proname => 'has_server_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text', prosrc => 'has_server_privilege_id' }, - -{ oid => '3138', descr => 'user privilege on type by username, type name', - proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name text text', prosrc => 'has_type_privilege_name_name' }, -{ oid => '3139', descr => 'user privilege on type by username, type oid', - proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'name oid text', prosrc => 'has_type_privilege_name_id' }, -{ oid => '3140', descr => 'user privilege on type by user oid, type name', - proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text text', prosrc => 'has_type_privilege_id_name' }, -{ oid => '3141', descr => 'user privilege on type by user oid, type oid', - proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid oid text', prosrc => 'has_type_privilege_id_id' }, -{ oid => '3142', descr => 'current user privilege on type by type name', - proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'text text', prosrc => 'has_type_privilege_name' }, -{ oid => '3143', descr => 'current user privilege on type by type oid', - proname => 'has_type_privilege', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text', prosrc => 'has_type_privilege_id' }, - -{ oid => '2705', descr => 'user privilege on role by username, role name', - proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', - proargtypes => 'name name text', prosrc => 'pg_has_role_name_name' }, -{ oid => '2706', descr => 'user privilege on role by username, role oid', - proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', - proargtypes => 'name oid text', prosrc => 'pg_has_role_name_id' }, -{ oid => '2707', descr => 'user privilege on role by user oid, role name', - proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid name text', prosrc => 'pg_has_role_id_name' }, -{ oid => '2708', descr => 'user privilege on role by user oid, role oid', - proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid oid text', prosrc => 'pg_has_role_id_id' }, -{ oid => '2709', descr => 'current user privilege on role by role name', - proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', - proargtypes => 'name text', prosrc => 'pg_has_role_name' }, -{ oid => '2710', descr => 'current user privilege on role by role oid', - proname => 'pg_has_role', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid text', prosrc => 'pg_has_role_id' }, - -{ oid => '1269', - descr => 'bytes required to store the value, perhaps with compression', - proname => 'pg_column_size', provolatile => 's', prorettype => 'int4', - proargtypes => 'any', prosrc => 'pg_column_size' }, -{ oid => '2121', descr => 'compression method for the compressed datum', - proname => 'pg_column_compression', provolatile => 's', prorettype => 'text', - proargtypes => 'any', prosrc => 'pg_column_compression' }, -{ oid => '2322', - descr => 'total disk space usage for the specified tablespace', - proname => 'pg_tablespace_size', provolatile => 'v', prorettype => 'int8', - proargtypes => 'oid', prosrc => 'pg_tablespace_size_oid' }, -{ oid => '2323', - descr => 'total disk space usage for the specified tablespace', - proname => 'pg_tablespace_size', provolatile => 'v', prorettype => 'int8', - proargtypes => 'name', prosrc => 'pg_tablespace_size_name' }, -{ oid => '2324', descr => 'total disk space usage for the specified database', - proname => 'pg_database_size', provolatile => 'v', prorettype => 'int8', - proargtypes => 'oid', prosrc => 'pg_database_size_oid' }, -{ oid => '2168', descr => 'total disk space usage for the specified database', - proname => 'pg_database_size', provolatile => 'v', prorettype => 'int8', - proargtypes => 'name', prosrc => 'pg_database_size_name' }, -{ oid => '2325', - descr => 'disk space usage for the main fork of the specified table or index', - proname => 'pg_relation_size', prolang => 'sql', provolatile => 'v', - prorettype => 'int8', proargtypes => 'regclass', - prosrc => 'see system_functions.sql' }, -{ oid => '2332', - descr => 'disk space usage for the specified fork of a table or index', - proname => 'pg_relation_size', provolatile => 'v', prorettype => 'int8', - proargtypes => 'regclass text', prosrc => 'pg_relation_size' }, -{ oid => '2286', - descr => 'total disk space usage for the specified table and associated indexes', - proname => 'pg_total_relation_size', provolatile => 'v', prorettype => 'int8', - proargtypes => 'regclass', prosrc => 'pg_total_relation_size' }, -{ oid => '2288', - descr => 'convert a long int to a human readable text using size units', - proname => 'pg_size_pretty', prorettype => 'text', proargtypes => 'int8', - prosrc => 'pg_size_pretty' }, -{ oid => '3166', - descr => 'convert a numeric to a human readable text using size units', - proname => 'pg_size_pretty', prorettype => 'text', proargtypes => 'numeric', - prosrc => 'pg_size_pretty_numeric' }, -{ oid => '3334', - descr => 'convert a size in human-readable format with size units into bytes', - proname => 'pg_size_bytes', prorettype => 'int8', proargtypes => 'text', - prosrc => 'pg_size_bytes' }, -{ oid => '2997', - descr => 'disk space usage for the specified table, including TOAST, free space and visibility map', - proname => 'pg_table_size', provolatile => 'v', prorettype => 'int8', - proargtypes => 'regclass', prosrc => 'pg_table_size' }, -{ oid => '2998', - descr => 'disk space usage for all indexes attached to the specified table', - proname => 'pg_indexes_size', provolatile => 'v', prorettype => 'int8', - proargtypes => 'regclass', prosrc => 'pg_indexes_size' }, -{ oid => '2999', descr => 'filenode identifier of relation', - proname => 'pg_relation_filenode', provolatile => 's', prorettype => 'oid', - proargtypes => 'regclass', prosrc => 'pg_relation_filenode' }, -{ oid => '3454', descr => 'relation OID for filenode and tablespace', - proname => 'pg_filenode_relation', provolatile => 's', - prorettype => 'regclass', proargtypes => 'oid oid', - prosrc => 'pg_filenode_relation' }, -{ oid => '3034', descr => 'file path of relation', - proname => 'pg_relation_filepath', provolatile => 's', prorettype => 'text', - proargtypes => 'regclass', prosrc => 'pg_relation_filepath' }, - -{ oid => '2316', descr => '(internal)', - proname => 'postgresql_fdw_validator', prorettype => 'bool', - proargtypes => '_text oid', prosrc => 'postgresql_fdw_validator' }, - -{ oid => '2290', descr => 'I/O', - proname => 'record_in', provolatile => 's', prorettype => 'record', - proargtypes => 'cstring oid int4', prosrc => 'record_in' }, -{ oid => '2291', descr => 'I/O', - proname => 'record_out', provolatile => 's', prorettype => 'cstring', - proargtypes => 'record', prosrc => 'record_out' }, -{ oid => '2292', descr => 'I/O', - proname => 'cstring_in', prorettype => 'cstring', proargtypes => 'cstring', - prosrc => 'cstring_in' }, -{ oid => '2293', descr => 'I/O', - proname => 'cstring_out', prorettype => 'cstring', proargtypes => 'cstring', - prosrc => 'cstring_out' }, -{ oid => '2294', descr => 'I/O', - proname => 'any_in', prorettype => 'any', proargtypes => 'cstring', - prosrc => 'any_in' }, -{ oid => '2295', descr => 'I/O', - proname => 'any_out', prorettype => 'cstring', proargtypes => 'any', - prosrc => 'any_out' }, -{ oid => '2296', descr => 'I/O', - proname => 'anyarray_in', prorettype => 'anyarray', proargtypes => 'cstring', - prosrc => 'anyarray_in' }, -{ oid => '2297', descr => 'I/O', - proname => 'anyarray_out', provolatile => 's', prorettype => 'cstring', - proargtypes => 'anyarray', prosrc => 'anyarray_out' }, -{ oid => '2298', descr => 'I/O', - proname => 'void_in', prorettype => 'void', proargtypes => 'cstring', - prosrc => 'void_in' }, -{ oid => '2299', descr => 'I/O', - proname => 'void_out', prorettype => 'cstring', proargtypes => 'void', - prosrc => 'void_out' }, -{ oid => '2300', descr => 'I/O', - proname => 'trigger_in', proisstrict => 'f', prorettype => 'trigger', - proargtypes => 'cstring', prosrc => 'trigger_in' }, -{ oid => '2301', descr => 'I/O', - proname => 'trigger_out', prorettype => 'cstring', proargtypes => 'trigger', - prosrc => 'trigger_out' }, -{ oid => '3594', descr => 'I/O', - proname => 'event_trigger_in', proisstrict => 'f', - prorettype => 'event_trigger', proargtypes => 'cstring', - prosrc => 'event_trigger_in' }, -{ oid => '3595', descr => 'I/O', - proname => 'event_trigger_out', prorettype => 'cstring', - proargtypes => 'event_trigger', prosrc => 'event_trigger_out' }, -{ oid => '2302', descr => 'I/O', - proname => 'language_handler_in', proisstrict => 'f', - prorettype => 'language_handler', proargtypes => 'cstring', - prosrc => 'language_handler_in' }, -{ oid => '2303', descr => 'I/O', - proname => 'language_handler_out', prorettype => 'cstring', - proargtypes => 'language_handler', prosrc => 'language_handler_out' }, -{ oid => '2304', descr => 'I/O', - proname => 'internal_in', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'cstring', prosrc => 'internal_in' }, -{ oid => '2305', descr => 'I/O', - proname => 'internal_out', prorettype => 'cstring', proargtypes => 'internal', - prosrc => 'internal_out' }, -{ oid => '2312', descr => 'I/O', - proname => 'anyelement_in', prorettype => 'anyelement', - proargtypes => 'cstring', prosrc => 'anyelement_in' }, -{ oid => '2313', descr => 'I/O', - proname => 'anyelement_out', prorettype => 'cstring', - proargtypes => 'anyelement', prosrc => 'anyelement_out' }, -{ oid => '2398', descr => 'I/O', - proname => 'shell_in', proisstrict => 'f', prorettype => 'void', - proargtypes => 'cstring', prosrc => 'shell_in' }, -{ oid => '2399', descr => 'I/O', - proname => 'shell_out', prorettype => 'cstring', proargtypes => 'void', - prosrc => 'shell_out' }, -{ oid => '2597', descr => 'I/O', - proname => 'domain_in', proisstrict => 'f', provolatile => 's', - prorettype => 'any', proargtypes => 'cstring oid int4', - prosrc => 'domain_in' }, -{ oid => '2598', descr => 'I/O', - proname => 'domain_recv', proisstrict => 'f', provolatile => 's', - prorettype => 'any', proargtypes => 'internal oid int4', - prosrc => 'domain_recv' }, -{ oid => '2777', descr => 'I/O', - proname => 'anynonarray_in', prorettype => 'anynonarray', - proargtypes => 'cstring', prosrc => 'anynonarray_in' }, -{ oid => '2778', descr => 'I/O', - proname => 'anynonarray_out', prorettype => 'cstring', - proargtypes => 'anynonarray', prosrc => 'anynonarray_out' }, -{ oid => '3116', descr => 'I/O', - proname => 'fdw_handler_in', proisstrict => 'f', prorettype => 'fdw_handler', - proargtypes => 'cstring', prosrc => 'fdw_handler_in' }, -{ oid => '3117', descr => 'I/O', - proname => 'fdw_handler_out', prorettype => 'cstring', - proargtypes => 'fdw_handler', prosrc => 'fdw_handler_out' }, -{ oid => '326', descr => 'I/O', - proname => 'index_am_handler_in', proisstrict => 'f', - prorettype => 'index_am_handler', proargtypes => 'cstring', - prosrc => 'index_am_handler_in' }, -{ oid => '327', descr => 'I/O', - proname => 'index_am_handler_out', prorettype => 'cstring', - proargtypes => 'index_am_handler', prosrc => 'index_am_handler_out' }, -{ oid => '3311', descr => 'I/O', - proname => 'tsm_handler_in', proisstrict => 'f', prorettype => 'tsm_handler', - proargtypes => 'cstring', prosrc => 'tsm_handler_in' }, -{ oid => '3312', descr => 'I/O', - proname => 'tsm_handler_out', prorettype => 'cstring', - proargtypes => 'tsm_handler', prosrc => 'tsm_handler_out' }, -{ oid => '267', descr => 'I/O', - proname => 'table_am_handler_in', proisstrict => 'f', - prorettype => 'table_am_handler', proargtypes => 'cstring', - prosrc => 'table_am_handler_in' }, -{ oid => '268', descr => 'I/O', - proname => 'table_am_handler_out', prorettype => 'cstring', - proargtypes => 'table_am_handler', prosrc => 'table_am_handler_out' }, -{ oid => '5086', descr => 'I/O', - proname => 'anycompatible_in', prorettype => 'anycompatible', - proargtypes => 'cstring', prosrc => 'anycompatible_in' }, -{ oid => '5087', descr => 'I/O', - proname => 'anycompatible_out', prorettype => 'cstring', - proargtypes => 'anycompatible', prosrc => 'anycompatible_out' }, -{ oid => '5088', descr => 'I/O', - proname => 'anycompatiblearray_in', prorettype => 'anycompatiblearray', - proargtypes => 'cstring', prosrc => 'anycompatiblearray_in' }, -{ oid => '5089', descr => 'I/O', - proname => 'anycompatiblearray_out', provolatile => 's', - prorettype => 'cstring', proargtypes => 'anycompatiblearray', - prosrc => 'anycompatiblearray_out' }, -{ oid => '5090', descr => 'I/O', - proname => 'anycompatiblearray_recv', provolatile => 's', - prorettype => 'anycompatiblearray', proargtypes => 'internal', - prosrc => 'anycompatiblearray_recv' }, -{ oid => '5091', descr => 'I/O', - proname => 'anycompatiblearray_send', provolatile => 's', - prorettype => 'bytea', proargtypes => 'anycompatiblearray', - prosrc => 'anycompatiblearray_send' }, -{ oid => '5092', descr => 'I/O', - proname => 'anycompatiblenonarray_in', prorettype => 'anycompatiblenonarray', - proargtypes => 'cstring', prosrc => 'anycompatiblenonarray_in' }, -{ oid => '5093', descr => 'I/O', - proname => 'anycompatiblenonarray_out', prorettype => 'cstring', - proargtypes => 'anycompatiblenonarray', - prosrc => 'anycompatiblenonarray_out' }, -{ oid => '5094', descr => 'I/O', - proname => 'anycompatiblerange_in', provolatile => 's', - prorettype => 'anycompatiblerange', proargtypes => 'cstring oid int4', - prosrc => 'anycompatiblerange_in' }, -{ oid => '5095', descr => 'I/O', - proname => 'anycompatiblerange_out', provolatile => 's', - prorettype => 'cstring', proargtypes => 'anycompatiblerange', - prosrc => 'anycompatiblerange_out' }, -{ oid => '4226', descr => 'I/O', - proname => 'anycompatiblemultirange_in', provolatile => 's', - prorettype => 'anycompatiblemultirange', proargtypes => 'cstring oid int4', - prosrc => 'anycompatiblemultirange_in' }, -{ oid => '4227', descr => 'I/O', - proname => 'anycompatiblemultirange_out', provolatile => 's', - prorettype => 'cstring', proargtypes => 'anycompatiblemultirange', - prosrc => 'anycompatiblemultirange_out' }, - -# tablesample method handlers -{ oid => '3313', descr => 'BERNOULLI tablesample method handler', - proname => 'bernoulli', provolatile => 'v', prorettype => 'tsm_handler', - proargtypes => 'internal', prosrc => 'tsm_bernoulli_handler' }, -{ oid => '3314', descr => 'SYSTEM tablesample method handler', - proname => 'system', provolatile => 'v', prorettype => 'tsm_handler', - proargtypes => 'internal', prosrc => 'tsm_system_handler' }, - -# cryptographic -{ oid => '2311', descr => 'MD5 hash', - proname => 'md5', proleakproof => 't', prorettype => 'text', - proargtypes => 'text', prosrc => 'md5_text' }, -{ oid => '2321', descr => 'MD5 hash', - proname => 'md5', proleakproof => 't', prorettype => 'text', - proargtypes => 'bytea', prosrc => 'md5_bytea' }, -{ oid => '3419', descr => 'SHA-224 hash', - proname => 'sha224', proleakproof => 't', prorettype => 'bytea', - proargtypes => 'bytea', prosrc => 'sha224_bytea' }, -{ oid => '3420', descr => 'SHA-256 hash', - proname => 'sha256', proleakproof => 't', prorettype => 'bytea', - proargtypes => 'bytea', prosrc => 'sha256_bytea' }, -{ oid => '3421', descr => 'SHA-384 hash', - proname => 'sha384', proleakproof => 't', prorettype => 'bytea', - proargtypes => 'bytea', prosrc => 'sha384_bytea' }, -{ oid => '3422', descr => 'SHA-512 hash', - proname => 'sha512', proleakproof => 't', prorettype => 'bytea', - proargtypes => 'bytea', prosrc => 'sha512_bytea' }, - -# crosstype operations for date vs. timestamp and timestamptz -{ oid => '2338', - proname => 'date_lt_timestamp', prorettype => 'bool', - proargtypes => 'date timestamp', prosrc => 'date_lt_timestamp' }, -{ oid => '2339', - proname => 'date_le_timestamp', prorettype => 'bool', - proargtypes => 'date timestamp', prosrc => 'date_le_timestamp' }, -{ oid => '2340', - proname => 'date_eq_timestamp', prorettype => 'bool', - proargtypes => 'date timestamp', prosrc => 'date_eq_timestamp' }, -{ oid => '2341', - proname => 'date_gt_timestamp', prorettype => 'bool', - proargtypes => 'date timestamp', prosrc => 'date_gt_timestamp' }, -{ oid => '2342', - proname => 'date_ge_timestamp', prorettype => 'bool', - proargtypes => 'date timestamp', prosrc => 'date_ge_timestamp' }, -{ oid => '2343', - proname => 'date_ne_timestamp', prorettype => 'bool', - proargtypes => 'date timestamp', prosrc => 'date_ne_timestamp' }, -{ oid => '2344', descr => 'less-equal-greater', - proname => 'date_cmp_timestamp', prorettype => 'int4', - proargtypes => 'date timestamp', prosrc => 'date_cmp_timestamp' }, - -{ oid => '2351', - proname => 'date_lt_timestamptz', provolatile => 's', prorettype => 'bool', - proargtypes => 'date timestamptz', prosrc => 'date_lt_timestamptz' }, -{ oid => '2352', - proname => 'date_le_timestamptz', provolatile => 's', prorettype => 'bool', - proargtypes => 'date timestamptz', prosrc => 'date_le_timestamptz' }, -{ oid => '2353', - proname => 'date_eq_timestamptz', provolatile => 's', prorettype => 'bool', - proargtypes => 'date timestamptz', prosrc => 'date_eq_timestamptz' }, -{ oid => '2354', - proname => 'date_gt_timestamptz', provolatile => 's', prorettype => 'bool', - proargtypes => 'date timestamptz', prosrc => 'date_gt_timestamptz' }, -{ oid => '2355', - proname => 'date_ge_timestamptz', provolatile => 's', prorettype => 'bool', - proargtypes => 'date timestamptz', prosrc => 'date_ge_timestamptz' }, -{ oid => '2356', - proname => 'date_ne_timestamptz', provolatile => 's', prorettype => 'bool', - proargtypes => 'date timestamptz', prosrc => 'date_ne_timestamptz' }, -{ oid => '2357', descr => 'less-equal-greater', - proname => 'date_cmp_timestamptz', provolatile => 's', prorettype => 'int4', - proargtypes => 'date timestamptz', prosrc => 'date_cmp_timestamptz' }, - -{ oid => '2364', - proname => 'timestamp_lt_date', prorettype => 'bool', - proargtypes => 'timestamp date', prosrc => 'timestamp_lt_date' }, -{ oid => '2365', - proname => 'timestamp_le_date', prorettype => 'bool', - proargtypes => 'timestamp date', prosrc => 'timestamp_le_date' }, -{ oid => '2366', - proname => 'timestamp_eq_date', prorettype => 'bool', - proargtypes => 'timestamp date', prosrc => 'timestamp_eq_date' }, -{ oid => '2367', - proname => 'timestamp_gt_date', prorettype => 'bool', - proargtypes => 'timestamp date', prosrc => 'timestamp_gt_date' }, -{ oid => '2368', - proname => 'timestamp_ge_date', prorettype => 'bool', - proargtypes => 'timestamp date', prosrc => 'timestamp_ge_date' }, -{ oid => '2369', - proname => 'timestamp_ne_date', prorettype => 'bool', - proargtypes => 'timestamp date', prosrc => 'timestamp_ne_date' }, -{ oid => '2370', descr => 'less-equal-greater', - proname => 'timestamp_cmp_date', prorettype => 'int4', - proargtypes => 'timestamp date', prosrc => 'timestamp_cmp_date' }, - -{ oid => '2377', - proname => 'timestamptz_lt_date', provolatile => 's', prorettype => 'bool', - proargtypes => 'timestamptz date', prosrc => 'timestamptz_lt_date' }, -{ oid => '2378', - proname => 'timestamptz_le_date', provolatile => 's', prorettype => 'bool', - proargtypes => 'timestamptz date', prosrc => 'timestamptz_le_date' }, -{ oid => '2379', - proname => 'timestamptz_eq_date', provolatile => 's', prorettype => 'bool', - proargtypes => 'timestamptz date', prosrc => 'timestamptz_eq_date' }, -{ oid => '2380', - proname => 'timestamptz_gt_date', provolatile => 's', prorettype => 'bool', - proargtypes => 'timestamptz date', prosrc => 'timestamptz_gt_date' }, -{ oid => '2381', - proname => 'timestamptz_ge_date', provolatile => 's', prorettype => 'bool', - proargtypes => 'timestamptz date', prosrc => 'timestamptz_ge_date' }, -{ oid => '2382', - proname => 'timestamptz_ne_date', provolatile => 's', prorettype => 'bool', - proargtypes => 'timestamptz date', prosrc => 'timestamptz_ne_date' }, -{ oid => '2383', descr => 'less-equal-greater', - proname => 'timestamptz_cmp_date', provolatile => 's', prorettype => 'int4', - proargtypes => 'timestamptz date', prosrc => 'timestamptz_cmp_date' }, - -# crosstype operations for timestamp vs. timestamptz -{ oid => '2520', - proname => 'timestamp_lt_timestamptz', provolatile => 's', - prorettype => 'bool', proargtypes => 'timestamp timestamptz', - prosrc => 'timestamp_lt_timestamptz' }, -{ oid => '2521', - proname => 'timestamp_le_timestamptz', provolatile => 's', - prorettype => 'bool', proargtypes => 'timestamp timestamptz', - prosrc => 'timestamp_le_timestamptz' }, -{ oid => '2522', - proname => 'timestamp_eq_timestamptz', provolatile => 's', - prorettype => 'bool', proargtypes => 'timestamp timestamptz', - prosrc => 'timestamp_eq_timestamptz' }, -{ oid => '2523', - proname => 'timestamp_gt_timestamptz', provolatile => 's', - prorettype => 'bool', proargtypes => 'timestamp timestamptz', - prosrc => 'timestamp_gt_timestamptz' }, -{ oid => '2524', - proname => 'timestamp_ge_timestamptz', provolatile => 's', - prorettype => 'bool', proargtypes => 'timestamp timestamptz', - prosrc => 'timestamp_ge_timestamptz' }, -{ oid => '2525', - proname => 'timestamp_ne_timestamptz', provolatile => 's', - prorettype => 'bool', proargtypes => 'timestamp timestamptz', - prosrc => 'timestamp_ne_timestamptz' }, -{ oid => '2526', descr => 'less-equal-greater', - proname => 'timestamp_cmp_timestamptz', provolatile => 's', - prorettype => 'int4', proargtypes => 'timestamp timestamptz', - prosrc => 'timestamp_cmp_timestamptz' }, - -{ oid => '2527', - proname => 'timestamptz_lt_timestamp', provolatile => 's', - prorettype => 'bool', proargtypes => 'timestamptz timestamp', - prosrc => 'timestamptz_lt_timestamp' }, -{ oid => '2528', - proname => 'timestamptz_le_timestamp', provolatile => 's', - prorettype => 'bool', proargtypes => 'timestamptz timestamp', - prosrc => 'timestamptz_le_timestamp' }, -{ oid => '2529', - proname => 'timestamptz_eq_timestamp', provolatile => 's', - prorettype => 'bool', proargtypes => 'timestamptz timestamp', - prosrc => 'timestamptz_eq_timestamp' }, -{ oid => '2530', - proname => 'timestamptz_gt_timestamp', provolatile => 's', - prorettype => 'bool', proargtypes => 'timestamptz timestamp', - prosrc => 'timestamptz_gt_timestamp' }, -{ oid => '2531', - proname => 'timestamptz_ge_timestamp', provolatile => 's', - prorettype => 'bool', proargtypes => 'timestamptz timestamp', - prosrc => 'timestamptz_ge_timestamp' }, -{ oid => '2532', - proname => 'timestamptz_ne_timestamp', provolatile => 's', - prorettype => 'bool', proargtypes => 'timestamptz timestamp', - prosrc => 'timestamptz_ne_timestamp' }, -{ oid => '2533', descr => 'less-equal-greater', - proname => 'timestamptz_cmp_timestamp', provolatile => 's', - prorettype => 'int4', proargtypes => 'timestamptz timestamp', - prosrc => 'timestamptz_cmp_timestamp' }, - -# send/receive functions -{ oid => '2400', descr => 'I/O', - proname => 'array_recv', provolatile => 's', prorettype => 'anyarray', - proargtypes => 'internal oid int4', prosrc => 'array_recv' }, -{ oid => '2401', descr => 'I/O', - proname => 'array_send', provolatile => 's', prorettype => 'bytea', - proargtypes => 'anyarray', prosrc => 'array_send' }, -{ oid => '2402', descr => 'I/O', - proname => 'record_recv', provolatile => 's', prorettype => 'record', - proargtypes => 'internal oid int4', prosrc => 'record_recv' }, -{ oid => '2403', descr => 'I/O', - proname => 'record_send', provolatile => 's', prorettype => 'bytea', - proargtypes => 'record', prosrc => 'record_send' }, -{ oid => '2404', descr => 'I/O', - proname => 'int2recv', prorettype => 'int2', proargtypes => 'internal', - prosrc => 'int2recv' }, -{ oid => '2405', descr => 'I/O', - proname => 'int2send', prorettype => 'bytea', proargtypes => 'int2', - prosrc => 'int2send' }, -{ oid => '2406', descr => 'I/O', - proname => 'int4recv', prorettype => 'int4', proargtypes => 'internal', - prosrc => 'int4recv' }, -{ oid => '2407', descr => 'I/O', - proname => 'int4send', prorettype => 'bytea', proargtypes => 'int4', - prosrc => 'int4send' }, -{ oid => '2408', descr => 'I/O', - proname => 'int8recv', prorettype => 'int8', proargtypes => 'internal', - prosrc => 'int8recv' }, -{ oid => '2409', descr => 'I/O', - proname => 'int8send', prorettype => 'bytea', proargtypes => 'int8', - prosrc => 'int8send' }, -{ oid => '2410', descr => 'I/O', - proname => 'int2vectorrecv', prorettype => 'int2vector', - proargtypes => 'internal', prosrc => 'int2vectorrecv' }, -{ oid => '2411', descr => 'I/O', - proname => 'int2vectorsend', prorettype => 'bytea', - proargtypes => 'int2vector', prosrc => 'int2vectorsend' }, -{ oid => '2412', descr => 'I/O', - proname => 'bytearecv', prorettype => 'bytea', proargtypes => 'internal', - prosrc => 'bytearecv' }, -{ oid => '2413', descr => 'I/O', - proname => 'byteasend', prorettype => 'bytea', proargtypes => 'bytea', - prosrc => 'byteasend' }, -{ oid => '2414', descr => 'I/O', - proname => 'textrecv', provolatile => 's', prorettype => 'text', - proargtypes => 'internal', prosrc => 'textrecv' }, -{ oid => '2415', descr => 'I/O', - proname => 'textsend', provolatile => 's', prorettype => 'bytea', - proargtypes => 'text', prosrc => 'textsend' }, -{ oid => '2416', descr => 'I/O', - proname => 'unknownrecv', prorettype => 'unknown', proargtypes => 'internal', - prosrc => 'unknownrecv' }, -{ oid => '2417', descr => 'I/O', - proname => 'unknownsend', prorettype => 'bytea', proargtypes => 'unknown', - prosrc => 'unknownsend' }, -{ oid => '2418', descr => 'I/O', - proname => 'oidrecv', prorettype => 'oid', proargtypes => 'internal', - prosrc => 'oidrecv' }, -{ oid => '2419', descr => 'I/O', - proname => 'oidsend', prorettype => 'bytea', proargtypes => 'oid', - prosrc => 'oidsend' }, -{ oid => '2420', descr => 'I/O', - proname => 'oidvectorrecv', prorettype => 'oidvector', - proargtypes => 'internal', prosrc => 'oidvectorrecv' }, -{ oid => '2421', descr => 'I/O', - proname => 'oidvectorsend', prorettype => 'bytea', proargtypes => 'oidvector', - prosrc => 'oidvectorsend' }, -{ oid => '2422', descr => 'I/O', - proname => 'namerecv', provolatile => 's', prorettype => 'name', - proargtypes => 'internal', prosrc => 'namerecv' }, -{ oid => '2423', descr => 'I/O', - proname => 'namesend', provolatile => 's', prorettype => 'bytea', - proargtypes => 'name', prosrc => 'namesend' }, -{ oid => '2424', descr => 'I/O', - proname => 'float4recv', prorettype => 'float4', proargtypes => 'internal', - prosrc => 'float4recv' }, -{ oid => '2425', descr => 'I/O', - proname => 'float4send', prorettype => 'bytea', proargtypes => 'float4', - prosrc => 'float4send' }, -{ oid => '2426', descr => 'I/O', - proname => 'float8recv', prorettype => 'float8', proargtypes => 'internal', - prosrc => 'float8recv' }, -{ oid => '2427', descr => 'I/O', - proname => 'float8send', prorettype => 'bytea', proargtypes => 'float8', - prosrc => 'float8send' }, -{ oid => '2428', descr => 'I/O', - proname => 'point_recv', prorettype => 'point', proargtypes => 'internal', - prosrc => 'point_recv' }, -{ oid => '2429', descr => 'I/O', - proname => 'point_send', prorettype => 'bytea', proargtypes => 'point', - prosrc => 'point_send' }, -{ oid => '2430', descr => 'I/O', - proname => 'bpcharrecv', provolatile => 's', prorettype => 'bpchar', - proargtypes => 'internal oid int4', prosrc => 'bpcharrecv' }, -{ oid => '2431', descr => 'I/O', - proname => 'bpcharsend', provolatile => 's', prorettype => 'bytea', - proargtypes => 'bpchar', prosrc => 'bpcharsend' }, -{ oid => '2432', descr => 'I/O', - proname => 'varcharrecv', provolatile => 's', prorettype => 'varchar', - proargtypes => 'internal oid int4', prosrc => 'varcharrecv' }, -{ oid => '2433', descr => 'I/O', - proname => 'varcharsend', provolatile => 's', prorettype => 'bytea', - proargtypes => 'varchar', prosrc => 'varcharsend' }, -{ oid => '2434', descr => 'I/O', - proname => 'charrecv', prorettype => 'char', proargtypes => 'internal', - prosrc => 'charrecv' }, -{ oid => '2435', descr => 'I/O', - proname => 'charsend', prorettype => 'bytea', proargtypes => 'char', - prosrc => 'charsend' }, -{ oid => '2436', descr => 'I/O', - proname => 'boolrecv', prorettype => 'bool', proargtypes => 'internal', - prosrc => 'boolrecv' }, -{ oid => '2437', descr => 'I/O', - proname => 'boolsend', prorettype => 'bytea', proargtypes => 'bool', - prosrc => 'boolsend' }, -{ oid => '2438', descr => 'I/O', - proname => 'tidrecv', prorettype => 'tid', proargtypes => 'internal', - prosrc => 'tidrecv' }, -{ oid => '2439', descr => 'I/O', - proname => 'tidsend', prorettype => 'bytea', proargtypes => 'tid', - prosrc => 'tidsend' }, -{ oid => '2440', descr => 'I/O', - proname => 'xidrecv', prorettype => 'xid', proargtypes => 'internal', - prosrc => 'xidrecv' }, -{ oid => '2441', descr => 'I/O', - proname => 'xidsend', prorettype => 'bytea', proargtypes => 'xid', - prosrc => 'xidsend' }, -{ oid => '2442', descr => 'I/O', - proname => 'cidrecv', prorettype => 'cid', proargtypes => 'internal', - prosrc => 'cidrecv' }, -{ oid => '2443', descr => 'I/O', - proname => 'cidsend', prorettype => 'bytea', proargtypes => 'cid', - prosrc => 'cidsend' }, -{ oid => '2444', descr => 'I/O', - proname => 'regprocrecv', prorettype => 'regproc', proargtypes => 'internal', - prosrc => 'regprocrecv' }, -{ oid => '2445', descr => 'I/O', - proname => 'regprocsend', prorettype => 'bytea', proargtypes => 'regproc', - prosrc => 'regprocsend' }, -{ oid => '2446', descr => 'I/O', - proname => 'regprocedurerecv', prorettype => 'regprocedure', - proargtypes => 'internal', prosrc => 'regprocedurerecv' }, -{ oid => '2447', descr => 'I/O', - proname => 'regproceduresend', prorettype => 'bytea', - proargtypes => 'regprocedure', prosrc => 'regproceduresend' }, -{ oid => '2448', descr => 'I/O', - proname => 'regoperrecv', prorettype => 'regoper', proargtypes => 'internal', - prosrc => 'regoperrecv' }, -{ oid => '2449', descr => 'I/O', - proname => 'regopersend', prorettype => 'bytea', proargtypes => 'regoper', - prosrc => 'regopersend' }, -{ oid => '2450', descr => 'I/O', - proname => 'regoperatorrecv', prorettype => 'regoperator', - proargtypes => 'internal', prosrc => 'regoperatorrecv' }, -{ oid => '2451', descr => 'I/O', - proname => 'regoperatorsend', prorettype => 'bytea', - proargtypes => 'regoperator', prosrc => 'regoperatorsend' }, -{ oid => '2452', descr => 'I/O', - proname => 'regclassrecv', prorettype => 'regclass', - proargtypes => 'internal', prosrc => 'regclassrecv' }, -{ oid => '2453', descr => 'I/O', - proname => 'regclasssend', prorettype => 'bytea', proargtypes => 'regclass', - prosrc => 'regclasssend' }, -{ oid => '4196', descr => 'I/O', - proname => 'regcollationrecv', prorettype => 'regcollation', - proargtypes => 'internal', prosrc => 'regcollationrecv' }, -{ oid => '4197', descr => 'I/O', - proname => 'regcollationsend', prorettype => 'bytea', - proargtypes => 'regcollation', prosrc => 'regcollationsend' }, -{ oid => '2454', descr => 'I/O', - proname => 'regtyperecv', prorettype => 'regtype', proargtypes => 'internal', - prosrc => 'regtyperecv' }, -{ oid => '2455', descr => 'I/O', - proname => 'regtypesend', prorettype => 'bytea', proargtypes => 'regtype', - prosrc => 'regtypesend' }, - -{ oid => '4094', descr => 'I/O', - proname => 'regrolerecv', prorettype => 'regrole', proargtypes => 'internal', - prosrc => 'regrolerecv' }, -{ oid => '4095', descr => 'I/O', - proname => 'regrolesend', prorettype => 'bytea', proargtypes => 'regrole', - prosrc => 'regrolesend' }, -{ oid => '4087', descr => 'I/O', - proname => 'regnamespacerecv', prorettype => 'regnamespace', - proargtypes => 'internal', prosrc => 'regnamespacerecv' }, -{ oid => '4088', descr => 'I/O', - proname => 'regnamespacesend', prorettype => 'bytea', - proargtypes => 'regnamespace', prosrc => 'regnamespacesend' }, -{ oid => '2456', descr => 'I/O', - proname => 'bit_recv', prorettype => 'bit', - proargtypes => 'internal oid int4', prosrc => 'bit_recv' }, -{ oid => '2457', descr => 'I/O', - proname => 'bit_send', prorettype => 'bytea', proargtypes => 'bit', - prosrc => 'bit_send' }, -{ oid => '2458', descr => 'I/O', - proname => 'varbit_recv', prorettype => 'varbit', - proargtypes => 'internal oid int4', prosrc => 'varbit_recv' }, -{ oid => '2459', descr => 'I/O', - proname => 'varbit_send', prorettype => 'bytea', proargtypes => 'varbit', - prosrc => 'varbit_send' }, -{ oid => '2460', descr => 'I/O', - proname => 'numeric_recv', prorettype => 'numeric', - proargtypes => 'internal oid int4', prosrc => 'numeric_recv' }, -{ oid => '2461', descr => 'I/O', - proname => 'numeric_send', prorettype => 'bytea', proargtypes => 'numeric', - prosrc => 'numeric_send' }, -{ oid => '2468', descr => 'I/O', - proname => 'date_recv', prorettype => 'date', proargtypes => 'internal', - prosrc => 'date_recv' }, -{ oid => '2469', descr => 'I/O', - proname => 'date_send', prorettype => 'bytea', proargtypes => 'date', - prosrc => 'date_send' }, -{ oid => '2470', descr => 'I/O', - proname => 'time_recv', prorettype => 'time', - proargtypes => 'internal oid int4', prosrc => 'time_recv' }, -{ oid => '2471', descr => 'I/O', - proname => 'time_send', prorettype => 'bytea', proargtypes => 'time', - prosrc => 'time_send' }, -{ oid => '2472', descr => 'I/O', - proname => 'timetz_recv', prorettype => 'timetz', - proargtypes => 'internal oid int4', prosrc => 'timetz_recv' }, -{ oid => '2473', descr => 'I/O', - proname => 'timetz_send', prorettype => 'bytea', proargtypes => 'timetz', - prosrc => 'timetz_send' }, -{ oid => '2474', descr => 'I/O', - proname => 'timestamp_recv', prorettype => 'timestamp', - proargtypes => 'internal oid int4', prosrc => 'timestamp_recv' }, -{ oid => '2475', descr => 'I/O', - proname => 'timestamp_send', prorettype => 'bytea', - proargtypes => 'timestamp', prosrc => 'timestamp_send' }, -{ oid => '2476', descr => 'I/O', - proname => 'timestamptz_recv', prorettype => 'timestamptz', - proargtypes => 'internal oid int4', prosrc => 'timestamptz_recv' }, -{ oid => '2477', descr => 'I/O', - proname => 'timestamptz_send', prorettype => 'bytea', - proargtypes => 'timestamptz', prosrc => 'timestamptz_send' }, -{ oid => '2478', descr => 'I/O', - proname => 'interval_recv', prorettype => 'interval', - proargtypes => 'internal oid int4', prosrc => 'interval_recv' }, -{ oid => '2479', descr => 'I/O', - proname => 'interval_send', prorettype => 'bytea', proargtypes => 'interval', - prosrc => 'interval_send' }, -{ oid => '2480', descr => 'I/O', - proname => 'lseg_recv', prorettype => 'lseg', proargtypes => 'internal', - prosrc => 'lseg_recv' }, -{ oid => '2481', descr => 'I/O', - proname => 'lseg_send', prorettype => 'bytea', proargtypes => 'lseg', - prosrc => 'lseg_send' }, -{ oid => '2482', descr => 'I/O', - proname => 'path_recv', prorettype => 'path', proargtypes => 'internal', - prosrc => 'path_recv' }, -{ oid => '2483', descr => 'I/O', - proname => 'path_send', prorettype => 'bytea', proargtypes => 'path', - prosrc => 'path_send' }, -{ oid => '2484', descr => 'I/O', - proname => 'box_recv', prorettype => 'box', proargtypes => 'internal', - prosrc => 'box_recv' }, -{ oid => '2485', descr => 'I/O', - proname => 'box_send', prorettype => 'bytea', proargtypes => 'box', - prosrc => 'box_send' }, -{ oid => '2486', descr => 'I/O', - proname => 'poly_recv', prorettype => 'polygon', proargtypes => 'internal', - prosrc => 'poly_recv' }, -{ oid => '2487', descr => 'I/O', - proname => 'poly_send', prorettype => 'bytea', proargtypes => 'polygon', - prosrc => 'poly_send' }, -{ oid => '2488', descr => 'I/O', - proname => 'line_recv', prorettype => 'line', proargtypes => 'internal', - prosrc => 'line_recv' }, -{ oid => '2489', descr => 'I/O', - proname => 'line_send', prorettype => 'bytea', proargtypes => 'line', - prosrc => 'line_send' }, -{ oid => '2490', descr => 'I/O', - proname => 'circle_recv', prorettype => 'circle', proargtypes => 'internal', - prosrc => 'circle_recv' }, -{ oid => '2491', descr => 'I/O', - proname => 'circle_send', prorettype => 'bytea', proargtypes => 'circle', - prosrc => 'circle_send' }, -{ oid => '2492', descr => 'I/O', - proname => 'cash_recv', prorettype => 'money', proargtypes => 'internal', - prosrc => 'cash_recv' }, -{ oid => '2493', descr => 'I/O', - proname => 'cash_send', prorettype => 'bytea', proargtypes => 'money', - prosrc => 'cash_send' }, -{ oid => '2494', descr => 'I/O', - proname => 'macaddr_recv', prorettype => 'macaddr', proargtypes => 'internal', - prosrc => 'macaddr_recv' }, -{ oid => '2495', descr => 'I/O', - proname => 'macaddr_send', prorettype => 'bytea', proargtypes => 'macaddr', - prosrc => 'macaddr_send' }, -{ oid => '2496', descr => 'I/O', - proname => 'inet_recv', prorettype => 'inet', proargtypes => 'internal', - prosrc => 'inet_recv' }, -{ oid => '2497', descr => 'I/O', - proname => 'inet_send', prorettype => 'bytea', proargtypes => 'inet', - prosrc => 'inet_send' }, -{ oid => '2498', descr => 'I/O', - proname => 'cidr_recv', prorettype => 'cidr', proargtypes => 'internal', - prosrc => 'cidr_recv' }, -{ oid => '2499', descr => 'I/O', - proname => 'cidr_send', prorettype => 'bytea', proargtypes => 'cidr', - prosrc => 'cidr_send' }, -{ oid => '2500', descr => 'I/O', - proname => 'cstring_recv', provolatile => 's', prorettype => 'cstring', - proargtypes => 'internal', prosrc => 'cstring_recv' }, -{ oid => '2501', descr => 'I/O', - proname => 'cstring_send', provolatile => 's', prorettype => 'bytea', - proargtypes => 'cstring', prosrc => 'cstring_send' }, -{ oid => '2502', descr => 'I/O', - proname => 'anyarray_recv', provolatile => 's', prorettype => 'anyarray', - proargtypes => 'internal', prosrc => 'anyarray_recv' }, -{ oid => '2503', descr => 'I/O', - proname => 'anyarray_send', provolatile => 's', prorettype => 'bytea', - proargtypes => 'anyarray', prosrc => 'anyarray_send' }, -{ oid => '3120', descr => 'I/O', - proname => 'void_recv', prorettype => 'void', proargtypes => 'internal', - prosrc => 'void_recv' }, -{ oid => '3121', descr => 'I/O', - proname => 'void_send', prorettype => 'bytea', proargtypes => 'void', - prosrc => 'void_send' }, -{ oid => '3446', descr => 'I/O', - proname => 'macaddr8_recv', prorettype => 'macaddr8', - proargtypes => 'internal', prosrc => 'macaddr8_recv' }, -{ oid => '3447', descr => 'I/O', - proname => 'macaddr8_send', prorettype => 'bytea', proargtypes => 'macaddr8', - prosrc => 'macaddr8_send' }, - -# System-view support functions with pretty-print option -{ oid => '2504', descr => 'source text of a rule with pretty-print option', - proname => 'pg_get_ruledef', provolatile => 's', prorettype => 'text', - proargtypes => 'oid bool', prosrc => 'pg_get_ruledef_ext' }, -{ oid => '2505', - descr => 'select statement of a view with pretty-print option', - proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', - prorettype => 'text', proargtypes => 'text bool', - prosrc => 'pg_get_viewdef_name_ext' }, -{ oid => '2506', - descr => 'select statement of a view with pretty-print option', - proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', - prorettype => 'text', proargtypes => 'oid bool', - prosrc => 'pg_get_viewdef_ext' }, -{ oid => '3159', - descr => 'select statement of a view with pretty-printing and specified line wrapping', - proname => 'pg_get_viewdef', provolatile => 's', proparallel => 'r', - prorettype => 'text', proargtypes => 'oid int4', - prosrc => 'pg_get_viewdef_wrap' }, -{ oid => '2507', - descr => 'index description (full create statement or single expression) with pretty-print option', - proname => 'pg_get_indexdef', provolatile => 's', prorettype => 'text', - proargtypes => 'oid int4 bool', prosrc => 'pg_get_indexdef_ext' }, -{ oid => '2508', descr => 'constraint description with pretty-print option', - proname => 'pg_get_constraintdef', provolatile => 's', prorettype => 'text', - proargtypes => 'oid bool', prosrc => 'pg_get_constraintdef_ext' }, -{ oid => '2509', - descr => 'deparse an encoded expression with pretty-print option', - proname => 'pg_get_expr', provolatile => 's', prorettype => 'text', - proargtypes => 'pg_node_tree oid bool', prosrc => 'pg_get_expr_ext' }, -{ oid => '2510', descr => 'get the prepared statements for this session', - proname => 'pg_prepared_statement', prorows => '1000', proretset => 't', - provolatile => 's', proparallel => 'r', prorettype => 'record', - proargtypes => '', - proallargtypes => '{text,text,timestamptz,_regtype,bool,int8,int8}', - proargmodes => '{o,o,o,o,o,o,o}', - proargnames => '{name,statement,prepare_time,parameter_types,from_sql,generic_plans,custom_plans}', - prosrc => 'pg_prepared_statement' }, -{ oid => '2511', descr => 'get the open cursors for this session', - proname => 'pg_cursor', prorows => '1000', proretset => 't', - provolatile => 's', proparallel => 'r', prorettype => 'record', - proargtypes => '', proallargtypes => '{text,text,bool,bool,bool,timestamptz}', - proargmodes => '{o,o,o,o,o,o}', - proargnames => '{name,statement,is_holdable,is_binary,is_scrollable,creation_time}', - prosrc => 'pg_cursor' }, -{ oid => '2599', descr => 'get the available time zone abbreviations', - proname => 'pg_timezone_abbrevs', prorows => '1000', proretset => 't', - provolatile => 's', prorettype => 'record', proargtypes => '', - proallargtypes => '{text,interval,bool}', proargmodes => '{o,o,o}', - proargnames => '{abbrev,utc_offset,is_dst}', - prosrc => 'pg_timezone_abbrevs' }, -{ oid => '2856', descr => 'get the available time zone names', - proname => 'pg_timezone_names', prorows => '1000', proretset => 't', - provolatile => 's', prorettype => 'record', proargtypes => '', - proallargtypes => '{text,text,interval,bool}', proargmodes => '{o,o,o,o}', - proargnames => '{name,abbrev,utc_offset,is_dst}', - prosrc => 'pg_timezone_names' }, -{ oid => '2730', descr => 'trigger description with pretty-print option', - proname => 'pg_get_triggerdef', provolatile => 's', prorettype => 'text', - proargtypes => 'oid bool', prosrc => 'pg_get_triggerdef_ext' }, - -# asynchronous notifications -{ oid => '3035', - descr => 'get the channels that the current backend listens to', - proname => 'pg_listening_channels', prorows => '10', proretset => 't', - provolatile => 's', proparallel => 'r', prorettype => 'text', - proargtypes => '', prosrc => 'pg_listening_channels' }, -{ oid => '3036', descr => 'send a notification event', - proname => 'pg_notify', proisstrict => 'f', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => 'text text', - prosrc => 'pg_notify' }, -{ oid => '3296', - descr => 'get the fraction of the asynchronous notification queue currently in use', - proname => 'pg_notification_queue_usage', provolatile => 'v', - proparallel => 'r', prorettype => 'float8', proargtypes => '', - prosrc => 'pg_notification_queue_usage' }, - -# shared memory usage -{ oid => '5052', descr => 'allocations from the main shared memory segment', - proname => 'pg_get_shmem_allocations', prorows => '50', proretset => 't', - provolatile => 'v', prorettype => 'record', proargtypes => '', - proallargtypes => '{text,int8,int8,int8}', proargmodes => '{o,o,o,o}', - proargnames => '{name,off,size,allocated_size}', - prosrc => 'pg_get_shmem_allocations' }, - -# memory context of local backend -{ oid => '2282', - descr => 'information about all memory contexts of local backend', - proname => 'pg_get_backend_memory_contexts', prorows => '100', - proretset => 't', provolatile => 'v', proparallel => 'r', - prorettype => 'record', proargtypes => '', - proallargtypes => '{text,text,text,int4,int8,int8,int8,int8,int8}', - proargmodes => '{o,o,o,o,o,o,o,o,o}', - proargnames => '{name, ident, parent, level, total_bytes, total_nblocks, free_bytes, free_chunks, used_bytes}', - prosrc => 'pg_get_backend_memory_contexts' }, - -# logging memory contexts of the specified backend -{ oid => '4543', descr => 'log memory contexts of the specified backend', - proname => 'pg_log_backend_memory_contexts', provolatile => 'v', - prorettype => 'bool', proargtypes => 'int4', - prosrc => 'pg_log_backend_memory_contexts' }, - -# non-persistent series generator -{ oid => '1066', descr => 'non-persistent series generator', - proname => 'generate_series', prorows => '1000', - prosupport => 'generate_series_int4_support', proretset => 't', - prorettype => 'int4', proargtypes => 'int4 int4 int4', - prosrc => 'generate_series_step_int4' }, -{ oid => '1067', descr => 'non-persistent series generator', - proname => 'generate_series', prorows => '1000', - prosupport => 'generate_series_int4_support', proretset => 't', - prorettype => 'int4', proargtypes => 'int4 int4', - prosrc => 'generate_series_int4' }, -{ oid => '3994', descr => 'planner support for generate_series', - proname => 'generate_series_int4_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'generate_series_int4_support' }, -{ oid => '1068', descr => 'non-persistent series generator', - proname => 'generate_series', prorows => '1000', - prosupport => 'generate_series_int8_support', proretset => 't', - prorettype => 'int8', proargtypes => 'int8 int8 int8', - prosrc => 'generate_series_step_int8' }, -{ oid => '1069', descr => 'non-persistent series generator', - proname => 'generate_series', prorows => '1000', - prosupport => 'generate_series_int8_support', proretset => 't', - prorettype => 'int8', proargtypes => 'int8 int8', - prosrc => 'generate_series_int8' }, -{ oid => '3995', descr => 'planner support for generate_series', - proname => 'generate_series_int8_support', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'generate_series_int8_support' }, -{ oid => '3259', descr => 'non-persistent series generator', - proname => 'generate_series', prorows => '1000', proretset => 't', - prorettype => 'numeric', proargtypes => 'numeric numeric numeric', - prosrc => 'generate_series_step_numeric' }, -{ oid => '3260', descr => 'non-persistent series generator', - proname => 'generate_series', prorows => '1000', proretset => 't', - prorettype => 'numeric', proargtypes => 'numeric numeric', - prosrc => 'generate_series_numeric' }, -{ oid => '938', descr => 'non-persistent series generator', - proname => 'generate_series', prorows => '1000', proretset => 't', - prorettype => 'timestamp', proargtypes => 'timestamp timestamp interval', - prosrc => 'generate_series_timestamp' }, -{ oid => '939', descr => 'non-persistent series generator', - proname => 'generate_series', prorows => '1000', proretset => 't', - provolatile => 's', prorettype => 'timestamptz', - proargtypes => 'timestamptz timestamptz interval', - prosrc => 'generate_series_timestamptz' }, - -# boolean aggregates -{ oid => '2515', descr => 'aggregate transition function', - proname => 'booland_statefunc', prorettype => 'bool', - proargtypes => 'bool bool', prosrc => 'booland_statefunc' }, -{ oid => '2516', descr => 'aggregate transition function', - proname => 'boolor_statefunc', prorettype => 'bool', - proargtypes => 'bool bool', prosrc => 'boolor_statefunc' }, -{ oid => '3496', descr => 'aggregate transition function', - proname => 'bool_accum', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal bool', prosrc => 'bool_accum' }, -{ oid => '3497', descr => 'aggregate transition function', - proname => 'bool_accum_inv', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal bool', prosrc => 'bool_accum_inv' }, -{ oid => '3498', descr => 'aggregate final function', - proname => 'bool_alltrue', prorettype => 'bool', proargtypes => 'internal', - prosrc => 'bool_alltrue' }, -{ oid => '3499', descr => 'aggregate final function', - proname => 'bool_anytrue', prorettype => 'bool', proargtypes => 'internal', - prosrc => 'bool_anytrue' }, -{ oid => '2517', descr => 'boolean-and aggregate', - proname => 'bool_and', prokind => 'a', proisstrict => 'f', - prorettype => 'bool', proargtypes => 'bool', prosrc => 'aggregate_dummy' }, - -# ANY, SOME? These names conflict with subquery operators. See doc. -{ oid => '2518', descr => 'boolean-or aggregate', - proname => 'bool_or', prokind => 'a', proisstrict => 'f', - prorettype => 'bool', proargtypes => 'bool', prosrc => 'aggregate_dummy' }, -{ oid => '2519', descr => 'boolean-and aggregate', - proname => 'every', prokind => 'a', proisstrict => 'f', prorettype => 'bool', - proargtypes => 'bool', prosrc => 'aggregate_dummy' }, - -# bitwise integer aggregates -{ oid => '2236', descr => 'bitwise-and smallint aggregate', - proname => 'bit_and', prokind => 'a', proisstrict => 'f', - prorettype => 'int2', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, -{ oid => '2237', descr => 'bitwise-or smallint aggregate', - proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int2', - proargtypes => 'int2', prosrc => 'aggregate_dummy' }, -{ oid => '6164', descr => 'bitwise-xor smallint aggregate', - proname => 'bit_xor', prokind => 'a', proisstrict => 'f', - prorettype => 'int2', proargtypes => 'int2', prosrc => 'aggregate_dummy' }, -{ oid => '2238', descr => 'bitwise-and integer aggregate', - proname => 'bit_and', prokind => 'a', proisstrict => 'f', - prorettype => 'int4', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, -{ oid => '2239', descr => 'bitwise-or integer aggregate', - proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int4', - proargtypes => 'int4', prosrc => 'aggregate_dummy' }, -{ oid => '6165', descr => 'bitwise-xor integer aggregate', - proname => 'bit_xor', prokind => 'a', proisstrict => 'f', - prorettype => 'int4', proargtypes => 'int4', prosrc => 'aggregate_dummy' }, -{ oid => '2240', descr => 'bitwise-and bigint aggregate', - proname => 'bit_and', prokind => 'a', proisstrict => 'f', - prorettype => 'int8', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, -{ oid => '2241', descr => 'bitwise-or bigint aggregate', - proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'int8', - proargtypes => 'int8', prosrc => 'aggregate_dummy' }, -{ oid => '6166', descr => 'bitwise-xor bigint aggregate', - proname => 'bit_xor', prokind => 'a', proisstrict => 'f', - prorettype => 'int8', proargtypes => 'int8', prosrc => 'aggregate_dummy' }, -{ oid => '2242', descr => 'bitwise-and bit aggregate', - proname => 'bit_and', prokind => 'a', proisstrict => 'f', prorettype => 'bit', - proargtypes => 'bit', prosrc => 'aggregate_dummy' }, -{ oid => '2243', descr => 'bitwise-or bit aggregate', - proname => 'bit_or', prokind => 'a', proisstrict => 'f', prorettype => 'bit', - proargtypes => 'bit', prosrc => 'aggregate_dummy' }, -{ oid => '6167', descr => 'bitwise-xor bit aggregate', - proname => 'bit_xor', prokind => 'a', proisstrict => 'f', prorettype => 'bit', - proargtypes => 'bit', prosrc => 'aggregate_dummy' }, - -# formerly-missing interval + datetime operators -{ oid => '2546', - proname => 'interval_pl_date', prolang => 'sql', prorettype => 'timestamp', - proargtypes => 'interval date', prosrc => 'see system_functions.sql' }, -{ oid => '2547', - proname => 'interval_pl_timetz', prolang => 'sql', prorettype => 'timetz', - proargtypes => 'interval timetz', prosrc => 'see system_functions.sql' }, -{ oid => '2548', - proname => 'interval_pl_timestamp', prolang => 'sql', - prorettype => 'timestamp', proargtypes => 'interval timestamp', - prosrc => 'see system_functions.sql' }, -{ oid => '2549', - proname => 'interval_pl_timestamptz', prolang => 'sql', provolatile => 's', - prorettype => 'timestamptz', proargtypes => 'interval timestamptz', - prosrc => 'see system_functions.sql' }, -{ oid => '2550', - proname => 'integer_pl_date', prolang => 'sql', prorettype => 'date', - proargtypes => 'int4 date', prosrc => 'see system_functions.sql' }, - -{ oid => '2556', descr => 'get OIDs of databases in a tablespace', - proname => 'pg_tablespace_databases', prorows => '1000', proretset => 't', - provolatile => 's', prorettype => 'oid', proargtypes => 'oid', - prosrc => 'pg_tablespace_databases' }, - -{ oid => '2557', descr => 'convert int4 to boolean', - proname => 'bool', proleakproof => 't', prorettype => 'bool', - proargtypes => 'int4', prosrc => 'int4_bool' }, -{ oid => '2558', descr => 'convert boolean to int4', - proname => 'int4', proleakproof => 't', prorettype => 'int4', - proargtypes => 'bool', prosrc => 'bool_int4' }, -{ oid => '2559', descr => 'current value from last used sequence', - proname => 'lastval', provolatile => 'v', proparallel => 'u', - prorettype => 'int8', proargtypes => '', prosrc => 'lastval' }, - -# start time function -{ oid => '2560', descr => 'postmaster start time', - proname => 'pg_postmaster_start_time', provolatile => 's', - prorettype => 'timestamptz', proargtypes => '', - prosrc => 'pg_postmaster_start_time' }, - -# config reload time function -{ oid => '2034', descr => 'configuration load time', - proname => 'pg_conf_load_time', provolatile => 's', proparallel => 'r', - prorettype => 'timestamptz', proargtypes => '', - prosrc => 'pg_conf_load_time' }, - -# new functions for Y-direction rtree opclasses -{ oid => '2562', - proname => 'box_below', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_below' }, -{ oid => '2563', - proname => 'box_overbelow', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_overbelow' }, -{ oid => '2564', - proname => 'box_overabove', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_overabove' }, -{ oid => '2565', - proname => 'box_above', prorettype => 'bool', proargtypes => 'box box', - prosrc => 'box_above' }, -{ oid => '2566', - proname => 'poly_below', prorettype => 'bool', - proargtypes => 'polygon polygon', prosrc => 'poly_below' }, -{ oid => '2567', - proname => 'poly_overbelow', prorettype => 'bool', - proargtypes => 'polygon polygon', prosrc => 'poly_overbelow' }, -{ oid => '2568', - proname => 'poly_overabove', prorettype => 'bool', - proargtypes => 'polygon polygon', prosrc => 'poly_overabove' }, -{ oid => '2569', - proname => 'poly_above', prorettype => 'bool', - proargtypes => 'polygon polygon', prosrc => 'poly_above' }, -{ oid => '2587', - proname => 'circle_overbelow', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_overbelow' }, -{ oid => '2588', - proname => 'circle_overabove', prorettype => 'bool', - proargtypes => 'circle circle', prosrc => 'circle_overabove' }, - -# support functions for GiST r-tree emulation -{ oid => '2578', descr => 'GiST support', - proname => 'gist_box_consistent', prorettype => 'bool', - proargtypes => 'internal box int2 oid internal', - prosrc => 'gist_box_consistent' }, -{ oid => '2581', descr => 'GiST support', - proname => 'gist_box_penalty', prorettype => 'internal', - proargtypes => 'internal internal internal', prosrc => 'gist_box_penalty' }, -{ oid => '2582', descr => 'GiST support', - proname => 'gist_box_picksplit', prorettype => 'internal', - proargtypes => 'internal internal', prosrc => 'gist_box_picksplit' }, -{ oid => '2583', descr => 'GiST support', - proname => 'gist_box_union', prorettype => 'box', - proargtypes => 'internal internal', prosrc => 'gist_box_union' }, -{ oid => '2584', descr => 'GiST support', - proname => 'gist_box_same', prorettype => 'internal', - proargtypes => 'box box internal', prosrc => 'gist_box_same' }, -{ oid => '3998', descr => 'GiST support', - proname => 'gist_box_distance', prorettype => 'float8', - proargtypes => 'internal box int2 oid internal', - prosrc => 'gist_box_distance' }, -{ oid => '2585', descr => 'GiST support', - proname => 'gist_poly_consistent', prorettype => 'bool', - proargtypes => 'internal polygon int2 oid internal', - prosrc => 'gist_poly_consistent' }, -{ oid => '2586', descr => 'GiST support', - proname => 'gist_poly_compress', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'gist_poly_compress' }, -{ oid => '2591', descr => 'GiST support', - proname => 'gist_circle_consistent', prorettype => 'bool', - proargtypes => 'internal circle int2 oid internal', - prosrc => 'gist_circle_consistent' }, -{ oid => '2592', descr => 'GiST support', - proname => 'gist_circle_compress', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'gist_circle_compress' }, -{ oid => '1030', descr => 'GiST support', - proname => 'gist_point_compress', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'gist_point_compress' }, -{ oid => '3282', descr => 'GiST support', - proname => 'gist_point_fetch', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'gist_point_fetch' }, -{ oid => '2179', descr => 'GiST support', - proname => 'gist_point_consistent', prorettype => 'bool', - proargtypes => 'internal point int2 oid internal', - prosrc => 'gist_point_consistent' }, -{ oid => '3064', descr => 'GiST support', - proname => 'gist_point_distance', prorettype => 'float8', - proargtypes => 'internal point int2 oid internal', - prosrc => 'gist_point_distance' }, -{ oid => '3280', descr => 'GiST support', - proname => 'gist_circle_distance', prorettype => 'float8', - proargtypes => 'internal circle int2 oid internal', - prosrc => 'gist_circle_distance' }, -{ oid => '3288', descr => 'GiST support', - proname => 'gist_poly_distance', prorettype => 'float8', - proargtypes => 'internal polygon int2 oid internal', - prosrc => 'gist_poly_distance' }, -{ oid => '3435', descr => 'sort support', - proname => 'gist_point_sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'gist_point_sortsupport' }, - -# GIN array support -{ oid => '2743', descr => 'GIN array support', - proname => 'ginarrayextract', prorettype => 'internal', - proargtypes => 'anyarray internal internal', prosrc => 'ginarrayextract' }, -{ oid => '2774', descr => 'GIN array support', - proname => 'ginqueryarrayextract', prorettype => 'internal', - proargtypes => 'anyarray internal int2 internal internal internal internal', - prosrc => 'ginqueryarrayextract' }, -{ oid => '2744', descr => 'GIN array support', - proname => 'ginarrayconsistent', prorettype => 'bool', - proargtypes => 'internal int2 anyarray int4 internal internal internal internal', - prosrc => 'ginarrayconsistent' }, -{ oid => '3920', descr => 'GIN array support', - proname => 'ginarraytriconsistent', prorettype => 'char', - proargtypes => 'internal int2 anyarray int4 internal internal internal', - prosrc => 'ginarraytriconsistent' }, -{ oid => '3076', descr => 'GIN array support (obsolete)', - proname => 'ginarrayextract', prorettype => 'internal', - proargtypes => 'anyarray internal', prosrc => 'ginarrayextract_2args' }, - -# overlap/contains/contained -{ oid => '2747', - proname => 'arrayoverlap', prorettype => 'bool', - proargtypes => 'anyarray anyarray', prosrc => 'arrayoverlap' }, -{ oid => '2748', - proname => 'arraycontains', prorettype => 'bool', - proargtypes => 'anyarray anyarray', prosrc => 'arraycontains' }, -{ oid => '2749', - proname => 'arraycontained', prorettype => 'bool', - proargtypes => 'anyarray anyarray', prosrc => 'arraycontained' }, - -# BRIN minmax -{ oid => '3383', descr => 'BRIN minmax support', - proname => 'brin_minmax_opcinfo', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'brin_minmax_opcinfo' }, -{ oid => '3384', descr => 'BRIN minmax support', - proname => 'brin_minmax_add_value', prorettype => 'bool', - proargtypes => 'internal internal internal internal', - prosrc => 'brin_minmax_add_value' }, -{ oid => '3385', descr => 'BRIN minmax support', - proname => 'brin_minmax_consistent', prorettype => 'bool', - proargtypes => 'internal internal internal', - prosrc => 'brin_minmax_consistent' }, -{ oid => '3386', descr => 'BRIN minmax support', - proname => 'brin_minmax_union', prorettype => 'bool', - proargtypes => 'internal internal internal', prosrc => 'brin_minmax_union' }, - -# BRIN minmax multi -{ oid => '4616', descr => 'BRIN multi minmax support', - proname => 'brin_minmax_multi_opcinfo', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'brin_minmax_multi_opcinfo' }, -{ oid => '4617', descr => 'BRIN multi minmax support', - proname => 'brin_minmax_multi_add_value', prorettype => 'bool', - proargtypes => 'internal internal internal internal', - prosrc => 'brin_minmax_multi_add_value' }, -{ oid => '4618', descr => 'BRIN multi minmax support', - proname => 'brin_minmax_multi_consistent', prorettype => 'bool', - proargtypes => 'internal internal internal int4', - prosrc => 'brin_minmax_multi_consistent' }, -{ oid => '4619', descr => 'BRIN multi minmax support', - proname => 'brin_minmax_multi_union', prorettype => 'bool', - proargtypes => 'internal internal internal', - prosrc => 'brin_minmax_multi_union' }, -{ oid => '4620', descr => 'BRIN multi minmax support', - proname => 'brin_minmax_multi_options', proisstrict => 'f', - prorettype => 'void', proargtypes => 'internal', - prosrc => 'brin_minmax_multi_options' }, - -{ oid => '4621', descr => 'BRIN multi minmax int2 distance', - proname => 'brin_minmax_multi_distance_int2', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_int2' }, -{ oid => '4622', descr => 'BRIN multi minmax int4 distance', - proname => 'brin_minmax_multi_distance_int4', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_int4' }, -{ oid => '4623', descr => 'BRIN multi minmax int8 distance', - proname => 'brin_minmax_multi_distance_int8', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_int8' }, -{ oid => '4624', descr => 'BRIN multi minmax float4 distance', - proname => 'brin_minmax_multi_distance_float4', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_float4' }, -{ oid => '4625', descr => 'BRIN multi minmax float8 distance', - proname => 'brin_minmax_multi_distance_float8', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_float8' }, -{ oid => '4626', descr => 'BRIN multi minmax numeric distance', - proname => 'brin_minmax_multi_distance_numeric', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_numeric' }, -{ oid => '4627', descr => 'BRIN multi minmax tid distance', - proname => 'brin_minmax_multi_distance_tid', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_tid' }, -{ oid => '4628', descr => 'BRIN multi minmax uuid distance', - proname => 'brin_minmax_multi_distance_uuid', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_uuid' }, -{ oid => '4629', descr => 'BRIN multi minmax date distance', - proname => 'brin_minmax_multi_distance_date', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_date' }, -{ oid => '4630', descr => 'BRIN multi minmax time distance', - proname => 'brin_minmax_multi_distance_time', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_time' }, -{ oid => '4631', descr => 'BRIN multi minmax interval distance', - proname => 'brin_minmax_multi_distance_interval', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_interval' }, -{ oid => '4632', descr => 'BRIN multi minmax timetz distance', - proname => 'brin_minmax_multi_distance_timetz', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_timetz' }, -{ oid => '4633', descr => 'BRIN multi minmax pg_lsn distance', - proname => 'brin_minmax_multi_distance_pg_lsn', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_pg_lsn' }, -{ oid => '4634', descr => 'BRIN multi minmax macaddr distance', - proname => 'brin_minmax_multi_distance_macaddr', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_macaddr' }, -{ oid => '4635', descr => 'BRIN multi minmax macaddr8 distance', - proname => 'brin_minmax_multi_distance_macaddr8', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_macaddr8' }, -{ oid => '4636', descr => 'BRIN multi minmax inet distance', - proname => 'brin_minmax_multi_distance_inet', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_inet' }, -{ oid => '4637', descr => 'BRIN multi minmax timestamp distance', - proname => 'brin_minmax_multi_distance_timestamp', prorettype => 'float8', - proargtypes => 'internal internal', - prosrc => 'brin_minmax_multi_distance_timestamp' }, - -# BRIN inclusion -{ oid => '4105', descr => 'BRIN inclusion support', - proname => 'brin_inclusion_opcinfo', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'brin_inclusion_opcinfo' }, -{ oid => '4106', descr => 'BRIN inclusion support', - proname => 'brin_inclusion_add_value', prorettype => 'bool', - proargtypes => 'internal internal internal internal', - prosrc => 'brin_inclusion_add_value' }, -{ oid => '4107', descr => 'BRIN inclusion support', - proname => 'brin_inclusion_consistent', prorettype => 'bool', - proargtypes => 'internal internal internal', - prosrc => 'brin_inclusion_consistent' }, -{ oid => '4108', descr => 'BRIN inclusion support', - proname => 'brin_inclusion_union', prorettype => 'bool', - proargtypes => 'internal internal internal', - prosrc => 'brin_inclusion_union' }, - -# BRIN bloom -{ oid => '4591', descr => 'BRIN bloom support', - proname => 'brin_bloom_opcinfo', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'brin_bloom_opcinfo' }, -{ oid => '4592', descr => 'BRIN bloom support', - proname => 'brin_bloom_add_value', prorettype => 'bool', - proargtypes => 'internal internal internal internal', - prosrc => 'brin_bloom_add_value' }, -{ oid => '4593', descr => 'BRIN bloom support', - proname => 'brin_bloom_consistent', prorettype => 'bool', - proargtypes => 'internal internal internal int4', - prosrc => 'brin_bloom_consistent' }, -{ oid => '4594', descr => 'BRIN bloom support', - proname => 'brin_bloom_union', prorettype => 'bool', - proargtypes => 'internal internal internal', prosrc => 'brin_bloom_union' }, -{ oid => '4595', descr => 'BRIN bloom support', - proname => 'brin_bloom_options', proisstrict => 'f', prorettype => 'void', - proargtypes => 'internal', prosrc => 'brin_bloom_options' }, - -# userlock replacements -{ oid => '2880', descr => 'obtain exclusive advisory lock', - proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'r', - prorettype => 'void', proargtypes => 'int8', - prosrc => 'pg_advisory_lock_int8' }, -{ oid => '3089', descr => 'obtain exclusive advisory lock', - proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'r', - prorettype => 'void', proargtypes => 'int8', - prosrc => 'pg_advisory_xact_lock_int8' }, -{ oid => '2881', descr => 'obtain shared advisory lock', - proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'r', - prorettype => 'void', proargtypes => 'int8', - prosrc => 'pg_advisory_lock_shared_int8' }, -{ oid => '3090', descr => 'obtain shared advisory lock', - proname => 'pg_advisory_xact_lock_shared', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => 'int8', - prosrc => 'pg_advisory_xact_lock_shared_int8' }, -{ oid => '2882', descr => 'obtain exclusive advisory lock if available', - proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'r', - prorettype => 'bool', proargtypes => 'int8', - prosrc => 'pg_try_advisory_lock_int8' }, -{ oid => '3091', descr => 'obtain exclusive advisory lock if available', - proname => 'pg_try_advisory_xact_lock', provolatile => 'v', - proparallel => 'r', prorettype => 'bool', proargtypes => 'int8', - prosrc => 'pg_try_advisory_xact_lock_int8' }, -{ oid => '2883', descr => 'obtain shared advisory lock if available', - proname => 'pg_try_advisory_lock_shared', provolatile => 'v', - proparallel => 'r', prorettype => 'bool', proargtypes => 'int8', - prosrc => 'pg_try_advisory_lock_shared_int8' }, -{ oid => '3092', descr => 'obtain shared advisory lock if available', - proname => 'pg_try_advisory_xact_lock_shared', provolatile => 'v', - proparallel => 'r', prorettype => 'bool', proargtypes => 'int8', - prosrc => 'pg_try_advisory_xact_lock_shared_int8' }, -{ oid => '2884', descr => 'release exclusive advisory lock', - proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'r', - prorettype => 'bool', proargtypes => 'int8', - prosrc => 'pg_advisory_unlock_int8' }, -{ oid => '2885', descr => 'release shared advisory lock', - proname => 'pg_advisory_unlock_shared', provolatile => 'v', - proparallel => 'r', prorettype => 'bool', proargtypes => 'int8', - prosrc => 'pg_advisory_unlock_shared_int8' }, -{ oid => '2886', descr => 'obtain exclusive advisory lock', - proname => 'pg_advisory_lock', provolatile => 'v', proparallel => 'r', - prorettype => 'void', proargtypes => 'int4 int4', - prosrc => 'pg_advisory_lock_int4' }, -{ oid => '3093', descr => 'obtain exclusive advisory lock', - proname => 'pg_advisory_xact_lock', provolatile => 'v', proparallel => 'r', - prorettype => 'void', proargtypes => 'int4 int4', - prosrc => 'pg_advisory_xact_lock_int4' }, -{ oid => '2887', descr => 'obtain shared advisory lock', - proname => 'pg_advisory_lock_shared', provolatile => 'v', proparallel => 'r', - prorettype => 'void', proargtypes => 'int4 int4', - prosrc => 'pg_advisory_lock_shared_int4' }, -{ oid => '3094', descr => 'obtain shared advisory lock', - proname => 'pg_advisory_xact_lock_shared', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => 'int4 int4', - prosrc => 'pg_advisory_xact_lock_shared_int4' }, -{ oid => '2888', descr => 'obtain exclusive advisory lock if available', - proname => 'pg_try_advisory_lock', provolatile => 'v', proparallel => 'r', - prorettype => 'bool', proargtypes => 'int4 int4', - prosrc => 'pg_try_advisory_lock_int4' }, -{ oid => '3095', descr => 'obtain exclusive advisory lock if available', - proname => 'pg_try_advisory_xact_lock', provolatile => 'v', - proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4', - prosrc => 'pg_try_advisory_xact_lock_int4' }, -{ oid => '2889', descr => 'obtain shared advisory lock if available', - proname => 'pg_try_advisory_lock_shared', provolatile => 'v', - proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4', - prosrc => 'pg_try_advisory_lock_shared_int4' }, -{ oid => '3096', descr => 'obtain shared advisory lock if available', - proname => 'pg_try_advisory_xact_lock_shared', provolatile => 'v', - proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4', - prosrc => 'pg_try_advisory_xact_lock_shared_int4' }, -{ oid => '2890', descr => 'release exclusive advisory lock', - proname => 'pg_advisory_unlock', provolatile => 'v', proparallel => 'r', - prorettype => 'bool', proargtypes => 'int4 int4', - prosrc => 'pg_advisory_unlock_int4' }, -{ oid => '2891', descr => 'release shared advisory lock', - proname => 'pg_advisory_unlock_shared', provolatile => 'v', - proparallel => 'r', prorettype => 'bool', proargtypes => 'int4 int4', - prosrc => 'pg_advisory_unlock_shared_int4' }, -{ oid => '2892', descr => 'release all advisory locks', - proname => 'pg_advisory_unlock_all', provolatile => 'v', proparallel => 'r', - prorettype => 'void', proargtypes => '', prosrc => 'pg_advisory_unlock_all' }, - -# XML support -{ oid => '2893', descr => 'I/O', - proname => 'xml_in', provolatile => 's', prorettype => 'xml', - proargtypes => 'cstring', prosrc => 'xml_in' }, -{ oid => '2894', descr => 'I/O', - proname => 'xml_out', prorettype => 'cstring', proargtypes => 'xml', - prosrc => 'xml_out' }, -{ oid => '2895', descr => 'generate XML comment', - proname => 'xmlcomment', prorettype => 'xml', proargtypes => 'text', - prosrc => 'xmlcomment' }, -{ oid => '2896', - descr => 'perform a non-validating parse of a character string to produce an XML value', - proname => 'xml', provolatile => 's', prorettype => 'xml', - proargtypes => 'text', prosrc => 'texttoxml' }, -{ oid => '2897', descr => 'validate an XML value', - proname => 'xmlvalidate', prorettype => 'bool', proargtypes => 'xml text', - prosrc => 'xmlvalidate' }, -{ oid => '2898', descr => 'I/O', - proname => 'xml_recv', provolatile => 's', prorettype => 'xml', - proargtypes => 'internal', prosrc => 'xml_recv' }, -{ oid => '2899', descr => 'I/O', - proname => 'xml_send', provolatile => 's', prorettype => 'bytea', - proargtypes => 'xml', prosrc => 'xml_send' }, -{ oid => '2900', descr => 'aggregate transition function', - proname => 'xmlconcat2', proisstrict => 'f', prorettype => 'xml', - proargtypes => 'xml xml', prosrc => 'xmlconcat2' }, -{ oid => '2901', descr => 'concatenate XML values', - proname => 'xmlagg', prokind => 'a', proisstrict => 'f', prorettype => 'xml', - proargtypes => 'xml', prosrc => 'aggregate_dummy' }, -{ oid => '2922', descr => 'serialize an XML value to a character string', - proname => 'text', prorettype => 'text', proargtypes => 'xml', - prosrc => 'xmltotext' }, - -{ oid => '2923', descr => 'map table contents to XML', - proname => 'table_to_xml', procost => '100', provolatile => 's', - proparallel => 'r', prorettype => 'xml', - proargtypes => 'regclass bool bool text', - proargnames => '{tbl,nulls,tableforest,targetns}', prosrc => 'table_to_xml' }, -{ oid => '2924', descr => 'map query result to XML', - proname => 'query_to_xml', procost => '100', provolatile => 'v', - proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text', - proargnames => '{query,nulls,tableforest,targetns}', - prosrc => 'query_to_xml' }, -{ oid => '2925', descr => 'map rows from cursor to XML', - proname => 'cursor_to_xml', procost => '100', provolatile => 'v', - proparallel => 'u', prorettype => 'xml', - proargtypes => 'refcursor int4 bool bool text', - proargnames => '{cursor,count,nulls,tableforest,targetns}', - prosrc => 'cursor_to_xml' }, -{ oid => '2926', descr => 'map table structure to XML Schema', - proname => 'table_to_xmlschema', procost => '100', provolatile => 's', - proparallel => 'r', prorettype => 'xml', - proargtypes => 'regclass bool bool text', - proargnames => '{tbl,nulls,tableforest,targetns}', - prosrc => 'table_to_xmlschema' }, -{ oid => '2927', descr => 'map query result structure to XML Schema', - proname => 'query_to_xmlschema', procost => '100', provolatile => 'v', - proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text', - proargnames => '{query,nulls,tableforest,targetns}', - prosrc => 'query_to_xmlschema' }, -{ oid => '2928', descr => 'map cursor structure to XML Schema', - proname => 'cursor_to_xmlschema', procost => '100', provolatile => 'v', - proparallel => 'u', prorettype => 'xml', - proargtypes => 'refcursor bool bool text', - proargnames => '{cursor,nulls,tableforest,targetns}', - prosrc => 'cursor_to_xmlschema' }, -{ oid => '2929', - descr => 'map table contents and structure to XML and XML Schema', - proname => 'table_to_xml_and_xmlschema', procost => '100', provolatile => 's', - proparallel => 'r', prorettype => 'xml', - proargtypes => 'regclass bool bool text', - proargnames => '{tbl,nulls,tableforest,targetns}', - prosrc => 'table_to_xml_and_xmlschema' }, -{ oid => '2930', - descr => 'map query result and structure to XML and XML Schema', - proname => 'query_to_xml_and_xmlschema', procost => '100', provolatile => 'v', - proparallel => 'u', prorettype => 'xml', proargtypes => 'text bool bool text', - proargnames => '{query,nulls,tableforest,targetns}', - prosrc => 'query_to_xml_and_xmlschema' }, - -{ oid => '2933', descr => 'map schema contents to XML', - proname => 'schema_to_xml', procost => '100', provolatile => 's', - proparallel => 'r', prorettype => 'xml', proargtypes => 'name bool bool text', - proargnames => '{schema,nulls,tableforest,targetns}', - prosrc => 'schema_to_xml' }, -{ oid => '2934', descr => 'map schema structure to XML Schema', - proname => 'schema_to_xmlschema', procost => '100', provolatile => 's', - proparallel => 'r', prorettype => 'xml', proargtypes => 'name bool bool text', - proargnames => '{schema,nulls,tableforest,targetns}', - prosrc => 'schema_to_xmlschema' }, -{ oid => '2935', - descr => 'map schema contents and structure to XML and XML Schema', - proname => 'schema_to_xml_and_xmlschema', procost => '100', - provolatile => 's', proparallel => 'r', prorettype => 'xml', - proargtypes => 'name bool bool text', - proargnames => '{schema,nulls,tableforest,targetns}', - prosrc => 'schema_to_xml_and_xmlschema' }, - -{ oid => '2936', descr => 'map database contents to XML', - proname => 'database_to_xml', procost => '100', provolatile => 's', - proparallel => 'r', prorettype => 'xml', proargtypes => 'bool bool text', - proargnames => '{nulls,tableforest,targetns}', prosrc => 'database_to_xml' }, -{ oid => '2937', descr => 'map database structure to XML Schema', - proname => 'database_to_xmlschema', procost => '100', provolatile => 's', - proparallel => 'r', prorettype => 'xml', proargtypes => 'bool bool text', - proargnames => '{nulls,tableforest,targetns}', - prosrc => 'database_to_xmlschema' }, -{ oid => '2938', - descr => 'map database contents and structure to XML and XML Schema', - proname => 'database_to_xml_and_xmlschema', procost => '100', - provolatile => 's', proparallel => 'r', prorettype => 'xml', - proargtypes => 'bool bool text', - proargnames => '{nulls,tableforest,targetns}', - prosrc => 'database_to_xml_and_xmlschema' }, - -{ oid => '2931', - descr => 'evaluate XPath expression, with namespaces support', - proname => 'xpath', prorettype => '_xml', proargtypes => 'text xml _text', - prosrc => 'xpath' }, -{ oid => '2932', descr => 'evaluate XPath expression', - proname => 'xpath', prolang => 'sql', prorettype => '_xml', - proargtypes => 'text xml', prosrc => 'see system_functions.sql' }, - -{ oid => '2614', descr => 'test XML value against XPath expression', - proname => 'xmlexists', prorettype => 'bool', proargtypes => 'text xml', - prosrc => 'xmlexists' }, - -{ oid => '3049', - descr => 'test XML value against XPath expression, with namespace support', - proname => 'xpath_exists', prorettype => 'bool', - proargtypes => 'text xml _text', prosrc => 'xpath_exists' }, -{ oid => '3050', descr => 'test XML value against XPath expression', - proname => 'xpath_exists', prolang => 'sql', prorettype => 'bool', - proargtypes => 'text xml', prosrc => 'see system_functions.sql' }, -{ oid => '3051', descr => 'determine if a string is well formed XML', - proname => 'xml_is_well_formed', provolatile => 's', prorettype => 'bool', - proargtypes => 'text', prosrc => 'xml_is_well_formed' }, -{ oid => '3052', descr => 'determine if a string is well formed XML document', - proname => 'xml_is_well_formed_document', prorettype => 'bool', - proargtypes => 'text', prosrc => 'xml_is_well_formed_document' }, -{ oid => '3053', descr => 'determine if a string is well formed XML content', - proname => 'xml_is_well_formed_content', prorettype => 'bool', - proargtypes => 'text', prosrc => 'xml_is_well_formed_content' }, - -# json -{ oid => '321', descr => 'I/O', - proname => 'json_in', prorettype => 'json', proargtypes => 'cstring', - prosrc => 'json_in' }, -{ oid => '322', descr => 'I/O', - proname => 'json_out', prorettype => 'cstring', proargtypes => 'json', - prosrc => 'json_out' }, -{ oid => '323', descr => 'I/O', - proname => 'json_recv', prorettype => 'json', proargtypes => 'internal', - prosrc => 'json_recv' }, -{ oid => '324', descr => 'I/O', - proname => 'json_send', prorettype => 'bytea', proargtypes => 'json', - prosrc => 'json_send' }, -{ oid => '3153', descr => 'map array to json', - proname => 'array_to_json', provolatile => 's', prorettype => 'json', - proargtypes => 'anyarray', prosrc => 'array_to_json' }, -{ oid => '3154', descr => 'map array to json with optional pretty printing', - proname => 'array_to_json', provolatile => 's', prorettype => 'json', - proargtypes => 'anyarray bool', prosrc => 'array_to_json_pretty' }, -{ oid => '3155', descr => 'map row to json', - proname => 'row_to_json', provolatile => 's', prorettype => 'json', - proargtypes => 'record', prosrc => 'row_to_json' }, -{ oid => '3156', descr => 'map row to json with optional pretty printing', - proname => 'row_to_json', provolatile => 's', prorettype => 'json', - proargtypes => 'record bool', prosrc => 'row_to_json_pretty' }, -{ oid => '3173', descr => 'json aggregate transition function', - proname => 'json_agg_transfn', proisstrict => 'f', provolatile => 's', - prorettype => 'internal', proargtypes => 'internal anyelement', - prosrc => 'json_agg_transfn' }, -{ oid => '3174', descr => 'json aggregate final function', - proname => 'json_agg_finalfn', proisstrict => 'f', prorettype => 'json', - proargtypes => 'internal', prosrc => 'json_agg_finalfn' }, -{ oid => '3175', descr => 'aggregate input into json', - proname => 'json_agg', prokind => 'a', proisstrict => 'f', provolatile => 's', - prorettype => 'json', proargtypes => 'anyelement', - prosrc => 'aggregate_dummy' }, -{ oid => '3180', descr => 'json object aggregate transition function', - proname => 'json_object_agg_transfn', proisstrict => 'f', provolatile => 's', - prorettype => 'internal', proargtypes => 'internal any any', - prosrc => 'json_object_agg_transfn' }, -{ oid => '3196', descr => 'json object aggregate final function', - proname => 'json_object_agg_finalfn', proisstrict => 'f', - prorettype => 'json', proargtypes => 'internal', - prosrc => 'json_object_agg_finalfn' }, -{ oid => '3197', descr => 'aggregate input into a json object', - proname => 'json_object_agg', prokind => 'a', proisstrict => 'f', - provolatile => 's', prorettype => 'json', proargtypes => 'any any', - prosrc => 'aggregate_dummy' }, -{ oid => '3198', descr => 'build a json array from any inputs', - proname => 'json_build_array', provariadic => 'any', proisstrict => 'f', - provolatile => 's', prorettype => 'json', proargtypes => 'any', - proallargtypes => '{any}', proargmodes => '{v}', - prosrc => 'json_build_array' }, -{ oid => '3199', descr => 'build an empty json array', - proname => 'json_build_array', proisstrict => 'f', provolatile => 's', - prorettype => 'json', proargtypes => '', - prosrc => 'json_build_array_noargs' }, -{ oid => '3200', - descr => 'build a json object from pairwise key/value inputs', - proname => 'json_build_object', provariadic => 'any', proisstrict => 'f', - provolatile => 's', prorettype => 'json', proargtypes => 'any', - proallargtypes => '{any}', proargmodes => '{v}', - prosrc => 'json_build_object' }, -{ oid => '3201', descr => 'build an empty json object', - proname => 'json_build_object', proisstrict => 'f', provolatile => 's', - prorettype => 'json', proargtypes => '', - prosrc => 'json_build_object_noargs' }, -{ oid => '3202', descr => 'map text array of key value pairs to json object', - proname => 'json_object', prorettype => 'json', proargtypes => '_text', - prosrc => 'json_object' }, -{ oid => '3203', descr => 'map text arrays of keys and values to json object', - proname => 'json_object', prorettype => 'json', proargtypes => '_text _text', - prosrc => 'json_object_two_arg' }, -{ oid => '3176', descr => 'map input to json', - proname => 'to_json', provolatile => 's', prorettype => 'json', - proargtypes => 'anyelement', prosrc => 'to_json' }, -{ oid => '3261', descr => 'remove object fields with null values from json', - proname => 'json_strip_nulls', prorettype => 'json', proargtypes => 'json', - prosrc => 'json_strip_nulls' }, - -{ oid => '3947', - proname => 'json_object_field', prorettype => 'json', - proargtypes => 'json text', proargnames => '{from_json, field_name}', - prosrc => 'json_object_field' }, -{ oid => '3948', - proname => 'json_object_field_text', prorettype => 'text', - proargtypes => 'json text', proargnames => '{from_json, field_name}', - prosrc => 'json_object_field_text' }, -{ oid => '3949', - proname => 'json_array_element', prorettype => 'json', - proargtypes => 'json int4', proargnames => '{from_json, element_index}', - prosrc => 'json_array_element' }, -{ oid => '3950', - proname => 'json_array_element_text', prorettype => 'text', - proargtypes => 'json int4', proargnames => '{from_json, element_index}', - prosrc => 'json_array_element_text' }, -{ oid => '3951', descr => 'get value from json with path elements', - proname => 'json_extract_path', provariadic => 'text', prorettype => 'json', - proargtypes => 'json _text', proallargtypes => '{json,_text}', - proargmodes => '{i,v}', proargnames => '{from_json,path_elems}', - prosrc => 'json_extract_path' }, -{ oid => '3953', descr => 'get value from json as text with path elements', - proname => 'json_extract_path_text', provariadic => 'text', - prorettype => 'text', proargtypes => 'json _text', - proallargtypes => '{json,_text}', proargmodes => '{i,v}', - proargnames => '{from_json,path_elems}', prosrc => 'json_extract_path_text' }, -{ oid => '3955', descr => 'key value pairs of a json object', - proname => 'json_array_elements', prorows => '100', proretset => 't', - prorettype => 'json', proargtypes => 'json', proallargtypes => '{json,json}', - proargmodes => '{i,o}', proargnames => '{from_json,value}', - prosrc => 'json_array_elements' }, -{ oid => '3969', descr => 'elements of json array', - proname => 'json_array_elements_text', prorows => '100', proretset => 't', - prorettype => 'text', proargtypes => 'json', proallargtypes => '{json,text}', - proargmodes => '{i,o}', proargnames => '{from_json,value}', - prosrc => 'json_array_elements_text' }, -{ oid => '3956', descr => 'length of json array', - proname => 'json_array_length', prorettype => 'int4', proargtypes => 'json', - prosrc => 'json_array_length' }, -{ oid => '3957', descr => 'get json object keys', - proname => 'json_object_keys', prorows => '100', proretset => 't', - prorettype => 'text', proargtypes => 'json', prosrc => 'json_object_keys' }, -{ oid => '3958', descr => 'key value pairs of a json object', - proname => 'json_each', prorows => '100', proretset => 't', - prorettype => 'record', proargtypes => 'json', - proallargtypes => '{json,text,json}', proargmodes => '{i,o,o}', - proargnames => '{from_json,key,value}', prosrc => 'json_each' }, -{ oid => '3959', descr => 'key value pairs of a json object', - proname => 'json_each_text', prorows => '100', proretset => 't', - prorettype => 'record', proargtypes => 'json', - proallargtypes => '{json,text,text}', proargmodes => '{i,o,o}', - proargnames => '{from_json,key,value}', prosrc => 'json_each_text' }, -{ oid => '3960', descr => 'get record fields from a json object', - proname => 'json_populate_record', proisstrict => 'f', provolatile => 's', - prorettype => 'anyelement', proargtypes => 'anyelement json bool', - prosrc => 'json_populate_record' }, -{ oid => '3961', - descr => 'get set of records with fields from a json array of objects', - proname => 'json_populate_recordset', prorows => '100', proisstrict => 'f', - proretset => 't', provolatile => 's', prorettype => 'anyelement', - proargtypes => 'anyelement json bool', prosrc => 'json_populate_recordset' }, -{ oid => '3204', descr => 'get record fields from a json object', - proname => 'json_to_record', provolatile => 's', prorettype => 'record', - proargtypes => 'json', prosrc => 'json_to_record' }, -{ oid => '3205', - descr => 'get set of records with fields from a json array of objects', - proname => 'json_to_recordset', prorows => '100', proisstrict => 'f', - proretset => 't', provolatile => 's', prorettype => 'record', - proargtypes => 'json', prosrc => 'json_to_recordset' }, -{ oid => '3968', descr => 'get the type of a json value', - proname => 'json_typeof', prorettype => 'text', proargtypes => 'json', - prosrc => 'json_typeof' }, - -# uuid -{ oid => '2952', descr => 'I/O', - proname => 'uuid_in', prorettype => 'uuid', proargtypes => 'cstring', - prosrc => 'uuid_in' }, -{ oid => '2953', descr => 'I/O', - proname => 'uuid_out', prorettype => 'cstring', proargtypes => 'uuid', - prosrc => 'uuid_out' }, -{ oid => '2954', - proname => 'uuid_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'uuid uuid', prosrc => 'uuid_lt' }, -{ oid => '2955', - proname => 'uuid_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'uuid uuid', prosrc => 'uuid_le' }, -{ oid => '2956', - proname => 'uuid_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'uuid uuid', prosrc => 'uuid_eq' }, -{ oid => '2957', - proname => 'uuid_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'uuid uuid', prosrc => 'uuid_ge' }, -{ oid => '2958', - proname => 'uuid_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'uuid uuid', prosrc => 'uuid_gt' }, -{ oid => '2959', - proname => 'uuid_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'uuid uuid', prosrc => 'uuid_ne' }, -{ oid => '2960', descr => 'less-equal-greater', - proname => 'uuid_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'uuid uuid', prosrc => 'uuid_cmp' }, -{ oid => '3300', descr => 'sort support', - proname => 'uuid_sortsupport', prorettype => 'void', - proargtypes => 'internal', prosrc => 'uuid_sortsupport' }, -{ oid => '2961', descr => 'I/O', - proname => 'uuid_recv', prorettype => 'uuid', proargtypes => 'internal', - prosrc => 'uuid_recv' }, -{ oid => '2962', descr => 'I/O', - proname => 'uuid_send', prorettype => 'bytea', proargtypes => 'uuid', - prosrc => 'uuid_send' }, -{ oid => '2963', descr => 'hash', - proname => 'uuid_hash', prorettype => 'int4', proargtypes => 'uuid', - prosrc => 'uuid_hash' }, -{ oid => '3412', descr => 'hash', - proname => 'uuid_hash_extended', prorettype => 'int8', - proargtypes => 'uuid int8', prosrc => 'uuid_hash_extended' }, -{ oid => '3432', descr => 'generate random UUID', - proname => 'gen_random_uuid', proleakproof => 't', provolatile => 'v', - prorettype => 'uuid', proargtypes => '', prosrc => 'gen_random_uuid' }, - -# pg_lsn -{ oid => '3229', descr => 'I/O', - proname => 'pg_lsn_in', prorettype => 'pg_lsn', proargtypes => 'cstring', - prosrc => 'pg_lsn_in' }, -{ oid => '3230', descr => 'I/O', - proname => 'pg_lsn_out', prorettype => 'cstring', proargtypes => 'pg_lsn', - prosrc => 'pg_lsn_out' }, -{ oid => '3231', - proname => 'pg_lsn_lt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_lt' }, -{ oid => '3232', - proname => 'pg_lsn_le', proleakproof => 't', prorettype => 'bool', - proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_le' }, -{ oid => '3233', - proname => 'pg_lsn_eq', proleakproof => 't', prorettype => 'bool', - proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_eq' }, -{ oid => '3234', - proname => 'pg_lsn_ge', proleakproof => 't', prorettype => 'bool', - proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_ge' }, -{ oid => '3235', - proname => 'pg_lsn_gt', proleakproof => 't', prorettype => 'bool', - proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_gt' }, -{ oid => '3236', - proname => 'pg_lsn_ne', proleakproof => 't', prorettype => 'bool', - proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_ne' }, -{ oid => '3237', - proname => 'pg_lsn_mi', prorettype => 'numeric', - proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_mi' }, -{ oid => '3238', descr => 'I/O', - proname => 'pg_lsn_recv', prorettype => 'pg_lsn', proargtypes => 'internal', - prosrc => 'pg_lsn_recv' }, -{ oid => '3239', descr => 'I/O', - proname => 'pg_lsn_send', prorettype => 'bytea', proargtypes => 'pg_lsn', - prosrc => 'pg_lsn_send' }, -{ oid => '3251', descr => 'less-equal-greater', - proname => 'pg_lsn_cmp', proleakproof => 't', prorettype => 'int4', - proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_cmp' }, -{ oid => '3252', descr => 'hash', - proname => 'pg_lsn_hash', prorettype => 'int4', proargtypes => 'pg_lsn', - prosrc => 'pg_lsn_hash' }, -{ oid => '3413', descr => 'hash', - proname => 'pg_lsn_hash_extended', prorettype => 'int8', - proargtypes => 'pg_lsn int8', prosrc => 'pg_lsn_hash_extended' }, -{ oid => '4187', descr => 'larger of two', - proname => 'pg_lsn_larger', prorettype => 'pg_lsn', - proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_larger' }, -{ oid => '4188', descr => 'smaller of two', - proname => 'pg_lsn_smaller', prorettype => 'pg_lsn', - proargtypes => 'pg_lsn pg_lsn', prosrc => 'pg_lsn_smaller' }, -{ oid => '5022', - proname => 'pg_lsn_pli', prorettype => 'pg_lsn', - proargtypes => 'pg_lsn numeric', prosrc => 'pg_lsn_pli' }, -{ oid => '5023', - proname => 'numeric_pl_pg_lsn', prolang => 'sql', prorettype => 'pg_lsn', - proargtypes => 'numeric pg_lsn', prosrc => 'see system_functions.sql' }, -{ oid => '5024', - proname => 'pg_lsn_mii', prorettype => 'pg_lsn', - proargtypes => 'pg_lsn numeric', prosrc => 'pg_lsn_mii' }, - -# enum related procs -{ oid => '3504', descr => 'I/O', - proname => 'anyenum_in', prorettype => 'anyenum', proargtypes => 'cstring', - prosrc => 'anyenum_in' }, -{ oid => '3505', descr => 'I/O', - proname => 'anyenum_out', provolatile => 's', prorettype => 'cstring', - proargtypes => 'anyenum', prosrc => 'anyenum_out' }, -{ oid => '3506', descr => 'I/O', - proname => 'enum_in', provolatile => 's', prorettype => 'anyenum', - proargtypes => 'cstring oid', prosrc => 'enum_in' }, -{ oid => '3507', descr => 'I/O', - proname => 'enum_out', provolatile => 's', prorettype => 'cstring', - proargtypes => 'anyenum', prosrc => 'enum_out' }, -{ oid => '3508', - proname => 'enum_eq', prorettype => 'bool', proargtypes => 'anyenum anyenum', - prosrc => 'enum_eq' }, -{ oid => '3509', - proname => 'enum_ne', prorettype => 'bool', proargtypes => 'anyenum anyenum', - prosrc => 'enum_ne' }, -{ oid => '3510', - proname => 'enum_lt', prorettype => 'bool', proargtypes => 'anyenum anyenum', - prosrc => 'enum_lt' }, -{ oid => '3511', - proname => 'enum_gt', prorettype => 'bool', proargtypes => 'anyenum anyenum', - prosrc => 'enum_gt' }, -{ oid => '3512', - proname => 'enum_le', prorettype => 'bool', proargtypes => 'anyenum anyenum', - prosrc => 'enum_le' }, -{ oid => '3513', - proname => 'enum_ge', prorettype => 'bool', proargtypes => 'anyenum anyenum', - prosrc => 'enum_ge' }, -{ oid => '3514', descr => 'less-equal-greater', - proname => 'enum_cmp', prorettype => 'int4', proargtypes => 'anyenum anyenum', - prosrc => 'enum_cmp' }, -{ oid => '3515', descr => 'hash', - proname => 'hashenum', prorettype => 'int4', proargtypes => 'anyenum', - prosrc => 'hashenum' }, -{ oid => '3414', descr => 'hash', - proname => 'hashenumextended', prorettype => 'int8', - proargtypes => 'anyenum int8', prosrc => 'hashenumextended' }, -{ oid => '3524', descr => 'smaller of two', - proname => 'enum_smaller', prorettype => 'anyenum', - proargtypes => 'anyenum anyenum', prosrc => 'enum_smaller' }, -{ oid => '3525', descr => 'larger of two', - proname => 'enum_larger', prorettype => 'anyenum', - proargtypes => 'anyenum anyenum', prosrc => 'enum_larger' }, -{ oid => '3526', descr => 'maximum value of all enum input values', - proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'anyenum', - proargtypes => 'anyenum', prosrc => 'aggregate_dummy' }, -{ oid => '3527', descr => 'minimum value of all enum input values', - proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'anyenum', - proargtypes => 'anyenum', prosrc => 'aggregate_dummy' }, -{ oid => '3528', descr => 'first value of the input enum type', - proname => 'enum_first', proisstrict => 'f', provolatile => 's', - prorettype => 'anyenum', proargtypes => 'anyenum', prosrc => 'enum_first' }, -{ oid => '3529', descr => 'last value of the input enum type', - proname => 'enum_last', proisstrict => 'f', provolatile => 's', - prorettype => 'anyenum', proargtypes => 'anyenum', prosrc => 'enum_last' }, -{ oid => '3530', - descr => 'range between the two given enum values, as an ordered array', - proname => 'enum_range', proisstrict => 'f', provolatile => 's', - prorettype => 'anyarray', proargtypes => 'anyenum anyenum', - prosrc => 'enum_range_bounds' }, -{ oid => '3531', descr => 'range of the given enum type, as an ordered array', - proname => 'enum_range', proisstrict => 'f', provolatile => 's', - prorettype => 'anyarray', proargtypes => 'anyenum', - prosrc => 'enum_range_all' }, -{ oid => '3532', descr => 'I/O', - proname => 'enum_recv', provolatile => 's', prorettype => 'anyenum', - proargtypes => 'internal oid', prosrc => 'enum_recv' }, -{ oid => '3533', descr => 'I/O', - proname => 'enum_send', provolatile => 's', prorettype => 'bytea', - proargtypes => 'anyenum', prosrc => 'enum_send' }, - -# text search stuff -{ oid => '3610', descr => 'I/O', - proname => 'tsvectorin', prorettype => 'tsvector', proargtypes => 'cstring', - prosrc => 'tsvectorin' }, -{ oid => '3639', descr => 'I/O', - proname => 'tsvectorrecv', prorettype => 'tsvector', - proargtypes => 'internal', prosrc => 'tsvectorrecv' }, -{ oid => '3611', descr => 'I/O', - proname => 'tsvectorout', prorettype => 'cstring', proargtypes => 'tsvector', - prosrc => 'tsvectorout' }, -{ oid => '3638', descr => 'I/O', - proname => 'tsvectorsend', prorettype => 'bytea', proargtypes => 'tsvector', - prosrc => 'tsvectorsend' }, -{ oid => '3612', descr => 'I/O', - proname => 'tsqueryin', prorettype => 'tsquery', proargtypes => 'cstring', - prosrc => 'tsqueryin' }, -{ oid => '3641', descr => 'I/O', - proname => 'tsqueryrecv', prorettype => 'tsquery', proargtypes => 'internal', - prosrc => 'tsqueryrecv' }, -{ oid => '3613', descr => 'I/O', - proname => 'tsqueryout', prorettype => 'cstring', proargtypes => 'tsquery', - prosrc => 'tsqueryout' }, -{ oid => '3640', descr => 'I/O', - proname => 'tsquerysend', prorettype => 'bytea', proargtypes => 'tsquery', - prosrc => 'tsquerysend' }, -{ oid => '3646', descr => 'I/O', - proname => 'gtsvectorin', prorettype => 'gtsvector', proargtypes => 'cstring', - prosrc => 'gtsvectorin' }, -{ oid => '3647', descr => 'I/O', - proname => 'gtsvectorout', prorettype => 'cstring', - proargtypes => 'gtsvector', prosrc => 'gtsvectorout' }, - -{ oid => '3616', - proname => 'tsvector_lt', prorettype => 'bool', - proargtypes => 'tsvector tsvector', prosrc => 'tsvector_lt' }, -{ oid => '3617', - proname => 'tsvector_le', prorettype => 'bool', - proargtypes => 'tsvector tsvector', prosrc => 'tsvector_le' }, -{ oid => '3618', - proname => 'tsvector_eq', prorettype => 'bool', - proargtypes => 'tsvector tsvector', prosrc => 'tsvector_eq' }, -{ oid => '3619', - proname => 'tsvector_ne', prorettype => 'bool', - proargtypes => 'tsvector tsvector', prosrc => 'tsvector_ne' }, -{ oid => '3620', - proname => 'tsvector_ge', prorettype => 'bool', - proargtypes => 'tsvector tsvector', prosrc => 'tsvector_ge' }, -{ oid => '3621', - proname => 'tsvector_gt', prorettype => 'bool', - proargtypes => 'tsvector tsvector', prosrc => 'tsvector_gt' }, -{ oid => '3622', descr => 'less-equal-greater', - proname => 'tsvector_cmp', prorettype => 'int4', - proargtypes => 'tsvector tsvector', prosrc => 'tsvector_cmp' }, - -{ oid => '3711', descr => 'number of lexemes', - proname => 'length', prorettype => 'int4', proargtypes => 'tsvector', - prosrc => 'tsvector_length' }, -{ oid => '3623', descr => 'strip position information', - proname => 'strip', prorettype => 'tsvector', proargtypes => 'tsvector', - prosrc => 'tsvector_strip' }, -{ oid => '3624', descr => 'set given weight for whole tsvector', - proname => 'setweight', prorettype => 'tsvector', - proargtypes => 'tsvector char', prosrc => 'tsvector_setweight' }, -{ oid => '3320', descr => 'set given weight for given lexemes', - proname => 'setweight', prorettype => 'tsvector', - proargtypes => 'tsvector char _text', - prosrc => 'tsvector_setweight_by_filter' }, -{ oid => '3625', - proname => 'tsvector_concat', prorettype => 'tsvector', - proargtypes => 'tsvector tsvector', prosrc => 'tsvector_concat' }, -{ oid => '3321', descr => 'delete lexeme', - proname => 'ts_delete', prorettype => 'tsvector', - proargtypes => 'tsvector text', prosrc => 'tsvector_delete_str' }, -{ oid => '3323', descr => 'delete given lexemes', - proname => 'ts_delete', prorettype => 'tsvector', - proargtypes => 'tsvector _text', prosrc => 'tsvector_delete_arr' }, -{ oid => '3322', descr => 'expand tsvector to set of rows', - proname => 'unnest', prorows => '10', proretset => 't', - prorettype => 'record', proargtypes => 'tsvector', - proallargtypes => '{tsvector,text,_int2,_text}', proargmodes => '{i,o,o,o}', - proargnames => '{tsvector,lexeme,positions,weights}', - prosrc => 'tsvector_unnest' }, -{ oid => '3326', descr => 'convert tsvector to array of lexemes', - proname => 'tsvector_to_array', prorettype => '_text', - proargtypes => 'tsvector', prosrc => 'tsvector_to_array' }, -{ oid => '3327', descr => 'build tsvector from array of lexemes', - proname => 'array_to_tsvector', prorettype => 'tsvector', - proargtypes => '_text', prosrc => 'array_to_tsvector' }, -{ oid => '3319', - descr => 'delete lexemes that do not have one of the given weights', - proname => 'ts_filter', prorettype => 'tsvector', - proargtypes => 'tsvector _char', prosrc => 'tsvector_filter' }, - -{ oid => '3634', - proname => 'ts_match_vq', prorettype => 'bool', - proargtypes => 'tsvector tsquery', prosrc => 'ts_match_vq' }, -{ oid => '3635', - proname => 'ts_match_qv', prorettype => 'bool', - proargtypes => 'tsquery tsvector', prosrc => 'ts_match_qv' }, -{ oid => '3760', - proname => 'ts_match_tt', procost => '100', provolatile => 's', - prorettype => 'bool', proargtypes => 'text text', prosrc => 'ts_match_tt' }, -{ oid => '3761', - proname => 'ts_match_tq', procost => '100', provolatile => 's', - prorettype => 'bool', proargtypes => 'text tsquery', - prosrc => 'ts_match_tq' }, - -{ oid => '3648', descr => 'GiST tsvector support', - proname => 'gtsvector_compress', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'gtsvector_compress' }, -{ oid => '3649', descr => 'GiST tsvector support', - proname => 'gtsvector_decompress', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'gtsvector_decompress' }, -{ oid => '3650', descr => 'GiST tsvector support', - proname => 'gtsvector_picksplit', prorettype => 'internal', - proargtypes => 'internal internal', prosrc => 'gtsvector_picksplit' }, -{ oid => '3651', descr => 'GiST tsvector support', - proname => 'gtsvector_union', prorettype => 'gtsvector', - proargtypes => 'internal internal', prosrc => 'gtsvector_union' }, -{ oid => '3652', descr => 'GiST tsvector support', - proname => 'gtsvector_same', prorettype => 'internal', - proargtypes => 'gtsvector gtsvector internal', prosrc => 'gtsvector_same' }, -{ oid => '3653', descr => 'GiST tsvector support', - proname => 'gtsvector_penalty', prorettype => 'internal', - proargtypes => 'internal internal internal', prosrc => 'gtsvector_penalty' }, -{ oid => '3654', descr => 'GiST tsvector support', - proname => 'gtsvector_consistent', prorettype => 'bool', - proargtypes => 'internal tsvector int2 oid internal', - prosrc => 'gtsvector_consistent' }, -{ oid => '3790', descr => 'GiST tsvector support (obsolete)', - proname => 'gtsvector_consistent', prorettype => 'bool', - proargtypes => 'internal gtsvector int4 oid internal', - prosrc => 'gtsvector_consistent_oldsig' }, -{ oid => '3434', descr => 'GiST tsvector support', - proname => 'gtsvector_options', proisstrict => 'f', prorettype => 'void', - proargtypes => 'internal', prosrc => 'gtsvector_options' }, - -{ oid => '3656', descr => 'GIN tsvector support', - proname => 'gin_extract_tsvector', prorettype => 'internal', - proargtypes => 'tsvector internal internal', - prosrc => 'gin_extract_tsvector' }, -{ oid => '3657', descr => 'GIN tsvector support', - proname => 'gin_extract_tsquery', prorettype => 'internal', - proargtypes => 'tsvector internal int2 internal internal internal internal', - prosrc => 'gin_extract_tsquery' }, -{ oid => '3658', descr => 'GIN tsvector support', - proname => 'gin_tsquery_consistent', prorettype => 'bool', - proargtypes => 'internal int2 tsvector int4 internal internal internal internal', - prosrc => 'gin_tsquery_consistent' }, -{ oid => '3921', descr => 'GIN tsvector support', - proname => 'gin_tsquery_triconsistent', prorettype => 'char', - proargtypes => 'internal int2 tsvector int4 internal internal internal', - prosrc => 'gin_tsquery_triconsistent' }, -{ oid => '3724', descr => 'GIN tsvector support', - proname => 'gin_cmp_tslexeme', prorettype => 'int4', - proargtypes => 'text text', prosrc => 'gin_cmp_tslexeme' }, -{ oid => '2700', descr => 'GIN tsvector support', - proname => 'gin_cmp_prefix', prorettype => 'int4', - proargtypes => 'text text int2 internal', prosrc => 'gin_cmp_prefix' }, -{ oid => '3077', descr => 'GIN tsvector support (obsolete)', - proname => 'gin_extract_tsvector', prorettype => 'internal', - proargtypes => 'tsvector internal', prosrc => 'gin_extract_tsvector_2args' }, -{ oid => '3087', descr => 'GIN tsvector support (obsolete)', - proname => 'gin_extract_tsquery', prorettype => 'internal', - proargtypes => 'tsquery internal int2 internal internal', - prosrc => 'gin_extract_tsquery_5args' }, -{ oid => '3088', descr => 'GIN tsvector support (obsolete)', - proname => 'gin_tsquery_consistent', prorettype => 'bool', - proargtypes => 'internal int2 tsquery int4 internal internal', - prosrc => 'gin_tsquery_consistent_6args' }, -{ oid => '3791', descr => 'GIN tsvector support (obsolete)', - proname => 'gin_extract_tsquery', prorettype => 'internal', - proargtypes => 'tsquery internal int2 internal internal internal internal', - prosrc => 'gin_extract_tsquery_oldsig' }, -{ oid => '3792', descr => 'GIN tsvector support (obsolete)', - proname => 'gin_tsquery_consistent', prorettype => 'bool', - proargtypes => 'internal int2 tsquery int4 internal internal internal internal', - prosrc => 'gin_tsquery_consistent_oldsig' }, - -{ oid => '3789', descr => 'clean up GIN pending list', - proname => 'gin_clean_pending_list', provolatile => 'v', proparallel => 'u', - prorettype => 'int8', proargtypes => 'regclass', - prosrc => 'gin_clean_pending_list' }, - -{ oid => '3662', - proname => 'tsquery_lt', prorettype => 'bool', - proargtypes => 'tsquery tsquery', prosrc => 'tsquery_lt' }, -{ oid => '3663', - proname => 'tsquery_le', prorettype => 'bool', - proargtypes => 'tsquery tsquery', prosrc => 'tsquery_le' }, -{ oid => '3664', - proname => 'tsquery_eq', prorettype => 'bool', - proargtypes => 'tsquery tsquery', prosrc => 'tsquery_eq' }, -{ oid => '3665', - proname => 'tsquery_ne', prorettype => 'bool', - proargtypes => 'tsquery tsquery', prosrc => 'tsquery_ne' }, -{ oid => '3666', - proname => 'tsquery_ge', prorettype => 'bool', - proargtypes => 'tsquery tsquery', prosrc => 'tsquery_ge' }, -{ oid => '3667', - proname => 'tsquery_gt', prorettype => 'bool', - proargtypes => 'tsquery tsquery', prosrc => 'tsquery_gt' }, -{ oid => '3668', descr => 'less-equal-greater', - proname => 'tsquery_cmp', prorettype => 'int4', - proargtypes => 'tsquery tsquery', prosrc => 'tsquery_cmp' }, - -{ oid => '3669', - proname => 'tsquery_and', prorettype => 'tsquery', - proargtypes => 'tsquery tsquery', prosrc => 'tsquery_and' }, -{ oid => '3670', - proname => 'tsquery_or', prorettype => 'tsquery', - proargtypes => 'tsquery tsquery', prosrc => 'tsquery_or' }, -{ oid => '5003', - proname => 'tsquery_phrase', prorettype => 'tsquery', - proargtypes => 'tsquery tsquery', prosrc => 'tsquery_phrase' }, -{ oid => '5004', descr => 'phrase-concatenate with distance', - proname => 'tsquery_phrase', prorettype => 'tsquery', - proargtypes => 'tsquery tsquery int4', prosrc => 'tsquery_phrase_distance' }, -{ oid => '3671', - proname => 'tsquery_not', prorettype => 'tsquery', proargtypes => 'tsquery', - prosrc => 'tsquery_not' }, - -{ oid => '3691', - proname => 'tsq_mcontains', prorettype => 'bool', - proargtypes => 'tsquery tsquery', prosrc => 'tsq_mcontains' }, -{ oid => '3692', - proname => 'tsq_mcontained', prorettype => 'bool', - proargtypes => 'tsquery tsquery', prosrc => 'tsq_mcontained' }, - -{ oid => '3672', descr => 'number of nodes', - proname => 'numnode', prorettype => 'int4', proargtypes => 'tsquery', - prosrc => 'tsquery_numnode' }, -{ oid => '3673', descr => 'show real useful query for GiST index', - proname => 'querytree', prorettype => 'text', proargtypes => 'tsquery', - prosrc => 'tsquerytree' }, - -{ oid => '3684', descr => 'rewrite tsquery', - proname => 'ts_rewrite', prorettype => 'tsquery', - proargtypes => 'tsquery tsquery tsquery', prosrc => 'tsquery_rewrite' }, -{ oid => '3685', descr => 'rewrite tsquery', - proname => 'ts_rewrite', procost => '100', provolatile => 'v', - proparallel => 'u', prorettype => 'tsquery', proargtypes => 'tsquery text', - prosrc => 'tsquery_rewrite_query' }, - -{ oid => '3695', descr => 'GiST tsquery support', - proname => 'gtsquery_compress', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'gtsquery_compress' }, -{ oid => '3697', descr => 'GiST tsquery support', - proname => 'gtsquery_picksplit', prorettype => 'internal', - proargtypes => 'internal internal', prosrc => 'gtsquery_picksplit' }, -{ oid => '3698', descr => 'GiST tsquery support', - proname => 'gtsquery_union', prorettype => 'int8', - proargtypes => 'internal internal', prosrc => 'gtsquery_union' }, -{ oid => '3699', descr => 'GiST tsquery support', - proname => 'gtsquery_same', prorettype => 'internal', - proargtypes => 'int8 int8 internal', prosrc => 'gtsquery_same' }, -{ oid => '3700', descr => 'GiST tsquery support', - proname => 'gtsquery_penalty', prorettype => 'internal', - proargtypes => 'internal internal internal', prosrc => 'gtsquery_penalty' }, -{ oid => '3701', descr => 'GiST tsquery support', - proname => 'gtsquery_consistent', prorettype => 'bool', - proargtypes => 'internal tsquery int2 oid internal', - prosrc => 'gtsquery_consistent' }, -{ oid => '3793', descr => 'GiST tsquery support (obsolete)', - proname => 'gtsquery_consistent', prorettype => 'bool', - proargtypes => 'internal internal int4 oid internal', - prosrc => 'gtsquery_consistent_oldsig' }, - -{ oid => '3686', descr => 'restriction selectivity of tsvector @@ tsquery', - proname => 'tsmatchsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'tsmatchsel' }, -{ oid => '3687', descr => 'join selectivity of tsvector @@ tsquery', - proname => 'tsmatchjoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'tsmatchjoinsel' }, -{ oid => '3688', descr => 'tsvector typanalyze', - proname => 'ts_typanalyze', provolatile => 's', prorettype => 'bool', - proargtypes => 'internal', prosrc => 'ts_typanalyze' }, - -{ oid => '3689', descr => 'statistics of tsvector column', - proname => 'ts_stat', procost => '10', prorows => '10000', proretset => 't', - provolatile => 'v', proparallel => 'u', prorettype => 'record', - proargtypes => 'text', proallargtypes => '{text,text,int4,int4}', - proargmodes => '{i,o,o,o}', proargnames => '{query,word,ndoc,nentry}', - prosrc => 'ts_stat1' }, -{ oid => '3690', descr => 'statistics of tsvector column', - proname => 'ts_stat', procost => '10', prorows => '10000', proretset => 't', - provolatile => 'v', proparallel => 'u', prorettype => 'record', - proargtypes => 'text text', proallargtypes => '{text,text,text,int4,int4}', - proargmodes => '{i,i,o,o,o}', - proargnames => '{query,weights,word,ndoc,nentry}', prosrc => 'ts_stat2' }, - -{ oid => '3703', descr => 'relevance', - proname => 'ts_rank', prorettype => 'float4', - proargtypes => '_float4 tsvector tsquery int4', prosrc => 'ts_rank_wttf' }, -{ oid => '3704', descr => 'relevance', - proname => 'ts_rank', prorettype => 'float4', - proargtypes => '_float4 tsvector tsquery', prosrc => 'ts_rank_wtt' }, -{ oid => '3705', descr => 'relevance', - proname => 'ts_rank', prorettype => 'float4', - proargtypes => 'tsvector tsquery int4', prosrc => 'ts_rank_ttf' }, -{ oid => '3706', descr => 'relevance', - proname => 'ts_rank', prorettype => 'float4', - proargtypes => 'tsvector tsquery', prosrc => 'ts_rank_tt' }, -{ oid => '3707', descr => 'relevance', - proname => 'ts_rank_cd', prorettype => 'float4', - proargtypes => '_float4 tsvector tsquery int4', prosrc => 'ts_rankcd_wttf' }, -{ oid => '3708', descr => 'relevance', - proname => 'ts_rank_cd', prorettype => 'float4', - proargtypes => '_float4 tsvector tsquery', prosrc => 'ts_rankcd_wtt' }, -{ oid => '3709', descr => 'relevance', - proname => 'ts_rank_cd', prorettype => 'float4', - proargtypes => 'tsvector tsquery int4', prosrc => 'ts_rankcd_ttf' }, -{ oid => '3710', descr => 'relevance', - proname => 'ts_rank_cd', prorettype => 'float4', - proargtypes => 'tsvector tsquery', prosrc => 'ts_rankcd_tt' }, - -{ oid => '3713', descr => 'get parser\'s token types', - proname => 'ts_token_type', prorows => '16', proretset => 't', - prorettype => 'record', proargtypes => 'oid', - proallargtypes => '{oid,int4,text,text}', proargmodes => '{i,o,o,o}', - proargnames => '{parser_oid,tokid,alias,description}', - prosrc => 'ts_token_type_byid' }, -{ oid => '3714', descr => 'get parser\'s token types', - proname => 'ts_token_type', prorows => '16', proretset => 't', - provolatile => 's', prorettype => 'record', proargtypes => 'text', - proallargtypes => '{text,int4,text,text}', proargmodes => '{i,o,o,o}', - proargnames => '{parser_name,tokid,alias,description}', - prosrc => 'ts_token_type_byname' }, -{ oid => '3715', descr => 'parse text to tokens', - proname => 'ts_parse', prorows => '1000', proretset => 't', - prorettype => 'record', proargtypes => 'oid text', - proallargtypes => '{oid,text,int4,text}', proargmodes => '{i,i,o,o}', - proargnames => '{parser_oid,txt,tokid,token}', prosrc => 'ts_parse_byid' }, -{ oid => '3716', descr => 'parse text to tokens', - proname => 'ts_parse', prorows => '1000', proretset => 't', - provolatile => 's', prorettype => 'record', proargtypes => 'text text', - proallargtypes => '{text,text,int4,text}', proargmodes => '{i,i,o,o}', - proargnames => '{parser_name,txt,tokid,token}', prosrc => 'ts_parse_byname' }, - -{ oid => '3717', descr => '(internal)', - proname => 'prsd_start', prorettype => 'internal', - proargtypes => 'internal int4', prosrc => 'prsd_start' }, -{ oid => '3718', descr => '(internal)', - proname => 'prsd_nexttoken', prorettype => 'internal', - proargtypes => 'internal internal internal', prosrc => 'prsd_nexttoken' }, -{ oid => '3719', descr => '(internal)', - proname => 'prsd_end', prorettype => 'void', proargtypes => 'internal', - prosrc => 'prsd_end' }, -{ oid => '3720', descr => '(internal)', - proname => 'prsd_headline', prorettype => 'internal', - proargtypes => 'internal internal tsquery', prosrc => 'prsd_headline' }, -{ oid => '3721', descr => '(internal)', - proname => 'prsd_lextype', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'prsd_lextype' }, - -{ oid => '3723', descr => 'normalize one word by dictionary', - proname => 'ts_lexize', prorettype => '_text', - proargtypes => 'regdictionary text', prosrc => 'ts_lexize' }, - -{ oid => '6183', descr => 'debug function for text search configuration', - proname => 'ts_debug', prolang => 'sql', prorows => '1000', proretset => 't', - provolatile => 's', prorettype => 'record', proargtypes => 'regconfig text', - proallargtypes => '{regconfig,text,text,text,text,_regdictionary,regdictionary,_text}', - proargmodes => '{i,i,o,o,o,o,o,o}', - proargnames => '{config,document,alias,description,token,dictionaries,dictionary,lexemes}', - prosrc => 'see system_functions.sql' }, - -{ oid => '6184', - descr => 'debug function for current text search configuration', - proname => 'ts_debug', prolang => 'sql', prorows => '1000', proretset => 't', - provolatile => 's', prorettype => 'record', proargtypes => 'text', - proallargtypes => '{text,text,text,text,_regdictionary,regdictionary,_text}', - proargmodes => '{i,o,o,o,o,o,o}', - proargnames => '{document,alias,description,token,dictionaries,dictionary,lexemes}', - prosrc => 'see system_functions.sql' }, - -{ oid => '3725', descr => '(internal)', - proname => 'dsimple_init', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'dsimple_init' }, -{ oid => '3726', descr => '(internal)', - proname => 'dsimple_lexize', prorettype => 'internal', - proargtypes => 'internal internal internal internal', - prosrc => 'dsimple_lexize' }, - -{ oid => '3728', descr => '(internal)', - proname => 'dsynonym_init', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'dsynonym_init' }, -{ oid => '3729', descr => '(internal)', - proname => 'dsynonym_lexize', prorettype => 'internal', - proargtypes => 'internal internal internal internal', - prosrc => 'dsynonym_lexize' }, - -{ oid => '3731', descr => '(internal)', - proname => 'dispell_init', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'dispell_init' }, -{ oid => '3732', descr => '(internal)', - proname => 'dispell_lexize', prorettype => 'internal', - proargtypes => 'internal internal internal internal', - prosrc => 'dispell_lexize' }, - -{ oid => '3740', descr => '(internal)', - proname => 'thesaurus_init', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'thesaurus_init' }, -{ oid => '3741', descr => '(internal)', - proname => 'thesaurus_lexize', prorettype => 'internal', - proargtypes => 'internal internal internal internal', - prosrc => 'thesaurus_lexize' }, - -{ oid => '3743', descr => 'generate headline', - proname => 'ts_headline', procost => '100', prorettype => 'text', - proargtypes => 'regconfig text tsquery text', - prosrc => 'ts_headline_byid_opt' }, -{ oid => '3744', descr => 'generate headline', - proname => 'ts_headline', procost => '100', prorettype => 'text', - proargtypes => 'regconfig text tsquery', prosrc => 'ts_headline_byid' }, -{ oid => '3754', descr => 'generate headline', - proname => 'ts_headline', procost => '100', provolatile => 's', - prorettype => 'text', proargtypes => 'text tsquery text', - prosrc => 'ts_headline_opt' }, -{ oid => '3755', descr => 'generate headline', - proname => 'ts_headline', procost => '100', provolatile => 's', - prorettype => 'text', proargtypes => 'text tsquery', - prosrc => 'ts_headline' }, - -{ oid => '4201', descr => 'generate headline from jsonb', - proname => 'ts_headline', procost => '100', prorettype => 'jsonb', - proargtypes => 'regconfig jsonb tsquery text', - prosrc => 'ts_headline_jsonb_byid_opt' }, -{ oid => '4202', descr => 'generate headline from jsonb', - proname => 'ts_headline', procost => '100', prorettype => 'jsonb', - proargtypes => 'regconfig jsonb tsquery', - prosrc => 'ts_headline_jsonb_byid' }, -{ oid => '4203', descr => 'generate headline from jsonb', - proname => 'ts_headline', procost => '100', provolatile => 's', - prorettype => 'jsonb', proargtypes => 'jsonb tsquery text', - prosrc => 'ts_headline_jsonb_opt' }, -{ oid => '4204', descr => 'generate headline from jsonb', - proname => 'ts_headline', procost => '100', provolatile => 's', - prorettype => 'jsonb', proargtypes => 'jsonb tsquery', - prosrc => 'ts_headline_jsonb' }, - -{ oid => '4205', descr => 'generate headline from json', - proname => 'ts_headline', procost => '100', prorettype => 'json', - proargtypes => 'regconfig json tsquery text', - prosrc => 'ts_headline_json_byid_opt' }, -{ oid => '4206', descr => 'generate headline from json', - proname => 'ts_headline', procost => '100', prorettype => 'json', - proargtypes => 'regconfig json tsquery', prosrc => 'ts_headline_json_byid' }, -{ oid => '4207', descr => 'generate headline from json', - proname => 'ts_headline', procost => '100', provolatile => 's', - prorettype => 'json', proargtypes => 'json tsquery text', - prosrc => 'ts_headline_json_opt' }, -{ oid => '4208', descr => 'generate headline from json', - proname => 'ts_headline', procost => '100', provolatile => 's', - prorettype => 'json', proargtypes => 'json tsquery', - prosrc => 'ts_headline_json' }, - -{ oid => '3745', descr => 'transform to tsvector', - proname => 'to_tsvector', procost => '100', prorettype => 'tsvector', - proargtypes => 'regconfig text', prosrc => 'to_tsvector_byid' }, -{ oid => '3746', descr => 'make tsquery', - proname => 'to_tsquery', procost => '100', prorettype => 'tsquery', - proargtypes => 'regconfig text', prosrc => 'to_tsquery_byid' }, -{ oid => '3747', descr => 'transform to tsquery', - proname => 'plainto_tsquery', procost => '100', prorettype => 'tsquery', - proargtypes => 'regconfig text', prosrc => 'plainto_tsquery_byid' }, -{ oid => '5006', descr => 'transform to tsquery', - proname => 'phraseto_tsquery', procost => '100', prorettype => 'tsquery', - proargtypes => 'regconfig text', prosrc => 'phraseto_tsquery_byid' }, -{ oid => '5007', descr => 'transform to tsquery', - proname => 'websearch_to_tsquery', procost => '100', prorettype => 'tsquery', - proargtypes => 'regconfig text', prosrc => 'websearch_to_tsquery_byid' }, -{ oid => '3749', descr => 'transform to tsvector', - proname => 'to_tsvector', procost => '100', provolatile => 's', - prorettype => 'tsvector', proargtypes => 'text', prosrc => 'to_tsvector' }, -{ oid => '3750', descr => 'make tsquery', - proname => 'to_tsquery', procost => '100', provolatile => 's', - prorettype => 'tsquery', proargtypes => 'text', prosrc => 'to_tsquery' }, -{ oid => '3751', descr => 'transform to tsquery', - proname => 'plainto_tsquery', procost => '100', provolatile => 's', - prorettype => 'tsquery', proargtypes => 'text', prosrc => 'plainto_tsquery' }, -{ oid => '5001', descr => 'transform to tsquery', - proname => 'phraseto_tsquery', procost => '100', provolatile => 's', - prorettype => 'tsquery', proargtypes => 'text', - prosrc => 'phraseto_tsquery' }, -{ oid => '5009', descr => 'transform to tsquery', - proname => 'websearch_to_tsquery', procost => '100', provolatile => 's', - prorettype => 'tsquery', proargtypes => 'text', - prosrc => 'websearch_to_tsquery' }, -{ oid => '4209', descr => 'transform string values from jsonb to tsvector', - proname => 'to_tsvector', procost => '100', provolatile => 's', - prorettype => 'tsvector', proargtypes => 'jsonb', - prosrc => 'jsonb_string_to_tsvector' }, -{ oid => '4213', descr => 'transform specified values from jsonb to tsvector', - proname => 'jsonb_to_tsvector', procost => '100', provolatile => 's', - prorettype => 'tsvector', proargtypes => 'jsonb jsonb', - prosrc => 'jsonb_to_tsvector' }, -{ oid => '4210', descr => 'transform string values from json to tsvector', - proname => 'to_tsvector', procost => '100', provolatile => 's', - prorettype => 'tsvector', proargtypes => 'json', - prosrc => 'json_string_to_tsvector' }, -{ oid => '4215', descr => 'transform specified values from json to tsvector', - proname => 'json_to_tsvector', procost => '100', provolatile => 's', - prorettype => 'tsvector', proargtypes => 'json jsonb', - prosrc => 'json_to_tsvector' }, -{ oid => '4211', descr => 'transform string values from jsonb to tsvector', - proname => 'to_tsvector', procost => '100', prorettype => 'tsvector', - proargtypes => 'regconfig jsonb', prosrc => 'jsonb_string_to_tsvector_byid' }, -{ oid => '4214', descr => 'transform specified values from jsonb to tsvector', - proname => 'jsonb_to_tsvector', procost => '100', prorettype => 'tsvector', - proargtypes => 'regconfig jsonb jsonb', prosrc => 'jsonb_to_tsvector_byid' }, -{ oid => '4212', descr => 'transform string values from json to tsvector', - proname => 'to_tsvector', procost => '100', prorettype => 'tsvector', - proargtypes => 'regconfig json', prosrc => 'json_string_to_tsvector_byid' }, -{ oid => '4216', descr => 'transform specified values from json to tsvector', - proname => 'json_to_tsvector', procost => '100', prorettype => 'tsvector', - proargtypes => 'regconfig json jsonb', prosrc => 'json_to_tsvector_byid' }, - -{ oid => '3752', descr => 'trigger for automatic update of tsvector column', - proname => 'tsvector_update_trigger', proisstrict => 'f', provolatile => 'v', - prorettype => 'trigger', proargtypes => '', - prosrc => 'tsvector_update_trigger_byid' }, -{ oid => '3753', descr => 'trigger for automatic update of tsvector column', - proname => 'tsvector_update_trigger_column', proisstrict => 'f', - provolatile => 'v', prorettype => 'trigger', proargtypes => '', - prosrc => 'tsvector_update_trigger_bycolumn' }, - -{ oid => '3759', descr => 'get current tsearch configuration', - proname => 'get_current_ts_config', provolatile => 's', - prorettype => 'regconfig', proargtypes => '', - prosrc => 'get_current_ts_config' }, - -{ oid => '3736', descr => 'I/O', - proname => 'regconfigin', provolatile => 's', prorettype => 'regconfig', - proargtypes => 'cstring', prosrc => 'regconfigin' }, -{ oid => '3737', descr => 'I/O', - proname => 'regconfigout', provolatile => 's', prorettype => 'cstring', - proargtypes => 'regconfig', prosrc => 'regconfigout' }, -{ oid => '3738', descr => 'I/O', - proname => 'regconfigrecv', prorettype => 'regconfig', - proargtypes => 'internal', prosrc => 'regconfigrecv' }, -{ oid => '3739', descr => 'I/O', - proname => 'regconfigsend', prorettype => 'bytea', proargtypes => 'regconfig', - prosrc => 'regconfigsend' }, - -{ oid => '3771', descr => 'I/O', - proname => 'regdictionaryin', provolatile => 's', - prorettype => 'regdictionary', proargtypes => 'cstring', - prosrc => 'regdictionaryin' }, -{ oid => '3772', descr => 'I/O', - proname => 'regdictionaryout', provolatile => 's', prorettype => 'cstring', - proargtypes => 'regdictionary', prosrc => 'regdictionaryout' }, -{ oid => '3773', descr => 'I/O', - proname => 'regdictionaryrecv', prorettype => 'regdictionary', - proargtypes => 'internal', prosrc => 'regdictionaryrecv' }, -{ oid => '3774', descr => 'I/O', - proname => 'regdictionarysend', prorettype => 'bytea', - proargtypes => 'regdictionary', prosrc => 'regdictionarysend' }, - -# jsonb -{ oid => '3806', descr => 'I/O', - proname => 'jsonb_in', prorettype => 'jsonb', proargtypes => 'cstring', - prosrc => 'jsonb_in' }, -{ oid => '3805', descr => 'I/O', - proname => 'jsonb_recv', prorettype => 'jsonb', proargtypes => 'internal', - prosrc => 'jsonb_recv' }, -{ oid => '3804', descr => 'I/O', - proname => 'jsonb_out', prorettype => 'cstring', proargtypes => 'jsonb', - prosrc => 'jsonb_out' }, -{ oid => '3803', descr => 'I/O', - proname => 'jsonb_send', prorettype => 'bytea', proargtypes => 'jsonb', - prosrc => 'jsonb_send' }, - -{ oid => '3263', descr => 'map text array of key value pairs to jsonb object', - proname => 'jsonb_object', prorettype => 'jsonb', proargtypes => '_text', - prosrc => 'jsonb_object' }, -{ oid => '3264', descr => 'map text array of key value pairs to jsonb object', - proname => 'jsonb_object', prorettype => 'jsonb', - proargtypes => '_text _text', prosrc => 'jsonb_object_two_arg' }, -{ oid => '3787', descr => 'map input to jsonb', - proname => 'to_jsonb', provolatile => 's', prorettype => 'jsonb', - proargtypes => 'anyelement', prosrc => 'to_jsonb' }, -{ oid => '3265', descr => 'jsonb aggregate transition function', - proname => 'jsonb_agg_transfn', proisstrict => 'f', provolatile => 's', - prorettype => 'internal', proargtypes => 'internal anyelement', - prosrc => 'jsonb_agg_transfn' }, -{ oid => '3266', descr => 'jsonb aggregate final function', - proname => 'jsonb_agg_finalfn', proisstrict => 'f', provolatile => 's', - prorettype => 'jsonb', proargtypes => 'internal', - prosrc => 'jsonb_agg_finalfn' }, -{ oid => '3267', descr => 'aggregate input into jsonb', - proname => 'jsonb_agg', prokind => 'a', proisstrict => 'f', - provolatile => 's', prorettype => 'jsonb', proargtypes => 'anyelement', - prosrc => 'aggregate_dummy' }, -{ oid => '3268', descr => 'jsonb object aggregate transition function', - proname => 'jsonb_object_agg_transfn', proisstrict => 'f', provolatile => 's', - prorettype => 'internal', proargtypes => 'internal any any', - prosrc => 'jsonb_object_agg_transfn' }, -{ oid => '3269', descr => 'jsonb object aggregate final function', - proname => 'jsonb_object_agg_finalfn', proisstrict => 'f', provolatile => 's', - prorettype => 'jsonb', proargtypes => 'internal', - prosrc => 'jsonb_object_agg_finalfn' }, -{ oid => '3270', descr => 'aggregate inputs into jsonb object', - proname => 'jsonb_object_agg', prokind => 'a', proisstrict => 'f', - prorettype => 'jsonb', proargtypes => 'any any', - prosrc => 'aggregate_dummy' }, -{ oid => '3271', descr => 'build a jsonb array from any inputs', - proname => 'jsonb_build_array', provariadic => 'any', proisstrict => 'f', - provolatile => 's', prorettype => 'jsonb', proargtypes => 'any', - proallargtypes => '{any}', proargmodes => '{v}', - prosrc => 'jsonb_build_array' }, -{ oid => '3272', descr => 'build an empty jsonb array', - proname => 'jsonb_build_array', proisstrict => 'f', provolatile => 's', - prorettype => 'jsonb', proargtypes => '', - prosrc => 'jsonb_build_array_noargs' }, -{ oid => '3273', - descr => 'build a jsonb object from pairwise key/value inputs', - proname => 'jsonb_build_object', provariadic => 'any', proisstrict => 'f', - provolatile => 's', prorettype => 'jsonb', proargtypes => 'any', - proallargtypes => '{any}', proargmodes => '{v}', - prosrc => 'jsonb_build_object' }, -{ oid => '3274', descr => 'build an empty jsonb object', - proname => 'jsonb_build_object', proisstrict => 'f', provolatile => 's', - prorettype => 'jsonb', proargtypes => '', - prosrc => 'jsonb_build_object_noargs' }, -{ oid => '3262', descr => 'remove object fields with null values from jsonb', - proname => 'jsonb_strip_nulls', prorettype => 'jsonb', proargtypes => 'jsonb', - prosrc => 'jsonb_strip_nulls' }, - -{ oid => '3478', - proname => 'jsonb_object_field', prorettype => 'jsonb', - proargtypes => 'jsonb text', proargnames => '{from_json, field_name}', - prosrc => 'jsonb_object_field' }, -{ oid => '3214', - proname => 'jsonb_object_field_text', prorettype => 'text', - proargtypes => 'jsonb text', proargnames => '{from_json, field_name}', - prosrc => 'jsonb_object_field_text' }, -{ oid => '3215', - proname => 'jsonb_array_element', prorettype => 'jsonb', - proargtypes => 'jsonb int4', proargnames => '{from_json, element_index}', - prosrc => 'jsonb_array_element' }, -{ oid => '3216', - proname => 'jsonb_array_element_text', prorettype => 'text', - proargtypes => 'jsonb int4', proargnames => '{from_json, element_index}', - prosrc => 'jsonb_array_element_text' }, -{ oid => '3217', descr => 'get value from jsonb with path elements', - proname => 'jsonb_extract_path', provariadic => 'text', prorettype => 'jsonb', - proargtypes => 'jsonb _text', proallargtypes => '{jsonb,_text}', - proargmodes => '{i,v}', proargnames => '{from_json,path_elems}', - prosrc => 'jsonb_extract_path' }, -{ oid => '3940', descr => 'get value from jsonb as text with path elements', - proname => 'jsonb_extract_path_text', provariadic => 'text', - prorettype => 'text', proargtypes => 'jsonb _text', - proallargtypes => '{jsonb,_text}', proargmodes => '{i,v}', - proargnames => '{from_json,path_elems}', - prosrc => 'jsonb_extract_path_text' }, -{ oid => '3219', descr => 'elements of a jsonb array', - proname => 'jsonb_array_elements', prorows => '100', proretset => 't', - prorettype => 'jsonb', proargtypes => 'jsonb', - proallargtypes => '{jsonb,jsonb}', proargmodes => '{i,o}', - proargnames => '{from_json,value}', prosrc => 'jsonb_array_elements' }, -{ oid => '3465', descr => 'elements of jsonb array', - proname => 'jsonb_array_elements_text', prorows => '100', proretset => 't', - prorettype => 'text', proargtypes => 'jsonb', - proallargtypes => '{jsonb,text}', proargmodes => '{i,o}', - proargnames => '{from_json,value}', prosrc => 'jsonb_array_elements_text' }, -{ oid => '3207', descr => 'length of jsonb array', - proname => 'jsonb_array_length', prorettype => 'int4', proargtypes => 'jsonb', - prosrc => 'jsonb_array_length' }, -{ oid => '3931', descr => 'get jsonb object keys', - proname => 'jsonb_object_keys', prorows => '100', proretset => 't', - prorettype => 'text', proargtypes => 'jsonb', prosrc => 'jsonb_object_keys' }, -{ oid => '3208', descr => 'key value pairs of a jsonb object', - proname => 'jsonb_each', prorows => '100', proretset => 't', - prorettype => 'record', proargtypes => 'jsonb', - proallargtypes => '{jsonb,text,jsonb}', proargmodes => '{i,o,o}', - proargnames => '{from_json,key,value}', prosrc => 'jsonb_each' }, -{ oid => '3932', descr => 'key value pairs of a jsonb object', - proname => 'jsonb_each_text', prorows => '100', proretset => 't', - prorettype => 'record', proargtypes => 'jsonb', - proallargtypes => '{jsonb,text,text}', proargmodes => '{i,o,o}', - proargnames => '{from_json,key,value}', prosrc => 'jsonb_each_text' }, -{ oid => '3209', descr => 'get record fields from a jsonb object', - proname => 'jsonb_populate_record', proisstrict => 'f', provolatile => 's', - prorettype => 'anyelement', proargtypes => 'anyelement jsonb', - prosrc => 'jsonb_populate_record' }, -{ oid => '3475', - descr => 'get set of records with fields from a jsonb array of objects', - proname => 'jsonb_populate_recordset', prorows => '100', proisstrict => 'f', - proretset => 't', provolatile => 's', prorettype => 'anyelement', - proargtypes => 'anyelement jsonb', prosrc => 'jsonb_populate_recordset' }, -{ oid => '3490', descr => 'get record fields from a jsonb object', - proname => 'jsonb_to_record', provolatile => 's', prorettype => 'record', - proargtypes => 'jsonb', prosrc => 'jsonb_to_record' }, -{ oid => '3491', - descr => 'get set of records with fields from a jsonb array of objects', - proname => 'jsonb_to_recordset', prorows => '100', proisstrict => 'f', - proretset => 't', provolatile => 's', prorettype => 'record', - proargtypes => 'jsonb', prosrc => 'jsonb_to_recordset' }, -{ oid => '3210', descr => 'get the type of a jsonb value', - proname => 'jsonb_typeof', prorettype => 'text', proargtypes => 'jsonb', - prosrc => 'jsonb_typeof' }, -{ oid => '4038', - proname => 'jsonb_ne', prorettype => 'bool', proargtypes => 'jsonb jsonb', - prosrc => 'jsonb_ne' }, -{ oid => '4039', - proname => 'jsonb_lt', prorettype => 'bool', proargtypes => 'jsonb jsonb', - prosrc => 'jsonb_lt' }, -{ oid => '4040', - proname => 'jsonb_gt', prorettype => 'bool', proargtypes => 'jsonb jsonb', - prosrc => 'jsonb_gt' }, -{ oid => '4041', - proname => 'jsonb_le', prorettype => 'bool', proargtypes => 'jsonb jsonb', - prosrc => 'jsonb_le' }, -{ oid => '4042', - proname => 'jsonb_ge', prorettype => 'bool', proargtypes => 'jsonb jsonb', - prosrc => 'jsonb_ge' }, -{ oid => '4043', - proname => 'jsonb_eq', prorettype => 'bool', proargtypes => 'jsonb jsonb', - prosrc => 'jsonb_eq' }, -{ oid => '4044', descr => 'less-equal-greater', - proname => 'jsonb_cmp', prorettype => 'int4', proargtypes => 'jsonb jsonb', - prosrc => 'jsonb_cmp' }, -{ oid => '4045', descr => 'hash', - proname => 'jsonb_hash', prorettype => 'int4', proargtypes => 'jsonb', - prosrc => 'jsonb_hash' }, -{ oid => '3416', descr => 'hash', - proname => 'jsonb_hash_extended', prorettype => 'int8', - proargtypes => 'jsonb int8', prosrc => 'jsonb_hash_extended' }, -{ oid => '4046', - proname => 'jsonb_contains', prorettype => 'bool', - proargtypes => 'jsonb jsonb', prosrc => 'jsonb_contains' }, -{ oid => '4047', - proname => 'jsonb_exists', prorettype => 'bool', proargtypes => 'jsonb text', - prosrc => 'jsonb_exists' }, -{ oid => '4048', - proname => 'jsonb_exists_any', prorettype => 'bool', - proargtypes => 'jsonb _text', prosrc => 'jsonb_exists_any' }, -{ oid => '4049', - proname => 'jsonb_exists_all', prorettype => 'bool', - proargtypes => 'jsonb _text', prosrc => 'jsonb_exists_all' }, -{ oid => '4050', - proname => 'jsonb_contained', prorettype => 'bool', - proargtypes => 'jsonb jsonb', prosrc => 'jsonb_contained' }, -{ oid => '3480', descr => 'GIN support', - proname => 'gin_compare_jsonb', prorettype => 'int4', - proargtypes => 'text text', prosrc => 'gin_compare_jsonb' }, -{ oid => '3482', descr => 'GIN support', - proname => 'gin_extract_jsonb', prorettype => 'internal', - proargtypes => 'jsonb internal internal', prosrc => 'gin_extract_jsonb' }, -{ oid => '3483', descr => 'GIN support', - proname => 'gin_extract_jsonb_query', prorettype => 'internal', - proargtypes => 'jsonb internal int2 internal internal internal internal', - prosrc => 'gin_extract_jsonb_query' }, -{ oid => '3484', descr => 'GIN support', - proname => 'gin_consistent_jsonb', prorettype => 'bool', - proargtypes => 'internal int2 jsonb int4 internal internal internal internal', - prosrc => 'gin_consistent_jsonb' }, -{ oid => '3488', descr => 'GIN support', - proname => 'gin_triconsistent_jsonb', prorettype => 'char', - proargtypes => 'internal int2 jsonb int4 internal internal internal', - prosrc => 'gin_triconsistent_jsonb' }, -{ oid => '3485', descr => 'GIN support', - proname => 'gin_extract_jsonb_path', prorettype => 'internal', - proargtypes => 'jsonb internal internal', - prosrc => 'gin_extract_jsonb_path' }, -{ oid => '3486', descr => 'GIN support', - proname => 'gin_extract_jsonb_query_path', prorettype => 'internal', - proargtypes => 'jsonb internal int2 internal internal internal internal', - prosrc => 'gin_extract_jsonb_query_path' }, -{ oid => '3487', descr => 'GIN support', - proname => 'gin_consistent_jsonb_path', prorettype => 'bool', - proargtypes => 'internal int2 jsonb int4 internal internal internal internal', - prosrc => 'gin_consistent_jsonb_path' }, -{ oid => '3489', descr => 'GIN support', - proname => 'gin_triconsistent_jsonb_path', prorettype => 'char', - proargtypes => 'internal int2 jsonb int4 internal internal internal', - prosrc => 'gin_triconsistent_jsonb_path' }, -{ oid => '3301', - proname => 'jsonb_concat', prorettype => 'jsonb', - proargtypes => 'jsonb jsonb', prosrc => 'jsonb_concat' }, -{ oid => '3302', - proname => 'jsonb_delete', prorettype => 'jsonb', proargtypes => 'jsonb text', - prosrc => 'jsonb_delete' }, -{ oid => '3303', - proname => 'jsonb_delete', prorettype => 'jsonb', proargtypes => 'jsonb int4', - prosrc => 'jsonb_delete_idx' }, -{ oid => '3343', - proname => 'jsonb_delete', provariadic => 'text', prorettype => 'jsonb', - proargtypes => 'jsonb _text', proallargtypes => '{jsonb,_text}', - proargmodes => '{i,v}', proargnames => '{from_json,path_elems}', - prosrc => 'jsonb_delete_array' }, -{ oid => '3304', - proname => 'jsonb_delete_path', prorettype => 'jsonb', - proargtypes => 'jsonb _text', prosrc => 'jsonb_delete_path' }, -{ oid => '5054', descr => 'Set part of a jsonb, handle NULL value', - proname => 'jsonb_set_lax', proisstrict => 'f', prorettype => 'jsonb', - proargtypes => 'jsonb _text jsonb bool text', prosrc => 'jsonb_set_lax' }, -{ oid => '3305', descr => 'Set part of a jsonb', - proname => 'jsonb_set', prorettype => 'jsonb', - proargtypes => 'jsonb _text jsonb bool', prosrc => 'jsonb_set' }, -{ oid => '3306', descr => 'Indented text from jsonb', - proname => 'jsonb_pretty', prorettype => 'text', proargtypes => 'jsonb', - prosrc => 'jsonb_pretty' }, -{ oid => '3579', descr => 'Insert value into a jsonb', - proname => 'jsonb_insert', prorettype => 'jsonb', - proargtypes => 'jsonb _text jsonb bool', prosrc => 'jsonb_insert' }, - -# jsonpath -{ oid => '4001', descr => 'I/O', - proname => 'jsonpath_in', prorettype => 'jsonpath', proargtypes => 'cstring', - prosrc => 'jsonpath_in' }, -{ oid => '4002', descr => 'I/O', - proname => 'jsonpath_recv', prorettype => 'jsonpath', - proargtypes => 'internal', prosrc => 'jsonpath_recv' }, -{ oid => '4003', descr => 'I/O', - proname => 'jsonpath_out', prorettype => 'cstring', proargtypes => 'jsonpath', - prosrc => 'jsonpath_out' }, -{ oid => '4004', descr => 'I/O', - proname => 'jsonpath_send', prorettype => 'bytea', proargtypes => 'jsonpath', - prosrc => 'jsonpath_send' }, - -{ oid => '4005', descr => 'jsonpath exists test', - proname => 'jsonb_path_exists', prorettype => 'bool', - proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_exists' }, -{ oid => '4006', descr => 'jsonpath query', - proname => 'jsonb_path_query', prorows => '1000', proretset => 't', - prorettype => 'jsonb', proargtypes => 'jsonb jsonpath jsonb bool', - prosrc => 'jsonb_path_query' }, -{ oid => '4007', descr => 'jsonpath query wrapped into array', - proname => 'jsonb_path_query_array', prorettype => 'jsonb', - proargtypes => 'jsonb jsonpath jsonb bool', - prosrc => 'jsonb_path_query_array' }, -{ oid => '4008', descr => 'jsonpath query first item', - proname => 'jsonb_path_query_first', prorettype => 'jsonb', - proargtypes => 'jsonb jsonpath jsonb bool', - prosrc => 'jsonb_path_query_first' }, -{ oid => '4009', descr => 'jsonpath match', - proname => 'jsonb_path_match', prorettype => 'bool', - proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_match' }, - -{ oid => '1177', descr => 'jsonpath exists test with timezone', - proname => 'jsonb_path_exists_tz', provolatile => 's', prorettype => 'bool', - proargtypes => 'jsonb jsonpath jsonb bool', - prosrc => 'jsonb_path_exists_tz' }, -{ oid => '1179', descr => 'jsonpath query with timezone', - proname => 'jsonb_path_query_tz', prorows => '1000', proretset => 't', - provolatile => 's', prorettype => 'jsonb', - proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_query_tz' }, -{ oid => '1180', descr => 'jsonpath query wrapped into array with timezone', - proname => 'jsonb_path_query_array_tz', provolatile => 's', - prorettype => 'jsonb', proargtypes => 'jsonb jsonpath jsonb bool', - prosrc => 'jsonb_path_query_array_tz' }, -{ oid => '2023', descr => 'jsonpath query first item with timezone', - proname => 'jsonb_path_query_first_tz', provolatile => 's', - prorettype => 'jsonb', proargtypes => 'jsonb jsonpath jsonb bool', - prosrc => 'jsonb_path_query_first_tz' }, -{ oid => '2030', descr => 'jsonpath match with timezone', - proname => 'jsonb_path_match_tz', provolatile => 's', prorettype => 'bool', - proargtypes => 'jsonb jsonpath jsonb bool', prosrc => 'jsonb_path_match_tz' }, - -{ oid => '4010', descr => 'implementation of @? operator', - proname => 'jsonb_path_exists_opr', prorettype => 'bool', - proargtypes => 'jsonb jsonpath', prosrc => 'jsonb_path_exists_opr' }, -{ oid => '4011', descr => 'implementation of @@ operator', - proname => 'jsonb_path_match_opr', prorettype => 'bool', - proargtypes => 'jsonb jsonpath', prosrc => 'jsonb_path_match_opr' }, - -# historical int8/txid_snapshot variants of xid8 functions -{ oid => '2939', descr => 'I/O', - proname => 'txid_snapshot_in', prorettype => 'txid_snapshot', - proargtypes => 'cstring', prosrc => 'pg_snapshot_in' }, -{ oid => '2940', descr => 'I/O', - proname => 'txid_snapshot_out', prorettype => 'cstring', - proargtypes => 'txid_snapshot', prosrc => 'pg_snapshot_out' }, -{ oid => '2941', descr => 'I/O', - proname => 'txid_snapshot_recv', prorettype => 'txid_snapshot', - proargtypes => 'internal', prosrc => 'pg_snapshot_recv' }, -{ oid => '2942', descr => 'I/O', - proname => 'txid_snapshot_send', prorettype => 'bytea', - proargtypes => 'txid_snapshot', prosrc => 'pg_snapshot_send' }, -{ oid => '2943', descr => 'get current transaction ID', - proname => 'txid_current', provolatile => 's', proparallel => 'u', - prorettype => 'int8', proargtypes => '', prosrc => 'pg_current_xact_id' }, -{ oid => '3348', descr => 'get current transaction ID', - proname => 'txid_current_if_assigned', provolatile => 's', proparallel => 'u', - prorettype => 'int8', proargtypes => '', - prosrc => 'pg_current_xact_id_if_assigned' }, -{ oid => '2944', descr => 'get current snapshot', - proname => 'txid_current_snapshot', provolatile => 's', - prorettype => 'txid_snapshot', proargtypes => '', - prosrc => 'pg_current_snapshot' }, -{ oid => '2945', descr => 'get xmin of snapshot', - proname => 'txid_snapshot_xmin', prorettype => 'int8', - proargtypes => 'txid_snapshot', prosrc => 'pg_snapshot_xmin' }, -{ oid => '2946', descr => 'get xmax of snapshot', - proname => 'txid_snapshot_xmax', prorettype => 'int8', - proargtypes => 'txid_snapshot', prosrc => 'pg_snapshot_xmax' }, -{ oid => '2947', descr => 'get set of in-progress txids in snapshot', - proname => 'txid_snapshot_xip', prorows => '50', proretset => 't', - prorettype => 'int8', proargtypes => 'txid_snapshot', - prosrc => 'pg_snapshot_xip' }, -{ oid => '2948', descr => 'is txid visible in snapshot?', - proname => 'txid_visible_in_snapshot', prorettype => 'bool', - proargtypes => 'int8 txid_snapshot', prosrc => 'pg_visible_in_snapshot' }, -{ oid => '3360', descr => 'commit status of transaction', - proname => 'txid_status', provolatile => 'v', prorettype => 'text', - proargtypes => 'int8', prosrc => 'pg_xact_status' }, - -# pg_snapshot functions -{ oid => '5055', descr => 'I/O', - proname => 'pg_snapshot_in', prorettype => 'pg_snapshot', - proargtypes => 'cstring', prosrc => 'pg_snapshot_in' }, -{ oid => '5056', descr => 'I/O', - proname => 'pg_snapshot_out', prorettype => 'cstring', - proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_out' }, -{ oid => '5057', descr => 'I/O', - proname => 'pg_snapshot_recv', prorettype => 'pg_snapshot', - proargtypes => 'internal', prosrc => 'pg_snapshot_recv' }, -{ oid => '5058', descr => 'I/O', - proname => 'pg_snapshot_send', prorettype => 'bytea', - proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_send' }, -{ oid => '5061', descr => 'get current snapshot', - proname => 'pg_current_snapshot', provolatile => 's', - prorettype => 'pg_snapshot', proargtypes => '', - prosrc => 'pg_current_snapshot' }, -{ oid => '5062', descr => 'get xmin of snapshot', - proname => 'pg_snapshot_xmin', prorettype => 'xid8', - proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_xmin' }, -{ oid => '5063', descr => 'get xmax of snapshot', - proname => 'pg_snapshot_xmax', prorettype => 'xid8', - proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_xmax' }, -{ oid => '5064', descr => 'get set of in-progress transactions in snapshot', - proname => 'pg_snapshot_xip', prorows => '50', proretset => 't', - prorettype => 'xid8', proargtypes => 'pg_snapshot', - prosrc => 'pg_snapshot_xip' }, -{ oid => '5065', descr => 'is xid8 visible in snapshot?', - proname => 'pg_visible_in_snapshot', prorettype => 'bool', - proargtypes => 'xid8 pg_snapshot', prosrc => 'pg_visible_in_snapshot' }, - -# transaction ID and status functions -{ oid => '5059', descr => 'get current transaction ID', - proname => 'pg_current_xact_id', provolatile => 's', proparallel => 'u', - prorettype => 'xid8', proargtypes => '', prosrc => 'pg_current_xact_id' }, -{ oid => '5060', descr => 'get current transaction ID', - proname => 'pg_current_xact_id_if_assigned', provolatile => 's', - proparallel => 'u', prorettype => 'xid8', proargtypes => '', - prosrc => 'pg_current_xact_id_if_assigned' }, -{ oid => '5066', descr => 'commit status of transaction', - proname => 'pg_xact_status', provolatile => 'v', prorettype => 'text', - proargtypes => 'xid8', prosrc => 'pg_xact_status' }, - -# record comparison using normal comparison rules -{ oid => '2981', - proname => 'record_eq', prorettype => 'bool', proargtypes => 'record record', - prosrc => 'record_eq' }, -{ oid => '2982', - proname => 'record_ne', prorettype => 'bool', proargtypes => 'record record', - prosrc => 'record_ne' }, -{ oid => '2983', - proname => 'record_lt', prorettype => 'bool', proargtypes => 'record record', - prosrc => 'record_lt' }, -{ oid => '2984', - proname => 'record_gt', prorettype => 'bool', proargtypes => 'record record', - prosrc => 'record_gt' }, -{ oid => '2985', - proname => 'record_le', prorettype => 'bool', proargtypes => 'record record', - prosrc => 'record_le' }, -{ oid => '2986', - proname => 'record_ge', prorettype => 'bool', proargtypes => 'record record', - prosrc => 'record_ge' }, -{ oid => '2987', descr => 'less-equal-greater', - proname => 'btrecordcmp', prorettype => 'int4', - proargtypes => 'record record', prosrc => 'btrecordcmp' }, - -{ oid => '6192', descr => 'hash', - proname => 'hash_record', prorettype => 'int4', proargtypes => 'record', - prosrc => 'hash_record' }, -{ oid => '6193', descr => 'hash', - proname => 'hash_record_extended', prorettype => 'int8', - proargtypes => 'record int8', prosrc => 'hash_record_extended' }, - -# record comparison using raw byte images -{ oid => '3181', - proname => 'record_image_eq', prorettype => 'bool', - proargtypes => 'record record', prosrc => 'record_image_eq' }, -{ oid => '3182', - proname => 'record_image_ne', prorettype => 'bool', - proargtypes => 'record record', prosrc => 'record_image_ne' }, -{ oid => '3183', - proname => 'record_image_lt', prorettype => 'bool', - proargtypes => 'record record', prosrc => 'record_image_lt' }, -{ oid => '3184', - proname => 'record_image_gt', prorettype => 'bool', - proargtypes => 'record record', prosrc => 'record_image_gt' }, -{ oid => '3185', - proname => 'record_image_le', prorettype => 'bool', - proargtypes => 'record record', prosrc => 'record_image_le' }, -{ oid => '3186', - proname => 'record_image_ge', prorettype => 'bool', - proargtypes => 'record record', prosrc => 'record_image_ge' }, -{ oid => '3187', descr => 'less-equal-greater based on byte images', - proname => 'btrecordimagecmp', prorettype => 'int4', - proargtypes => 'record record', prosrc => 'btrecordimagecmp' }, -{ oid => '5051', descr => 'equal image', - proname => 'btequalimage', prorettype => 'bool', proargtypes => 'oid', - prosrc => 'btequalimage' }, - -# Extensions -{ oid => '3082', descr => 'list available extensions', - proname => 'pg_available_extensions', procost => '10', prorows => '100', - proretset => 't', provolatile => 's', prorettype => 'record', - proargtypes => '', proallargtypes => '{name,text,text}', - proargmodes => '{o,o,o}', proargnames => '{name,default_version,comment}', - prosrc => 'pg_available_extensions' }, -{ oid => '3083', descr => 'list available extension versions', - proname => 'pg_available_extension_versions', procost => '10', - prorows => '100', proretset => 't', provolatile => 's', - prorettype => 'record', proargtypes => '', - proallargtypes => '{name,text,bool,bool,bool,name,_name,text}', - proargmodes => '{o,o,o,o,o,o,o,o}', - proargnames => '{name,version,superuser,trusted,relocatable,schema,requires,comment}', - prosrc => 'pg_available_extension_versions' }, -{ oid => '3084', descr => 'list an extension\'s version update paths', - proname => 'pg_extension_update_paths', procost => '10', prorows => '100', - proretset => 't', provolatile => 's', prorettype => 'record', - proargtypes => 'name', proallargtypes => '{name,text,text,text}', - proargmodes => '{i,o,o,o}', proargnames => '{name,source,target,path}', - prosrc => 'pg_extension_update_paths' }, -{ oid => '3086', - descr => 'flag an extension\'s table contents to be emitted by pg_dump', - proname => 'pg_extension_config_dump', provolatile => 'v', proparallel => 'u', - prorettype => 'void', proargtypes => 'regclass text', - prosrc => 'pg_extension_config_dump' }, - -# SQL-spec window functions -{ oid => '3100', descr => 'row number within partition', - proname => 'row_number', prokind => 'w', proisstrict => 'f', - prorettype => 'int8', proargtypes => '', prosrc => 'window_row_number' }, -{ oid => '3101', descr => 'integer rank with gaps', - proname => 'rank', prokind => 'w', proisstrict => 'f', prorettype => 'int8', - proargtypes => '', prosrc => 'window_rank' }, -{ oid => '3102', descr => 'integer rank without gaps', - proname => 'dense_rank', prokind => 'w', proisstrict => 'f', - prorettype => 'int8', proargtypes => '', prosrc => 'window_dense_rank' }, -{ oid => '3103', descr => 'fractional rank within partition', - proname => 'percent_rank', prokind => 'w', proisstrict => 'f', - prorettype => 'float8', proargtypes => '', prosrc => 'window_percent_rank' }, -{ oid => '3104', descr => 'fractional row number within partition', - proname => 'cume_dist', prokind => 'w', proisstrict => 'f', - prorettype => 'float8', proargtypes => '', prosrc => 'window_cume_dist' }, -{ oid => '3105', descr => 'split rows into N groups', - proname => 'ntile', prokind => 'w', prorettype => 'int4', - proargtypes => 'int4', prosrc => 'window_ntile' }, -{ oid => '3106', descr => 'fetch the preceding row value', - proname => 'lag', prokind => 'w', prorettype => 'anyelement', - proargtypes => 'anyelement', prosrc => 'window_lag' }, -{ oid => '3107', descr => 'fetch the Nth preceding row value', - proname => 'lag', prokind => 'w', prorettype => 'anyelement', - proargtypes => 'anyelement int4', prosrc => 'window_lag_with_offset' }, -{ oid => '3108', descr => 'fetch the Nth preceding row value with default', - proname => 'lag', prokind => 'w', prorettype => 'anycompatible', - proargtypes => 'anycompatible int4 anycompatible', - prosrc => 'window_lag_with_offset_and_default' }, -{ oid => '3109', descr => 'fetch the following row value', - proname => 'lead', prokind => 'w', prorettype => 'anyelement', - proargtypes => 'anyelement', prosrc => 'window_lead' }, -{ oid => '3110', descr => 'fetch the Nth following row value', - proname => 'lead', prokind => 'w', prorettype => 'anyelement', - proargtypes => 'anyelement int4', prosrc => 'window_lead_with_offset' }, -{ oid => '3111', descr => 'fetch the Nth following row value with default', - proname => 'lead', prokind => 'w', prorettype => 'anycompatible', - proargtypes => 'anycompatible int4 anycompatible', - prosrc => 'window_lead_with_offset_and_default' }, -{ oid => '3112', descr => 'fetch the first row value', - proname => 'first_value', prokind => 'w', prorettype => 'anyelement', - proargtypes => 'anyelement', prosrc => 'window_first_value' }, -{ oid => '3113', descr => 'fetch the last row value', - proname => 'last_value', prokind => 'w', prorettype => 'anyelement', - proargtypes => 'anyelement', prosrc => 'window_last_value' }, -{ oid => '3114', descr => 'fetch the Nth row value', - proname => 'nth_value', prokind => 'w', prorettype => 'anyelement', - proargtypes => 'anyelement int4', prosrc => 'window_nth_value' }, - -# functions for range types -{ oid => '3832', descr => 'I/O', - proname => 'anyrange_in', provolatile => 's', prorettype => 'anyrange', - proargtypes => 'cstring oid int4', prosrc => 'anyrange_in' }, -{ oid => '3833', descr => 'I/O', - proname => 'anyrange_out', provolatile => 's', prorettype => 'cstring', - proargtypes => 'anyrange', prosrc => 'anyrange_out' }, -{ oid => '3834', descr => 'I/O', - proname => 'range_in', provolatile => 's', prorettype => 'anyrange', - proargtypes => 'cstring oid int4', prosrc => 'range_in' }, -{ oid => '3835', descr => 'I/O', - proname => 'range_out', provolatile => 's', prorettype => 'cstring', - proargtypes => 'anyrange', prosrc => 'range_out' }, -{ oid => '3836', descr => 'I/O', - proname => 'range_recv', provolatile => 's', prorettype => 'anyrange', - proargtypes => 'internal oid int4', prosrc => 'range_recv' }, -{ oid => '3837', descr => 'I/O', - proname => 'range_send', provolatile => 's', prorettype => 'bytea', - proargtypes => 'anyrange', prosrc => 'range_send' }, -{ oid => '3848', descr => 'lower bound of range', - proname => 'lower', prorettype => 'anyelement', proargtypes => 'anyrange', - prosrc => 'range_lower' }, -{ oid => '3849', descr => 'upper bound of range', - proname => 'upper', prorettype => 'anyelement', proargtypes => 'anyrange', - prosrc => 'range_upper' }, -{ oid => '3850', descr => 'is the range empty?', - proname => 'isempty', prorettype => 'bool', proargtypes => 'anyrange', - prosrc => 'range_empty' }, -{ oid => '3851', descr => 'is the range\'s lower bound inclusive?', - proname => 'lower_inc', prorettype => 'bool', proargtypes => 'anyrange', - prosrc => 'range_lower_inc' }, -{ oid => '3852', descr => 'is the range\'s upper bound inclusive?', - proname => 'upper_inc', prorettype => 'bool', proargtypes => 'anyrange', - prosrc => 'range_upper_inc' }, -{ oid => '3853', descr => 'is the range\'s lower bound infinite?', - proname => 'lower_inf', prorettype => 'bool', proargtypes => 'anyrange', - prosrc => 'range_lower_inf' }, -{ oid => '3854', descr => 'is the range\'s upper bound infinite?', - proname => 'upper_inf', prorettype => 'bool', proargtypes => 'anyrange', - prosrc => 'range_upper_inf' }, -{ oid => '3855', - proname => 'range_eq', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_eq' }, -{ oid => '3856', - proname => 'range_ne', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_ne' }, -{ oid => '3857', - proname => 'range_overlaps', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_overlaps' }, -{ oid => '3858', - proname => 'range_contains_elem', prorettype => 'bool', - proargtypes => 'anyrange anyelement', prosrc => 'range_contains_elem' }, -{ oid => '3859', - proname => 'range_contains', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_contains' }, -{ oid => '3860', - proname => 'elem_contained_by_range', prorettype => 'bool', - proargtypes => 'anyelement anyrange', prosrc => 'elem_contained_by_range' }, -{ oid => '3861', - proname => 'range_contained_by', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_contained_by' }, -{ oid => '3862', - proname => 'range_adjacent', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_adjacent' }, -{ oid => '3863', - proname => 'range_before', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_before' }, -{ oid => '3864', - proname => 'range_after', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_after' }, -{ oid => '3865', - proname => 'range_overleft', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_overleft' }, -{ oid => '3866', - proname => 'range_overright', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_overright' }, -{ oid => '3867', - proname => 'range_union', prorettype => 'anyrange', - proargtypes => 'anyrange anyrange', prosrc => 'range_union' }, -{ oid => '4057', - descr => 'the smallest range which includes both of the given ranges', - proname => 'range_merge', prorettype => 'anyrange', - proargtypes => 'anyrange anyrange', prosrc => 'range_merge' }, -{ oid => '4228', - descr => 'the smallest range which includes the whole multirange', - proname => 'range_merge', prorettype => 'anyrange', - proargtypes => 'anymultirange', prosrc => 'range_merge_from_multirange' }, -{ oid => '3868', - proname => 'range_intersect', prorettype => 'anyrange', - proargtypes => 'anyrange anyrange', prosrc => 'range_intersect' }, -{ oid => '3869', - proname => 'range_minus', prorettype => 'anyrange', - proargtypes => 'anyrange anyrange', prosrc => 'range_minus' }, -{ oid => '3870', descr => 'less-equal-greater', - proname => 'range_cmp', prorettype => 'int4', - proargtypes => 'anyrange anyrange', prosrc => 'range_cmp' }, -{ oid => '3871', - proname => 'range_lt', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_lt' }, -{ oid => '3872', - proname => 'range_le', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_le' }, -{ oid => '3873', - proname => 'range_ge', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_ge' }, -{ oid => '3874', - proname => 'range_gt', prorettype => 'bool', - proargtypes => 'anyrange anyrange', prosrc => 'range_gt' }, -{ oid => '3875', descr => 'GiST support', - proname => 'range_gist_consistent', prorettype => 'bool', - proargtypes => 'internal anyrange int2 oid internal', - prosrc => 'range_gist_consistent' }, -{ oid => '3876', descr => 'GiST support', - proname => 'range_gist_union', prorettype => 'anyrange', - proargtypes => 'internal internal', prosrc => 'range_gist_union' }, -{ oid => '3879', descr => 'GiST support', - proname => 'range_gist_penalty', prorettype => 'internal', - proargtypes => 'internal internal internal', prosrc => 'range_gist_penalty' }, -{ oid => '3880', descr => 'GiST support', - proname => 'range_gist_picksplit', prorettype => 'internal', - proargtypes => 'internal internal', prosrc => 'range_gist_picksplit' }, -{ oid => '3881', descr => 'GiST support', - proname => 'range_gist_same', prorettype => 'internal', - proargtypes => 'anyrange anyrange internal', prosrc => 'range_gist_same' }, -{ oid => '6154', descr => 'GiST support', - proname => 'multirange_gist_consistent', prorettype => 'bool', - proargtypes => 'internal anymultirange int2 oid internal', - prosrc => 'multirange_gist_consistent' }, -{ oid => '6156', descr => 'GiST support', - proname => 'multirange_gist_compress', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'multirange_gist_compress' }, -{ oid => '3902', descr => 'hash a range', - proname => 'hash_range', prorettype => 'int4', proargtypes => 'anyrange', - prosrc => 'hash_range' }, -{ oid => '3417', descr => 'hash a range', - proname => 'hash_range_extended', prorettype => 'int8', - proargtypes => 'anyrange int8', prosrc => 'hash_range_extended' }, -{ oid => '3916', descr => 'range typanalyze', - proname => 'range_typanalyze', provolatile => 's', prorettype => 'bool', - proargtypes => 'internal', prosrc => 'range_typanalyze' }, -{ oid => '3169', descr => 'restriction selectivity for range operators', - proname => 'rangesel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'rangesel' }, -{ oid => '4401', descr => 'range aggregate by intersecting', - proname => 'range_intersect_agg_transfn', prorettype => 'anyrange', - proargtypes => 'anyrange anyrange', prosrc => 'range_intersect_agg_transfn' }, -{ oid => '4450', descr => 'range aggregate by intersecting', - proname => 'range_intersect_agg', prokind => 'a', proisstrict => 'f', - prorettype => 'anyrange', proargtypes => 'anyrange', - prosrc => 'aggregate_dummy' }, - -{ oid => '3914', descr => 'convert an int4 range to canonical form', - proname => 'int4range_canonical', prorettype => 'int4range', - proargtypes => 'int4range', prosrc => 'int4range_canonical' }, -{ oid => '3928', descr => 'convert an int8 range to canonical form', - proname => 'int8range_canonical', prorettype => 'int8range', - proargtypes => 'int8range', prosrc => 'int8range_canonical' }, -{ oid => '3915', descr => 'convert a date range to canonical form', - proname => 'daterange_canonical', prorettype => 'daterange', - proargtypes => 'daterange', prosrc => 'daterange_canonical' }, -{ oid => '3922', descr => 'float8 difference of two int4 values', - proname => 'int4range_subdiff', prorettype => 'float8', - proargtypes => 'int4 int4', prosrc => 'int4range_subdiff' }, -{ oid => '3923', descr => 'float8 difference of two int8 values', - proname => 'int8range_subdiff', prorettype => 'float8', - proargtypes => 'int8 int8', prosrc => 'int8range_subdiff' }, -{ oid => '3924', descr => 'float8 difference of two numeric values', - proname => 'numrange_subdiff', prorettype => 'float8', - proargtypes => 'numeric numeric', prosrc => 'numrange_subdiff' }, -{ oid => '3925', descr => 'float8 difference of two date values', - proname => 'daterange_subdiff', prorettype => 'float8', - proargtypes => 'date date', prosrc => 'daterange_subdiff' }, -{ oid => '3929', descr => 'float8 difference of two timestamp values', - proname => 'tsrange_subdiff', prorettype => 'float8', - proargtypes => 'timestamp timestamp', prosrc => 'tsrange_subdiff' }, -{ oid => '3930', - descr => 'float8 difference of two timestamp with time zone values', - proname => 'tstzrange_subdiff', prorettype => 'float8', - proargtypes => 'timestamptz timestamptz', prosrc => 'tstzrange_subdiff' }, - -{ oid => '3840', descr => 'int4range constructor', - proname => 'int4range', proisstrict => 'f', prorettype => 'int4range', - proargtypes => 'int4 int4', prosrc => 'range_constructor2' }, -{ oid => '3841', descr => 'int4range constructor', - proname => 'int4range', proisstrict => 'f', prorettype => 'int4range', - proargtypes => 'int4 int4 text', prosrc => 'range_constructor3' }, -{ oid => '3844', descr => 'numrange constructor', - proname => 'numrange', proisstrict => 'f', prorettype => 'numrange', - proargtypes => 'numeric numeric', prosrc => 'range_constructor2' }, -{ oid => '3845', descr => 'numrange constructor', - proname => 'numrange', proisstrict => 'f', prorettype => 'numrange', - proargtypes => 'numeric numeric text', prosrc => 'range_constructor3' }, -{ oid => '3933', descr => 'tsrange constructor', - proname => 'tsrange', proisstrict => 'f', prorettype => 'tsrange', - proargtypes => 'timestamp timestamp', prosrc => 'range_constructor2' }, -{ oid => '3934', descr => 'tsrange constructor', - proname => 'tsrange', proisstrict => 'f', prorettype => 'tsrange', - proargtypes => 'timestamp timestamp text', prosrc => 'range_constructor3' }, -{ oid => '3937', descr => 'tstzrange constructor', - proname => 'tstzrange', proisstrict => 'f', prorettype => 'tstzrange', - proargtypes => 'timestamptz timestamptz', prosrc => 'range_constructor2' }, -{ oid => '3938', descr => 'tstzrange constructor', - proname => 'tstzrange', proisstrict => 'f', prorettype => 'tstzrange', - proargtypes => 'timestamptz timestamptz text', - prosrc => 'range_constructor3' }, -{ oid => '3941', descr => 'daterange constructor', - proname => 'daterange', proisstrict => 'f', prorettype => 'daterange', - proargtypes => 'date date', prosrc => 'range_constructor2' }, -{ oid => '3942', descr => 'daterange constructor', - proname => 'daterange', proisstrict => 'f', prorettype => 'daterange', - proargtypes => 'date date text', prosrc => 'range_constructor3' }, -{ oid => '3945', descr => 'int8range constructor', - proname => 'int8range', proisstrict => 'f', prorettype => 'int8range', - proargtypes => 'int8 int8', prosrc => 'range_constructor2' }, -{ oid => '3946', descr => 'int8range constructor', - proname => 'int8range', proisstrict => 'f', prorettype => 'int8range', - proargtypes => 'int8 int8 text', prosrc => 'range_constructor3' }, - -# functions for multiranges -{ oid => '4229', descr => 'I/O', - proname => 'anymultirange_in', provolatile => 's', - prorettype => 'anymultirange', proargtypes => 'cstring oid int4', - prosrc => 'anymultirange_in' }, -{ oid => '4230', descr => 'I/O', - proname => 'anymultirange_out', provolatile => 's', prorettype => 'cstring', - proargtypes => 'anymultirange', prosrc => 'anymultirange_out' }, -{ oid => '4231', descr => 'I/O', - proname => 'multirange_in', provolatile => 's', prorettype => 'anymultirange', - proargtypes => 'cstring oid int4', prosrc => 'multirange_in' }, -{ oid => '4232', descr => 'I/O', - proname => 'multirange_out', provolatile => 's', prorettype => 'cstring', - proargtypes => 'anymultirange', prosrc => 'multirange_out' }, -{ oid => '4233', descr => 'I/O', - proname => 'multirange_recv', provolatile => 's', - prorettype => 'anymultirange', proargtypes => 'internal oid int4', - prosrc => 'multirange_recv' }, -{ oid => '4234', descr => 'I/O', - proname => 'multirange_send', provolatile => 's', prorettype => 'bytea', - proargtypes => 'anymultirange', prosrc => 'multirange_send' }, -{ oid => '4235', descr => 'lower bound of multirange', - proname => 'lower', prorettype => 'anyelement', - proargtypes => 'anymultirange', prosrc => 'multirange_lower' }, -{ oid => '4236', descr => 'upper bound of multirange', - proname => 'upper', prorettype => 'anyelement', - proargtypes => 'anymultirange', prosrc => 'multirange_upper' }, -{ oid => '4237', descr => 'is the multirange empty?', - proname => 'isempty', prorettype => 'bool', proargtypes => 'anymultirange', - prosrc => 'multirange_empty' }, -{ oid => '4238', descr => 'is the multirange\'s lower bound inclusive?', - proname => 'lower_inc', prorettype => 'bool', proargtypes => 'anymultirange', - prosrc => 'multirange_lower_inc' }, -{ oid => '4239', descr => 'is the multirange\'s upper bound inclusive?', - proname => 'upper_inc', prorettype => 'bool', proargtypes => 'anymultirange', - prosrc => 'multirange_upper_inc' }, -{ oid => '4240', descr => 'is the multirange\'s lower bound infinite?', - proname => 'lower_inf', prorettype => 'bool', proargtypes => 'anymultirange', - prosrc => 'multirange_lower_inf' }, -{ oid => '4241', descr => 'is the multirange\'s upper bound infinite?', - proname => 'upper_inf', prorettype => 'bool', proargtypes => 'anymultirange', - prosrc => 'multirange_upper_inf' }, -{ oid => '4242', descr => 'multirange typanalyze', - proname => 'multirange_typanalyze', provolatile => 's', prorettype => 'bool', - proargtypes => 'internal', prosrc => 'multirange_typanalyze' }, -{ oid => '4243', descr => 'restriction selectivity for multirange operators', - proname => 'multirangesel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'multirangesel' }, -{ oid => '4244', - proname => 'multirange_eq', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_eq' }, -{ oid => '4245', - proname => 'multirange_ne', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_ne' }, -{ oid => '4246', - proname => 'range_overlaps_multirange', prorettype => 'bool', - proargtypes => 'anyrange anymultirange', - prosrc => 'range_overlaps_multirange' }, -{ oid => '4247', - proname => 'multirange_overlaps_range', prorettype => 'bool', - proargtypes => 'anymultirange anyrange', - prosrc => 'multirange_overlaps_range' }, -{ oid => '4248', - proname => 'multirange_overlaps_multirange', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', - prosrc => 'multirange_overlaps_multirange' }, -{ oid => '4249', - proname => 'multirange_contains_elem', prorettype => 'bool', - proargtypes => 'anymultirange anyelement', - prosrc => 'multirange_contains_elem' }, -{ oid => '4250', - proname => 'multirange_contains_range', prorettype => 'bool', - proargtypes => 'anymultirange anyrange', - prosrc => 'multirange_contains_range' }, -{ oid => '4251', - proname => 'multirange_contains_multirange', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', - prosrc => 'multirange_contains_multirange' }, -{ oid => '4252', - proname => 'elem_contained_by_multirange', prorettype => 'bool', - proargtypes => 'anyelement anymultirange', - prosrc => 'elem_contained_by_multirange' }, -{ oid => '4253', - proname => 'range_contained_by_multirange', prorettype => 'bool', - proargtypes => 'anyrange anymultirange', - prosrc => 'range_contained_by_multirange' }, -{ oid => '4541', - proname => 'range_contains_multirange', prorettype => 'bool', - proargtypes => 'anyrange anymultirange', - prosrc => 'range_contains_multirange' }, -{ oid => '4542', - proname => 'multirange_contained_by_range', prorettype => 'bool', - proargtypes => 'anymultirange anyrange', - prosrc => 'multirange_contained_by_range' }, -{ oid => '4254', - proname => 'multirange_contained_by_multirange', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', - prosrc => 'multirange_contained_by_multirange' }, -{ oid => '4255', - proname => 'range_adjacent_multirange', prorettype => 'bool', - proargtypes => 'anyrange anymultirange', - prosrc => 'range_adjacent_multirange' }, -{ oid => '4256', - proname => 'multirange_adjacent_multirange', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', - prosrc => 'multirange_adjacent_multirange' }, -{ oid => '4257', - proname => 'multirange_adjacent_range', prorettype => 'bool', - proargtypes => 'anymultirange anyrange', - prosrc => 'multirange_adjacent_range' }, -{ oid => '4258', - proname => 'range_before_multirange', prorettype => 'bool', - proargtypes => 'anyrange anymultirange', - prosrc => 'range_before_multirange' }, -{ oid => '4259', - proname => 'multirange_before_range', prorettype => 'bool', - proargtypes => 'anymultirange anyrange', - prosrc => 'multirange_before_range' }, -{ oid => '4260', - proname => 'multirange_before_multirange', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', - prosrc => 'multirange_before_multirange' }, -{ oid => '4261', - proname => 'range_after_multirange', prorettype => 'bool', - proargtypes => 'anyrange anymultirange', prosrc => 'range_after_multirange' }, -{ oid => '4262', - proname => 'multirange_after_range', prorettype => 'bool', - proargtypes => 'anymultirange anyrange', prosrc => 'multirange_after_range' }, -{ oid => '4263', - proname => 'multirange_after_multirange', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', - prosrc => 'multirange_after_multirange' }, -{ oid => '4264', - proname => 'range_overleft_multirange', prorettype => 'bool', - proargtypes => 'anyrange anymultirange', - prosrc => 'range_overleft_multirange' }, -{ oid => '4265', - proname => 'multirange_overleft_range', prorettype => 'bool', - proargtypes => 'anymultirange anyrange', - prosrc => 'multirange_overleft_range' }, -{ oid => '4266', - proname => 'multirange_overleft_multirange', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', - prosrc => 'multirange_overleft_multirange' }, -{ oid => '4267', - proname => 'range_overright_multirange', prorettype => 'bool', - proargtypes => 'anyrange anymultirange', - prosrc => 'range_overright_multirange' }, -{ oid => '4268', - proname => 'multirange_overright_range', prorettype => 'bool', - proargtypes => 'anymultirange anyrange', - prosrc => 'multirange_overright_range' }, -{ oid => '4269', - proname => 'multirange_overright_multirange', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', - prosrc => 'multirange_overright_multirange' }, -{ oid => '4270', - proname => 'multirange_union', prorettype => 'anymultirange', - proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_union' }, -{ oid => '4271', - proname => 'multirange_minus', prorettype => 'anymultirange', - proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_minus' }, -{ oid => '4272', - proname => 'multirange_intersect', prorettype => 'anymultirange', - proargtypes => 'anymultirange anymultirange', - prosrc => 'multirange_intersect' }, -{ oid => '4273', descr => 'less-equal-greater', - proname => 'multirange_cmp', prorettype => 'int4', - proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_cmp' }, -{ oid => '4274', - proname => 'multirange_lt', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_lt' }, -{ oid => '4275', - proname => 'multirange_le', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_le' }, -{ oid => '4276', - proname => 'multirange_ge', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_ge' }, -{ oid => '4277', - proname => 'multirange_gt', prorettype => 'bool', - proargtypes => 'anymultirange anymultirange', prosrc => 'multirange_gt' }, -{ oid => '4278', descr => 'hash a multirange', - proname => 'hash_multirange', prorettype => 'int4', - proargtypes => 'anymultirange', prosrc => 'hash_multirange' }, -{ oid => '4279', descr => 'hash a multirange', - proname => 'hash_multirange_extended', prorettype => 'int8', - proargtypes => 'anymultirange int8', prosrc => 'hash_multirange_extended' }, - -{ oid => '4280', descr => 'int4multirange constructor', - proname => 'int4multirange', prorettype => 'int4multirange', - proargtypes => '', prosrc => 'multirange_constructor0' }, -{ oid => '4281', descr => 'int4multirange constructor', - proname => 'int4multirange', prorettype => 'int4multirange', - proargtypes => 'int4range', prosrc => 'multirange_constructor1' }, -{ oid => '4282', descr => 'int4multirange constructor', - proname => 'int4multirange', provariadic => 'int4range', - prorettype => 'int4multirange', proargtypes => '_int4range', - proallargtypes => '{_int4range}', proargmodes => '{v}', - prosrc => 'multirange_constructor2' }, -{ oid => '4283', descr => 'nummultirange constructor', - proname => 'nummultirange', prorettype => 'nummultirange', proargtypes => '', - prosrc => 'multirange_constructor0' }, -{ oid => '4284', descr => 'nummultirange constructor', - proname => 'nummultirange', prorettype => 'nummultirange', - proargtypes => 'numrange', prosrc => 'multirange_constructor1' }, -{ oid => '4285', descr => 'nummultirange constructor', - proname => 'nummultirange', provariadic => 'numrange', - prorettype => 'nummultirange', proargtypes => '_numrange', - proallargtypes => '{_numrange}', proargmodes => '{v}', - prosrc => 'multirange_constructor2' }, -{ oid => '4286', descr => 'tsmultirange constructor', - proname => 'tsmultirange', prorettype => 'tsmultirange', proargtypes => '', - prosrc => 'multirange_constructor0' }, -{ oid => '4287', descr => 'tsmultirange constructor', - proname => 'tsmultirange', prorettype => 'tsmultirange', - proargtypes => 'tsrange', prosrc => 'multirange_constructor1' }, -{ oid => '4288', descr => 'tsmultirange constructor', - proname => 'tsmultirange', provariadic => 'tsrange', - prorettype => 'tsmultirange', proargtypes => '_tsrange', - proallargtypes => '{_tsrange}', proargmodes => '{v}', - prosrc => 'multirange_constructor2' }, -{ oid => '4289', descr => 'tstzmultirange constructor', - proname => 'tstzmultirange', prorettype => 'tstzmultirange', - proargtypes => '', prosrc => 'multirange_constructor0' }, -{ oid => '4290', descr => 'tstzmultirange constructor', - proname => 'tstzmultirange', prorettype => 'tstzmultirange', - proargtypes => 'tstzrange', prosrc => 'multirange_constructor1' }, -{ oid => '4291', descr => 'tstzmultirange constructor', - proname => 'tstzmultirange', provariadic => 'tstzrange', - prorettype => 'tstzmultirange', proargtypes => '_tstzrange', - proallargtypes => '{_tstzrange}', proargmodes => '{v}', - prosrc => 'multirange_constructor2' }, -{ oid => '4292', descr => 'datemultirange constructor', - proname => 'datemultirange', prorettype => 'datemultirange', - proargtypes => '', prosrc => 'multirange_constructor0' }, -{ oid => '4293', descr => 'datemultirange constructor', - proname => 'datemultirange', prorettype => 'datemultirange', - proargtypes => 'daterange', prosrc => 'multirange_constructor1' }, -{ oid => '4294', descr => 'datemultirange constructor', - proname => 'datemultirange', provariadic => 'daterange', - prorettype => 'datemultirange', proargtypes => '_daterange', - proallargtypes => '{_daterange}', proargmodes => '{v}', - prosrc => 'multirange_constructor2' }, -{ oid => '4295', descr => 'int8multirange constructor', - proname => 'int8multirange', prorettype => 'int8multirange', - proargtypes => '', prosrc => 'multirange_constructor0' }, -{ oid => '4296', descr => 'int8multirange constructor', - proname => 'int8multirange', prorettype => 'int8multirange', - proargtypes => 'int8range', prosrc => 'multirange_constructor1' }, -{ oid => '4297', descr => 'int8multirange constructor', - proname => 'int8multirange', provariadic => 'int8range', - prorettype => 'int8multirange', proargtypes => '_int8range', - proallargtypes => '{_int8range}', proargmodes => '{v}', - prosrc => 'multirange_constructor2' }, -{ oid => '4298', descr => 'anymultirange cast', - proname => 'multirange', prorettype => 'anymultirange', - proargtypes => 'anyrange', prosrc => 'multirange_constructor1' }, -{ oid => '4299', descr => 'aggregate transition function', - proname => 'range_agg_transfn', proisstrict => 'f', prorettype => 'internal', - proargtypes => 'internal anyrange', prosrc => 'range_agg_transfn' }, -{ oid => '4300', descr => 'aggregate final function', - proname => 'range_agg_finalfn', proisstrict => 'f', - prorettype => 'anymultirange', proargtypes => 'internal anyrange', - prosrc => 'range_agg_finalfn' }, -{ oid => '4301', descr => 'combine aggregate input into a multirange', - proname => 'range_agg', prokind => 'a', proisstrict => 'f', - prorettype => 'anymultirange', proargtypes => 'anyrange', - prosrc => 'aggregate_dummy' }, -{ oid => '4388', descr => 'range aggregate by intersecting', - proname => 'multirange_intersect_agg_transfn', prorettype => 'anymultirange', - proargtypes => 'anymultirange anymultirange', - prosrc => 'multirange_intersect_agg_transfn' }, -{ oid => '4389', descr => 'range aggregate by intersecting', - proname => 'range_intersect_agg', prokind => 'a', proisstrict => 'f', - prorettype => 'anymultirange', proargtypes => 'anymultirange', - prosrc => 'aggregate_dummy' }, -{ oid => '1293', descr => 'expand multirange to set of ranges', - proname => 'unnest', prorows => '100', - proretset => 't', prorettype => 'anyrange', proargtypes => 'anymultirange', - prosrc => 'multirange_unnest' }, - -# date, time, timestamp constructors -{ oid => '3846', descr => 'construct date', - proname => 'make_date', prorettype => 'date', proargtypes => 'int4 int4 int4', - proargnames => '{year,month,day}', prosrc => 'make_date' }, -{ oid => '3847', descr => 'construct time', - proname => 'make_time', prorettype => 'time', - proargtypes => 'int4 int4 float8', proargnames => '{hour,min,sec}', - prosrc => 'make_time' }, -{ oid => '3461', descr => 'construct timestamp', - proname => 'make_timestamp', prorettype => 'timestamp', - proargtypes => 'int4 int4 int4 int4 int4 float8', - proargnames => '{year,month,mday,hour,min,sec}', prosrc => 'make_timestamp' }, -{ oid => '3462', descr => 'construct timestamp with time zone', - proname => 'make_timestamptz', provolatile => 's', - prorettype => 'timestamptz', proargtypes => 'int4 int4 int4 int4 int4 float8', - proargnames => '{year,month,mday,hour,min,sec}', - prosrc => 'make_timestamptz' }, -{ oid => '3463', descr => 'construct timestamp with time zone', - proname => 'make_timestamptz', provolatile => 's', - prorettype => 'timestamptz', - proargtypes => 'int4 int4 int4 int4 int4 float8 text', - proargnames => '{year,month,mday,hour,min,sec,timezone}', - prosrc => 'make_timestamptz_at_timezone' }, -{ oid => '3464', descr => 'construct interval', - proname => 'make_interval', prorettype => 'interval', - proargtypes => 'int4 int4 int4 int4 int4 int4 float8', - proargnames => '{years,months,weeks,days,hours,mins,secs}', - prosrc => 'make_interval' }, - -# spgist opclasses -{ oid => '4018', descr => 'SP-GiST support for quad tree over point', - proname => 'spg_quad_config', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_quad_config' }, -{ oid => '4019', descr => 'SP-GiST support for quad tree over point', - proname => 'spg_quad_choose', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_quad_choose' }, -{ oid => '4020', descr => 'SP-GiST support for quad tree over point', - proname => 'spg_quad_picksplit', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_quad_picksplit' }, -{ oid => '4021', descr => 'SP-GiST support for quad tree over point', - proname => 'spg_quad_inner_consistent', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_quad_inner_consistent' }, -{ oid => '4022', - descr => 'SP-GiST support for quad tree and k-d tree over point', - proname => 'spg_quad_leaf_consistent', prorettype => 'bool', - proargtypes => 'internal internal', prosrc => 'spg_quad_leaf_consistent' }, - -{ oid => '4023', descr => 'SP-GiST support for k-d tree over point', - proname => 'spg_kd_config', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_kd_config' }, -{ oid => '4024', descr => 'SP-GiST support for k-d tree over point', - proname => 'spg_kd_choose', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_kd_choose' }, -{ oid => '4025', descr => 'SP-GiST support for k-d tree over point', - proname => 'spg_kd_picksplit', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_kd_picksplit' }, -{ oid => '4026', descr => 'SP-GiST support for k-d tree over point', - proname => 'spg_kd_inner_consistent', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_kd_inner_consistent' }, - -{ oid => '4027', descr => 'SP-GiST support for radix tree over text', - proname => 'spg_text_config', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_text_config' }, -{ oid => '4028', descr => 'SP-GiST support for radix tree over text', - proname => 'spg_text_choose', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_text_choose' }, -{ oid => '4029', descr => 'SP-GiST support for radix tree over text', - proname => 'spg_text_picksplit', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_text_picksplit' }, -{ oid => '4030', descr => 'SP-GiST support for radix tree over text', - proname => 'spg_text_inner_consistent', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_text_inner_consistent' }, -{ oid => '4031', descr => 'SP-GiST support for radix tree over text', - proname => 'spg_text_leaf_consistent', prorettype => 'bool', - proargtypes => 'internal internal', prosrc => 'spg_text_leaf_consistent' }, - -{ oid => '3469', descr => 'SP-GiST support for quad tree over range', - proname => 'spg_range_quad_config', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_range_quad_config' }, -{ oid => '3470', descr => 'SP-GiST support for quad tree over range', - proname => 'spg_range_quad_choose', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_range_quad_choose' }, -{ oid => '3471', descr => 'SP-GiST support for quad tree over range', - proname => 'spg_range_quad_picksplit', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_range_quad_picksplit' }, -{ oid => '3472', descr => 'SP-GiST support for quad tree over range', - proname => 'spg_range_quad_inner_consistent', prorettype => 'void', - proargtypes => 'internal internal', - prosrc => 'spg_range_quad_inner_consistent' }, -{ oid => '3473', descr => 'SP-GiST support for quad tree over range', - proname => 'spg_range_quad_leaf_consistent', prorettype => 'bool', - proargtypes => 'internal internal', - prosrc => 'spg_range_quad_leaf_consistent' }, - -{ oid => '5012', descr => 'SP-GiST support for quad tree over box', - proname => 'spg_box_quad_config', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_box_quad_config' }, -{ oid => '5013', descr => 'SP-GiST support for quad tree over box', - proname => 'spg_box_quad_choose', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_box_quad_choose' }, -{ oid => '5014', descr => 'SP-GiST support for quad tree over box', - proname => 'spg_box_quad_picksplit', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_box_quad_picksplit' }, -{ oid => '5015', descr => 'SP-GiST support for quad tree over box', - proname => 'spg_box_quad_inner_consistent', prorettype => 'void', - proargtypes => 'internal internal', - prosrc => 'spg_box_quad_inner_consistent' }, -{ oid => '5016', descr => 'SP-GiST support for quad tree over box', - proname => 'spg_box_quad_leaf_consistent', prorettype => 'bool', - proargtypes => 'internal internal', - prosrc => 'spg_box_quad_leaf_consistent' }, - -{ oid => '5010', - descr => 'SP-GiST support for quad tree over 2-D types represented by their bounding boxes', - proname => 'spg_bbox_quad_config', prorettype => 'void', - proargtypes => 'internal internal', prosrc => 'spg_bbox_quad_config' }, -{ oid => '5011', descr => 'SP-GiST support for quad tree over polygons', - proname => 'spg_poly_quad_compress', prorettype => 'box', - proargtypes => 'polygon', prosrc => 'spg_poly_quad_compress' }, - -# replication slots -{ oid => '3779', descr => 'create a physical replication slot', - proname => 'pg_create_physical_replication_slot', provolatile => 'v', - proparallel => 'u', prorettype => 'record', proargtypes => 'name bool bool', - proallargtypes => '{name,bool,bool,name,pg_lsn}', - proargmodes => '{i,i,i,o,o}', - proargnames => '{slot_name,immediately_reserve,temporary,slot_name,lsn}', - prosrc => 'pg_create_physical_replication_slot' }, -{ oid => '4220', - descr => 'copy a physical replication slot, changing temporality', - proname => 'pg_copy_physical_replication_slot', provolatile => 'v', - proparallel => 'u', prorettype => 'record', proargtypes => 'name name bool', - proallargtypes => '{name,name,bool,name,pg_lsn}', - proargmodes => '{i,i,i,o,o}', - proargnames => '{src_slot_name,dst_slot_name,temporary,slot_name,lsn}', - prosrc => 'pg_copy_physical_replication_slot_a' }, -{ oid => '4221', descr => 'copy a physical replication slot', - proname => 'pg_copy_physical_replication_slot', provolatile => 'v', - proparallel => 'u', prorettype => 'record', proargtypes => 'name name', - proallargtypes => '{name,name,name,pg_lsn}', proargmodes => '{i,i,o,o}', - proargnames => '{src_slot_name,dst_slot_name,slot_name,lsn}', - prosrc => 'pg_copy_physical_replication_slot_b' }, -{ oid => '3780', descr => 'drop a replication slot', - proname => 'pg_drop_replication_slot', provolatile => 'v', proparallel => 'u', - prorettype => 'void', proargtypes => 'name', - prosrc => 'pg_drop_replication_slot' }, -{ oid => '3781', - descr => 'information about replication slots currently in use', - proname => 'pg_get_replication_slots', prorows => '10', proisstrict => 'f', - proretset => 't', provolatile => 's', prorettype => 'record', - proargtypes => '', - proallargtypes => '{name,name,text,oid,bool,bool,int4,xid,xid,pg_lsn,pg_lsn,text,int8,bool}', - proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o}', - proargnames => '{slot_name,plugin,slot_type,datoid,temporary,active,active_pid,xmin,catalog_xmin,restart_lsn,confirmed_flush_lsn,wal_status,safe_wal_size,two_phase}', - prosrc => 'pg_get_replication_slots' }, -{ oid => '3786', descr => 'set up a logical replication slot', - proname => 'pg_create_logical_replication_slot', provolatile => 'v', - proparallel => 'u', prorettype => 'record', - proargtypes => 'name name bool bool', - proallargtypes => '{name,name,bool,bool,name,pg_lsn}', - proargmodes => '{i,i,i,i,o,o}', - proargnames => '{slot_name,plugin,temporary,twophase,slot_name,lsn}', - prosrc => 'pg_create_logical_replication_slot' }, -{ oid => '4222', - descr => 'copy a logical replication slot, changing temporality and plugin', - proname => 'pg_copy_logical_replication_slot', provolatile => 'v', - proparallel => 'u', prorettype => 'record', - proargtypes => 'name name bool name', - proallargtypes => '{name,name,bool,name,name,pg_lsn}', - proargmodes => '{i,i,i,i,o,o}', - proargnames => '{src_slot_name,dst_slot_name,temporary,plugin,slot_name,lsn}', - prosrc => 'pg_copy_logical_replication_slot_a' }, -{ oid => '4223', - descr => 'copy a logical replication slot, changing temporality', - proname => 'pg_copy_logical_replication_slot', provolatile => 'v', - proparallel => 'u', prorettype => 'record', proargtypes => 'name name bool', - proallargtypes => '{name,name,bool,name,pg_lsn}', - proargmodes => '{i,i,i,o,o}', - proargnames => '{src_slot_name,dst_slot_name,temporary,slot_name,lsn}', - prosrc => 'pg_copy_logical_replication_slot_b' }, -{ oid => '4224', descr => 'copy a logical replication slot', - proname => 'pg_copy_logical_replication_slot', provolatile => 'v', - proparallel => 'u', prorettype => 'record', proargtypes => 'name name', - proallargtypes => '{name,name,name,pg_lsn}', proargmodes => '{i,i,o,o}', - proargnames => '{src_slot_name,dst_slot_name,slot_name,lsn}', - prosrc => 'pg_copy_logical_replication_slot_c' }, -{ oid => '3782', descr => 'get changes from replication slot', - proname => 'pg_logical_slot_get_changes', procost => '1000', - prorows => '1000', provariadic => 'text', proisstrict => 'f', - proretset => 't', provolatile => 'v', proparallel => 'u', - prorettype => 'record', proargtypes => 'name pg_lsn int4 _text', - proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,text}', - proargmodes => '{i,i,i,v,o,o,o}', - proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}', - prosrc => 'pg_logical_slot_get_changes' }, -{ oid => '3783', descr => 'get binary changes from replication slot', - proname => 'pg_logical_slot_get_binary_changes', procost => '1000', - prorows => '1000', provariadic => 'text', proisstrict => 'f', - proretset => 't', provolatile => 'v', proparallel => 'u', - prorettype => 'record', proargtypes => 'name pg_lsn int4 _text', - proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,bytea}', - proargmodes => '{i,i,i,v,o,o,o}', - proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}', - prosrc => 'pg_logical_slot_get_binary_changes' }, -{ oid => '3784', descr => 'peek at changes from replication slot', - proname => 'pg_logical_slot_peek_changes', procost => '1000', - prorows => '1000', provariadic => 'text', proisstrict => 'f', - proretset => 't', provolatile => 'v', proparallel => 'u', - prorettype => 'record', proargtypes => 'name pg_lsn int4 _text', - proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,text}', - proargmodes => '{i,i,i,v,o,o,o}', - proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}', - prosrc => 'pg_logical_slot_peek_changes' }, -{ oid => '3785', descr => 'peek at binary changes from replication slot', - proname => 'pg_logical_slot_peek_binary_changes', procost => '1000', - prorows => '1000', provariadic => 'text', proisstrict => 'f', - proretset => 't', provolatile => 'v', proparallel => 'u', - prorettype => 'record', proargtypes => 'name pg_lsn int4 _text', - proallargtypes => '{name,pg_lsn,int4,_text,pg_lsn,xid,bytea}', - proargmodes => '{i,i,i,v,o,o,o}', - proargnames => '{slot_name,upto_lsn,upto_nchanges,options,lsn,xid,data}', - prosrc => 'pg_logical_slot_peek_binary_changes' }, -{ oid => '3878', descr => 'advance logical replication slot', - proname => 'pg_replication_slot_advance', provolatile => 'v', - proparallel => 'u', prorettype => 'record', proargtypes => 'name pg_lsn', - proallargtypes => '{name,pg_lsn,name,pg_lsn}', proargmodes => '{i,i,o,o}', - proargnames => '{slot_name,upto_lsn,slot_name,end_lsn}', - prosrc => 'pg_replication_slot_advance' }, -{ oid => '3577', descr => 'emit a textual logical decoding message', - proname => 'pg_logical_emit_message', provolatile => 'v', proparallel => 'u', - prorettype => 'pg_lsn', proargtypes => 'bool text text', - prosrc => 'pg_logical_emit_message_text' }, -{ oid => '3578', descr => 'emit a binary logical decoding message', - proname => 'pg_logical_emit_message', provolatile => 'v', proparallel => 'u', - prorettype => 'pg_lsn', proargtypes => 'bool text bytea', - prosrc => 'pg_logical_emit_message_bytea' }, - -# event triggers -{ oid => '3566', descr => 'list objects dropped by the current command', - proname => 'pg_event_trigger_dropped_objects', procost => '10', - prorows => '100', proretset => 't', provolatile => 's', proparallel => 'r', - prorettype => 'record', proargtypes => '', - proallargtypes => '{oid,oid,int4,bool,bool,bool,text,text,text,text,_text,_text}', - proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o}', - proargnames => '{classid, objid, objsubid, original, normal, is_temporary, object_type, schema_name, object_name, object_identity, address_names, address_args}', - prosrc => 'pg_event_trigger_dropped_objects' }, -{ oid => '4566', descr => 'return Oid of the table getting rewritten', - proname => 'pg_event_trigger_table_rewrite_oid', provolatile => 's', - proparallel => 'r', prorettype => 'oid', proargtypes => '', - proallargtypes => '{oid}', proargmodes => '{o}', proargnames => '{oid}', - prosrc => 'pg_event_trigger_table_rewrite_oid' }, -{ oid => '4567', descr => 'return reason code for table getting rewritten', - proname => 'pg_event_trigger_table_rewrite_reason', provolatile => 's', - proparallel => 'r', prorettype => 'int4', proargtypes => '', - prosrc => 'pg_event_trigger_table_rewrite_reason' }, -{ oid => '4568', - descr => 'list DDL actions being executed by the current command', - proname => 'pg_event_trigger_ddl_commands', procost => '10', prorows => '100', - proretset => 't', provolatile => 's', proparallel => 'r', - prorettype => 'record', proargtypes => '', - proallargtypes => '{oid,oid,int4,text,text,text,text,bool,pg_ddl_command}', - proargmodes => '{o,o,o,o,o,o,o,o,o}', - proargnames => '{classid, objid, objsubid, command_tag, object_type, schema_name, object_identity, in_extension, command}', - prosrc => 'pg_event_trigger_ddl_commands' }, - -# generic transition functions for ordered-set aggregates -{ oid => '3970', descr => 'aggregate transition function', - proname => 'ordered_set_transition', proisstrict => 'f', - prorettype => 'internal', proargtypes => 'internal any', - prosrc => 'ordered_set_transition' }, -{ oid => '3971', descr => 'aggregate transition function', - proname => 'ordered_set_transition_multi', provariadic => 'any', - proisstrict => 'f', prorettype => 'internal', proargtypes => 'internal any', - proallargtypes => '{internal,any}', proargmodes => '{i,v}', - prosrc => 'ordered_set_transition_multi' }, - -# inverse distribution aggregates (and their support functions) -{ oid => '3972', descr => 'discrete percentile', - proname => 'percentile_disc', prokind => 'a', proisstrict => 'f', - prorettype => 'anyelement', proargtypes => 'float8 anyelement', - prosrc => 'aggregate_dummy' }, -{ oid => '3973', descr => 'aggregate final function', - proname => 'percentile_disc_final', proisstrict => 'f', - prorettype => 'anyelement', proargtypes => 'internal float8 anyelement', - prosrc => 'percentile_disc_final' }, -{ oid => '3974', descr => 'continuous distribution percentile', - proname => 'percentile_cont', prokind => 'a', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'float8 float8', - prosrc => 'aggregate_dummy' }, -{ oid => '3975', descr => 'aggregate final function', - proname => 'percentile_cont_float8_final', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'internal float8', - prosrc => 'percentile_cont_float8_final' }, -{ oid => '3976', descr => 'continuous distribution percentile', - proname => 'percentile_cont', prokind => 'a', proisstrict => 'f', - prorettype => 'interval', proargtypes => 'float8 interval', - prosrc => 'aggregate_dummy' }, -{ oid => '3977', descr => 'aggregate final function', - proname => 'percentile_cont_interval_final', proisstrict => 'f', - prorettype => 'interval', proargtypes => 'internal float8', - prosrc => 'percentile_cont_interval_final' }, -{ oid => '3978', descr => 'multiple discrete percentiles', - proname => 'percentile_disc', prokind => 'a', proisstrict => 'f', - prorettype => 'anyarray', proargtypes => '_float8 anyelement', - prosrc => 'aggregate_dummy' }, -{ oid => '3979', descr => 'aggregate final function', - proname => 'percentile_disc_multi_final', proisstrict => 'f', - prorettype => 'anyarray', proargtypes => 'internal _float8 anyelement', - prosrc => 'percentile_disc_multi_final' }, -{ oid => '3980', descr => 'multiple continuous percentiles', - proname => 'percentile_cont', prokind => 'a', proisstrict => 'f', - prorettype => '_float8', proargtypes => '_float8 float8', - prosrc => 'aggregate_dummy' }, -{ oid => '3981', descr => 'aggregate final function', - proname => 'percentile_cont_float8_multi_final', proisstrict => 'f', - prorettype => '_float8', proargtypes => 'internal _float8', - prosrc => 'percentile_cont_float8_multi_final' }, -{ oid => '3982', descr => 'multiple continuous percentiles', - proname => 'percentile_cont', prokind => 'a', proisstrict => 'f', - prorettype => '_interval', proargtypes => '_float8 interval', - prosrc => 'aggregate_dummy' }, -{ oid => '3983', descr => 'aggregate final function', - proname => 'percentile_cont_interval_multi_final', proisstrict => 'f', - prorettype => '_interval', proargtypes => 'internal _float8', - prosrc => 'percentile_cont_interval_multi_final' }, -{ oid => '3984', descr => 'most common value', - proname => 'mode', prokind => 'a', proisstrict => 'f', - prorettype => 'anyelement', proargtypes => 'anyelement', - prosrc => 'aggregate_dummy' }, -{ oid => '3985', descr => 'aggregate final function', - proname => 'mode_final', proisstrict => 'f', prorettype => 'anyelement', - proargtypes => 'internal anyelement', prosrc => 'mode_final' }, - -# hypothetical-set aggregates (and their support functions) -{ oid => '3986', descr => 'rank of hypothetical row', - proname => 'rank', provariadic => 'any', prokind => 'a', proisstrict => 'f', - prorettype => 'int8', proargtypes => 'any', proallargtypes => '{any}', - proargmodes => '{v}', prosrc => 'aggregate_dummy' }, -{ oid => '3987', descr => 'aggregate final function', - proname => 'rank_final', provariadic => 'any', proisstrict => 'f', - prorettype => 'int8', proargtypes => 'internal any', - proallargtypes => '{internal,any}', proargmodes => '{i,v}', - prosrc => 'hypothetical_rank_final' }, -{ oid => '3988', descr => 'fractional rank of hypothetical row', - proname => 'percent_rank', provariadic => 'any', prokind => 'a', - proisstrict => 'f', prorettype => 'float8', proargtypes => 'any', - proallargtypes => '{any}', proargmodes => '{v}', - prosrc => 'aggregate_dummy' }, -{ oid => '3989', descr => 'aggregate final function', - proname => 'percent_rank_final', provariadic => 'any', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'internal any', - proallargtypes => '{internal,any}', proargmodes => '{i,v}', - prosrc => 'hypothetical_percent_rank_final' }, -{ oid => '3990', descr => 'cumulative distribution of hypothetical row', - proname => 'cume_dist', provariadic => 'any', prokind => 'a', - proisstrict => 'f', prorettype => 'float8', proargtypes => 'any', - proallargtypes => '{any}', proargmodes => '{v}', - prosrc => 'aggregate_dummy' }, -{ oid => '3991', descr => 'aggregate final function', - proname => 'cume_dist_final', provariadic => 'any', proisstrict => 'f', - prorettype => 'float8', proargtypes => 'internal any', - proallargtypes => '{internal,any}', proargmodes => '{i,v}', - prosrc => 'hypothetical_cume_dist_final' }, -{ oid => '3992', descr => 'rank of hypothetical row without gaps', - proname => 'dense_rank', provariadic => 'any', prokind => 'a', - proisstrict => 'f', prorettype => 'int8', proargtypes => 'any', - proallargtypes => '{any}', proargmodes => '{v}', - prosrc => 'aggregate_dummy' }, -{ oid => '3993', descr => 'aggregate final function', - proname => 'dense_rank_final', provariadic => 'any', proisstrict => 'f', - prorettype => 'int8', proargtypes => 'internal any', - proallargtypes => '{internal,any}', proargmodes => '{i,v}', - prosrc => 'hypothetical_dense_rank_final' }, - -# pg_upgrade support -{ oid => '3582', descr => 'for use by pg_upgrade', - proname => 'binary_upgrade_set_next_pg_type_oid', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => 'oid', - prosrc => 'binary_upgrade_set_next_pg_type_oid' }, -{ oid => '3584', descr => 'for use by pg_upgrade', - proname => 'binary_upgrade_set_next_array_pg_type_oid', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => 'oid', - prosrc => 'binary_upgrade_set_next_array_pg_type_oid' }, -{ oid => '4390', descr => 'for use by pg_upgrade', - proname => 'binary_upgrade_set_next_multirange_pg_type_oid', - provolatile => 'v', proparallel => 'r', prorettype => 'void', - proargtypes => 'oid', - prosrc => 'binary_upgrade_set_next_multirange_pg_type_oid' }, -{ oid => '4391', descr => 'for use by pg_upgrade', - proname => 'binary_upgrade_set_next_multirange_array_pg_type_oid', - provolatile => 'v', proparallel => 'r', prorettype => 'void', - proargtypes => 'oid', - prosrc => 'binary_upgrade_set_next_multirange_array_pg_type_oid' }, -{ oid => '3586', descr => 'for use by pg_upgrade', - proname => 'binary_upgrade_set_next_heap_pg_class_oid', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => 'oid', - prosrc => 'binary_upgrade_set_next_heap_pg_class_oid' }, -{ oid => '3587', descr => 'for use by pg_upgrade', - proname => 'binary_upgrade_set_next_index_pg_class_oid', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => 'oid', - prosrc => 'binary_upgrade_set_next_index_pg_class_oid' }, -{ oid => '3588', descr => 'for use by pg_upgrade', - proname => 'binary_upgrade_set_next_toast_pg_class_oid', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => 'oid', - prosrc => 'binary_upgrade_set_next_toast_pg_class_oid' }, -{ oid => '3589', descr => 'for use by pg_upgrade', - proname => 'binary_upgrade_set_next_pg_enum_oid', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => 'oid', - prosrc => 'binary_upgrade_set_next_pg_enum_oid' }, -{ oid => '3590', descr => 'for use by pg_upgrade', - proname => 'binary_upgrade_set_next_pg_authid_oid', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => 'oid', - prosrc => 'binary_upgrade_set_next_pg_authid_oid' }, -{ oid => '3591', descr => 'for use by pg_upgrade', - proname => 'binary_upgrade_create_empty_extension', proisstrict => 'f', - provolatile => 'v', proparallel => 'u', prorettype => 'void', - proargtypes => 'text text bool text _oid _text _text', - prosrc => 'binary_upgrade_create_empty_extension' }, -{ oid => '4083', descr => 'for use by pg_upgrade', - proname => 'binary_upgrade_set_record_init_privs', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => 'bool', - prosrc => 'binary_upgrade_set_record_init_privs' }, -{ oid => '4101', descr => 'for use by pg_upgrade', - proname => 'binary_upgrade_set_missing_value', provolatile => 'v', - proparallel => 'u', prorettype => 'void', proargtypes => 'oid text text', - prosrc => 'binary_upgrade_set_missing_value' }, - -# conversion functions -{ oid => '4302', - descr => 'internal conversion function for KOI8R to MULE_INTERNAL', - proname => 'koi8r_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'koi8r_to_mic', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4303', - descr => 'internal conversion function for MULE_INTERNAL to KOI8R', - proname => 'mic_to_koi8r', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_koi8r', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4304', - descr => 'internal conversion function for ISO-8859-5 to MULE_INTERNAL', - proname => 'iso_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', prosrc => 'iso_to_mic', - probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4305', - descr => 'internal conversion function for MULE_INTERNAL to ISO-8859-5', - proname => 'mic_to_iso', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', prosrc => 'mic_to_iso', - probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4306', - descr => 'internal conversion function for WIN1251 to MULE_INTERNAL', - proname => 'win1251_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'win1251_to_mic', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4307', - descr => 'internal conversion function for MULE_INTERNAL to WIN1251', - proname => 'mic_to_win1251', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_win1251', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4308', - descr => 'internal conversion function for WIN866 to MULE_INTERNAL', - proname => 'win866_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'win866_to_mic', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4309', - descr => 'internal conversion function for MULE_INTERNAL to WIN866', - proname => 'mic_to_win866', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_win866', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4310', descr => 'internal conversion function for KOI8R to WIN1251', - proname => 'koi8r_to_win1251', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'koi8r_to_win1251', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4311', descr => 'internal conversion function for WIN1251 to KOI8R', - proname => 'win1251_to_koi8r', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'win1251_to_koi8r', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4312', descr => 'internal conversion function for KOI8R to WIN866', - proname => 'koi8r_to_win866', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'koi8r_to_win866', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4313', descr => 'internal conversion function for WIN866 to KOI8R', - proname => 'win866_to_koi8r', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'win866_to_koi8r', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4314', - descr => 'internal conversion function for WIN866 to WIN1251', - proname => 'win866_to_win1251', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'win866_to_win1251', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4315', - descr => 'internal conversion function for WIN1251 to WIN866', - proname => 'win1251_to_win866', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'win1251_to_win866', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4316', - descr => 'internal conversion function for ISO-8859-5 to KOI8R', - proname => 'iso_to_koi8r', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'iso_to_koi8r', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4317', - descr => 'internal conversion function for KOI8R to ISO-8859-5', - proname => 'koi8r_to_iso', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'koi8r_to_iso', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4318', - descr => 'internal conversion function for ISO-8859-5 to WIN1251', - proname => 'iso_to_win1251', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'iso_to_win1251', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4319', - descr => 'internal conversion function for WIN1251 to ISO-8859-5', - proname => 'win1251_to_iso', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'win1251_to_iso', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4320', - descr => 'internal conversion function for ISO-8859-5 to WIN866', - proname => 'iso_to_win866', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'iso_to_win866', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4321', - descr => 'internal conversion function for WIN866 to ISO-8859-5', - proname => 'win866_to_iso', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'win866_to_iso', probin => '$libdir/cyrillic_and_mic' }, -{ oid => '4322', - descr => 'internal conversion function for EUC_CN to MULE_INTERNAL', - proname => 'euc_cn_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'euc_cn_to_mic', probin => '$libdir/euc_cn_and_mic' }, -{ oid => '4323', - descr => 'internal conversion function for MULE_INTERNAL to EUC_CN', - proname => 'mic_to_euc_cn', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_euc_cn', probin => '$libdir/euc_cn_and_mic' }, -{ oid => '4324', descr => 'internal conversion function for EUC_JP to SJIS', - proname => 'euc_jp_to_sjis', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'euc_jp_to_sjis', probin => '$libdir/euc_jp_and_sjis' }, -{ oid => '4325', descr => 'internal conversion function for SJIS to EUC_JP', - proname => 'sjis_to_euc_jp', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'sjis_to_euc_jp', probin => '$libdir/euc_jp_and_sjis' }, -{ oid => '4326', - descr => 'internal conversion function for EUC_JP to MULE_INTERNAL', - proname => 'euc_jp_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'euc_jp_to_mic', probin => '$libdir/euc_jp_and_sjis' }, -{ oid => '4327', - descr => 'internal conversion function for SJIS to MULE_INTERNAL', - proname => 'sjis_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'sjis_to_mic', probin => '$libdir/euc_jp_and_sjis' }, -{ oid => '4328', - descr => 'internal conversion function for MULE_INTERNAL to EUC_JP', - proname => 'mic_to_euc_jp', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_euc_jp', probin => '$libdir/euc_jp_and_sjis' }, -{ oid => '4329', - descr => 'internal conversion function for MULE_INTERNAL to SJIS', - proname => 'mic_to_sjis', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_sjis', probin => '$libdir/euc_jp_and_sjis' }, -{ oid => '4330', - descr => 'internal conversion function for EUC_KR to MULE_INTERNAL', - proname => 'euc_kr_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'euc_kr_to_mic', probin => '$libdir/euc_kr_and_mic' }, -{ oid => '4331', - descr => 'internal conversion function for MULE_INTERNAL to EUC_KR', - proname => 'mic_to_euc_kr', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_euc_kr', probin => '$libdir/euc_kr_and_mic' }, -{ oid => '4332', descr => 'internal conversion function for EUC_TW to BIG5', - proname => 'euc_tw_to_big5', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'euc_tw_to_big5', probin => '$libdir/euc_tw_and_big5' }, -{ oid => '4333', descr => 'internal conversion function for BIG5 to EUC_TW', - proname => 'big5_to_euc_tw', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'big5_to_euc_tw', probin => '$libdir/euc_tw_and_big5' }, -{ oid => '4334', - descr => 'internal conversion function for EUC_TW to MULE_INTERNAL', - proname => 'euc_tw_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'euc_tw_to_mic', probin => '$libdir/euc_tw_and_big5' }, -{ oid => '4335', - descr => 'internal conversion function for BIG5 to MULE_INTERNAL', - proname => 'big5_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'big5_to_mic', probin => '$libdir/euc_tw_and_big5' }, -{ oid => '4336', - descr => 'internal conversion function for MULE_INTERNAL to EUC_TW', - proname => 'mic_to_euc_tw', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_euc_tw', probin => '$libdir/euc_tw_and_big5' }, -{ oid => '4337', - descr => 'internal conversion function for MULE_INTERNAL to BIG5', - proname => 'mic_to_big5', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_big5', probin => '$libdir/euc_tw_and_big5' }, -{ oid => '4338', - descr => 'internal conversion function for LATIN2 to MULE_INTERNAL', - proname => 'latin2_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'latin2_to_mic', probin => '$libdir/latin2_and_win1250' }, -{ oid => '4339', - descr => 'internal conversion function for MULE_INTERNAL to LATIN2', - proname => 'mic_to_latin2', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_latin2', probin => '$libdir/latin2_and_win1250' }, -{ oid => '4340', - descr => 'internal conversion function for WIN1250 to MULE_INTERNAL', - proname => 'win1250_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'win1250_to_mic', probin => '$libdir/latin2_and_win1250' }, -{ oid => '4341', - descr => 'internal conversion function for MULE_INTERNAL to WIN1250', - proname => 'mic_to_win1250', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_win1250', probin => '$libdir/latin2_and_win1250' }, -{ oid => '4342', - descr => 'internal conversion function for LATIN2 to WIN1250', - proname => 'latin2_to_win1250', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'latin2_to_win1250', probin => '$libdir/latin2_and_win1250' }, -{ oid => '4343', - descr => 'internal conversion function for WIN1250 to LATIN2', - proname => 'win1250_to_latin2', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'win1250_to_latin2', probin => '$libdir/latin2_and_win1250' }, -{ oid => '4344', - descr => 'internal conversion function for LATIN1 to MULE_INTERNAL', - proname => 'latin1_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'latin1_to_mic', probin => '$libdir/latin_and_mic' }, -{ oid => '4345', - descr => 'internal conversion function for MULE_INTERNAL to LATIN1', - proname => 'mic_to_latin1', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_latin1', probin => '$libdir/latin_and_mic' }, -{ oid => '4346', - descr => 'internal conversion function for LATIN3 to MULE_INTERNAL', - proname => 'latin3_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'latin3_to_mic', probin => '$libdir/latin_and_mic' }, -{ oid => '4347', - descr => 'internal conversion function for MULE_INTERNAL to LATIN3', - proname => 'mic_to_latin3', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_latin3', probin => '$libdir/latin_and_mic' }, -{ oid => '4348', - descr => 'internal conversion function for LATIN4 to MULE_INTERNAL', - proname => 'latin4_to_mic', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'latin4_to_mic', probin => '$libdir/latin_and_mic' }, -{ oid => '4349', - descr => 'internal conversion function for MULE_INTERNAL to LATIN4', - proname => 'mic_to_latin4', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'mic_to_latin4', probin => '$libdir/latin_and_mic' }, -{ oid => '4352', descr => 'internal conversion function for BIG5 to UTF8', - proname => 'big5_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'big5_to_utf8', probin => '$libdir/utf8_and_big5' }, -{ oid => '4353', descr => 'internal conversion function for UTF8 to BIG5', - proname => 'utf8_to_big5', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_big5', probin => '$libdir/utf8_and_big5' }, -{ oid => '4354', descr => 'internal conversion function for UTF8 to KOI8R', - proname => 'utf8_to_koi8r', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_koi8r', probin => '$libdir/utf8_and_cyrillic' }, -{ oid => '4355', descr => 'internal conversion function for KOI8R to UTF8', - proname => 'koi8r_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'koi8r_to_utf8', probin => '$libdir/utf8_and_cyrillic' }, -{ oid => '4356', descr => 'internal conversion function for UTF8 to KOI8U', - proname => 'utf8_to_koi8u', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_koi8u', probin => '$libdir/utf8_and_cyrillic' }, -{ oid => '4357', descr => 'internal conversion function for KOI8U to UTF8', - proname => 'koi8u_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'koi8u_to_utf8', probin => '$libdir/utf8_and_cyrillic' }, -{ oid => '4358', descr => 'internal conversion function for UTF8 to WIN', - proname => 'utf8_to_win', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_win', probin => '$libdir/utf8_and_win' }, -{ oid => '4359', descr => 'internal conversion function for WIN to UTF8', - proname => 'win_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'win_to_utf8', probin => '$libdir/utf8_and_win' }, -{ oid => '4360', descr => 'internal conversion function for EUC_CN to UTF8', - proname => 'euc_cn_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'euc_cn_to_utf8', probin => '$libdir/utf8_and_euc_cn' }, -{ oid => '4361', descr => 'internal conversion function for UTF8 to EUC_CN', - proname => 'utf8_to_euc_cn', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_euc_cn', probin => '$libdir/utf8_and_euc_cn' }, -{ oid => '4362', descr => 'internal conversion function for EUC_JP to UTF8', - proname => 'euc_jp_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'euc_jp_to_utf8', probin => '$libdir/utf8_and_euc_jp' }, -{ oid => '4363', descr => 'internal conversion function for UTF8 to EUC_JP', - proname => 'utf8_to_euc_jp', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_euc_jp', probin => '$libdir/utf8_and_euc_jp' }, -{ oid => '4364', descr => 'internal conversion function for EUC_KR to UTF8', - proname => 'euc_kr_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'euc_kr_to_utf8', probin => '$libdir/utf8_and_euc_kr' }, -{ oid => '4365', descr => 'internal conversion function for UTF8 to EUC_KR', - proname => 'utf8_to_euc_kr', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_euc_kr', probin => '$libdir/utf8_and_euc_kr' }, -{ oid => '4366', descr => 'internal conversion function for EUC_TW to UTF8', - proname => 'euc_tw_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'euc_tw_to_utf8', probin => '$libdir/utf8_and_euc_tw' }, -{ oid => '4367', descr => 'internal conversion function for UTF8 to EUC_TW', - proname => 'utf8_to_euc_tw', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_euc_tw', probin => '$libdir/utf8_and_euc_tw' }, -{ oid => '4368', descr => 'internal conversion function for GB18030 to UTF8', - proname => 'gb18030_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'gb18030_to_utf8', probin => '$libdir/utf8_and_gb18030' }, -{ oid => '4369', descr => 'internal conversion function for UTF8 to GB18030', - proname => 'utf8_to_gb18030', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_gb18030', probin => '$libdir/utf8_and_gb18030' }, -{ oid => '4370', descr => 'internal conversion function for GBK to UTF8', - proname => 'gbk_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'gbk_to_utf8', probin => '$libdir/utf8_and_gbk' }, -{ oid => '4371', descr => 'internal conversion function for UTF8 to GBK', - proname => 'utf8_to_gbk', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_gbk', probin => '$libdir/utf8_and_gbk' }, -{ oid => '4372', - descr => 'internal conversion function for UTF8 to ISO-8859 2-16', - proname => 'utf8_to_iso8859', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_iso8859', probin => '$libdir/utf8_and_iso8859' }, -{ oid => '4373', - descr => 'internal conversion function for ISO-8859 2-16 to UTF8', - proname => 'iso8859_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'iso8859_to_utf8', probin => '$libdir/utf8_and_iso8859' }, -{ oid => '4374', descr => 'internal conversion function for LATIN1 to UTF8', - proname => 'iso8859_1_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'iso8859_1_to_utf8', probin => '$libdir/utf8_and_iso8859_1' }, -{ oid => '4375', descr => 'internal conversion function for UTF8 to LATIN1', - proname => 'utf8_to_iso8859_1', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_iso8859_1', probin => '$libdir/utf8_and_iso8859_1' }, -{ oid => '4376', descr => 'internal conversion function for JOHAB to UTF8', - proname => 'johab_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'johab_to_utf8', probin => '$libdir/utf8_and_johab' }, -{ oid => '4377', descr => 'internal conversion function for UTF8 to JOHAB', - proname => 'utf8_to_johab', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_johab', probin => '$libdir/utf8_and_johab' }, -{ oid => '4378', descr => 'internal conversion function for SJIS to UTF8', - proname => 'sjis_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'sjis_to_utf8', probin => '$libdir/utf8_and_sjis' }, -{ oid => '4379', descr => 'internal conversion function for UTF8 to SJIS', - proname => 'utf8_to_sjis', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_sjis', probin => '$libdir/utf8_and_sjis' }, -{ oid => '4380', descr => 'internal conversion function for UHC to UTF8', - proname => 'uhc_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'uhc_to_utf8', probin => '$libdir/utf8_and_uhc' }, -{ oid => '4381', descr => 'internal conversion function for UTF8 to UHC', - proname => 'utf8_to_uhc', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_uhc', probin => '$libdir/utf8_and_uhc' }, -{ oid => '4382', - descr => 'internal conversion function for EUC_JIS_2004 to UTF8', - proname => 'euc_jis_2004_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'euc_jis_2004_to_utf8', probin => '$libdir/utf8_and_euc2004' }, -{ oid => '4383', - descr => 'internal conversion function for UTF8 to EUC_JIS_2004', - proname => 'utf8_to_euc_jis_2004', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_euc_jis_2004', probin => '$libdir/utf8_and_euc2004' }, -{ oid => '4384', - descr => 'internal conversion function for SHIFT_JIS_2004 to UTF8', - proname => 'shift_jis_2004_to_utf8', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'shift_jis_2004_to_utf8', probin => '$libdir/utf8_and_sjis2004' }, -{ oid => '4385', - descr => 'internal conversion function for UTF8 to SHIFT_JIS_2004', - proname => 'utf8_to_shift_jis_2004', prolang => 'c', prorettype => 'int4', - proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'utf8_to_shift_jis_2004', probin => '$libdir/utf8_and_sjis2004' }, -{ oid => '4386', - descr => 'internal conversion function for EUC_JIS_2004 to SHIFT_JIS_2004', - proname => 'euc_jis_2004_to_shift_jis_2004', prolang => 'c', - prorettype => 'int4', proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'euc_jis_2004_to_shift_jis_2004', - probin => '$libdir/euc2004_sjis2004' }, -{ oid => '4387', - descr => 'internal conversion function for SHIFT_JIS_2004 to EUC_JIS_2004', - proname => 'shift_jis_2004_to_euc_jis_2004', prolang => 'c', - prorettype => 'int4', proargtypes => 'int4 int4 cstring internal int4 bool', - prosrc => 'shift_jis_2004_to_euc_jis_2004', - probin => '$libdir/euc2004_sjis2004' }, - -{ oid => '5040', - descr => 'restriction selectivity for generic matching operators', - proname => 'matchingsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int4', prosrc => 'matchingsel' }, -{ oid => '5041', descr => 'join selectivity for generic matching operators', - proname => 'matchingjoinsel', provolatile => 's', prorettype => 'float8', - proargtypes => 'internal oid internal int2 internal', - prosrc => 'matchingjoinsel' }, - -# replication/origin.h -{ oid => '6003', descr => 'create a replication origin', - proname => 'pg_replication_origin_create', provolatile => 'v', - proparallel => 'u', prorettype => 'oid', proargtypes => 'text', - prosrc => 'pg_replication_origin_create' }, - -{ oid => '6004', descr => 'drop replication origin identified by its name', - proname => 'pg_replication_origin_drop', provolatile => 'v', - proparallel => 'u', prorettype => 'void', proargtypes => 'text', - prosrc => 'pg_replication_origin_drop' }, - -{ oid => '6005', - descr => 'translate the replication origin\'s name to its id', - proname => 'pg_replication_origin_oid', provolatile => 's', - prorettype => 'oid', proargtypes => 'text', - prosrc => 'pg_replication_origin_oid' }, - -{ oid => '6006', - descr => 'configure session to maintain replication progress tracking for the passed in origin', - proname => 'pg_replication_origin_session_setup', provolatile => 'v', - proparallel => 'u', prorettype => 'void', proargtypes => 'text', - prosrc => 'pg_replication_origin_session_setup' }, - -{ oid => '6007', descr => 'teardown configured replication progress tracking', - proname => 'pg_replication_origin_session_reset', provolatile => 'v', - proparallel => 'u', prorettype => 'void', proargtypes => '', - prosrc => 'pg_replication_origin_session_reset' }, - -{ oid => '6008', - descr => 'is a replication origin configured in this session', - proname => 'pg_replication_origin_session_is_setup', provolatile => 'v', - proparallel => 'r', prorettype => 'bool', proargtypes => '', - prosrc => 'pg_replication_origin_session_is_setup' }, - -{ oid => '6009', - descr => 'get the replication progress of the current session', - proname => 'pg_replication_origin_session_progress', provolatile => 'v', - proparallel => 'u', prorettype => 'pg_lsn', proargtypes => 'bool', - prosrc => 'pg_replication_origin_session_progress' }, - -{ oid => '6010', descr => 'setup the transaction\'s origin lsn and timestamp', - proname => 'pg_replication_origin_xact_setup', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => 'pg_lsn timestamptz', - prosrc => 'pg_replication_origin_xact_setup' }, - -{ oid => '6011', descr => 'reset the transaction\'s origin lsn and timestamp', - proname => 'pg_replication_origin_xact_reset', provolatile => 'v', - proparallel => 'r', prorettype => 'void', proargtypes => '', - prosrc => 'pg_replication_origin_xact_reset' }, - -{ oid => '6012', descr => 'advance replication origin to specific location', - proname => 'pg_replication_origin_advance', provolatile => 'v', - proparallel => 'u', prorettype => 'void', proargtypes => 'text pg_lsn', - prosrc => 'pg_replication_origin_advance' }, - -{ oid => '6013', - descr => 'get an individual replication origin\'s replication progress', - proname => 'pg_replication_origin_progress', provolatile => 'v', - proparallel => 'u', prorettype => 'pg_lsn', proargtypes => 'text bool', - prosrc => 'pg_replication_origin_progress' }, - -{ oid => '6014', descr => 'get progress for all replication origins', - proname => 'pg_show_replication_origin_status', prorows => '100', - proisstrict => 'f', proretset => 't', provolatile => 'v', proparallel => 'r', - prorettype => 'record', proargtypes => '', - proallargtypes => '{oid,text,pg_lsn,pg_lsn}', proargmodes => '{o,o,o,o}', - proargnames => '{local_id, external_id, remote_lsn, local_lsn}', - prosrc => 'pg_show_replication_origin_status' }, - -# publications -{ oid => '6119', descr => 'get OIDs of tables in a publication', - proname => 'pg_get_publication_tables', prorows => '1000', proretset => 't', - provolatile => 's', prorettype => 'oid', proargtypes => 'text', - proallargtypes => '{text,oid}', proargmodes => '{i,o}', - proargnames => '{pubname,relid}', prosrc => 'pg_get_publication_tables' }, -{ oid => '6121', - descr => 'returns whether a relation can be part of a publication', - proname => 'pg_relation_is_publishable', provolatile => 's', - prorettype => 'bool', proargtypes => 'regclass', - prosrc => 'pg_relation_is_publishable' }, - -# rls -{ oid => '3298', - descr => 'row security for current context active on table by table oid', - proname => 'row_security_active', provolatile => 's', prorettype => 'bool', - proargtypes => 'oid', prosrc => 'row_security_active' }, -{ oid => '3299', - descr => 'row security for current context active on table by table name', - proname => 'row_security_active', provolatile => 's', prorettype => 'bool', - proargtypes => 'text', prosrc => 'row_security_active_name' }, - -# pg_config -{ oid => '3400', descr => 'pg_config binary as a function', - proname => 'pg_config', prorows => '23', proretset => 't', provolatile => 's', - proparallel => 'r', prorettype => 'record', proargtypes => '', - proallargtypes => '{text,text}', proargmodes => '{o,o}', - proargnames => '{name,setting}', prosrc => 'pg_config' }, - -# pg_controldata related functions -{ oid => '3441', - descr => 'pg_controldata general state information as a function', - proname => 'pg_control_system', provolatile => 'v', prorettype => 'record', - proargtypes => '', proallargtypes => '{int4,int4,int8,timestamptz}', - proargmodes => '{o,o,o,o}', - proargnames => '{pg_control_version,catalog_version_no,system_identifier,pg_control_last_modified}', - prosrc => 'pg_control_system' }, - -{ oid => '3442', - descr => 'pg_controldata checkpoint state information as a function', - proname => 'pg_control_checkpoint', provolatile => 'v', - prorettype => 'record', proargtypes => '', - proallargtypes => '{pg_lsn,pg_lsn,text,int4,int4,bool,text,oid,xid,xid,xid,oid,xid,xid,oid,xid,xid,timestamptz}', - proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', - proargnames => '{checkpoint_lsn,redo_lsn,redo_wal_file,timeline_id,prev_timeline_id,full_page_writes,next_xid,next_oid,next_multixact_id,next_multi_offset,oldest_xid,oldest_xid_dbid,oldest_active_xid,oldest_multi_xid,oldest_multi_dbid,oldest_commit_ts_xid,newest_commit_ts_xid,checkpoint_time}', - prosrc => 'pg_control_checkpoint' }, - -{ oid => '3443', - descr => 'pg_controldata recovery state information as a function', - proname => 'pg_control_recovery', provolatile => 'v', prorettype => 'record', - proargtypes => '', proallargtypes => '{pg_lsn,int4,pg_lsn,pg_lsn,bool}', - proargmodes => '{o,o,o,o,o}', - proargnames => '{min_recovery_end_lsn,min_recovery_end_timeline,backup_start_lsn,backup_end_lsn,end_of_backup_record_required}', - prosrc => 'pg_control_recovery' }, - -{ oid => '3444', - descr => 'pg_controldata init state information as a function', - proname => 'pg_control_init', provolatile => 'v', prorettype => 'record', - proargtypes => '', - proallargtypes => '{int4,int4,int4,int4,int4,int4,int4,int4,int4,bool,int4}', - proargmodes => '{o,o,o,o,o,o,o,o,o,o,o}', - proargnames => '{max_data_alignment,database_block_size,blocks_per_segment,wal_block_size,bytes_per_wal_segment,max_identifier_length,max_index_columns,max_toast_chunk_size,large_object_chunk_size,float8_pass_by_value,data_page_checksum_version}', - prosrc => 'pg_control_init' }, - -# subscripting support for built-in types -{ oid => '6179', descr => 'standard array subscripting support', - proname => 'array_subscript_handler', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'array_subscript_handler' }, -{ oid => '6180', descr => 'raw array subscripting support', - proname => 'raw_array_subscript_handler', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'raw_array_subscript_handler' }, -# type subscripting support -{ oid => '6098', descr => 'jsonb subscripting logic', - proname => 'jsonb_subscript_handler', prorettype => 'internal', - proargtypes => 'internal', prosrc => 'jsonb_subscript_handler' }, - -# collation management functions -{ oid => '3445', descr => 'import collations from operating system', - proname => 'pg_import_system_collations', procost => '100', - provolatile => 'v', proparallel => 'u', prorettype => 'int4', - proargtypes => 'regnamespace', prosrc => 'pg_import_system_collations' }, - -{ oid => '3448', - descr => 'get actual version of collation from operating system', - proname => 'pg_collation_actual_version', procost => '100', - provolatile => 'v', prorettype => 'text', proargtypes => 'oid', - prosrc => 'pg_collation_actual_version' }, - -# system management/monitoring related functions -{ oid => '3353', descr => 'list files in the log directory', - proname => 'pg_ls_logdir', procost => '10', prorows => '20', proretset => 't', - provolatile => 'v', prorettype => 'record', proargtypes => '', - proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}', - proargnames => '{name,size,modification}', prosrc => 'pg_ls_logdir' }, -{ oid => '3354', descr => 'list of files in the WAL directory', - proname => 'pg_ls_waldir', procost => '10', prorows => '20', proretset => 't', - provolatile => 'v', prorettype => 'record', proargtypes => '', - proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}', - proargnames => '{name,size,modification}', prosrc => 'pg_ls_waldir' }, -{ oid => '5031', descr => 'list of files in the archive_status directory', - proname => 'pg_ls_archive_statusdir', procost => '10', prorows => '20', - proretset => 't', provolatile => 'v', prorettype => 'record', - proargtypes => '', proallargtypes => '{text,int8,timestamptz}', - proargmodes => '{o,o,o}', proargnames => '{name,size,modification}', - prosrc => 'pg_ls_archive_statusdir' }, -{ oid => '5029', descr => 'list files in the pgsql_tmp directory', - proname => 'pg_ls_tmpdir', procost => '10', prorows => '20', proretset => 't', - provolatile => 'v', prorettype => 'record', proargtypes => '', - proallargtypes => '{text,int8,timestamptz}', proargmodes => '{o,o,o}', - proargnames => '{name,size,modification}', prosrc => 'pg_ls_tmpdir_noargs' }, -{ oid => '5030', descr => 'list files in the pgsql_tmp directory', - proname => 'pg_ls_tmpdir', procost => '10', prorows => '20', proretset => 't', - provolatile => 'v', prorettype => 'record', proargtypes => 'oid', - proallargtypes => '{oid,text,int8,timestamptz}', proargmodes => '{i,o,o,o}', - proargnames => '{tablespace,name,size,modification}', - prosrc => 'pg_ls_tmpdir_1arg' }, - -# hash partitioning constraint function -{ oid => '5028', descr => 'hash partition CHECK constraint', - proname => 'satisfies_hash_partition', provariadic => 'any', - proisstrict => 'f', prorettype => 'bool', proargtypes => 'oid int4 int4 any', - proargmodes => '{i,i,i,v}', prosrc => 'satisfies_hash_partition' }, - -# information about a partition tree -{ oid => '3423', descr => 'view partition tree tables', - proname => 'pg_partition_tree', prorows => '1000', proretset => 't', - provolatile => 'v', prorettype => 'record', proargtypes => 'regclass', - proallargtypes => '{regclass,regclass,regclass,bool,int4}', - proargmodes => '{i,o,o,o,o}', - proargnames => '{rootrelid,relid,parentrelid,isleaf,level}', - prosrc => 'pg_partition_tree' }, -{ oid => '3425', descr => 'view ancestors of the partition', - proname => 'pg_partition_ancestors', prorows => '10', proretset => 't', - provolatile => 'v', prorettype => 'regclass', proargtypes => 'regclass', - proallargtypes => '{regclass,regclass}', proargmodes => '{i,o}', - proargnames => '{partitionid,relid}', prosrc => 'pg_partition_ancestors' }, - -# function to get the top-most partition root parent -{ oid => '3424', descr => 'get top-most partition root parent', - proname => 'pg_partition_root', prorettype => 'regclass', - proargtypes => 'regclass', prosrc => 'pg_partition_root' }, - -{ oid => '4350', descr => 'Unicode normalization', - proname => 'normalize', prorettype => 'text', proargtypes => 'text text', - prosrc => 'unicode_normalize_func' }, - -{ oid => '4351', descr => 'check Unicode normalization', - proname => 'is_normalized', prorettype => 'bool', proargtypes => 'text text', - prosrc => 'unicode_is_normalized' }, - -{ oid => '6198', descr => 'unescape Unicode characters', - proname => 'unistr', prorettype => 'text', proargtypes => 'text', - prosrc => 'unistr' }, - -{ oid => '4596', descr => 'I/O', - proname => 'brin_bloom_summary_in', prorettype => 'pg_brin_bloom_summary', - proargtypes => 'cstring', prosrc => 'brin_bloom_summary_in' }, -{ oid => '4597', descr => 'I/O', - proname => 'brin_bloom_summary_out', prorettype => 'cstring', - proargtypes => 'pg_brin_bloom_summary', prosrc => 'brin_bloom_summary_out' }, -{ oid => '4598', descr => 'I/O', - proname => 'brin_bloom_summary_recv', provolatile => 's', - prorettype => 'pg_brin_bloom_summary', proargtypes => 'internal', - prosrc => 'brin_bloom_summary_recv' }, -{ oid => '4599', descr => 'I/O', - proname => 'brin_bloom_summary_send', provolatile => 's', - prorettype => 'bytea', proargtypes => 'pg_brin_bloom_summary', - prosrc => 'brin_bloom_summary_send' }, - -{ oid => '4638', descr => 'I/O', - proname => 'brin_minmax_multi_summary_in', - prorettype => 'pg_brin_minmax_multi_summary', proargtypes => 'cstring', - prosrc => 'brin_minmax_multi_summary_in' }, -{ oid => '4639', descr => 'I/O', - proname => 'brin_minmax_multi_summary_out', prorettype => 'cstring', - proargtypes => 'pg_brin_minmax_multi_summary', - prosrc => 'brin_minmax_multi_summary_out' }, -{ oid => '4640', descr => 'I/O', - proname => 'brin_minmax_multi_summary_recv', provolatile => 's', - prorettype => 'pg_brin_minmax_multi_summary', proargtypes => 'internal', - prosrc => 'brin_minmax_multi_summary_recv' }, -{ oid => '4641', descr => 'I/O', - proname => 'brin_minmax_multi_summary_send', provolatile => 's', - prorettype => 'bytea', proargtypes => 'pg_brin_minmax_multi_summary', - prosrc => 'brin_minmax_multi_summary_send' }, - -] diff --git a/contrib/libs/postgresql/src/include/catalog/pg_type.dat b/contrib/libs/postgresql/src/include/catalog/pg_type.dat deleted file mode 100644 index 41074c994b1..00000000000 --- a/contrib/libs/postgresql/src/include/catalog/pg_type.dat +++ /dev/null @@ -1,695 +0,0 @@ -#---------------------------------------------------------------------- -# -# pg_type.dat -# Initial contents of the pg_type system catalog. -# -# Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group -# Portions Copyright (c) 1994, Regents of the University of California -# -# src/include/catalog/pg_type.dat -# -#---------------------------------------------------------------------- - -[ - -# For types used in the system catalogs, make sure the values here match -# TypInfo[] in bootstrap.c. - -# OID symbol macro names for pg_type OIDs are not specified here because -# they are generated by genbki.pl according to the following rule: -# foo_bar -> FOO_BAROID -# _foo_bar -> FOO_BARARRAYOID - -# To autogenerate an array type, add 'array_type_oid => 'nnnn' to the element -# type, which will instruct genbki.pl to generate a BKI entry for it. -# In a few cases, the array type's properties don't match the normal pattern -# so it can't be autogenerated; in such cases do not write array_type_oid. - -# Once upon a time these entries were ordered by OID. Lately it's often -# been the custom to insert new entries adjacent to related older entries. -# Try to do one or the other though, don't just insert entries at random. - -# OIDS 1 - 99 - -{ oid => '16', array_type_oid => '1000', - descr => 'boolean, \'true\'/\'false\'', - typname => 'bool', typlen => '1', typbyval => 't', typcategory => 'B', - typispreferred => 't', typinput => 'boolin', typoutput => 'boolout', - typreceive => 'boolrecv', typsend => 'boolsend', typalign => 'c' }, -{ oid => '17', array_type_oid => '1001', - descr => 'variable-length string, binary values escaped', - typname => 'bytea', typlen => '-1', typbyval => 'f', typcategory => 'U', - typinput => 'byteain', typoutput => 'byteaout', typreceive => 'bytearecv', - typsend => 'byteasend', typalign => 'i', typstorage => 'x' }, -{ oid => '18', array_type_oid => '1002', descr => 'single character', - typname => 'char', typlen => '1', typbyval => 't', typcategory => 'S', - typinput => 'charin', typoutput => 'charout', typreceive => 'charrecv', - typsend => 'charsend', typalign => 'c' }, -{ oid => '19', array_type_oid => '1003', - descr => '63-byte type for storing system identifiers', - typname => 'name', typlen => 'NAMEDATALEN', typbyval => 'f', - typcategory => 'S', typsubscript => 'raw_array_subscript_handler', - typelem => 'char', typinput => 'namein', typoutput => 'nameout', - typreceive => 'namerecv', typsend => 'namesend', typalign => 'c', - typcollation => 'C' }, -{ oid => '20', array_type_oid => '1016', - descr => '~18 digit integer, 8-byte storage', - typname => 'int8', typlen => '8', typbyval => 'FLOAT8PASSBYVAL', - typcategory => 'N', typinput => 'int8in', typoutput => 'int8out', - typreceive => 'int8recv', typsend => 'int8send', typalign => 'd' }, -{ oid => '21', array_type_oid => '1005', - descr => '-32 thousand to 32 thousand, 2-byte storage', - typname => 'int2', typlen => '2', typbyval => 't', typcategory => 'N', - typinput => 'int2in', typoutput => 'int2out', typreceive => 'int2recv', - typsend => 'int2send', typalign => 's' }, -{ oid => '22', array_type_oid => '1006', - descr => 'array of int2, used in system tables', - typname => 'int2vector', typlen => '-1', typbyval => 'f', typcategory => 'A', - typsubscript => 'array_subscript_handler', typelem => 'int2', - typinput => 'int2vectorin', typoutput => 'int2vectorout', - typreceive => 'int2vectorrecv', typsend => 'int2vectorsend', - typalign => 'i' }, -{ oid => '23', array_type_oid => '1007', - descr => '-2 billion to 2 billion integer, 4-byte storage', - typname => 'int4', typlen => '4', typbyval => 't', typcategory => 'N', - typinput => 'int4in', typoutput => 'int4out', typreceive => 'int4recv', - typsend => 'int4send', typalign => 'i' }, -{ oid => '24', array_type_oid => '1008', descr => 'registered procedure', - typname => 'regproc', typlen => '4', typbyval => 't', typcategory => 'N', - typinput => 'regprocin', typoutput => 'regprocout', - typreceive => 'regprocrecv', typsend => 'regprocsend', typalign => 'i' }, -{ oid => '25', array_type_oid => '1009', - descr => 'variable-length string, no limit specified', - typname => 'text', typlen => '-1', typbyval => 'f', typcategory => 'S', - typispreferred => 't', typinput => 'textin', typoutput => 'textout', - typreceive => 'textrecv', typsend => 'textsend', typalign => 'i', - typstorage => 'x', typcollation => 'default' }, -{ oid => '26', array_type_oid => '1028', - descr => 'object identifier(oid), maximum 4 billion', - typname => 'oid', typlen => '4', typbyval => 't', typcategory => 'N', - typispreferred => 't', typinput => 'oidin', typoutput => 'oidout', - typreceive => 'oidrecv', typsend => 'oidsend', typalign => 'i' }, -{ oid => '27', array_type_oid => '1010', - descr => '(block, offset), physical location of tuple', - typname => 'tid', typlen => '6', typbyval => 'f', typcategory => 'U', - typinput => 'tidin', typoutput => 'tidout', typreceive => 'tidrecv', - typsend => 'tidsend', typalign => 's' }, -{ oid => '28', array_type_oid => '1011', descr => 'transaction id', - typname => 'xid', typlen => '4', typbyval => 't', typcategory => 'U', - typinput => 'xidin', typoutput => 'xidout', typreceive => 'xidrecv', - typsend => 'xidsend', typalign => 'i' }, -{ oid => '29', array_type_oid => '1012', - descr => 'command identifier type, sequence in transaction id', - typname => 'cid', typlen => '4', typbyval => 't', typcategory => 'U', - typinput => 'cidin', typoutput => 'cidout', typreceive => 'cidrecv', - typsend => 'cidsend', typalign => 'i' }, -{ oid => '30', array_type_oid => '1013', - descr => 'array of oids, used in system tables', - typname => 'oidvector', typlen => '-1', typbyval => 'f', typcategory => 'A', - typsubscript => 'array_subscript_handler', typelem => 'oid', - typinput => 'oidvectorin', typoutput => 'oidvectorout', - typreceive => 'oidvectorrecv', typsend => 'oidvectorsend', typalign => 'i' }, - -# hand-built rowtype entries for bootstrapped catalogs -# NB: OIDs assigned here must match the BKI_ROWTYPE_OID declarations -{ oid => '71', array_type_oid => '210', - typname => 'pg_type', typlen => '-1', typbyval => 'f', typtype => 'c', - typcategory => 'C', typrelid => 'pg_type', typinput => 'record_in', - typoutput => 'record_out', typreceive => 'record_recv', - typsend => 'record_send', typalign => 'd', typstorage => 'x' }, -{ oid => '75', array_type_oid => '270', - typname => 'pg_attribute', typlen => '-1', typbyval => 'f', typtype => 'c', - typcategory => 'C', typrelid => 'pg_attribute', typinput => 'record_in', - typoutput => 'record_out', typreceive => 'record_recv', - typsend => 'record_send', typalign => 'd', typstorage => 'x' }, -{ oid => '81', array_type_oid => '272', - typname => 'pg_proc', typlen => '-1', typbyval => 'f', typtype => 'c', - typcategory => 'C', typrelid => 'pg_proc', typinput => 'record_in', - typoutput => 'record_out', typreceive => 'record_recv', - typsend => 'record_send', typalign => 'd', typstorage => 'x' }, -{ oid => '83', array_type_oid => '273', - typname => 'pg_class', typlen => '-1', typbyval => 'f', typtype => 'c', - typcategory => 'C', typrelid => 'pg_class', typinput => 'record_in', - typoutput => 'record_out', typreceive => 'record_recv', - typsend => 'record_send', typalign => 'd', typstorage => 'x' }, - -# OIDS 100 - 199 - -{ oid => '114', array_type_oid => '199', descr => 'JSON stored as text', - typname => 'json', typlen => '-1', typbyval => 'f', typcategory => 'U', - typinput => 'json_in', typoutput => 'json_out', typreceive => 'json_recv', - typsend => 'json_send', typalign => 'i', typstorage => 'x' }, -{ oid => '142', array_type_oid => '143', descr => 'XML content', - typname => 'xml', typlen => '-1', typbyval => 'f', typcategory => 'U', - typinput => 'xml_in', typoutput => 'xml_out', typreceive => 'xml_recv', - typsend => 'xml_send', typalign => 'i', typstorage => 'x' }, -{ oid => '194', descr => 'string representing an internal node tree', - typname => 'pg_node_tree', typlen => '-1', typbyval => 'f', - typcategory => 'S', typinput => 'pg_node_tree_in', - typoutput => 'pg_node_tree_out', typreceive => 'pg_node_tree_recv', - typsend => 'pg_node_tree_send', typalign => 'i', typstorage => 'x', - typcollation => 'default' }, -{ oid => '3361', descr => 'multivariate ndistinct coefficients', - typname => 'pg_ndistinct', typlen => '-1', typbyval => 'f', - typcategory => 'S', typinput => 'pg_ndistinct_in', - typoutput => 'pg_ndistinct_out', typreceive => 'pg_ndistinct_recv', - typsend => 'pg_ndistinct_send', typalign => 'i', typstorage => 'x', - typcollation => 'default' }, -{ oid => '3402', descr => 'multivariate dependencies', - typname => 'pg_dependencies', typlen => '-1', typbyval => 'f', - typcategory => 'S', typinput => 'pg_dependencies_in', - typoutput => 'pg_dependencies_out', typreceive => 'pg_dependencies_recv', - typsend => 'pg_dependencies_send', typalign => 'i', typstorage => 'x', - typcollation => 'default' }, -{ oid => '5017', descr => 'multivariate MCV list', - typname => 'pg_mcv_list', typlen => '-1', typbyval => 'f', typcategory => 'S', - typinput => 'pg_mcv_list_in', typoutput => 'pg_mcv_list_out', - typreceive => 'pg_mcv_list_recv', typsend => 'pg_mcv_list_send', - typalign => 'i', typstorage => 'x', typcollation => 'default' }, -{ oid => '32', descr => 'internal type for passing CollectedCommand', - typname => 'pg_ddl_command', typlen => 'SIZEOF_POINTER', typbyval => 't', - typtype => 'p', typcategory => 'P', typinput => 'pg_ddl_command_in', - typoutput => 'pg_ddl_command_out', typreceive => 'pg_ddl_command_recv', - typsend => 'pg_ddl_command_send', typalign => 'ALIGNOF_POINTER' }, -{ oid => '5069', array_type_oid => '271', descr => 'full transaction id', - typname => 'xid8', typlen => '8', typbyval => 'FLOAT8PASSBYVAL', - typcategory => 'U', typinput => 'xid8in', typoutput => 'xid8out', - typreceive => 'xid8recv', typsend => 'xid8send', typalign => 'd' }, - -# OIDS 600 - 699 - -{ oid => '600', array_type_oid => '1017', - descr => 'geometric point \'(x, y)\'', - typname => 'point', typlen => '16', typbyval => 'f', typcategory => 'G', - typsubscript => 'raw_array_subscript_handler', typelem => 'float8', - typinput => 'point_in', typoutput => 'point_out', typreceive => 'point_recv', - typsend => 'point_send', typalign => 'd' }, -{ oid => '601', array_type_oid => '1018', - descr => 'geometric line segment \'(pt1,pt2)\'', - typname => 'lseg', typlen => '32', typbyval => 'f', typcategory => 'G', - typsubscript => 'raw_array_subscript_handler', typelem => 'point', - typinput => 'lseg_in', typoutput => 'lseg_out', typreceive => 'lseg_recv', - typsend => 'lseg_send', typalign => 'd' }, -{ oid => '602', array_type_oid => '1019', - descr => 'geometric path \'(pt1,...)\'', - typname => 'path', typlen => '-1', typbyval => 'f', typcategory => 'G', - typinput => 'path_in', typoutput => 'path_out', typreceive => 'path_recv', - typsend => 'path_send', typalign => 'd', typstorage => 'x' }, -{ oid => '603', array_type_oid => '1020', - descr => 'geometric box \'(lower left,upper right)\'', - typname => 'box', typlen => '32', typbyval => 'f', typcategory => 'G', - typdelim => ';', typsubscript => 'raw_array_subscript_handler', - typelem => 'point', typinput => 'box_in', typoutput => 'box_out', - typreceive => 'box_recv', typsend => 'box_send', typalign => 'd' }, -{ oid => '604', array_type_oid => '1027', - descr => 'geometric polygon \'(pt1,...)\'', - typname => 'polygon', typlen => '-1', typbyval => 'f', typcategory => 'G', - typinput => 'poly_in', typoutput => 'poly_out', typreceive => 'poly_recv', - typsend => 'poly_send', typalign => 'd', typstorage => 'x' }, -{ oid => '628', array_type_oid => '629', descr => 'geometric line', - typname => 'line', typlen => '24', typbyval => 'f', typcategory => 'G', - typsubscript => 'raw_array_subscript_handler', typelem => 'float8', - typinput => 'line_in', typoutput => 'line_out', typreceive => 'line_recv', - typsend => 'line_send', typalign => 'd' }, - -# OIDS 700 - 799 - -{ oid => '700', array_type_oid => '1021', - descr => 'single-precision floating point number, 4-byte storage', - typname => 'float4', typlen => '4', typbyval => 't', typcategory => 'N', - typinput => 'float4in', typoutput => 'float4out', typreceive => 'float4recv', - typsend => 'float4send', typalign => 'i' }, -{ oid => '701', array_type_oid => '1022', - descr => 'double-precision floating point number, 8-byte storage', - typname => 'float8', typlen => '8', typbyval => 'FLOAT8PASSBYVAL', - typcategory => 'N', typispreferred => 't', typinput => 'float8in', - typoutput => 'float8out', typreceive => 'float8recv', typsend => 'float8send', - typalign => 'd' }, -{ oid => '705', descr => 'pseudo-type representing an undetermined type', - typname => 'unknown', typlen => '-2', typbyval => 'f', typtype => 'p', - typcategory => 'X', typinput => 'unknownin', typoutput => 'unknownout', - typreceive => 'unknownrecv', typsend => 'unknownsend', typalign => 'c' }, -{ oid => '718', array_type_oid => '719', - descr => 'geometric circle \'(center,radius)\'', - typname => 'circle', typlen => '24', typbyval => 'f', typcategory => 'G', - typinput => 'circle_in', typoutput => 'circle_out', - typreceive => 'circle_recv', typsend => 'circle_send', typalign => 'd' }, -{ oid => '790', array_type_oid => '791', - descr => 'monetary amounts, $d,ddd.cc', - typname => 'money', typlen => '8', typbyval => 'FLOAT8PASSBYVAL', - typcategory => 'N', typinput => 'cash_in', typoutput => 'cash_out', - typreceive => 'cash_recv', typsend => 'cash_send', typalign => 'd' }, - -# OIDS 800 - 899 - -{ oid => '829', array_type_oid => '1040', - descr => 'XX:XX:XX:XX:XX:XX, MAC address', - typname => 'macaddr', typlen => '6', typbyval => 'f', typcategory => 'U', - typinput => 'macaddr_in', typoutput => 'macaddr_out', - typreceive => 'macaddr_recv', typsend => 'macaddr_send', typalign => 'i' }, -{ oid => '869', array_type_oid => '1041', - descr => 'IP address/netmask, host address, netmask optional', - typname => 'inet', typlen => '-1', typbyval => 'f', typcategory => 'I', - typispreferred => 't', typinput => 'inet_in', typoutput => 'inet_out', - typreceive => 'inet_recv', typsend => 'inet_send', typalign => 'i', - typstorage => 'm' }, -{ oid => '650', array_type_oid => '651', - descr => 'network IP address/netmask, network address', - typname => 'cidr', typlen => '-1', typbyval => 'f', typcategory => 'I', - typinput => 'cidr_in', typoutput => 'cidr_out', typreceive => 'cidr_recv', - typsend => 'cidr_send', typalign => 'i', typstorage => 'm' }, -{ oid => '774', array_type_oid => '775', - descr => 'XX:XX:XX:XX:XX:XX:XX:XX, MAC address', - typname => 'macaddr8', typlen => '8', typbyval => 'f', typcategory => 'U', - typinput => 'macaddr8_in', typoutput => 'macaddr8_out', - typreceive => 'macaddr8_recv', typsend => 'macaddr8_send', typalign => 'i' }, - -# OIDS 1000 - 1099 - -{ oid => '1033', array_type_oid => '1034', descr => 'access control list', - typname => 'aclitem', typlen => '12', typbyval => 'f', typcategory => 'U', - typinput => 'aclitemin', typoutput => 'aclitemout', typreceive => '-', - typsend => '-', typalign => 'i' }, -{ oid => '1042', array_type_oid => '1014', - descr => 'char(length), blank-padded string, fixed storage length', - typname => 'bpchar', typlen => '-1', typbyval => 'f', typcategory => 'S', - typinput => 'bpcharin', typoutput => 'bpcharout', typreceive => 'bpcharrecv', - typsend => 'bpcharsend', typmodin => 'bpchartypmodin', - typmodout => 'bpchartypmodout', typalign => 'i', typstorage => 'x', - typcollation => 'default' }, -{ oid => '1043', array_type_oid => '1015', - descr => 'varchar(length), non-blank-padded string, variable storage length', - typname => 'varchar', typlen => '-1', typbyval => 'f', typcategory => 'S', - typinput => 'varcharin', typoutput => 'varcharout', - typreceive => 'varcharrecv', typsend => 'varcharsend', - typmodin => 'varchartypmodin', typmodout => 'varchartypmodout', - typalign => 'i', typstorage => 'x', typcollation => 'default' }, -{ oid => '1082', array_type_oid => '1182', descr => 'date', - typname => 'date', typlen => '4', typbyval => 't', typcategory => 'D', - typinput => 'date_in', typoutput => 'date_out', typreceive => 'date_recv', - typsend => 'date_send', typalign => 'i' }, -{ oid => '1083', array_type_oid => '1183', descr => 'time of day', - typname => 'time', typlen => '8', typbyval => 'FLOAT8PASSBYVAL', - typcategory => 'D', typinput => 'time_in', typoutput => 'time_out', - typreceive => 'time_recv', typsend => 'time_send', typmodin => 'timetypmodin', - typmodout => 'timetypmodout', typalign => 'd' }, - -# OIDS 1100 - 1199 - -{ oid => '1114', array_type_oid => '1115', descr => 'date and time', - typname => 'timestamp', typlen => '8', typbyval => 'FLOAT8PASSBYVAL', - typcategory => 'D', typinput => 'timestamp_in', typoutput => 'timestamp_out', - typreceive => 'timestamp_recv', typsend => 'timestamp_send', - typmodin => 'timestamptypmodin', typmodout => 'timestamptypmodout', - typalign => 'd' }, -{ oid => '1184', array_type_oid => '1185', - descr => 'date and time with time zone', - typname => 'timestamptz', typlen => '8', typbyval => 'FLOAT8PASSBYVAL', - typcategory => 'D', typispreferred => 't', typinput => 'timestamptz_in', - typoutput => 'timestamptz_out', typreceive => 'timestamptz_recv', - typsend => 'timestamptz_send', typmodin => 'timestamptztypmodin', - typmodout => 'timestamptztypmodout', typalign => 'd' }, -{ oid => '1186', array_type_oid => '1187', - descr => '@ <number> <units>, time interval', - typname => 'interval', typlen => '16', typbyval => 'f', typcategory => 'T', - typispreferred => 't', typinput => 'interval_in', typoutput => 'interval_out', - typreceive => 'interval_recv', typsend => 'interval_send', - typmodin => 'intervaltypmodin', typmodout => 'intervaltypmodout', - typalign => 'd' }, - -# OIDS 1200 - 1299 - -{ oid => '1266', array_type_oid => '1270', - descr => 'time of day with time zone', - typname => 'timetz', typlen => '12', typbyval => 'f', typcategory => 'D', - typinput => 'timetz_in', typoutput => 'timetz_out', - typreceive => 'timetz_recv', typsend => 'timetz_send', - typmodin => 'timetztypmodin', typmodout => 'timetztypmodout', - typalign => 'd' }, - -# OIDS 1500 - 1599 - -{ oid => '1560', array_type_oid => '1561', descr => 'fixed-length bit string', - typname => 'bit', typlen => '-1', typbyval => 'f', typcategory => 'V', - typinput => 'bit_in', typoutput => 'bit_out', typreceive => 'bit_recv', - typsend => 'bit_send', typmodin => 'bittypmodin', typmodout => 'bittypmodout', - typalign => 'i', typstorage => 'x' }, -{ oid => '1562', array_type_oid => '1563', - descr => 'variable-length bit string', - typname => 'varbit', typlen => '-1', typbyval => 'f', typcategory => 'V', - typispreferred => 't', typinput => 'varbit_in', typoutput => 'varbit_out', - typreceive => 'varbit_recv', typsend => 'varbit_send', - typmodin => 'varbittypmodin', typmodout => 'varbittypmodout', typalign => 'i', - typstorage => 'x' }, - -# OIDS 1700 - 1799 - -{ oid => '1700', array_type_oid => '1231', - descr => 'numeric(precision, decimal), arbitrary precision number', - typname => 'numeric', typlen => '-1', typbyval => 'f', typcategory => 'N', - typinput => 'numeric_in', typoutput => 'numeric_out', - typreceive => 'numeric_recv', typsend => 'numeric_send', - typmodin => 'numerictypmodin', typmodout => 'numerictypmodout', - typalign => 'i', typstorage => 'm' }, - -{ oid => '1790', array_type_oid => '2201', - descr => 'reference to cursor (portal name)', - typname => 'refcursor', typlen => '-1', typbyval => 'f', typcategory => 'U', - typinput => 'textin', typoutput => 'textout', typreceive => 'textrecv', - typsend => 'textsend', typalign => 'i', typstorage => 'x' }, - -# OIDS 2200 - 2299 - -{ oid => '2202', array_type_oid => '2207', - descr => 'registered procedure (with args)', - typname => 'regprocedure', typlen => '4', typbyval => 't', typcategory => 'N', - typinput => 'regprocedurein', typoutput => 'regprocedureout', - typreceive => 'regprocedurerecv', typsend => 'regproceduresend', - typalign => 'i' }, -{ oid => '2203', array_type_oid => '2208', descr => 'registered operator', - typname => 'regoper', typlen => '4', typbyval => 't', typcategory => 'N', - typinput => 'regoperin', typoutput => 'regoperout', - typreceive => 'regoperrecv', typsend => 'regopersend', typalign => 'i' }, -{ oid => '2204', array_type_oid => '2209', - descr => 'registered operator (with args)', - typname => 'regoperator', typlen => '4', typbyval => 't', typcategory => 'N', - typinput => 'regoperatorin', typoutput => 'regoperatorout', - typreceive => 'regoperatorrecv', typsend => 'regoperatorsend', - typalign => 'i' }, -{ oid => '2205', array_type_oid => '2210', descr => 'registered class', - typname => 'regclass', typlen => '4', typbyval => 't', typcategory => 'N', - typinput => 'regclassin', typoutput => 'regclassout', - typreceive => 'regclassrecv', typsend => 'regclasssend', typalign => 'i' }, -{ oid => '4191', array_type_oid => '4192', descr => 'registered collation', - typname => 'regcollation', typlen => '4', typbyval => 't', typcategory => 'N', - typinput => 'regcollationin', typoutput => 'regcollationout', - typreceive => 'regcollationrecv', typsend => 'regcollationsend', - typalign => 'i' }, -{ oid => '2206', array_type_oid => '2211', descr => 'registered type', - typname => 'regtype', typlen => '4', typbyval => 't', typcategory => 'N', - typinput => 'regtypein', typoutput => 'regtypeout', - typreceive => 'regtyperecv', typsend => 'regtypesend', typalign => 'i' }, -{ oid => '4096', array_type_oid => '4097', descr => 'registered role', - typname => 'regrole', typlen => '4', typbyval => 't', typcategory => 'N', - typinput => 'regrolein', typoutput => 'regroleout', - typreceive => 'regrolerecv', typsend => 'regrolesend', typalign => 'i' }, -{ oid => '4089', array_type_oid => '4090', descr => 'registered namespace', - typname => 'regnamespace', typlen => '4', typbyval => 't', typcategory => 'N', - typinput => 'regnamespacein', typoutput => 'regnamespaceout', - typreceive => 'regnamespacerecv', typsend => 'regnamespacesend', - typalign => 'i' }, - -# uuid -{ oid => '2950', array_type_oid => '2951', descr => 'UUID datatype', - typname => 'uuid', typlen => '16', typbyval => 'f', typcategory => 'U', - typinput => 'uuid_in', typoutput => 'uuid_out', typreceive => 'uuid_recv', - typsend => 'uuid_send', typalign => 'c' }, - -# pg_lsn -{ oid => '3220', array_type_oid => '3221', descr => 'PostgreSQL LSN datatype', - typname => 'pg_lsn', typlen => '8', typbyval => 'FLOAT8PASSBYVAL', - typcategory => 'U', typinput => 'pg_lsn_in', typoutput => 'pg_lsn_out', - typreceive => 'pg_lsn_recv', typsend => 'pg_lsn_send', typalign => 'd' }, - -# text search -{ oid => '3614', array_type_oid => '3643', - descr => 'text representation for text search', - typname => 'tsvector', typlen => '-1', typbyval => 'f', typcategory => 'U', - typinput => 'tsvectorin', typoutput => 'tsvectorout', - typreceive => 'tsvectorrecv', typsend => 'tsvectorsend', - typanalyze => 'ts_typanalyze', typalign => 'i', typstorage => 'x' }, -{ oid => '3642', array_type_oid => '3644', - descr => 'GiST index internal text representation for text search', - typname => 'gtsvector', typlen => '-1', typbyval => 'f', typcategory => 'U', - typinput => 'gtsvectorin', typoutput => 'gtsvectorout', typreceive => '-', - typsend => '-', typalign => 'i' }, -{ oid => '3615', array_type_oid => '3645', - descr => 'query representation for text search', - typname => 'tsquery', typlen => '-1', typbyval => 'f', typcategory => 'U', - typinput => 'tsqueryin', typoutput => 'tsqueryout', - typreceive => 'tsqueryrecv', typsend => 'tsquerysend', typalign => 'i' }, -{ oid => '3734', array_type_oid => '3735', - descr => 'registered text search configuration', - typname => 'regconfig', typlen => '4', typbyval => 't', typcategory => 'N', - typinput => 'regconfigin', typoutput => 'regconfigout', - typreceive => 'regconfigrecv', typsend => 'regconfigsend', typalign => 'i' }, -{ oid => '3769', array_type_oid => '3770', - descr => 'registered text search dictionary', - typname => 'regdictionary', typlen => '4', typbyval => 't', - typcategory => 'N', typinput => 'regdictionaryin', - typoutput => 'regdictionaryout', typreceive => 'regdictionaryrecv', - typsend => 'regdictionarysend', typalign => 'i' }, - -# jsonb -{ oid => '3802', array_type_oid => '3807', descr => 'Binary JSON', - typname => 'jsonb', typlen => '-1', typbyval => 'f', typcategory => 'U', - typsubscript => 'jsonb_subscript_handler', typinput => 'jsonb_in', - typoutput => 'jsonb_out', typreceive => 'jsonb_recv', typsend => 'jsonb_send', - typalign => 'i', typstorage => 'x' }, -{ oid => '4072', array_type_oid => '4073', descr => 'JSON path', - typname => 'jsonpath', typlen => '-1', typbyval => 'f', typcategory => 'U', - typinput => 'jsonpath_in', typoutput => 'jsonpath_out', - typreceive => 'jsonpath_recv', typsend => 'jsonpath_send', typalign => 'i', - typstorage => 'x' }, - -{ oid => '2970', array_type_oid => '2949', descr => 'txid snapshot', - typname => 'txid_snapshot', typlen => '-1', typbyval => 'f', - typcategory => 'U', typinput => 'txid_snapshot_in', - typoutput => 'txid_snapshot_out', typreceive => 'txid_snapshot_recv', - typsend => 'txid_snapshot_send', typalign => 'd', typstorage => 'x' }, -{ oid => '5038', array_type_oid => '5039', descr => 'snapshot', - typname => 'pg_snapshot', typlen => '-1', typbyval => 'f', typcategory => 'U', - typinput => 'pg_snapshot_in', typoutput => 'pg_snapshot_out', - typreceive => 'pg_snapshot_recv', typsend => 'pg_snapshot_send', - typalign => 'd', typstorage => 'x' }, - -# range types -{ oid => '3904', array_type_oid => '3905', descr => 'range of integers', - typname => 'int4range', typlen => '-1', typbyval => 'f', typtype => 'r', - typcategory => 'R', typinput => 'range_in', typoutput => 'range_out', - typreceive => 'range_recv', typsend => 'range_send', - typanalyze => 'range_typanalyze', typalign => 'i', typstorage => 'x' }, -{ oid => '3906', array_type_oid => '3907', descr => 'range of numerics', - typname => 'numrange', typlen => '-1', typbyval => 'f', typtype => 'r', - typcategory => 'R', typinput => 'range_in', typoutput => 'range_out', - typreceive => 'range_recv', typsend => 'range_send', - typanalyze => 'range_typanalyze', typalign => 'i', typstorage => 'x' }, -{ oid => '3908', array_type_oid => '3909', - descr => 'range of timestamps without time zone', - typname => 'tsrange', typlen => '-1', typbyval => 'f', typtype => 'r', - typcategory => 'R', typinput => 'range_in', typoutput => 'range_out', - typreceive => 'range_recv', typsend => 'range_send', - typanalyze => 'range_typanalyze', typalign => 'd', typstorage => 'x' }, -{ oid => '3910', array_type_oid => '3911', - descr => 'range of timestamps with time zone', - typname => 'tstzrange', typlen => '-1', typbyval => 'f', typtype => 'r', - typcategory => 'R', typinput => 'range_in', typoutput => 'range_out', - typreceive => 'range_recv', typsend => 'range_send', - typanalyze => 'range_typanalyze', typalign => 'd', typstorage => 'x' }, -{ oid => '3912', array_type_oid => '3913', descr => 'range of dates', - typname => 'daterange', typlen => '-1', typbyval => 'f', typtype => 'r', - typcategory => 'R', typinput => 'range_in', typoutput => 'range_out', - typreceive => 'range_recv', typsend => 'range_send', - typanalyze => 'range_typanalyze', typalign => 'i', typstorage => 'x' }, -{ oid => '3926', array_type_oid => '3927', descr => 'range of bigints', - typname => 'int8range', typlen => '-1', typbyval => 'f', typtype => 'r', - typcategory => 'R', typinput => 'range_in', typoutput => 'range_out', - typreceive => 'range_recv', typsend => 'range_send', - typanalyze => 'range_typanalyze', typalign => 'd', typstorage => 'x' }, - -# multirange types -{ oid => '4451', array_type_oid => '6150', descr => 'multirange of integers', - typname => 'int4multirange', typlen => '-1', typbyval => 'f', typtype => 'm', - typcategory => 'R', typinput => 'multirange_in', - typoutput => 'multirange_out', typreceive => 'multirange_recv', - typsend => 'multirange_send', typanalyze => 'multirange_typanalyze', - typalign => 'i', typstorage => 'x' }, -{ oid => '4532', array_type_oid => '6151', descr => 'multirange of numerics', - typname => 'nummultirange', typlen => '-1', typbyval => 'f', typtype => 'm', - typcategory => 'R', typinput => 'multirange_in', - typoutput => 'multirange_out', typreceive => 'multirange_recv', - typsend => 'multirange_send', typanalyze => 'multirange_typanalyze', - typalign => 'i', typstorage => 'x' }, -{ oid => '4533', array_type_oid => '6152', - descr => 'multirange of timestamps without time zone', - typname => 'tsmultirange', typlen => '-1', typbyval => 'f', typtype => 'm', - typcategory => 'R', typinput => 'multirange_in', - typoutput => 'multirange_out', typreceive => 'multirange_recv', - typsend => 'multirange_send', typanalyze => 'multirange_typanalyze', - typalign => 'd', typstorage => 'x' }, -{ oid => '4534', array_type_oid => '6153', - descr => 'multirange of timestamps with time zone', - typname => 'tstzmultirange', typlen => '-1', typbyval => 'f', typtype => 'm', - typcategory => 'R', typinput => 'multirange_in', - typoutput => 'multirange_out', typreceive => 'multirange_recv', - typsend => 'multirange_send', typanalyze => 'multirange_typanalyze', - typalign => 'd', typstorage => 'x' }, -{ oid => '4535', array_type_oid => '6155', descr => 'multirange of dates', - typname => 'datemultirange', typlen => '-1', typbyval => 'f', typtype => 'm', - typcategory => 'R', typinput => 'multirange_in', - typoutput => 'multirange_out', typreceive => 'multirange_recv', - typsend => 'multirange_send', typanalyze => 'multirange_typanalyze', - typalign => 'i', typstorage => 'x' }, -{ oid => '4536', array_type_oid => '6157', descr => 'multirange of bigints', - typname => 'int8multirange', typlen => '-1', typbyval => 'f', typtype => 'm', - typcategory => 'R', typinput => 'multirange_in', - typoutput => 'multirange_out', typreceive => 'multirange_recv', - typsend => 'multirange_send', typanalyze => 'multirange_typanalyze', - typalign => 'd', typstorage => 'x' }, - -# pseudo-types -# types with typtype='p' represent various special cases in the type system. -# These cannot be used to define table columns, but are valid as function -# argument and result types (if supported by the function's implementation -# language). -# Note: cstring is a borderline case; it is still considered a pseudo-type, -# but there is now support for it in records and arrays. Perhaps we should -# just treat it as a regular base type? - -{ oid => '2249', descr => 'pseudo-type representing any composite type', - typname => 'record', typlen => '-1', typbyval => 'f', typtype => 'p', - typcategory => 'P', typarray => '_record', typinput => 'record_in', - typoutput => 'record_out', typreceive => 'record_recv', - typsend => 'record_send', typalign => 'd', typstorage => 'x' }, -# Arrays of records have typcategory P, so they can't be autogenerated. -{ oid => '2287', - typname => '_record', typlen => '-1', typbyval => 'f', typtype => 'p', - typcategory => 'P', typsubscript => 'array_subscript_handler', - typelem => 'record', typinput => 'array_in', typoutput => 'array_out', - typreceive => 'array_recv', typsend => 'array_send', - typanalyze => 'array_typanalyze', typalign => 'd', typstorage => 'x' }, -{ oid => '2275', array_type_oid => '1263', descr => 'C-style string', - typname => 'cstring', typlen => '-2', typbyval => 'f', typtype => 'p', - typcategory => 'P', typinput => 'cstring_in', typoutput => 'cstring_out', - typreceive => 'cstring_recv', typsend => 'cstring_send', typalign => 'c' }, -{ oid => '2276', descr => 'pseudo-type representing any type', - typname => 'any', typlen => '4', typbyval => 't', typtype => 'p', - typcategory => 'P', typinput => 'any_in', typoutput => 'any_out', - typreceive => '-', typsend => '-', typalign => 'i' }, -{ oid => '2277', descr => 'pseudo-type representing a polymorphic array type', - typname => 'anyarray', typlen => '-1', typbyval => 'f', typtype => 'p', - typcategory => 'P', typinput => 'anyarray_in', typoutput => 'anyarray_out', - typreceive => 'anyarray_recv', typsend => 'anyarray_send', typalign => 'd', - typstorage => 'x' }, -{ oid => '2278', - descr => 'pseudo-type for the result of a function with no real result', - typname => 'void', typlen => '4', typbyval => 't', typtype => 'p', - typcategory => 'P', typinput => 'void_in', typoutput => 'void_out', - typreceive => 'void_recv', typsend => 'void_send', typalign => 'i' }, -{ oid => '2279', descr => 'pseudo-type for the result of a trigger function', - typname => 'trigger', typlen => '4', typbyval => 't', typtype => 'p', - typcategory => 'P', typinput => 'trigger_in', typoutput => 'trigger_out', - typreceive => '-', typsend => '-', typalign => 'i' }, -{ oid => '3838', - descr => 'pseudo-type for the result of an event trigger function', - typname => 'event_trigger', typlen => '4', typbyval => 't', typtype => 'p', - typcategory => 'P', typinput => 'event_trigger_in', - typoutput => 'event_trigger_out', typreceive => '-', typsend => '-', - typalign => 'i' }, -{ oid => '2280', - descr => 'pseudo-type for the result of a language handler function', - typname => 'language_handler', typlen => '4', typbyval => 't', typtype => 'p', - typcategory => 'P', typinput => 'language_handler_in', - typoutput => 'language_handler_out', typreceive => '-', typsend => '-', - typalign => 'i' }, -{ oid => '2281', - descr => 'pseudo-type representing an internal data structure', - typname => 'internal', typlen => 'SIZEOF_POINTER', typbyval => 't', - typtype => 'p', typcategory => 'P', typinput => 'internal_in', - typoutput => 'internal_out', typreceive => '-', typsend => '-', - typalign => 'ALIGNOF_POINTER' }, -{ oid => '2283', descr => 'pseudo-type representing a polymorphic base type', - typname => 'anyelement', typlen => '4', typbyval => 't', typtype => 'p', - typcategory => 'P', typinput => 'anyelement_in', - typoutput => 'anyelement_out', typreceive => '-', typsend => '-', - typalign => 'i' }, -{ oid => '2776', - descr => 'pseudo-type representing a polymorphic base type that is not an array', - typname => 'anynonarray', typlen => '4', typbyval => 't', typtype => 'p', - typcategory => 'P', typinput => 'anynonarray_in', - typoutput => 'anynonarray_out', typreceive => '-', typsend => '-', - typalign => 'i' }, -{ oid => '3500', - descr => 'pseudo-type representing a polymorphic base type that is an enum', - typname => 'anyenum', typlen => '4', typbyval => 't', typtype => 'p', - typcategory => 'P', typinput => 'anyenum_in', typoutput => 'anyenum_out', - typreceive => '-', typsend => '-', typalign => 'i' }, -{ oid => '3115', - descr => 'pseudo-type for the result of an FDW handler function', - typname => 'fdw_handler', typlen => '4', typbyval => 't', typtype => 'p', - typcategory => 'P', typinput => 'fdw_handler_in', - typoutput => 'fdw_handler_out', typreceive => '-', typsend => '-', - typalign => 'i' }, -{ oid => '325', - descr => 'pseudo-type for the result of an index AM handler function', - typname => 'index_am_handler', typlen => '4', typbyval => 't', typtype => 'p', - typcategory => 'P', typinput => 'index_am_handler_in', - typoutput => 'index_am_handler_out', typreceive => '-', typsend => '-', - typalign => 'i' }, -{ oid => '3310', - descr => 'pseudo-type for the result of a tablesample method function', - typname => 'tsm_handler', typlen => '4', typbyval => 't', typtype => 'p', - typcategory => 'P', typinput => 'tsm_handler_in', - typoutput => 'tsm_handler_out', typreceive => '-', typsend => '-', - typalign => 'i' }, -{ oid => '269', - typname => 'table_am_handler', typlen => '4', typbyval => 't', typtype => 'p', - typcategory => 'P', typinput => 'table_am_handler_in', - typoutput => 'table_am_handler_out', typreceive => '-', typsend => '-', - typalign => 'i' }, -{ oid => '3831', - descr => 'pseudo-type representing a range over a polymorphic base type', - typname => 'anyrange', typlen => '-1', typbyval => 'f', typtype => 'p', - typcategory => 'P', typinput => 'anyrange_in', typoutput => 'anyrange_out', - typreceive => '-', typsend => '-', typalign => 'd', typstorage => 'x' }, -{ oid => '5077', - descr => 'pseudo-type representing a polymorphic common type', - typname => 'anycompatible', typlen => '4', typbyval => 't', typtype => 'p', - typcategory => 'P', typinput => 'anycompatible_in', - typoutput => 'anycompatible_out', typreceive => '-', typsend => '-', - typalign => 'i' }, -{ oid => '5078', - descr => 'pseudo-type representing an array of polymorphic common type elements', - typname => 'anycompatiblearray', typlen => '-1', typbyval => 'f', - typtype => 'p', typcategory => 'P', typinput => 'anycompatiblearray_in', - typoutput => 'anycompatiblearray_out', - typreceive => 'anycompatiblearray_recv', typsend => 'anycompatiblearray_send', - typalign => 'd', typstorage => 'x' }, -{ oid => '5079', - descr => 'pseudo-type representing a polymorphic common type that is not an array', - typname => 'anycompatiblenonarray', typlen => '4', typbyval => 't', - typtype => 'p', typcategory => 'P', typinput => 'anycompatiblenonarray_in', - typoutput => 'anycompatiblenonarray_out', typreceive => '-', typsend => '-', - typalign => 'i' }, -{ oid => '5080', - descr => 'pseudo-type representing a range over a polymorphic common type', - typname => 'anycompatiblerange', typlen => '-1', typbyval => 'f', - typtype => 'p', typcategory => 'P', typinput => 'anycompatiblerange_in', - typoutput => 'anycompatiblerange_out', typreceive => '-', typsend => '-', - typalign => 'd', typstorage => 'x' }, -{ oid => '4537', - descr => 'pseudo-type representing a polymorphic base type that is a multirange', - typname => 'anymultirange', typlen => '-1', typbyval => 'f', typtype => 'p', - typcategory => 'P', typinput => 'anymultirange_in', - typoutput => 'anymultirange_out', typreceive => '-', typsend => '-', - typalign => 'd', typstorage => 'x' }, -{ oid => '4538', - descr => 'pseudo-type representing a multirange over a polymorphic common type', - typname => 'anycompatiblemultirange', typlen => '-1', typbyval => 'f', - typtype => 'p', typcategory => 'P', typinput => 'anycompatiblemultirange_in', - typoutput => 'anycompatiblemultirange_out', typreceive => '-', typsend => '-', - typalign => 'd', typstorage => 'x' }, -{ oid => '4600', descr => 'BRIN bloom summary', - typname => 'pg_brin_bloom_summary', typlen => '-1', typbyval => 'f', - typcategory => 'S', typinput => 'brin_bloom_summary_in', - typoutput => 'brin_bloom_summary_out', - typreceive => 'brin_bloom_summary_recv', typsend => 'brin_bloom_summary_send', - typalign => 'i', typstorage => 'x', typcollation => 'default' }, -{ oid => '4601', descr => 'BRIN minmax-multi summary', - typname => 'pg_brin_minmax_multi_summary', typlen => '-1', typbyval => 'f', - typcategory => 'S', typinput => 'brin_minmax_multi_summary_in', - typoutput => 'brin_minmax_multi_summary_out', - typreceive => 'brin_minmax_multi_summary_recv', - typsend => 'brin_minmax_multi_summary_send', typalign => 'i', - typstorage => 'x', typcollation => 'default' }, -] |