Message style fixes

This commit is contained in:
Peter Eisentraut 2017-09-11 11:20:47 -04:00
parent 3c43595217
commit 821fb8cdbf
34 changed files with 100 additions and 101 deletions

View File

@ -6453,7 +6453,7 @@ SCRAM-SHA-256$<replaceable>&lt;iteration count&gt;</>:<replaceable>&lt;salt&gt;<
<entry><type>char[]</type></entry>
<entry></entry>
<entry>
An array containing codes for the enabled statistic types;
An array containing codes for the enabled statistic kinds;
valid values are:
<literal>d</literal> for n-distinct statistics,
<literal>f</literal> for functional dependency statistics

View File

@ -1107,7 +1107,7 @@ WHERE tablename = 'road';
</para>
<para>
The following subsections describe the types of extended statistics
The following subsections describe the kinds of extended statistics
that are currently supported.
</para>
@ -1115,7 +1115,7 @@ WHERE tablename = 'road';
<title>Functional Dependencies</title>
<para>
The simplest type of extended statistics tracks <firstterm>functional
The simplest kind of extended statistics tracks <firstterm>functional
dependencies</>, a concept used in definitions of database normal forms.
We say that column <structfield>b</> is functionally dependent on
column <structfield>a</> if knowledge of the value of

View File

@ -22,7 +22,7 @@ PostgreSQL documentation
<refsynopsisdiv>
<synopsis>
CREATE STATISTICS [ IF NOT EXISTS ] <replaceable class="PARAMETER">statistics_name</replaceable>
[ ( <replaceable class="PARAMETER">statistic_type</replaceable> [, ... ] ) ]
[ ( <replaceable class="PARAMETER">statistics_kind</replaceable> [, ... ] ) ]
ON <replaceable class="PARAMETER">column_name</replaceable>, <replaceable class="PARAMETER">column_name</replaceable> [, ...]
FROM <replaceable class="PARAMETER">table_name</replaceable>
</synopsis>
@ -76,15 +76,15 @@ CREATE STATISTICS [ IF NOT EXISTS ] <replaceable class="PARAMETER">statistics_na
</varlistentry>
<varlistentry>
<term><replaceable class="PARAMETER">statistic_type</replaceable></term>
<term><replaceable class="PARAMETER">statistics_kind</replaceable></term>
<listitem>
<para>
A statistic type to be computed in this statistics object.
Currently supported types are
A statistics kind to be computed in this statistics object.
Currently supported kinds are
<literal>ndistinct</literal>, which enables n-distinct statistics, and
<literal>dependencies</literal>, which enables functional
dependency statistics.
If this clause is omitted, all supported statistic types are
If this clause is omitted, all supported statistics kinds are
included in the statistics object.
For more information, see <xref linkend="planner-stats-extended">
and <xref linkend="multivariate-statistics-examples">.

View File

@ -3629,7 +3629,7 @@ bar
will terminate the application. If set to a larger numeric value,
that many consecutive <acronym>EOF</> characters must be typed to
make an interactive session terminate. If the variable is set to a
non-numeric value, it is interpreted as 10.
non-numeric value, it is interpreted as 10. The default is 0.
</para>
<note>
<para>

View File

@ -2031,14 +2031,14 @@ ProcessTwoPhaseBuffer(TransactionId xid,
if (fromdisk)
{
ereport(WARNING,
(errmsg("removing stale two-phase state file for \"%u\"",
(errmsg("removing stale two-phase state file for transaction %u",
xid)));
RemoveTwoPhaseFile(xid, true);
}
else
{
ereport(WARNING,
(errmsg("removing stale two-phase state from shared memory for \"%u\"",
(errmsg("removing stale two-phase state from memory for transaction %u",
xid)));
PrepareRedoRemove(xid, true);
}
@ -2051,14 +2051,14 @@ ProcessTwoPhaseBuffer(TransactionId xid,
if (fromdisk)
{
ereport(WARNING,
(errmsg("removing future two-phase state file for \"%u\"",
(errmsg("removing future two-phase state file for transaction %u",
xid)));
RemoveTwoPhaseFile(xid, true);
}
else
{
ereport(WARNING,
(errmsg("removing future two-phase state from memory for \"%u\"",
(errmsg("removing future two-phase state from memory for transaction %u",
xid)));
PrepareRedoRemove(xid, true);
}
@ -2072,7 +2072,7 @@ ProcessTwoPhaseBuffer(TransactionId xid,
if (buf == NULL)
{
ereport(WARNING,
(errmsg("removing corrupt two-phase state file for \"%u\"",
(errmsg("removing corrupt two-phase state file for transaction %u",
xid)));
RemoveTwoPhaseFile(xid, true);
return NULL;
@ -2091,14 +2091,14 @@ ProcessTwoPhaseBuffer(TransactionId xid,
if (fromdisk)
{
ereport(WARNING,
(errmsg("removing corrupt two-phase state file for \"%u\"",
(errmsg("removing corrupt two-phase state file for transaction %u",
xid)));
RemoveTwoPhaseFile(xid, true);
}
else
{
ereport(WARNING,
(errmsg("removing corrupt two-phase state from memory for \"%u\"",
(errmsg("removing corrupt two-phase state from memory for transaction %u",
xid)));
PrepareRedoRemove(xid, true);
}

View File

@ -8658,7 +8658,7 @@ CreateCheckPoint(int flags)
LWLockRelease(CheckpointLock);
END_CRIT_SECTION();
ereport(DEBUG1,
(errmsg("checkpoint skipped due to an idle system")));
(errmsg("checkpoint skipped because system is idle")));
return;
}
}

View File

@ -103,7 +103,7 @@ parse_publication_options(List *options,
if (!SplitIdentifierString(publish, ',', &publish_list))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("invalid publish list")));
errmsg("invalid list syntax for \"publish\" option")));
/* Process the option list. */
foreach(lc, publish_list)

View File

@ -180,7 +180,7 @@ CreateStatistics(CreateStatsStmt *stmt)
if (!HeapTupleIsValid(atttuple))
ereport(ERROR,
(errcode(ERRCODE_UNDEFINED_COLUMN),
errmsg("column \"%s\" referenced in statistics does not exist",
errmsg("column \"%s\" does not exist",
attname)));
attForm = (Form_pg_attribute) GETSTRUCT(atttuple);
@ -195,8 +195,8 @@ CreateStatistics(CreateStatsStmt *stmt)
if (type->lt_opr == InvalidOid)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("column \"%s\" cannot be used in statistics because its type has no default btree operator class",
attname)));
errmsg("column \"%s\" cannot be used in statistics because its type %s has no default btree operator class",
attname, format_type_be(attForm->atttypid))));
/* Make sure no more than STATS_MAX_DIMENSIONS columns are used */
if (numcols >= STATS_MAX_DIMENSIONS)
@ -242,7 +242,7 @@ CreateStatistics(CreateStatsStmt *stmt)
stxkeys = buildint2vector(attnums, numcols);
/*
* Parse the statistics types.
* Parse the statistics kinds.
*/
build_ndistinct = false;
build_dependencies = false;
@ -263,7 +263,7 @@ CreateStatistics(CreateStatsStmt *stmt)
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("unrecognized statistic type \"%s\"",
errmsg("unrecognized statistics kind \"%s\"",
type)));
}
/* If no statistic type was specified, build them all. */

View File

@ -13859,7 +13859,7 @@ ATExecAttachPartition(List **wqueue, Relation rel, PartitionCmd *cmd)
errmsg("table \"%s\" contains column \"%s\" not found in parent \"%s\"",
RelationGetRelationName(attachrel), attributeName,
RelationGetRelationName(rel)),
errdetail("New partition should contain only the columns present in parent.")));
errdetail("The new partition may contain only the columns present in parent.")));
}
/*

View File

@ -416,7 +416,7 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString,
(TRIGGER_FOR_DELETE(tgtype) ? 1 : 0)) != 1)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("Transition tables cannot be specified for triggers with more than one event")));
errmsg("transition tables cannot be specified for triggers with more than one event")));
if (tt->isNew)
{

View File

@ -559,13 +559,13 @@ CheckCmdReplicaIdentity(Relation rel, CmdType cmd)
if (cmd == CMD_UPDATE && pubactions->pubupdate)
ereport(ERROR,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("cannot update table \"%s\" because it does not have replica identity and publishes updates",
errmsg("cannot update table \"%s\" because it does not have a replica identity and publishes updates",
RelationGetRelationName(rel)),
errhint("To enable updating the table, set REPLICA IDENTITY using ALTER TABLE.")));
else if (cmd == CMD_DELETE && pubactions->pubdelete)
ereport(ERROR,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("cannot delete from table \"%s\" because it does not have replica identity and publishes deletes",
errmsg("cannot delete from table \"%s\" because it does not have a replica identity and publishes deletes",
RelationGetRelationName(rel)),
errhint("To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE.")));
}

View File

@ -1608,7 +1608,7 @@ verify_option_list_length(List *options, char *optionname, List *masters, char *
ereport(LOG,
(errcode(ERRCODE_CONFIG_FILE_ERROR),
errmsg("the number of %s (%i) must be 1 or the same as the number of %s (%i)",
errmsg("the number of %s (%d) must be 1 or the same as the number of %s (%d)",
optionname,
list_length(options),
mastername,

View File

@ -454,9 +454,8 @@ logicalrep_typmap_getid(Oid remoteid)
{
if (!get_typisdefined(remoteid))
ereport(ERROR,
(errmsg("builtin type %u not found", remoteid),
errhint("This can be caused by having publisher with "
"higher major version than subscriber")));
(errmsg("built-in type %u not found", remoteid),
errhint("This can be caused by having a publisher with a higher PostgreSQL major version than the subscriber.")));
return remoteid;
}

View File

@ -629,7 +629,7 @@ check_relation_updatable(LogicalRepRelMapEntry *rel)
{
ereport(ERROR,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("publisher does not send replica identity column "
errmsg("publisher did not send replica identity column "
"expected by the logical replication target relation \"%s.%s\"",
rel->remoterel.nspname, rel->remoterel.relname)));
}
@ -844,7 +844,7 @@ apply_handle_delete(StringInfo s)
/* The tuple to be deleted could not be found. */
ereport(DEBUG1,
(errmsg("logical replication could not find row for delete "
"in replication target %s",
"in replication target relation \"%s\"",
RelationGetRelationName(rel->localrel))));
}
@ -910,7 +910,7 @@ apply_dispatch(StringInfo s)
default:
ereport(ERROR,
(errcode(ERRCODE_PROTOCOL_VIOLATION),
errmsg("invalid logical replication message type %c", action)));
errmsg("invalid logical replication message type \"%c\"", action)));
}
}

View File

@ -115,7 +115,7 @@ parse_output_parameters(List *options, uint32 *protocol_version,
if (parsed > PG_UINT32_MAX || parsed < 0)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("proto_verson \"%s\" out of range",
errmsg("proto_version \"%s\" out of range",
strVal(defel->arg))));
*protocol_version = (uint32) parsed;

View File

@ -425,13 +425,13 @@ DefineQueryRewrite(char *rulename,
if (event_relation->rd_rel->relkind == RELKIND_PARTITIONED_TABLE)
ereport(ERROR,
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
errmsg("could not convert partitioned table \"%s\" to a view",
errmsg("cannot convert partitioned table \"%s\" to a view",
RelationGetRelationName(event_relation))));
if (event_relation->rd_rel->relispartition)
ereport(ERROR,
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
errmsg("could not convert partition \"%s\" to a view",
errmsg("cannot convert partition \"%s\" to a view",
RelationGetRelationName(event_relation))));
snapshot = RegisterSnapshot(GetLatestSnapshot());

View File

@ -1769,7 +1769,7 @@ GetSerializableTransactionSnapshotInt(Snapshot snapshot,
ereport(ERROR,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not import the requested snapshot"),
errdetail("The source process with pid %d is not running anymore.",
errdetail("The source process with PID %d is not running anymore.",
sourcepid)));
}

View File

@ -95,8 +95,8 @@ scanint8(const char *str, bool errorOK, int64 *result)
else
ereport(ERROR,
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("invalid input syntax for %s: \"%s\"",
"integer", str)));
errmsg("invalid input syntax for integer: \"%s\"",
str)));
}
/* process digits */
@ -130,8 +130,8 @@ gotdigits:
else
ereport(ERROR,
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("invalid input syntax for %s: \"%s\"",
"integer", str)));
errmsg("invalid input syntax for integer: \"%s\"",
str)));
}
*result = (sign < 0) ? -tmp : tmp;

View File

@ -2314,7 +2314,7 @@ populate_array_report_expected_array(PopulateArrayContext *ctx, int ndim)
ereport(ERROR,
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("expected json array"),
errhint("see the value of key \"%s\"", ctx->colname)));
errhint("See the value of key \"%s\".", ctx->colname)));
else
ereport(ERROR,
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
@ -2336,13 +2336,13 @@ populate_array_report_expected_array(PopulateArrayContext *ctx, int ndim)
ereport(ERROR,
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("expected json array"),
errhint("see the array element %s of key \"%s\"",
errhint("See the array element %s of key \"%s\".",
indices.data, ctx->colname)));
else
ereport(ERROR,
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("expected json array"),
errhint("see the array element %s",
errhint("See the array element %s.",
indices.data)));
}
}

View File

@ -562,8 +562,8 @@ macaddr8tomacaddr(PG_FUNCTION_ARGS)
(errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
errmsg("macaddr8 data out of range to convert to macaddr"),
errhint("Only addresses that have FF and FE as values in the "
"4th and 5th bytes, from the left, for example: "
"XX-XX-XX-FF-FE-XX-XX-XX, are eligible to be converted "
"4th and 5th bytes from the left, for example "
"xx:xx:xx:ff:fe:xx:xx:xx, are eligible to be converted "
"from macaddr8 to macaddr.")));
result->a = addr->a;

View File

@ -48,8 +48,8 @@ pg_atoi(const char *s, int size, int c)
if (*s == 0)
ereport(ERROR,
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("invalid input syntax for %s: \"%s\"",
"integer", s)));
errmsg("invalid input syntax for integer: \"%s\"",
s)));
errno = 0;
l = strtol(s, &badp, 10);
@ -58,8 +58,8 @@ pg_atoi(const char *s, int size, int c)
if (s == badp)
ereport(ERROR,
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("invalid input syntax for %s: \"%s\"",
"integer", s)));
errmsg("invalid input syntax for integer: \"%s\"",
s)));
switch (size)
{
@ -102,8 +102,8 @@ pg_atoi(const char *s, int size, int c)
if (*badp && *badp != c)
ereport(ERROR,
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("invalid input syntax for %s: \"%s\"",
"integer", s)));
errmsg("invalid input syntax for integer: \"%s\"",
s)));
return (int32) l;
}

View File

@ -132,8 +132,8 @@ TransactionIdInRecentPast(uint64 xid_with_epoch, TransactionId *extracted_xid)
|| (xid_epoch == now_epoch && xid > now_epoch_last_xid))
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("transaction ID " UINT64_FORMAT " is in the future",
xid_with_epoch)));
errmsg("transaction ID %s is in the future",
psprintf(UINT64_FORMAT, xid_with_epoch))));
/*
* ShmemVariableCache->oldestClogXid is protected by CLogTruncationLock,
@ -755,11 +755,11 @@ txid_status(PG_FUNCTION_ARGS)
Assert(TransactionIdIsValid(xid));
if (TransactionIdIsCurrentTransactionId(xid))
status = gettext_noop("in progress");
status = "in progress";
else if (TransactionIdDidCommit(xid))
status = gettext_noop("committed");
status = "committed";
else if (TransactionIdDidAbort(xid))
status = gettext_noop("aborted");
status = "aborted";
else
{
/*
@ -774,9 +774,9 @@ txid_status(PG_FUNCTION_ARGS)
* checked commit/abort status).
*/
if (TransactionIdPrecedes(xid, GetActiveSnapshot()->xmin))
status = gettext_noop("aborted");
status = "aborted";
else
status = gettext_noop("in progress");
status = "in progress";
}
}
else

View File

@ -2201,7 +2201,7 @@ static struct config_int ConfigureNamesInt[] =
{"max_pred_locks_per_relation", PGC_SIGHUP, LOCK_MANAGEMENT,
gettext_noop("Sets the maximum number of predicate-locked pages and tuples per relation."),
gettext_noop("If more than this total of pages and tuples in the same relation are locked "
"by a connection, those locks are replaced by a relation level lock.")
"by a connection, those locks are replaced by a relation-level lock.")
},
&max_predicate_locks_per_relation,
-2, INT_MIN, INT_MAX,
@ -2212,7 +2212,7 @@ static struct config_int ConfigureNamesInt[] =
{"max_pred_locks_per_page", PGC_SIGHUP, LOCK_MANAGEMENT,
gettext_noop("Sets the maximum number of predicate-locked tuples per page."),
gettext_noop("If more than this number of tuples on the same page are locked "
"by a connection, those locks are replaced by a page level lock.")
"by a connection, those locks are replaced by a page-level lock.")
},
&max_predicate_locks_per_page,
2, 0, INT_MAX,
@ -3608,7 +3608,7 @@ static struct config_string ConfigureNamesString[] =
{
{"ssl_dh_params_file", PGC_SIGHUP, CONN_AUTH_SECURITY,
gettext_noop("Location of the SSL DH params file."),
gettext_noop("Location of the SSL DH parameters file."),
NULL,
GUC_SUPERUSER_ONLY
},

View File

@ -625,7 +625,7 @@ SetTransactionSnapshot(Snapshot sourcesnap, VirtualTransactionId *sourcevxid,
ereport(ERROR,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not import the requested snapshot"),
errdetail("The source process with pid %d is not running anymore.",
errdetail("The source process with PID %d is not running anymore.",
sourcepid)));
/*

View File

@ -136,7 +136,7 @@ ParseVariableBool(const char *value, const char *name, bool *result)
{
/* string is not recognized; don't clobber *result */
if (name)
psql_error("unrecognized value \"%s\" for \"%s\": boolean expected\n",
psql_error("unrecognized value \"%s\" for \"%s\": Boolean expected\n",
value, name);
valid = false;
}

View File

@ -45,7 +45,7 @@ CATALOG(pg_statistic_ext,3381)
int2vector stxkeys; /* array of column keys */
#ifdef CATALOG_VARLEN
char stxkind[1] BKI_FORCE_NOT_NULL; /* statistic types requested
char stxkind[1] BKI_FORCE_NOT_NULL; /* statistics kinds requested
* to build */
pg_ndistinct stxndistinct; /* ndistinct coefficients (serialized) */
pg_dependencies stxdependencies; /* dependencies (serialized) */

View File

@ -3242,7 +3242,7 @@ DROP TABLE fail_part;
CREATE TABLE fail_part (like list_parted, c int);
ALTER TABLE list_parted ATTACH PARTITION fail_part FOR VALUES IN (1);
ERROR: table "fail_part" contains column "c" not found in parent "list_parted"
DETAIL: New partition should contain only the columns present in parent.
DETAIL: The new partition may contain only the columns present in parent.
DROP TABLE fail_part;
-- check that the table being attached has every column of the parent
CREATE TABLE fail_part (a int NOT NULL);

View File

@ -1872,7 +1872,7 @@ FDW options: (delimiter ',', quote '"', "be quoted" 'value')
ALTER TABLE pt2 ATTACH PARTITION pt2_1 FOR VALUES IN (1); -- ERROR
ERROR: table "pt2_1" contains column "c4" not found in parent "pt2"
DETAIL: New partition should contain only the columns present in parent.
DETAIL: The new partition may contain only the columns present in parent.
DROP FOREIGN TABLE pt2_1;
\d+ pt2
Table "public.pt2"

View File

@ -1400,7 +1400,7 @@ SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": null}') q;
SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": 123}') q;
ERROR: expected json array
HINT: see the value of key "ia"
HINT: See the value of key "ia".
SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [1, "2", null, 4]}') q;
ia
--------------
@ -1415,7 +1415,7 @@ SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [[1, 2], [3, 4]]}') q;
SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [[1], 2]}') q;
ERROR: expected json array
HINT: see the array element [1] of key "ia"
HINT: See the array element [1] of key "ia".
SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [[1], [2, 3]]}') q;
ERROR: malformed json array
DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions.
@ -1433,7 +1433,7 @@ SELECT ia1 FROM json_populate_record(NULL::jsrec, '{"ia1": null}') q;
SELECT ia1 FROM json_populate_record(NULL::jsrec, '{"ia1": 123}') q;
ERROR: expected json array
HINT: see the value of key "ia1"
HINT: See the value of key "ia1".
SELECT ia1 FROM json_populate_record(NULL::jsrec, '{"ia1": [1, "2", null, 4]}') q;
ia1
--------------
@ -1454,7 +1454,7 @@ SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": null}') q;
SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": 123}') q;
ERROR: expected json array
HINT: see the value of key "ia1d"
HINT: See the value of key "ia1d".
SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": [1, "2", null, 4]}') q;
ERROR: value for domain js_int_array_1d violates check constraint "js_int_array_1d_check"
SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": [1, "2", null]}') q;
@ -1486,7 +1486,7 @@ ERROR: malformed json array
DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions.
SELECT ia2 FROM json_populate_record(NULL::jsrec, '{"ia2": [[1, 2], 3, 4]}') q;
ERROR: expected json array
HINT: see the array element [1] of key "ia2"
HINT: See the array element [1] of key "ia2".
SELECT ia2d FROM json_populate_record(NULL::jsrec, '{"ia2d": [[1, "2"], [null, 4]]}') q;
ERROR: value for domain js_int_array_2d violates check constraint "js_int_array_2d_check"
SELECT ia2d FROM json_populate_record(NULL::jsrec, '{"ia2d": [[1, "2", 3], [null, 5, 6]]}') q;
@ -1536,7 +1536,7 @@ SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": null}') q;
SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": 123}') q;
ERROR: expected json array
HINT: see the value of key "ta"
HINT: See the value of key "ta".
SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": [1, "2", null, 4]}') q;
ta
--------------
@ -1545,7 +1545,7 @@ SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": [1, "2", null, 4]}') q;
SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": [[1, 2, 3], {"k": "v"}]}') q;
ERROR: expected json array
HINT: see the array element [1] of key "ta"
HINT: See the array element [1] of key "ta".
SELECT c FROM json_populate_record(NULL::jsrec, '{"c": null}') q;
c
---
@ -1574,7 +1574,7 @@ SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": null}') q;
SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": 123}') q;
ERROR: expected json array
HINT: see the value of key "ca"
HINT: See the value of key "ca".
SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": [1, "2", null, 4]}') q;
ca
-----------------------------------------------
@ -1585,7 +1585,7 @@ SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": ["aaaaaaaaaaaaaaaa"]}')
ERROR: value too long for type character(10)
SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": [[1, 2, 3], {"k": "v"}]}') q;
ERROR: expected json array
HINT: see the array element [1] of key "ca"
HINT: See the array element [1] of key "ca".
SELECT js FROM json_populate_record(NULL::jsrec, '{"js": null}') q;
js
----
@ -1678,7 +1678,7 @@ SELECT jsa FROM json_populate_record(NULL::jsrec, '{"jsa": null}') q;
SELECT jsa FROM json_populate_record(NULL::jsrec, '{"jsa": 123}') q;
ERROR: expected json array
HINT: see the value of key "jsa"
HINT: See the value of key "jsa".
SELECT jsa FROM json_populate_record(NULL::jsrec, '{"jsa": [1, "2", null, 4]}') q;
jsa
--------------------
@ -1709,7 +1709,7 @@ SELECT rec FROM json_populate_record(NULL::jsrec, '{"rec": "(abc,42,01.02.2003)"
SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": 123}') q;
ERROR: expected json array
HINT: see the value of key "reca"
HINT: See the value of key "reca".
SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": [1, 2]}') q;
ERROR: cannot call populate_composite on a scalar
SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": [{"a": "abc", "b": 456}, null, {"c": "01.02.2003", "x": 43.2}]}') q;
@ -2043,7 +2043,7 @@ select * from json_to_record('{"ia": null}') as x(ia _int4);
select * from json_to_record('{"ia": 123}') as x(ia _int4);
ERROR: expected json array
HINT: see the value of key "ia"
HINT: See the value of key "ia".
select * from json_to_record('{"ia": [1, "2", null, 4]}') as x(ia _int4);
ia
--------------
@ -2058,7 +2058,7 @@ select * from json_to_record('{"ia": [[1, 2], [3, 4]]}') as x(ia _int4);
select * from json_to_record('{"ia": [[1], 2]}') as x(ia _int4);
ERROR: expected json array
HINT: see the array element [1] of key "ia"
HINT: See the array element [1] of key "ia".
select * from json_to_record('{"ia": [[1], [2, 3]]}') as x(ia _int4);
ERROR: malformed json array
DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions.

View File

@ -1984,7 +1984,7 @@ SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": null}') q;
SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": 123}') q;
ERROR: expected json array
HINT: see the value of key "ia"
HINT: See the value of key "ia".
SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [1, "2", null, 4]}') q;
ia
--------------
@ -1999,7 +1999,7 @@ SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [[1, 2], [3, 4]]}') q
SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [[1], 2]}') q;
ERROR: expected json array
HINT: see the array element [1] of key "ia"
HINT: See the array element [1] of key "ia".
SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [[1], [2, 3]]}') q;
ERROR: malformed json array
DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions.
@ -2017,7 +2017,7 @@ SELECT ia1 FROM jsonb_populate_record(NULL::jsbrec, '{"ia1": null}') q;
SELECT ia1 FROM jsonb_populate_record(NULL::jsbrec, '{"ia1": 123}') q;
ERROR: expected json array
HINT: see the value of key "ia1"
HINT: See the value of key "ia1".
SELECT ia1 FROM jsonb_populate_record(NULL::jsbrec, '{"ia1": [1, "2", null, 4]}') q;
ia1
--------------
@ -2038,7 +2038,7 @@ SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": null}') q;
SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": 123}') q;
ERROR: expected json array
HINT: see the value of key "ia1d"
HINT: See the value of key "ia1d".
SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": [1, "2", null, 4]}') q;
ERROR: value for domain jsb_int_array_1d violates check constraint "jsb_int_array_1d_check"
SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": [1, "2", null]}') q;
@ -2070,7 +2070,7 @@ ERROR: malformed json array
DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions.
SELECT ia2 FROM jsonb_populate_record(NULL::jsbrec, '{"ia2": [[1, 2], 3, 4]}') q;
ERROR: expected json array
HINT: see the array element [1] of key "ia2"
HINT: See the array element [1] of key "ia2".
SELECT ia2d FROM jsonb_populate_record(NULL::jsbrec, '{"ia2d": [[1, "2"], [null, 4]]}') q;
ERROR: value for domain jsb_int_array_2d violates check constraint "jsb_int_array_2d_check"
SELECT ia2d FROM jsonb_populate_record(NULL::jsbrec, '{"ia2d": [[1, "2", 3], [null, 5, 6]]}') q;
@ -2120,7 +2120,7 @@ SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": null}') q;
SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": 123}') q;
ERROR: expected json array
HINT: see the value of key "ta"
HINT: See the value of key "ta".
SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": [1, "2", null, 4]}') q;
ta
--------------
@ -2129,7 +2129,7 @@ SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": [1, "2", null, 4]}')
SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": [[1, 2, 3], {"k": "v"}]}') q;
ERROR: expected json array
HINT: see the array element [1] of key "ta"
HINT: See the array element [1] of key "ta".
SELECT c FROM jsonb_populate_record(NULL::jsbrec, '{"c": null}') q;
c
---
@ -2158,7 +2158,7 @@ SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": null}') q;
SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": 123}') q;
ERROR: expected json array
HINT: see the value of key "ca"
HINT: See the value of key "ca".
SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": [1, "2", null, 4]}') q;
ca
-----------------------------------------------
@ -2169,7 +2169,7 @@ SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": ["aaaaaaaaaaaaaaaa"]}
ERROR: value too long for type character(10)
SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": [[1, 2, 3], {"k": "v"}]}') q;
ERROR: expected json array
HINT: see the array element [1] of key "ca"
HINT: See the array element [1] of key "ca".
SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": null}') q;
js
----
@ -2262,7 +2262,7 @@ SELECT jsa FROM jsonb_populate_record(NULL::jsbrec, '{"jsa": null}') q;
SELECT jsa FROM jsonb_populate_record(NULL::jsbrec, '{"jsa": 123}') q;
ERROR: expected json array
HINT: see the value of key "jsa"
HINT: See the value of key "jsa".
SELECT jsa FROM jsonb_populate_record(NULL::jsbrec, '{"jsa": [1, "2", null, 4]}') q;
jsa
--------------------
@ -2293,7 +2293,7 @@ SELECT rec FROM jsonb_populate_record(NULL::jsbrec, '{"rec": "(abc,42,01.02.2003
SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": 123}') q;
ERROR: expected json array
HINT: see the value of key "reca"
HINT: See the value of key "reca".
SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": [1, 2]}') q;
ERROR: cannot call populate_composite on a scalar
SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": [{"a": "abc", "b": 456}, null, {"c": "01.02.2003", "x": 43.2}]}') q;
@ -2423,7 +2423,7 @@ select * from jsonb_to_record('{"ia": null}') as x(ia _int4);
select * from jsonb_to_record('{"ia": 123}') as x(ia _int4);
ERROR: expected json array
HINT: see the value of key "ia"
HINT: See the value of key "ia".
select * from jsonb_to_record('{"ia": [1, "2", null, 4]}') as x(ia _int4);
ia
--------------
@ -2438,7 +2438,7 @@ select * from jsonb_to_record('{"ia": [[1, 2], [3, 4]]}') as x(ia _int4);
select * from jsonb_to_record('{"ia": [[1], 2]}') as x(ia _int4);
ERROR: expected json array
HINT: see the array element [1] of key "ia"
HINT: See the array element [1] of key "ia".
select * from jsonb_to_record('{"ia": [[1], [2, 3]]}') as x(ia _int4);
ERROR: malformed json array
DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions.

View File

@ -8,7 +8,7 @@
invalid variable name: "invalid/name"
-- fail: invalid value for special variable
\set AUTOCOMMIT foo
unrecognized value "foo" for "AUTOCOMMIT": boolean expected
unrecognized value "foo" for "AUTOCOMMIT": Boolean expected
\set FETCH_COUNT foo
invalid value "foo" for "FETCH_COUNT": integer expected
-- check handling of built-in boolean variable
@ -2939,7 +2939,7 @@ second thing true
\endif
-- invalid boolean expressions are false
\if invalid boolean expression
unrecognized value "invalid boolean expression" for "\if expression": boolean expected
unrecognized value "invalid boolean expression" for "\if expression": Boolean expected
\echo 'will not print #6-1'
\else
\echo 'will print anyway #6-2'

View File

@ -2571,12 +2571,12 @@ drop view fooview;
create table fooview (x int, y text) partition by list (x);
create rule "_RETURN" as on select to fooview do instead
select 1 as x, 'aaa'::text as y;
ERROR: could not convert partitioned table "fooview" to a view
ERROR: cannot convert partitioned table "fooview" to a view
-- nor can one convert a partition to view
create table fooview_part partition of fooview for values in (1);
create rule "_RETURN" as on select to fooview_part do instead
select 1 as x, 'aaa'::text as y;
ERROR: could not convert partition "fooview_part" to a view
ERROR: cannot convert partition "fooview_part" to a view
--
-- check for planner problems with complex inherited UPDATES
--

View File

@ -21,7 +21,7 @@ LINE 1: CREATE STATISTICS tst FROM sometab;
CREATE STATISTICS tst ON a, b FROM nonexistant;
ERROR: relation "nonexistant" does not exist
CREATE STATISTICS tst ON a, b FROM pg_class;
ERROR: column "a" referenced in statistics does not exist
ERROR: column "a" does not exist
CREATE STATISTICS tst ON relname, relname, relnatts FROM pg_class;
ERROR: duplicate column name in statistics definition
CREATE STATISTICS tst ON relnatts + relpages FROM pg_class;
@ -29,7 +29,7 @@ ERROR: only simple column references are allowed in CREATE STATISTICS
CREATE STATISTICS tst ON (relpages, reltuples) FROM pg_class;
ERROR: only simple column references are allowed in CREATE STATISTICS
CREATE STATISTICS tst (unrecognized) ON relname, relnatts FROM pg_class;
ERROR: unrecognized statistic type "unrecognized"
ERROR: unrecognized statistics kind "unrecognized"
-- Ensure stats are dropped sanely, and test IF NOT EXISTS while at it
CREATE TABLE ab1 (a INTEGER, b INTEGER, c INTEGER);
CREATE STATISTICS IF NOT EXISTS ab1_a_b_stats ON a, b FROM ab1;

View File

@ -2255,7 +2255,7 @@ NOTICE: trigger = my_table_insert_trig, new table = <NULL>
create trigger my_table_multievent_trig
after insert or update on my_table referencing new table as new_table
for each statement execute procedure dump_insert();
ERROR: Transition tables cannot be specified for triggers with more than one event
ERROR: transition tables cannot be specified for triggers with more than one event
drop table my_table;
--
-- Test firing of triggers with transition tables by foreign key cascades