From: Thomas G. Lockhart Date: Sun, 27 Apr 1997 19:26:24 +0000 (+0000) Subject: Update SQL query results for lists of operators and functions. X-Git-Tag: REL6_1~228 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ff5edbd9e67526a3dab456aea0f1d23a726ee1a7;p=postgresql Update SQL query results for lists of operators and functions. Add a little info on count(). --- diff --git a/src/man/built-in.3 b/src/man/built-in.3 index ef950cc897..84e3c80827 100644 --- a/src/man/built-in.3 +++ b/src/man/built-in.3 @@ -1,6 +1,6 @@ .\" This is -*-nroff-*- .\" XXX standard disclaimer belongs here.... -.\" $Header: /cvsroot/pgsql/src/man/Attic/built-in.3,v 1.5 1997/04/23 03:18:27 scrappy Exp $ +.\" $Header: /cvsroot/pgsql/src/man/Attic/built-in.3,v 1.6 1997/04/27 19:26:24 thomas Exp $ .TH BUILT-INS INTRO 04/01/97 PostgreSQL PostgreSQL .SH "DESCRIPTION" This section describes the data types, functions and operators @@ -534,30 +534,25 @@ circle float8 diameter(circle) diameter of circle float8 area(circle) area of circle .fi - -.PP +.SH "BINARY OPERATORS" This list was generated from the Postgres system catalogs with the query: .nf -SELECT - t0.typname AS result, - t1.typname AS left_type, - t2.typname AS right_type, - o.oprname AS operatr, - p.proname AS func_name -FROM - pg_proc p, pg_type t0, - pg_type t1, pg_type t2, - pg_operator o -WHERE - p.prorettype = t0.oid AND - RegprocToOid(o.oprcode) = p.oid AND - p.pronargs = 2 AND - o.oprleft = t1.oid AND - o.oprright = t2.oid -ORDER BY - result, left_type, right_type, operatr; +SELECT t0.typname AS result, + t1.typname AS left_type, + t2.typname AS right_type, + o.oprname AS operatr, + p.proname AS func_name +FROM pg_proc p, pg_type t0, + pg_type t1, pg_type t2, + pg_operator o +WHERE p.prorettype = t0.oid AND + RegprocToOid(o.oprcode) = p.oid AND + p.pronargs = 2 AND + o.oprleft = t1.oid AND + o.oprright = t2.oid +ORDER BY result, left_type, right_type, operatr; .fi These operations are cast in terms of SQL types and so are @@ -565,329 +560,393 @@ These operations are cast in terms of SQL types and so are directly usable as C function prototypes. .nf -result |left_type |right_type|operatr|func_name ----------+----------+----------+-------+--------------- -_aclitem |_aclitem |aclitem |+ |aclinsert -_aclitem |_aclitem |aclitem |- |aclremove -abstime |abstime |reltime |+ |timepl -abstime |abstime |reltime |- |timemi -bool |_abstime |_abstime |= |array_eq -bool |_aclitem |_aclitem |= |array_eq -bool |_aclitem |aclitem |~ |aclcontains -bool |_bool |_bool |= |array_eq -bool |_box |_box |= |array_eq -bool |_bytea |_bytea |= |array_eq -bool |_char |_char |= |array_eq -bool |_char16 |_char16 |= |array_eq -bool |_cid |_cid |= |array_eq -bool |_filename |_filename |= |array_eq -bool |_float4 |_float4 |= |array_eq -bool |_float8 |_float8 |= |array_eq -bool |_int2 |_int2 |= |array_eq -bool |_int28 |_int28 |= |array_eq -bool |_int4 |_int4 |= |array_eq -bool |_lseg |_lseg |= |array_eq -bool |_name |_name |= |array_eq -bool |_oid |_oid |= |array_eq -bool |_oid8 |_oid8 |= |array_eq -bool |_path |_path |= |array_eq -bool |_point |_point |= |array_eq -bool |_polygon |_polygon |= |array_eq -bool |_ref |_ref |= |array_eq -bool |_regproc |_regproc |= |array_eq -bool |_reltime |_reltime |= |array_eq -bool |_stub |_stub |= |array_eq -bool |_text |_text |= |array_eq -bool |_tid |_tid |= |array_eq -bool |_tinterval|_tinterval|= |array_eq -bool |_xid |_xid |= |array_eq -bool |abstime |abstime |< |abstimelt -bool |abstime |abstime |<= |abstimele -bool |abstime |abstime |<> |abstimene -bool |abstime |abstime |= |abstimeeq -bool |abstime |abstime |> |abstimegt -bool |abstime |abstime |>= |abstimege -bool |abstime |tinterval | |ininterval -bool |bool |bool |<> |boolne -bool |bool |bool |= |booleq -bool |box |box |&& |box_overlap -bool |box |box |&< |box_overleft -bool |box |box |&> |box_overright -bool |box |box |< |box_lt -bool |box |box |<< |box_left -bool |box |box |<= |box_le -bool |box |box |= |box_eq -bool |box |box |> |box_gt -bool |box |box |>= |box_ge -bool |box |box |>> |box_right -bool |box |box |@ |box_contained -bool |box |box |~ |box_contain -bool |box |box |~= |box_same -bool |bpchar |bpchar |< |bpcharlt -bool |bpchar |bpchar |<= |bpcharle -bool |bpchar |bpchar |<> |bpcharne -bool |bpchar |bpchar |= |bpchareq -bool |bpchar |bpchar |> |bpchargt -bool |bpchar |bpchar |>= |bpcharge -bool |bpchar |text |!~ |textregexne -bool |bpchar |text |!~* |texticregexne -bool |bpchar |text |!~~ |textnlike -bool |bpchar |text |~ |textregexeq -bool |bpchar |text |~* |texticregexeq -bool |bpchar |text |~~ |textlike -bool |char |char |< |charlt -bool |char |char |<= |charle -bool |char |char |<> |charne -bool |char |char |= |chareq -bool |char |char |> |chargt -bool |char |char |>= |charge -bool |char16 |char16 |< |char16lt -bool |char16 |char16 |<= |char16le -bool |char16 |char16 |<> |char16ne -bool |char16 |char16 |= |char16eq -bool |char16 |char16 |> |char16gt -bool |char16 |char16 |>= |char16ge -bool |char16 |text |!~ |char16regexne +result |left_type |right_type|operatr|func_name +---------+----------+----------+-------+----------------- +_aclitem |_aclitem |aclitem |+ |aclinsert +_aclitem |_aclitem |aclitem |- |aclremove +abstime |abstime |reltime |+ |timepl +abstime |abstime |reltime |- |timemi +bool |_abstime |_abstime |= |array_eq +bool |_aclitem |_aclitem |= |array_eq +bool |_aclitem |aclitem |~ |aclcontains +bool |_bool |_bool |= |array_eq +bool |_box |_box |= |array_eq +bool |_bytea |_bytea |= |array_eq +bool |_char |_char |= |array_eq +bool |_char16 |_char16 |= |array_eq +bool |_cid |_cid |= |array_eq +bool |_filename |_filename |= |array_eq +bool |_float4 |_float4 |= |array_eq +bool |_float8 |_float8 |= |array_eq +bool |_int2 |_int2 |= |array_eq +bool |_int28 |_int28 |= |array_eq +bool |_int4 |_int4 |= |array_eq +bool |_lseg |_lseg |= |array_eq +bool |_name |_name |= |array_eq +bool |_oid |_oid |= |array_eq +bool |_oid8 |_oid8 |= |array_eq +bool |_path |_path |= |array_eq +bool |_point |_point |= |array_eq +bool |_polygon |_polygon |= |array_eq +bool |_ref |_ref |= |array_eq +bool |_regproc |_regproc |= |array_eq +bool |_reltime |_reltime |= |array_eq +bool |_stub |_stub |= |array_eq +bool |_text |_text |= |array_eq +bool |_tid |_tid |= |array_eq +bool |_tinterval|_tinterval|= |array_eq +bool |_xid |_xid |= |array_eq +bool |abstime |abstime |< |abstimelt +bool |abstime |abstime |<= |abstimele +bool |abstime |abstime |<> |abstimene +bool |abstime |abstime |= |abstimeeq +bool |abstime |abstime |> |abstimegt +bool |abstime |abstime |>= |abstimege +bool |abstime |tinterval | |ininterval +bool |bool |bool |< |boollt +bool |bool |bool |<> |boolne +bool |bool |bool |= |booleq +bool |bool |bool |> |boolgt +bool |box |box |&& |box_overlap +bool |box |box |&< |box_overleft +bool |box |box |&> |box_overright +bool |box |box |< |box_lt +bool |box |box |<< |box_left +bool |box |box |<= |box_le +bool |box |box |= |box_eq +bool |box |box |> |box_gt +bool |box |box |>= |box_ge +bool |box |box |>> |box_right +bool |box |box |@ |box_contained +bool |box |box |~ |box_contain +bool |box |box |~= |box_same +bool |bpchar |bpchar |< |bpcharlt +bool |bpchar |bpchar |<= |bpcharle +bool |bpchar |bpchar |<> |bpcharne +bool |bpchar |bpchar |= |bpchareq +bool |bpchar |bpchar |> |bpchargt +bool |bpchar |bpchar |>= |bpcharge +bool |bpchar |text |!~ |textregexne +bool |bpchar |text |!~* |texticregexne +bool |bpchar |text |!~~ |textnlike +bool |bpchar |text |~ |textregexeq +bool |bpchar |text |~* |texticregexeq +bool |bpchar |text |~~ |textlike +bool |char |char |< |charlt +bool |char |char |<= |charle +bool |char |char |<> |charne +bool |char |char |= |chareq +bool |char |char |> |chargt +bool |char |char |>= |charge +bool |char16 |char16 |< |char16lt +bool |char16 |char16 |<= |char16le +bool |char16 |char16 |<> |char16ne +bool |char16 |char16 |= |char16eq +bool |char16 |char16 |> |char16gt +bool |char16 |char16 |>= |char16ge +bool |char16 |text |!~ |char16regexne bool |char16 |text |!~* |char16icregexne -bool |char16 |text |!~~ |char16nlike -bool |char16 |text |!~~ |char16nlike -bool |char16 |text |~ |char16regexeq +bool |char16 |text |!~~ |char16nlike +bool |char16 |text |!~~ |char16nlike +bool |char16 |text |~ |char16regexeq bool |char16 |text |~* |char16icregexeq -bool |char16 |text |~~ |char16like -bool |char16 |text |~~ |char16like -bool |char2 |char2 |< |char2lt -bool |char2 |char2 |<= |char2le -bool |char2 |char2 |<> |char2ne -bool |char2 |char2 |= |char2eq -bool |char2 |char2 |> |char2gt -bool |char2 |char2 |>= |char2ge -bool |char2 |text |!~ |char2regexne -bool |char2 |text |!~* |char2icregexne -bool |char2 |text |!~~ |char2nlike -bool |char2 |text |~ |char2regexeq -bool |char2 |text |~* |char2icregexeq -bool |char2 |text |~~ |char2like -bool |char4 |char4 |< |char4lt -bool |char4 |char4 |<= |char4le -bool |char4 |char4 |<> |char4ne -bool |char4 |char4 |= |char4eq -bool |char4 |char4 |> |char4gt -bool |char4 |char4 |>= |char4ge -bool |char4 |text |!~ |char4regexne -bool |char4 |text |!~* |char4icregexne -bool |char4 |text |!~~ |char4nlike -bool |char4 |text |~ |char4regexeq -bool |char4 |text |~* |char4icregexeq -bool |char4 |text |~~ |char4like -bool |char8 |char8 |< |char8lt -bool |char8 |char8 |<= |char8le -bool |char8 |char8 |<> |char8ne -bool |char8 |char8 |= |char8eq -bool |char8 |char8 |> |char8gt -bool |char8 |char8 |>= |char8ge -bool |char8 |text |!~ |char8regexne -bool |char8 |text |!~* |char8icregexne -bool |char8 |text |!~~ |char8nlike -bool |char8 |text |~ |char8regexeq -bool |char8 |text |~* |char8icregexeq -bool |char8 |text |~~ |char8like -bool |date |date |< |date_lt -bool |date |date |<= |date_le -bool |date |date |<> |date_ne -bool |date |date |= |date_eq -bool |date |date |> |date_gt -bool |date |date |>= |date_ge -bool |float4 |float4 |< |float4lt -bool |float4 |float4 |<= |float4le -bool |float4 |float4 |<> |float4ne -bool |float4 |float4 |= |float4eq -bool |float4 |float4 |> |float4gt -bool |float4 |float4 |>= |float4ge -bool |float4 |float8 |< |float48lt -bool |float4 |float8 |<= |float48le -bool |float4 |float8 |<> |float48ne -bool |float4 |float8 |= |float48eq -bool |float4 |float8 |> |float48gt -bool |float4 |float8 |>= |float48ge -bool |float8 |float4 |< |float84lt -bool |float8 |float4 |<= |float84le -bool |float8 |float4 |<> |float84ne -bool |float8 |float4 |= |float84eq -bool |float8 |float4 |> |float84gt -bool |float8 |float4 |>= |float84ge -bool |float8 |float8 |< |float8lt -bool |float8 |float8 |<= |float8le -bool |float8 |float8 |<> |float8ne -bool |float8 |float8 |= |float8eq -bool |float8 |float8 |> |float8gt -bool |float8 |float8 |>= |float8ge -bool |int2 |int2 |< |int2lt -bool |int2 |int2 |<= |int2le -bool |int2 |int2 |<> |int2ne -bool |int2 |int2 |= |int2eq -bool |int2 |int2 |> |int2gt -bool |int2 |int2 |>= |int2ge -bool |int4 |int4 |< |int4lt -bool |int4 |int4 |<= |int4le -bool |int4 |int4 |<> |int4ne -bool |int4 |int4 |= |int4eq -bool |int4 |int4 |> |int4gt -bool |int4 |int4 |>= |int4ge -bool |int4 |name |!!= |int4notin -bool |int4 |oid |= |int4eqoid -bool |name |name |< |namelt -bool |name |name |<= |namele -bool |name |name |<> |namene -bool |name |name |= |nameeq -bool |name |name |> |namegt -bool |name |name |>= |namege -bool |name |text |!~ |nameregexne -bool |name |text |!~* |nameicregexne -bool |name |text |!~~ |namenlike -bool |name |text |~ |nameregexeq -bool |name |text |~* |nameicregexeq -bool |name |text |~~ |namelike -bool |oid |int4 |= |oideqint4 -bool |oid |name |!!= |oidnotin -bool |oid |oid |< |int4lt -bool |oid |oid |<= |int4le -bool |oid |oid |<> |oidne -bool |oid |oid |= |oideq -bool |oid |oid |> |int4gt -bool |oid |oid |>= |int4ge -bool |oidint2 |oidint2 |< |oidint2lt -bool |oidint2 |oidint2 |<= |oidint2le -bool |oidint2 |oidint2 |<> |oidint2ne -bool |oidint2 |oidint2 |= |oidint2eq -bool |oidint2 |oidint2 |> |oidint2gt -bool |oidint2 |oidint2 |>= |oidint2ge -bool |oidint4 |oidint4 |< |oidint4lt -bool |oidint4 |oidint4 |<= |oidint4le -bool |oidint4 |oidint4 |<> |oidint4ne -bool |oidint4 |oidint4 |= |oidint4eq -bool |oidint4 |oidint4 |> |oidint4gt -bool |oidint4 |oidint4 |>= |oidint4ge -bool |oidname |oidname |< |oidnamelt -bool |oidname |oidname |<= |oidnamele -bool |oidname |oidname |<> |oidnamene -bool |oidname |oidname |= |oidnameeq -bool |oidname |oidname |> |oidnamegt -bool |oidname |oidname |>= |oidnamege -bool |point |box |===> |on_pb -bool |point |path |===` |on_ppath -bool |point |point |!< |point_left -bool |point |point |!> |point_right -bool |point |point |!^ |point_above -bool |point |point |!\| |point_below -bool |point |point |=\|= |point_eq -bool |polygon |polygon |&& |poly_overlap -bool |polygon |polygon |&< |poly_overleft -bool |polygon |polygon |&> |poly_overright -bool |polygon |polygon |<< |poly_left -bool |polygon |polygon |>> |poly_right -bool |polygon |polygon |@ |poly_contained -bool |polygon |polygon |~ |poly_contain -bool |polygon |polygon |~= |poly_same -bool |reltime |reltime |< |reltimelt -bool |reltime |reltime |<= |reltimele -bool |reltime |reltime |<> |reltimene -bool |reltime |reltime |= |reltimeeq -bool |reltime |reltime |> |reltimegt -bool |reltime |reltime |>= |reltimege -bool |text |text |!~ |textregexne -bool |text |text |!~* |texticregexne -bool |text |text |!~~ |textnlike -bool |text |text |< |text_lt -bool |text |text |<= |text_le -bool |text |text |<> |textne -bool |text |text |= |texteq -bool |text |text |> |text_gt -bool |text |text |>= |text_ge -bool |text |text |~ |textregexeq -bool |text |text |~* |texticregexeq -bool |text |text |~~ |textlike -bool |time |time |< |time_lt -bool |time |time |<= |time_le -bool |time |time |<> |time_ne -bool |time |time |= |time_eq -bool |time |time |> |time_gt -bool |time |time |>= |time_ge -bool |tinterval |reltime |#< |intervallenlt -bool |tinterval |reltime |#<= |intervallenle -bool |tinterval |reltime |#<> |intervallenne -bool |tinterval |reltime |#= |intervalleneq -bool |tinterval |reltime |#> |intervallengt -bool |tinterval |reltime |#>= |intervallenge -bool |tinterval |tinterval |&& |intervalov -bool |tinterval |tinterval |<< |intervalct -bool |tinterval |tinterval |= |intervaleq -bool |varchar |text |!~ |textregexne -bool |varchar |text |!~* |texticregexne -bool |varchar |text |!~~ |textnlike -bool |varchar |text |~ |textregexeq -bool |varchar |text |~* |texticregexeq -bool |varchar |text |~~ |textlike -bool |varchar |varchar |< |varcharlt -bool |varchar |varchar |<= |varcharle -bool |varchar |varchar |<> |varcharne -bool |varchar |varchar |= |varchareq -bool |varchar |varchar |> |varchargt -bool |varchar |varchar |>= |varcharge -char |char |char |* |charmul -char |char |char |+ |charpl -char |char |char |- |charmi -char |char |char |/ |chardiv -float4 |float4 |float4 |* |float4mul -float4 |float4 |float4 |+ |float4pl -float4 |float4 |float4 |- |float4mi -float4 |float4 |float4 |/ |float4div -float8 |float4 |float8 |* |float48mul -float8 |float4 |float8 |+ |float48pl -float8 |float4 |float8 |- |float48mi -float8 |float4 |float8 |/ |float48div -float8 |float8 |float4 |* |float84mul -float8 |float8 |float4 |+ |float84pl -float8 |float8 |float4 |- |float84mi -float8 |float8 |float4 |/ |float84div -float8 |float8 |float8 |* |float8mul -float8 |float8 |float8 |+ |float8pl -float8 |float8 |float8 |- |float8mi -float8 |float8 |float8 |/ |float8div -float8 |float8 |float8 |^ |dpow -int2 |int2 |int2 |% |int2mod -int2 |int2 |int2 |* |int2mul -int2 |int2 |int2 |+ |int2pl -int2 |int2 |int2 |- |int2mi -int2 |int2 |int2 |/ |int2div -int4 |int2 |int4 |% |int24mod -int4 |int2 |int4 |* |int24mul -int4 |int2 |int4 |+ |int24pl -int4 |int2 |int4 |- |int24mi -int4 |int2 |int4 |/ |int24div -int4 |int2 |int4 |< |int24lt -int4 |int2 |int4 |<= |int24le -int4 |int2 |int4 |<> |int24ne -int4 |int2 |int4 |= |int24eq -int4 |int2 |int4 |> |int24gt -int4 |int2 |int4 |>= |int24ge -int4 |int4 |int2 |% |int42mod -int4 |int4 |int2 |* |int42mul -int4 |int4 |int2 |+ |int42pl -int4 |int4 |int2 |- |int42mi -int4 |int4 |int2 |/ |int42div -int4 |int4 |int2 |< |int42lt -int4 |int4 |int2 |<= |int42le -int4 |int4 |int2 |<> |int42ne -int4 |int4 |int2 |= |int42eq -int4 |int4 |int2 |> |int42gt -int4 |int4 |int2 |>= |int42ge -int4 |int4 |int4 |% |int4mod -int4 |int4 |int4 |* |int4mul -int4 |int4 |int4 |+ |int4pl -int4 |int4 |int4 |- |int4mi -int4 |int4 |int4 |/ |int4div -int4 |point |point |<===> |pointdist -tinterval|abstime |abstime |<#> |mktinterval +bool |char16 |text |~~ |char16like +bool |char16 |text |~~ |char16like +bool |char2 |char2 |< |char2lt +bool |char2 |char2 |<= |char2le +bool |char2 |char2 |<> |char2ne +bool |char2 |char2 |= |char2eq +bool |char2 |char2 |> |char2gt +bool |char2 |char2 |>= |char2ge +bool |char2 |text |!~ |char2regexne +bool |char2 |text |!~* |char2icregexne +bool |char2 |text |!~~ |char2nlike +bool |char2 |text |~ |char2regexeq +bool |char2 |text |~* |char2icregexeq +bool |char2 |text |~~ |char2like +bool |char4 |char4 |< |char4lt +bool |char4 |char4 |<= |char4le +bool |char4 |char4 |<> |char4ne +bool |char4 |char4 |= |char4eq +bool |char4 |char4 |> |char4gt +bool |char4 |char4 |>= |char4ge +bool |char4 |text |!~ |char4regexne +bool |char4 |text |!~* |char4icregexne +bool |char4 |text |!~~ |char4nlike +bool |char4 |text |~ |char4regexeq +bool |char4 |text |~* |char4icregexeq +bool |char4 |text |~~ |char4like +bool |char8 |char8 |< |char8lt +bool |char8 |char8 |<= |char8le +bool |char8 |char8 |<> |char8ne +bool |char8 |char8 |= |char8eq +bool |char8 |char8 |> |char8gt +bool |char8 |char8 |>= |char8ge +bool |char8 |text |!~ |char8regexne +bool |char8 |text |!~* |char8icregexne +bool |char8 |text |!~~ |char8nlike +bool |char8 |text |~ |char8regexeq +bool |char8 |text |~* |char8icregexeq +bool |char8 |text |~~ |char8like +bool |circle |circle |!^ |circle_above +bool |circle |circle |!\| |circle_below +bool |circle |circle |&& |circle_overlap +bool |circle |circle |&< |circle_overleft +bool |circle |circle |&> |circle_overright +bool |circle |circle |< |circle_eq +bool |circle |circle |<< |circle_left +bool |circle |circle |<= |circle_eq +bool |circle |circle |<> |circle_ne +bool |circle |circle |= |circle_eq +bool |circle |circle |> |circle_eq +bool |circle |circle |>= |circle_eq +bool |circle |circle |>> |circle_right +bool |circle |circle |@ |circle_contained +bool |circle |circle |~ |circle_contain +bool |circle |circle |~= |circle_same +bool |date |date |< |date_lt +bool |date |date |<= |date_le +bool |date |date |<> |date_ne +bool |date |date |= |date_eq +bool |date |date |> |date_gt +bool |date |date |>= |date_ge +bool |datetime |datetime |< |datetime_lt +bool |datetime |datetime |<= |datetime_le +bool |datetime |datetime |<> |datetime_ne +bool |datetime |datetime |= |datetime_eq +bool |datetime |datetime |> |datetime_gt +bool |datetime |datetime |>= |datetime_ge +bool |float4 |float4 |< |float4lt +bool |float4 |float4 |<= |float4le +bool |float4 |float4 |<> |float4ne +bool |float4 |float4 |= |float4eq +bool |float4 |float4 |> |float4gt +bool |float4 |float4 |>= |float4ge +bool |float4 |float8 |< |float48lt +bool |float4 |float8 |<= |float48le +bool |float4 |float8 |<> |float48ne +bool |float4 |float8 |= |float48eq +bool |float4 |float8 |> |float48gt +bool |float4 |float8 |>= |float48ge +bool |float8 |float4 |< |float84lt +bool |float8 |float4 |<= |float84le +bool |float8 |float4 |<> |float84ne +bool |float8 |float4 |= |float84eq +bool |float8 |float4 |> |float84gt +bool |float8 |float4 |>= |float84ge +bool |float8 |float8 |< |float8lt +bool |float8 |float8 |<= |float8le +bool |float8 |float8 |<> |float8ne +bool |float8 |float8 |= |float8eq +bool |float8 |float8 |> |float8gt +bool |float8 |float8 |>= |float8ge +bool |int2 |int2 |< |int2lt +bool |int2 |int2 |<= |int2le +bool |int2 |int2 |<> |int2ne +bool |int2 |int2 |= |int2eq +bool |int2 |int2 |> |int2gt +bool |int2 |int2 |>= |int2ge +bool |int4 |int4 |< |int4lt +bool |int4 |int4 |<= |int4le +bool |int4 |int4 |<> |int4ne +bool |int4 |int4 |= |int4eq +bool |int4 |int4 |> |int4gt +bool |int4 |int4 |>= |int4ge +bool |int4 |name |!!= |int4notin +bool |int4 |oid |= |int4eqoid +bool |money |money |< |cash_lt +bool |money |money |<= |cash_le +bool |money |money |<> |cash_ne +bool |money |money |= |cash_eq +bool |money |money |> |cash_gt +bool |money |money |>= |cash_ge +bool |name |name |< |namelt +bool |name |name |<= |namele +bool |name |name |<> |namene +bool |name |name |= |nameeq +bool |name |name |> |namegt +bool |name |name |>= |namege +bool |name |text |!~ |nameregexne +bool |name |text |!~* |nameicregexne +bool |name |text |!~~ |namenlike +bool |name |text |~ |nameregexeq +bool |name |text |~* |nameicregexeq +bool |name |text |~~ |namelike +bool |oid |int4 |= |oideqint4 +bool |oid |name |!!= |oidnotin +bool |oid |oid |< |int4lt +bool |oid |oid |<= |int4le +bool |oid |oid |<> |oidne +bool |oid |oid |= |oideq +bool |oid |oid |> |int4gt +bool |oid |oid |>= |int4ge +bool |oidint2 |oidint2 |< |oidint2lt +bool |oidint2 |oidint2 |<= |oidint2le +bool |oidint2 |oidint2 |<> |oidint2ne +bool |oidint2 |oidint2 |= |oidint2eq +bool |oidint2 |oidint2 |> |oidint2gt +bool |oidint2 |oidint2 |>= |oidint2ge +bool |oidint4 |oidint4 |< |oidint4lt +bool |oidint4 |oidint4 |<= |oidint4le +bool |oidint4 |oidint4 |<> |oidint4ne +bool |oidint4 |oidint4 |= |oidint4eq +bool |oidint4 |oidint4 |> |oidint4gt +bool |oidint4 |oidint4 |>= |oidint4ge +bool |oidname |oidname |< |oidnamelt +bool |oidname |oidname |<= |oidnamele +bool |oidname |oidname |<> |oidnamene +bool |oidname |oidname |= |oidnameeq +bool |oidname |oidname |> |oidnamegt +bool |oidname |oidname |>= |oidnamege +bool |point |box |===> |on_pb +bool |point |path |===` |on_ppath +bool |point |point |!< |point_left +bool |point |point |!> |point_right +bool |point |point |!^ |point_above +bool |point |point |!\| |point_below +bool |point |point |=\|= |point_eq +bool |polygon |polygon |&& |poly_overlap +bool |polygon |polygon |&< |poly_overleft +bool |polygon |polygon |&> |poly_overright +bool |polygon |polygon |<< |poly_left +bool |polygon |polygon |>> |poly_right +bool |polygon |polygon |@ |poly_contained +bool |polygon |polygon |~ |poly_contain +bool |polygon |polygon |~= |poly_same +bool |reltime |reltime |< |reltimelt +bool |reltime |reltime |<= |reltimele +bool |reltime |reltime |<> |reltimene +bool |reltime |reltime |= |reltimeeq +bool |reltime |reltime |> |reltimegt +bool |reltime |reltime |>= |reltimege +bool |text |text |!~ |textregexne +bool |text |text |!~* |texticregexne +bool |text |text |!~~ |textnlike +bool |text |text |< |text_lt +bool |text |text |<= |text_le +bool |text |text |<> |textne +bool |text |text |= |texteq +bool |text |text |> |text_gt +bool |text |text |>= |text_ge +bool |text |text |~ |textregexeq +bool |text |text |~* |texticregexeq +bool |text |text |~~ |textlike +bool |time |time |< |time_lt +bool |time |time |<= |time_le +bool |time |time |<> |time_ne +bool |time |time |= |time_eq +bool |time |time |> |time_gt +bool |time |time |>= |time_ge +bool |timespan |timespan |< |timespan_lt +bool |timespan |timespan |<= |timespan_le +bool |timespan |timespan |<> |timespan_ne +bool |timespan |timespan |= |timespan_eq +bool |timespan |timespan |> |timespan_gt +bool |timespan |timespan |>= |timespan_ge +bool |timestamp |timestamp |< |timestamplt +bool |timestamp |timestamp |<= |timestample +bool |timestamp |timestamp |<> |timestampne +bool |timestamp |timestamp |= |timestampeq +bool |timestamp |timestamp |> |timestampgt +bool |timestamp |timestamp |>= |timestampge +bool |tinterval |reltime |#< |intervallenlt +bool |tinterval |reltime |#<= |intervallenle +bool |tinterval |reltime |#<> |intervallenne +bool |tinterval |reltime |#= |intervalleneq +bool |tinterval |reltime |#> |intervallengt +bool |tinterval |reltime |#>= |intervallenge +bool |tinterval |tinterval |&& |intervalov +bool |tinterval |tinterval |<< |intervalct +bool |tinterval |tinterval |= |intervaleq +bool |varchar |text |!~ |textregexne +bool |varchar |text |!~* |texticregexne +bool |varchar |text |!~~ |textnlike +bool |varchar |text |~ |textregexeq +bool |varchar |text |~* |texticregexeq +bool |varchar |text |~~ |textlike +bool |varchar |varchar |< |varcharlt +bool |varchar |varchar |<= |varcharle +bool |varchar |varchar |<> |varcharne +bool |varchar |varchar |= |varchareq +bool |varchar |varchar |> |varchargt +bool |varchar |varchar |>= |varcharge +char |char |char |* |charmul +char |char |char |+ |charpl +char |char |char |- |charmi +char |char |char |/ |chardiv +date |date |int4 |+ |date_pli +date |date |int4 |- |date_mii +datetime |datetime |timespan |+ |datetime_add_span +datetime |datetime |timespan |- |datetime_sub_span +float4 |float4 |float4 |* |float4mul +float4 |float4 |float4 |+ |float4pl +float4 |float4 |float4 |- |float4mi +float4 |float4 |float4 |/ |float4div +float8 |box |box |<===> |box_distance +float8 |circle |circle |<===> |circle_distance +float8 |float4 |float8 |* |float48mul +float8 |float4 |float8 |+ |float48pl +float8 |float4 |float8 |- |float48mi +float8 |float4 |float8 |/ |float48div +float8 |float8 |float4 |* |float84mul +float8 |float8 |float4 |+ |float84pl +float8 |float8 |float4 |- |float84mi +float8 |float8 |float4 |/ |float84div +float8 |float8 |float8 |* |float8mul +float8 |float8 |float8 |+ |float8pl +float8 |float8 |float8 |- |float8mi +float8 |float8 |float8 |/ |float8div +float8 |float8 |float8 |^ |dpow +float8 |lseg |box |<===> |dist_sb +float8 |lseg |lseg |<===> |lseg_distance +float8 |path |path |<===> |path_distance +float8 |point |box |<===> |dist_pl +float8 |point |box |<===> |dist_ps +float8 |point |box |<===> |dist_pb +float8 |point |lseg |<===> |dist_ps +float8 |point |path |<===> |dist_ppth +float8 |point |point |<===> |point_distance +int2 |int2 |int2 |% |int2mod +int2 |int2 |int2 |* |int2mul +int2 |int2 |int2 |+ |int2pl +int2 |int2 |int2 |- |int2mi +int2 |int2 |int2 |/ |int2div +int4 |date |date |- |date_mi +int4 |int2 |int4 |% |int24mod +int4 |int2 |int4 |* |int24mul +int4 |int2 |int4 |+ |int24pl +int4 |int2 |int4 |- |int24mi +int4 |int2 |int4 |/ |int24div +int4 |int2 |int4 |< |int24lt +int4 |int2 |int4 |<= |int24le +int4 |int2 |int4 |<> |int24ne +int4 |int2 |int4 |= |int24eq +int4 |int2 |int4 |> |int24gt +int4 |int2 |int4 |>= |int24ge +int4 |int4 |int2 |% |int42mod +int4 |int4 |int2 |* |int42mul +int4 |int4 |int2 |+ |int42pl +int4 |int4 |int2 |- |int42mi +int4 |int4 |int2 |/ |int42div +int4 |int4 |int2 |< |int42lt +int4 |int4 |int2 |<= |int42le +int4 |int4 |int2 |<> |int42ne +int4 |int4 |int2 |= |int42eq +int4 |int4 |int2 |> |int42gt +int4 |int4 |int2 |>= |int42ge +int4 |int4 |int4 |% |int4mod +int4 |int4 |int4 |* |int4mul +int4 |int4 |int4 |+ |int4pl +int4 |int4 |int4 |- |int4mi +int4 |int4 |int4 |/ |int4div +money |money |float8 |* |cash_mul +money |money |float8 |/ |cash_div +money |money |money |+ |cash_pl +money |money |money |- |cash_mi +timespan |datetime |datetime |- |datetime_sub +timespan |timespan |timespan |+ |timespan_add +timespan |timespan |timespan |- |timespan_sub +tinterval|abstime |abstime |<#> |mktinterval .fi @@ -898,31 +957,33 @@ registered in the system catalogs. This list was generated from the Postgres system catalogs with the query: .nf -SELECT o.oprname AS left_unary, - right.typname AS operand, - result.typname AS return_type -FROM pg_operator o, pg_type right, pg_type result -WHERE o.oprkind = 'l' AND -- left unary - o.oprright = right.oid AND - o.oprresult = result.oid +SELECT o.oprname AS left_unary, + right.typname AS operand, + result.typname AS return_type +FROM pg_operator o, pg_type right, pg_type result +WHERE o.oprkind = 'l' AND -- left unary + o.oprright = right.oid AND + o.oprresult = result.oid ORDER BY operand; left_unary|operand |return_type ----------+---------+----------- -@@ |box |point -@ |float4 |float4 -- |float4 |float4 -; |float8 |float8 -: |float8 |float8 -% |float8 |float8 -||/ |float8 |float8 -|/ |float8 |float8 -@ |float8 |float8 -- |float8 |float8 -- |int2 |int2 -- |int4 |int4 -!! |int4 |int4 -| |tinterval|abstime +@@ |box |point +@ |float4 |float4 +- |float4 |float4 +|/ |float8 |float8 +@ |float8 |float8 +; |float8 |float8 +: |float8 |float8 +% |float8 |float8 +||/ |float8 |float8 +- |float8 |float8 +- |int2 |int2 +!! |int4 |int4 +- |int4 |int4 +# |polygon |int4 +- |timespan |timespan +| |tinterval|abstime .fi .in @@ -933,13 +994,13 @@ registered in the system catalogs. This list was generated from the Postgres system catalogs with the query: .nf -SELECT o.oprname AS right_unary, - left.typname AS operand, - result.typname AS return_type -FROM pg_operator o, pg_type left, pg_type result -WHERE o.oprkind = 'r' AND -- right unary - o.oprleft = left.oid AND - o.oprresult = result.oid +SELECT o.oprname AS right_unary, + left.typname AS operand, + result.typname AS return_type +FROM pg_operator o, pg_type left, pg_type result +WHERE o.oprkind = 'r' AND -- right unary + o.oprleft = left.oid AND + o.oprresult = result.oid ORDER BY operand; right_unary|operand|return_type @@ -956,31 +1017,47 @@ registered in the system catalogs. This list was generated from the Postgres system catalogs with the query: .nf -SELECT a.aggname, t.typname -FROM pg_aggregate a, pg_type t -WHERE a.aggbasetype = t.oid +SELECT a.aggname, t.typname +FROM pg_aggregate a, pg_type t +WHERE a.aggbasetype = t.oid ORDER BY aggname, typname; aggname|typname --------+------- -avg |float4 -avg |float8 -avg |int2 -avg |int4 -max |float4 -max |float8 -max |int2 -max |int4 -min |float4 -min |float8 -min |int2 -min |int4 -sum |float4 -sum |float8 -sum |int2 -sum |int4 - -\fBcount\fR is also available. +-------+-------- +avg |float4 +avg |float8 +avg |int2 +avg |int4 +avg |money +max |abstime +max |date +max |datetime +max |float4 +max |float8 +max |int2 +max |int4 +max |money +max |timespan +min |abstime +min |date +min |datetime +min |float4 +min |float8 +min |int2 +min |int4 +min |money +min |timespan +sum |float4 +sum |float8 +sum |int2 +sum |int4 +sum |money + +\fBcount\fR is also available, where +.BR count(*) +returns a count of all rows while +.BR count(column_name) +returns a count of all non-null fields in the specified column. .fi .in @@ -991,10 +1068,10 @@ For examples on specifying literals of built-in types, see .PP Although most of the input and output functions correponding to the base types (e.g., integers and floating point numbers) do some -error-checking, none of them are particularly rigorous about it. More -importantly, almost none of the operators and functions (e.g., +error-checking, some are not particularly rigorous about it. More +importantly, few of the operators and functions (e.g., addition and multiplication) perform any error-checking at all. -Consequently, many of the numeric operations will (for example) +Consequently, many of the numeric operators can (for example) silently underflow or overflow. .PP Some of the input and output functions are not invertible. That is,