Index: doc/src/sgml/func.sgml =================================================================== RCS file: /projects/cvsroot/pgsql/doc/src/sgml/func.sgml,v retrieving revision 1.101 diff -c -r1.101 func.sgml *** doc/src/sgml/func.sgml 2002/06/11 16:00:17 1.101 --- doc/src/sgml/func.sgml 2002/06/14 07:52:56 *************** *** 4305,4313 **** name of current schema ! current_schemas() name[] ! names of schemas in search path --- 4305,4313 ---- name of current schema ! current_schemas(boolean) name[] ! names of schemas in search path optionally including implicit schemas *************** *** 4360,4369 **** at the front of the search path (or NULL if the search path is empty). This is the schema that will be used for any tables or other named objects that are created without specifying a target schema. ! current_schemas returns an array of the names of all ! schemas presently in the search path. Note that these functions show ! only schemas that are explicitly part of the path; when a system schema ! is being searched implicitly, it is not listed. --- 4360,4369 ---- at the front of the search path (or NULL if the search path is empty). This is the schema that will be used for any tables or other named objects that are created without specifying a target schema. ! current_schemas(boolean) returns an array of the names of all ! schemas presently in the search path. The boolean option determines whether or not ! implicitly included system schemas such as pg_catalog are included in the search ! path returned.
Index: src/backend/utils/adt/name.c =================================================================== RCS file: /projects/cvsroot/pgsql/src/backend/utils/adt/name.c,v retrieving revision 1.37 diff -c -r1.37 name.c *** src/backend/utils/adt/name.c 2002/06/13 06:19:45 1.37 --- src/backend/utils/adt/name.c 2002/06/14 07:52:57 *************** *** 251,257 **** Datum current_schemas(PG_FUNCTION_ARGS) { ! List *search_path = fetch_search_path(false); int nnames = length(search_path); Datum *names; int i; --- 251,257 ---- Datum current_schemas(PG_FUNCTION_ARGS) { ! List *search_path = fetch_search_path(PG_GETARG_BOOL(0)); int nnames = length(search_path); Datum *names; int i; Index: src/include/catalog/pg_proc.h =================================================================== RCS file: /projects/cvsroot/pgsql/src/include/catalog/pg_proc.h,v retrieving revision 1.241 diff -c -r1.241 pg_proc.h *** src/include/catalog/pg_proc.h 2002/06/11 15:41:37 1.241 --- src/include/catalog/pg_proc.h 2002/06/14 07:53:03 *************** *** 1761,1767 **** DATA(insert OID = 1402 ( current_schema PGNSP PGUID 12 f f f t f s 0 19 "0" 100 0 0 100 current_schema - _null_ )); DESCR("current schema name"); ! DATA(insert OID = 1403 ( current_schemas PGNSP PGUID 12 f f f t f s 0 1003 "0" 100 0 0 100 current_schemas - _null_ )); DESCR("current schema search list"); DATA(insert OID = 1404 ( overlay PGNSP PGUID 14 f f f t f i 4 25 "25 25 23 23" 100 0 0 100 "select substring($1, 1, ($3 - 1)) || $2 || substring($1, ($3 + $4))" - _null_ )); --- 1761,1767 ---- DATA(insert OID = 1402 ( current_schema PGNSP PGUID 12 f f f t f s 0 19 "0" 100 0 0 100 current_schema - _null_ )); DESCR("current schema name"); ! DATA(insert OID = 1403 ( current_schemas PGNSP PGUID 12 f f f t f s 1 1003 "16" 100 0 0 100 current_schemas - _null_ )); DESCR("current schema search list"); DATA(insert OID = 1404 ( overlay PGNSP PGUID 14 f f f t f i 4 25 "25 25 23 23" 100 0 0 100 "select substring($1, 1, ($3 - 1)) || $2 || substring($1, ($3 + $4))" - _null_ ));