From 902a6a0a4bc62d619a5ccd1ef0ff7fb3a5d897f1 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 11 Apr 2002 20:00:18 +0000 Subject: Restructure representation of aggregate functions so that they have pg_proc entries, per pghackers discussion. This fixes aggregates to live in namespaces, and also simplifies/speeds up lookup in parse_func.c. Also, add a 'proimplicit' flag to pg_proc that controls whether a type coercion function may be invoked implicitly, or only explicitly. The current settings of these flags are more permissive than I would like, but we will need to debate and refine the behavior; for now, I avoided breaking regression tests as much as I could. --- src/interfaces/python/tutorial/syscat.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/interfaces/python/tutorial/syscat.py') diff --git a/src/interfaces/python/tutorial/syscat.py b/src/interfaces/python/tutorial/syscat.py index 179f3ef6a3e..d2c6e44657e 100755 --- a/src/interfaces/python/tutorial/syscat.py +++ b/src/interfaces/python/tutorial/syscat.py @@ -101,10 +101,11 @@ def list_lang_func(pgcnx, l): # lists all the aggregate functions and the type to which they can be applied def list_agg_func(pgcnx): - result = pgcnx.query("""SELECT a.aggname, t.typname - FROM pg_aggregate a, pg_type t - WHERE a.aggbasetype = t.oid - ORDER BY aggname, typname""") + result = pgcnx.query("""SELECT p.proname, t.typname + FROM pg_aggregate a, pg_proc p, pg_type t + WHERE a.aggfnoid = p.oid + and p.proargtypes[0] = t.oid + ORDER BY proname, typname""") return result # lists all the operator classes that can be used with each access method as -- cgit v1.2.3