From 45e25445846e98fe4aac23d1073566c08cd62f0b Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 15 Aug 2002 02:51:27 +0000 Subject: As discussed on several occasions previously, the new anonymous composite type capability makes it possible to create a system view based on a table function in a way that is hopefully palatable to everyone. The attached patch takes advantage of this, moving show_all_settings() from contrib/tablefunc into the backend (renamed all_settings(). It is defined as a builtin returning type RECORD. During initdb a system view is created to expose the same information presently available through SHOW ALL. For example: test=# select * from pg_settings where name like '%debug%'; name | setting -----------------------+--------- debug_assertions | on debug_pretty_print | off debug_print_parse | off debug_print_plan | off debug_print_query | off debug_print_rewritten | off wal_debug | 0 (7 rows) Additionally during initdb two rules are created which make it possible to change settings by updating the system view -- a "virtual table" as Tom put it. Here's an example: Joe Conway --- contrib/tablefunc/tablefunc.h | 1 - 1 file changed, 1 deletion(-) (limited to 'contrib/tablefunc/tablefunc.h') diff --git a/contrib/tablefunc/tablefunc.h b/contrib/tablefunc/tablefunc.h index 309894ac66c..44cfd11fcc0 100644 --- a/contrib/tablefunc/tablefunc.h +++ b/contrib/tablefunc/tablefunc.h @@ -32,7 +32,6 @@ /* * External declarations */ -extern Datum show_all_settings(PG_FUNCTION_ARGS); extern Datum normal_rand(PG_FUNCTION_ARGS); extern Datum crosstab(PG_FUNCTION_ARGS); -- cgit v1.2.3