diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2004-01-19 19:04:40 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2004-01-19 19:04:40 +0000 |
| commit | 9bd681a5220186230e0ea0f718a71af7ebe4b560 (patch) | |
| tree | 3dddc229c62a5cc2b4da3ea50b2bc0b7256443d0 /src/include/utils/guc_tables.h | |
| parent | 239760209b739d06e19ed4935776aeb89b6605f1 (diff) | |
| download | postgresql-9bd681a5220186230e0ea0f718a71af7ebe4b560.tar.gz | |
Repair problem identified by Olivier Prenant: ALTER DATABASE SET search_path
should not be too eager to reject paths involving unknown schemas, since
it can't really tell whether the schemas exist in the target database.
(Also, when reading pg_dumpall output, it could be that the schemas
don't exist yet, but eventually will.) ALTER USER SET has a similar issue.
So, reduce the normal ERROR to a NOTICE when checking search_path values
for these commands. Supporting this requires changing the API for GUC
assign_hook functions, which causes the patch to touch a lot of places,
but the changes are conceptually trivial.
Diffstat (limited to 'src/include/utils/guc_tables.h')
| -rw-r--r-- | src/include/utils/guc_tables.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/include/utils/guc_tables.h b/src/include/utils/guc_tables.h index c596e964eb..47e0339daf 100644 --- a/src/include/utils/guc_tables.h +++ b/src/include/utils/guc_tables.h @@ -7,7 +7,7 @@ * * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/include/utils/guc_tables.h,v 1.8 2003/12/03 18:52:00 joe Exp $ + * $PostgreSQL: pgsql/src/include/utils/guc_tables.h,v 1.9 2004/01/19 19:04:40 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -113,7 +113,7 @@ struct config_bool /* (all but reset_val are constants) */ bool *variable; bool reset_val; - bool (*assign_hook) (bool newval, bool doit, bool interactive); + bool (*assign_hook) (bool newval, bool doit, GucSource source); const char *(*show_hook) (void); /* variable fields, initialized at runtime: */ bool session_val; @@ -129,7 +129,7 @@ struct config_int int reset_val; int min; int max; - bool (*assign_hook) (int newval, bool doit, bool interactive); + bool (*assign_hook) (int newval, bool doit, GucSource source); const char *(*show_hook) (void); /* variable fields, initialized at runtime: */ int session_val; @@ -145,7 +145,7 @@ struct config_real double reset_val; double min; double max; - bool (*assign_hook) (double newval, bool doit, bool interactive); + bool (*assign_hook) (double newval, bool doit, GucSource source); const char *(*show_hook) (void); /* variable fields, initialized at runtime: */ double session_val; @@ -159,7 +159,7 @@ struct config_string /* (all are constants) */ char **variable; const char *boot_val; - const char *(*assign_hook) (const char *newval, bool doit, bool interactive); + const char *(*assign_hook) (const char *newval, bool doit, GucSource source); const char *(*show_hook) (void); /* variable fields, initialized at runtime: */ char *reset_val; |
