summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2009-01-06 16:39:52 +0000
committerTom Lane2009-01-06 16:39:52 +0000
commit2b3df32cfb85da32f70c44d80fd95523bffa9a80 (patch)
treede3018156976e9c6b0d53023f15333047fee4247
parentafc7f427ee05a42165beb0221dd414fe76fa8ce1 (diff)
Change a couple of ill-advised uses of INFO elog level to WARNINGs; in
particular this allows EmitWarningsOnPlaceholders messages to show up in the postmaster log by default. Update elog.h comment to make it clearer what INFO is for, and fix one example in the SGML docs that was misusing it. Per my gripe of yesterday.
-rw-r--r--doc/src/sgml/trigger.sgml4
-rw-r--r--src/backend/utils/misc/guc.c22
-rw-r--r--src/include/utils/elog.h9
3 files changed, 17 insertions, 18 deletions
diff --git a/doc/src/sgml/trigger.sgml b/doc/src/sgml/trigger.sgml
index e2f86bab46..1fe6f38ba5 100644
--- a/doc/src/sgml/trigger.sgml
+++ b/doc/src/sgml/trigger.sgml
@@ -603,13 +603,13 @@ trigf(PG_FUNCTION_ARGS)
/* connect to SPI manager */
if ((ret = SPI_connect()) < 0)
- elog(INFO, "trigf (fired %s): SPI_connect returned %d", when, ret);
+ elog(ERROR, "trigf (fired %s): SPI_connect returned %d", when, ret);
/* get number of rows in table */
ret = SPI_exec("SELECT count(*) FROM ttest", 0);
if (ret < 0)
- elog(NOTICE, "trigf (fired %s): SPI_exec returned %d", when, ret);
+ elog(ERROR, "trigf (fired %s): SPI_exec returned %d", when, ret);
/* count(*) returns int8, so be careful to convert */
i = DatumGetInt64(SPI_getbinval(SPI_tuptable->vals[0],
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index b6ff4e716c..89a4e29ba2 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -4541,7 +4541,7 @@ set_config_option(const char *name, const char *value,
elevel = IsUnderPostmaster ? DEBUG3 : LOG;
}
else if (source == PGC_S_DATABASE || source == PGC_S_USER)
- elevel = INFO;
+ elevel = WARNING;
else
elevel = ERROR;
@@ -5904,22 +5904,21 @@ DefineCustomEnumVariable(const char *name,
void
EmitWarningsOnPlaceholders(const char *className)
{
- struct config_generic **vars = guc_variables;
- struct config_generic **last = vars + num_guc_variables;
-
- int nameLen = strlen(className);
+ int classLen = strlen(className);
+ int i;
- while (vars < last)
+ for (i = 0; i < num_guc_variables; i++)
{
- struct config_generic *var = *vars++;
+ struct config_generic *var = guc_variables[i];
if ((var->flags & GUC_CUSTOM_PLACEHOLDER) != 0 &&
- strncmp(className, var->name, nameLen) == 0 &&
- var->name[nameLen] == GUC_QUALIFIER_SEPARATOR)
+ strncmp(className, var->name, classLen) == 0 &&
+ var->name[classLen] == GUC_QUALIFIER_SEPARATOR)
{
- ereport(INFO,
+ ereport(WARNING,
(errcode(ERRCODE_UNDEFINED_OBJECT),
- errmsg("unrecognized configuration parameter \"%s\"", var->name)));
+ errmsg("unrecognized configuration parameter \"%s\"",
+ var->name)));
}
}
}
@@ -5952,7 +5951,6 @@ GetPGVariableResultDesc(const char *name)
TEXTOID, -1, 0);
TupleDescInitEntry(tupdesc, (AttrNumber) 3, "description",
TEXTOID, -1, 0);
-
}
else
{
diff --git a/src/include/utils/elog.h b/src/include/utils/elog.h
index 0a2fc2ab16..5b49d7ee34 100644
--- a/src/include/utils/elog.h
+++ b/src/include/utils/elog.h
@@ -28,11 +28,12 @@
#define COMMERROR 16 /* Client communication problems; same as LOG
* for server reporting, but never sent to
* client. */
-#define INFO 17 /* Informative messages that are always sent
- * to client; is not affected by
- * client_min_messages */
+#define INFO 17 /* Messages specifically requested by user
+ * (eg VACUUM VERBOSE output); always sent to
+ * client regardless of client_min_messages,
+ * but by default not sent to server log. */
#define NOTICE 18 /* Helpful messages to users about query
- * operation; sent to client and server log
+ * operation; sent to client and server log
* by default. */
#define WARNING 19 /* Warnings. NOTICE is for expected messages
* like implicit sequence creation by SERIAL.