mirror of
https://github.com/postgres/postgres.git
synced 2025-06-27 23:21:58 +03:00
Fix wrong error reports in 'number of array dimensions exceeds the
maximum allowed' messages, that have reported one-less dimensions. Alexey Klyukin
This commit is contained in:
@ -266,7 +266,7 @@ ExecEvalArrayRef(ArrayRefExprState *astate,
|
|||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
|
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
|
||||||
errmsg("number of array dimensions (%d) exceeds the maximum allowed (%d)",
|
errmsg("number of array dimensions (%d) exceeds the maximum allowed (%d)",
|
||||||
i, MAXDIM)));
|
i + 1, MAXDIM)));
|
||||||
|
|
||||||
upper.indx[i++] = DatumGetInt32(ExecEvalExpr(eltstate,
|
upper.indx[i++] = DatumGetInt32(ExecEvalExpr(eltstate,
|
||||||
econtext,
|
econtext,
|
||||||
@ -294,7 +294,7 @@ ExecEvalArrayRef(ArrayRefExprState *astate,
|
|||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
|
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
|
||||||
errmsg("number of array dimensions (%d) exceeds the maximum allowed (%d)",
|
errmsg("number of array dimensions (%d) exceeds the maximum allowed (%d)",
|
||||||
i, MAXDIM)));
|
j + 1, MAXDIM)));
|
||||||
|
|
||||||
lower.indx[j++] = DatumGetInt32(ExecEvalExpr(eltstate,
|
lower.indx[j++] = DatumGetInt32(ExecEvalExpr(eltstate,
|
||||||
econtext,
|
econtext,
|
||||||
|
@ -200,7 +200,7 @@ array_in(PG_FUNCTION_ARGS)
|
|||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
|
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
|
||||||
errmsg("number of array dimensions (%d) exceeds the maximum allowed (%d)",
|
errmsg("number of array dimensions (%d) exceeds the maximum allowed (%d)",
|
||||||
ndim, MAXDIM)));
|
ndim + 1, MAXDIM)));
|
||||||
|
|
||||||
for (q = p; isdigit((unsigned char) *q) || (*q == '-') || (*q == '+'); q++);
|
for (q = p; isdigit((unsigned char) *q) || (*q == '-') || (*q == '+'); q++);
|
||||||
if (q == p) /* no digits? */
|
if (q == p) /* no digits? */
|
||||||
@ -452,7 +452,7 @@ ArrayCount(const char *str, int *dim, char typdelim)
|
|||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
|
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
|
||||||
errmsg("number of array dimensions (%d) exceeds the maximum allowed (%d)",
|
errmsg("number of array dimensions (%d) exceeds the maximum allowed (%d)",
|
||||||
nest_level, MAXDIM)));
|
nest_level + 1, MAXDIM)));
|
||||||
temp[nest_level] = 0;
|
temp[nest_level] = 0;
|
||||||
nest_level++;
|
nest_level++;
|
||||||
if (ndim < nest_level)
|
if (ndim < nest_level)
|
||||||
|
Reference in New Issue
Block a user