diff options
author | drh <> | 2021-06-30 11:53:21 +0000 |
---|---|---|
committer | drh <> | 2021-06-30 11:53:21 +0000 |
commit | 14a1b1c132a0a2249e46980a55e3916a819066bd (patch) | |
tree | a71eccdf574049acc9255434570ac53907406374 /src/expr.c | |
parent | cf1e25566b5d294593fa310eb9375cc1cb406e5d (diff) | |
download | sqlite-14a1b1c132a0a2249e46980a55e3916a819066bd.tar.gz sqlite-14a1b1c132a0a2249e46980a55e3916a819066bd.zip |
Do not enforce the SQLITE_LIMIT_FUNCTION_ARG limit for internally generated
SQL. This prevents problems with statements like ALTER TABLE if the
function argument limit is set too low.
[forum:/forumpost/17735aa21f3ddab2|Forum post 17735aa21f3ddab2].
FossilOrigin-Name: 763fdec5b3151eeab001c50e78f654cd9b4b4c10e81e50a663046a70e64d5339
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/expr.c b/src/expr.c index b751f51a6..06c3b87cd 100644 --- a/src/expr.c +++ b/src/expr.c @@ -986,7 +986,10 @@ Expr *sqlite3ExprFunction( sqlite3ExprListDelete(db, pList); /* Avoid memory leak when malloc fails */ return 0; } - if( pList && pList->nExpr > pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ + if( pList + && pList->nExpr > pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] + && !pParse->nested + ){ sqlite3ErrorMsg(pParse, "too many arguments on function %T", pToken); } pNew->x.pList = pList; |