aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2021-05-27 09:52:12 +0200
committerPeter Eisentraut <peter@eisentraut.org>2021-05-27 09:54:14 +0200
commit388e75ad33489b77cfb9a8590a91e9287d8fb960 (patch)
tree1ef258f3c6d78552dc9ecedd2b3b97f2cba93f20 /src
parent2941138e60fc711bd221b3264807f36cc079dfbb (diff)
downloadpostgresql-388e75ad33489b77cfb9a8590a91e9287d8fb960.tar.gz
postgresql-388e75ad33489b77cfb9a8590a91e9287d8fb960.zip
Replace run-time error check with assertion
The error message was checking that the structures returned from the parser matched expectations. That's something we usually use assertions for, not a full user-facing error message. So replace that with an assertion (hidden inside lfirst_node()). Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://www.postgresql.org/message-id/flat/452e9df8-ec89-e01b-b64a-8cc6ce830458%40enterprisedb.com
Diffstat (limited to 'src')
-rw-r--r--src/backend/commands/statscmds.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/src/backend/commands/statscmds.c b/src/backend/commands/statscmds.c
index acae19176c0..b244a0fbd7b 100644
--- a/src/backend/commands/statscmds.c
+++ b/src/backend/commands/statscmds.c
@@ -220,26 +220,14 @@ CreateStatistics(CreateStatsStmt *stmt)
*/
foreach(cell, stmt->exprs)
{
- Node *expr = (Node *) lfirst(cell);
- StatsElem *selem;
- HeapTuple atttuple;
- Form_pg_attribute attForm;
- TypeCacheEntry *type;
-
- /*
- * We should not get anything else than StatsElem, given the grammar.
- * But let's keep it as a safety.
- */
- if (!IsA(expr, StatsElem))
- ereport(ERROR,
- (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("only simple column references and expressions are allowed in CREATE STATISTICS")));
-
- selem = (StatsElem *) expr;
+ StatsElem *selem = lfirst_node(StatsElem, cell);
if (selem->name) /* column reference */
{
char *attname;
+ HeapTuple atttuple;
+ Form_pg_attribute attForm;
+ TypeCacheEntry *type;
attname = selem->name;
@@ -273,6 +261,7 @@ CreateStatistics(CreateStatsStmt *stmt)
{
Node *expr = selem->expr;
Oid atttype;
+ TypeCacheEntry *type;
Assert(expr != NULL);