diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2021-05-27 09:52:12 +0200 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2021-05-27 09:54:14 +0200 |
commit | 388e75ad33489b77cfb9a8590a91e9287d8fb960 (patch) | |
tree | 1ef258f3c6d78552dc9ecedd2b3b97f2cba93f20 /src | |
parent | 2941138e60fc711bd221b3264807f36cc079dfbb (diff) | |
download | postgresql-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.c | 21 |
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); |