aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/commands/statscmds.c7
-rw-r--r--src/backend/parser/parse_utilcmd.c3
2 files changed, 7 insertions, 3 deletions
diff --git a/src/backend/commands/statscmds.c b/src/backend/commands/statscmds.c
index 9f963ddee98..1a989050984 100644
--- a/src/backend/commands/statscmds.c
+++ b/src/backend/commands/statscmds.c
@@ -56,6 +56,7 @@ CreateStatistics(CreateStatsStmt *stmt)
int16 attnums[STATS_MAX_DIMENSIONS];
int numcols = 0;
char *namestr;
+ NameData stxname;
Oid statoid;
Oid namespaceId;
Oid stxowner = GetUserId();
@@ -134,7 +135,8 @@ CreateStatistics(CreateStatsStmt *stmt)
* object in the same namespace as the relation, and cons up a name for it.
*/
if (stmt->defnames)
- namespaceId = QualifiedNameGetCreationNamespace(stmt->defnames, &namestr);
+ namespaceId = QualifiedNameGetCreationNamespace(stmt->defnames,
+ &namestr);
else
{
namespaceId = RelationGetNamespace(rel);
@@ -143,6 +145,7 @@ CreateStatistics(CreateStatsStmt *stmt)
"stat",
namespaceId);
}
+ namestrcpy(&stxname, namestr);
/*
* Deal with the possibility that the statistics object already exists.
@@ -306,7 +309,7 @@ CreateStatistics(CreateStatsStmt *stmt)
memset(values, 0, sizeof(values));
memset(nulls, false, sizeof(nulls));
values[Anum_pg_statistic_ext_stxrelid - 1] = ObjectIdGetDatum(relid);
- values[Anum_pg_statistic_ext_stxname - 1] = CStringGetDatum(namestr);
+ values[Anum_pg_statistic_ext_stxname - 1] = NameGetDatum(&stxname);
values[Anum_pg_statistic_ext_stxnamespace - 1] = ObjectIdGetDatum(namespaceId);
values[Anum_pg_statistic_ext_stxowner - 1] = ObjectIdGetDatum(stxowner);
values[Anum_pg_statistic_ext_stxkeys - 1] = PointerGetDatum(stxkeys);
diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c
index ed7b79d4230..b3367f0cd4b 100644
--- a/src/backend/parser/parse_utilcmd.c
+++ b/src/backend/parser/parse_utilcmd.c
@@ -2255,7 +2255,8 @@ transformIndexConstraint(Constraint *constraint, CreateStmtContext *cxt)
* transformExtendedStatistics
* Handle extended statistic objects
*
- * Right now, there's nothing to do here, so we just copy the list.
+ * Right now, there's nothing to do here, so we just append the list to
+ * the existing "after" list.
*/
static void
transformExtendedStatistics(CreateStmtContext *cxt)