summaryrefslogtreecommitdiff
path: root/src/include/utils/guc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/utils/guc.h')
-rw-r--r--src/include/utils/guc.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h
index d497b1f654..99211c1f6c 100644
--- a/src/include/utils/guc.h
+++ b/src/include/utils/guc.h
@@ -72,11 +72,15 @@ typedef enum
* dividing line between "interactive" and "non-interactive" sources for
* error reporting purposes.
*
- * PGC_S_TEST is used when testing values to be stored as per-database or
- * per-user defaults ("doit" will always be false, so this never gets stored
- * as the actual source of any value). This is an interactive case, but
- * it needs its own source value because some assign hooks need to make
- * different validity checks in this case.
+ * PGC_S_TEST is used when testing values to be used later ("doit" will always
+ * be false, so this never gets stored as the actual source of any value).
+ * For example, ALTER DATABASE/ROLE tests proposed per-database or per-user
+ * defaults this way, and CREATE FUNCTION tests proposed function SET clauses
+ * this way. This is an interactive case, but it needs its own source value
+ * because some assign hooks need to make different validity checks in this
+ * case. In particular, references to nonexistent database objects generally
+ * shouldn't throw hard errors in this case, at most NOTICEs, since the
+ * objects might exist by the time the setting is used for real.
*
* NB: see GucSource_Names in guc.c if you change this.
*/