diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml index 4978b47f0e..9af77c1f5a 100644 --- a/doc/src/sgml/catalogs.sgml +++ b/doc/src/sgml/catalogs.sgml @@ -6453,7 +6453,7 @@ SCRAM-SHA-256$<iteration count>:<salt>< char[] - An array containing codes for the enabled statistic types; + An array containing codes for the enabled statistic kinds; valid values are: d for n-distinct statistics, f for functional dependency statistics diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml index 1346328653..d3b47bc5a5 100644 --- a/doc/src/sgml/perform.sgml +++ b/doc/src/sgml/perform.sgml @@ -1107,7 +1107,7 @@ WHERE tablename = 'road'; - The following subsections describe the types of extended statistics + The following subsections describe the kinds of extended statistics that are currently supported. @@ -1115,7 +1115,7 @@ WHERE tablename = 'road'; Functional Dependencies - The simplest type of extended statistics tracks functional + The simplest kind of extended statistics tracks functional dependencies, a concept used in definitions of database normal forms. We say that column b is functionally dependent on column a if knowledge of the value of diff --git a/doc/src/sgml/ref/create_statistics.sgml b/doc/src/sgml/ref/create_statistics.sgml index deda21fec7..ef4e4852bd 100644 --- a/doc/src/sgml/ref/create_statistics.sgml +++ b/doc/src/sgml/ref/create_statistics.sgml @@ -22,7 +22,7 @@ PostgreSQL documentation CREATE STATISTICS [ IF NOT EXISTS ] statistics_name - [ ( statistic_type [, ... ] ) ] + [ ( statistics_kind [, ... ] ) ] ON column_name, column_name [, ...] FROM table_name @@ -76,15 +76,15 @@ CREATE STATISTICS [ IF NOT EXISTS ] statistics_na - statistic_type + statistics_kind - 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 ndistinct, which enables n-distinct statistics, and dependencies, 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 and . diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index 79468a5663..a74caf8a6c 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -3629,7 +3629,7 @@ bar will terminate the application. If set to a larger numeric value, that many consecutive 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. diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index ba03d9687e..ae832917ce 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -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); } diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 442341a707..a3e8ce092f 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -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; } } diff --git a/src/backend/commands/publicationcmds.c b/src/backend/commands/publicationcmds.c index 610cb499d2..f298d3d381 100644 --- a/src/backend/commands/publicationcmds.c +++ b/src/backend/commands/publicationcmds.c @@ -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) diff --git a/src/backend/commands/statscmds.c b/src/backend/commands/statscmds.c index 476505512b..c70a28de4b 100644 --- a/src/backend/commands/statscmds.c +++ b/src/backend/commands/statscmds.c @@ -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. */ diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index d2167eda23..96354bdee5 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -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."))); } /* diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index bbfbc06db9..269c9e17dd 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -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) { diff --git a/src/backend/executor/execReplication.c b/src/backend/executor/execReplication.c index fbb8108512..5a75e0211f 100644 --- a/src/backend/executor/execReplication.c +++ b/src/backend/executor/execReplication.c @@ -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."))); } diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c index 42afead9fd..ba011b6d61 100644 --- a/src/backend/libpq/hba.c +++ b/src/backend/libpq/hba.c @@ -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, diff --git a/src/backend/replication/logical/relation.c b/src/backend/replication/logical/relation.c index 408143ae95..4b2d8a153f 100644 --- a/src/backend/replication/logical/relation.c +++ b/src/backend/replication/logical/relation.c @@ -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; } diff --git a/src/backend/replication/logical/worker.c b/src/backend/replication/logical/worker.c index 041f3873b9..bc6d8246a7 100644 --- a/src/backend/replication/logical/worker.c +++ b/src/backend/replication/logical/worker.c @@ -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))); } } diff --git a/src/backend/replication/pgoutput/pgoutput.c b/src/backend/replication/pgoutput/pgoutput.c index 67c1d3b246..9ab954a6e0 100644 --- a/src/backend/replication/pgoutput/pgoutput.c +++ b/src/backend/replication/pgoutput/pgoutput.c @@ -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; diff --git a/src/backend/rewrite/rewriteDefine.c b/src/backend/rewrite/rewriteDefine.c index d03984a2de..071b3a9ec9 100644 --- a/src/backend/rewrite/rewriteDefine.c +++ b/src/backend/rewrite/rewriteDefine.c @@ -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()); diff --git a/src/backend/storage/lmgr/predicate.c b/src/backend/storage/lmgr/predicate.c index 6a6d9d6d5c..251a359bff 100644 --- a/src/backend/storage/lmgr/predicate.c +++ b/src/backend/storage/lmgr/predicate.c @@ -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))); } diff --git a/src/backend/utils/adt/int8.c b/src/backend/utils/adt/int8.c index e8354dee44..afa434cfee 100644 --- a/src/backend/utils/adt/int8.c +++ b/src/backend/utils/adt/int8.c @@ -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; diff --git a/src/backend/utils/adt/jsonfuncs.c b/src/backend/utils/adt/jsonfuncs.c index 619547d6bf..68feeb2c5b 100644 --- a/src/backend/utils/adt/jsonfuncs.c +++ b/src/backend/utils/adt/jsonfuncs.c @@ -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))); } } diff --git a/src/backend/utils/adt/mac8.c b/src/backend/utils/adt/mac8.c index 0410b9888a..1533cfdca0 100644 --- a/src/backend/utils/adt/mac8.c +++ b/src/backend/utils/adt/mac8.c @@ -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; diff --git a/src/backend/utils/adt/numutils.c b/src/backend/utils/adt/numutils.c index 07682723b7..244904ea94 100644 --- a/src/backend/utils/adt/numutils.c +++ b/src/backend/utils/adt/numutils.c @@ -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; } diff --git a/src/backend/utils/adt/txid.c b/src/backend/utils/adt/txid.c index 5dd996f62c..1e38ca2aa5 100644 --- a/src/backend/utils/adt/txid.c +++ b/src/backend/utils/adt/txid.c @@ -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 diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 969e80f756..a05fb1a7eb 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -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 }, diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c index 08a08c8e8f..294ab705f1 100644 --- a/src/backend/utils/time/snapmgr.c +++ b/src/backend/utils/time/snapmgr.c @@ -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))); /* diff --git a/src/bin/psql/variables.c b/src/bin/psql/variables.c index c6a59ed478..5f7f6ce822 100644 --- a/src/bin/psql/variables.c +++ b/src/bin/psql/variables.c @@ -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; } diff --git a/src/include/catalog/pg_statistic_ext.h b/src/include/catalog/pg_statistic_ext.h index 78138026db..e6d1a8c3bc 100644 --- a/src/include/catalog/pg_statistic_ext.h +++ b/src/include/catalog/pg_statistic_ext.h @@ -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) */ diff --git a/src/test/regress/expected/alter_table.out b/src/test/regress/expected/alter_table.out index 0d400d9778..0478a8ac60 100644 --- a/src/test/regress/expected/alter_table.out +++ b/src/test/regress/expected/alter_table.out @@ -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); diff --git a/src/test/regress/expected/foreign_data.out b/src/test/regress/expected/foreign_data.out index 927d0189a0..c6e558b07f 100644 --- a/src/test/regress/expected/foreign_data.out +++ b/src/test/regress/expected/foreign_data.out @@ -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" diff --git a/src/test/regress/expected/json.out b/src/test/regress/expected/json.out index b25e20ca20..d7abae9867 100644 --- a/src/test/regress/expected/json.out +++ b/src/test/regress/expected/json.out @@ -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. diff --git a/src/test/regress/expected/jsonb.out b/src/test/regress/expected/jsonb.out index 79547035bd..dcea6a47a3 100644 --- a/src/test/regress/expected/jsonb.out +++ b/src/test/regress/expected/jsonb.out @@ -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. diff --git a/src/test/regress/expected/psql.out b/src/test/regress/expected/psql.out index 7957268388..bda8960bf3 100644 --- a/src/test/regress/expected/psql.out +++ b/src/test/regress/expected/psql.out @@ -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' diff --git a/src/test/regress/expected/rules.out b/src/test/regress/expected/rules.out index d582bc9ee4..f1c1b44d6f 100644 --- a/src/test/regress/expected/rules.out +++ b/src/test/regress/expected/rules.out @@ -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 -- diff --git a/src/test/regress/expected/stats_ext.out b/src/test/regress/expected/stats_ext.out index 441cfaa411..054a381dad 100644 --- a/src/test/regress/expected/stats_ext.out +++ b/src/test/regress/expected/stats_ext.out @@ -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; diff --git a/src/test/regress/expected/triggers.out b/src/test/regress/expected/triggers.out index 2f8029a2f7..620fac1e2c 100644 --- a/src/test/regress/expected/triggers.out +++ b/src/test/regress/expected/triggers.out @@ -2255,7 +2255,7 @@ NOTICE: trigger = my_table_insert_trig, new table = 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