aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrh <>2024-03-21 22:08:33 +0000
committerdrh <>2024-03-21 22:08:33 +0000
commitc2526e2c2d62cad935927f0aba112b788fce741a (patch)
tree3b761aa724e5cdcf153eeb1c4d0bee9feb34617c
parent29ef48a09751607ac5231ae1f030ab9b5d35969f (diff)
downloadsqlite-c2526e2c2d62cad935927f0aba112b788fce741a.tar.gz
sqlite-c2526e2c2d62cad935927f0aba112b788fce741a.zip
Fix a assert() that is incorrect, though harmless. Also add a test case.
FossilOrigin-Name: 57b0c984605d0f437b4930f6b994e15b80340c753d46a679b07d356c645856ea
-rw-r--r--manifest15
-rw-r--r--manifest.uuid2
-rw-r--r--src/expr.c5
-rw-r--r--test/default.test4
4 files changed, 16 insertions, 10 deletions
diff --git a/manifest b/manifest
index ca27c1812..a361e3509 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\stest\scases\sfor\srtree\sand\sfts5.\s\sNo\schanges\sto\scode.
-D 2024-03-20T16:29:19.087
+C Fix\sa\sassert()\sthat\sis\sincorrect,\sthough\sharmless.\s\sAlso\sadd\sa\stest\scase.
+D 2024-03-21T22:08:33.386
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -675,7 +675,7 @@ F src/date.c eebc54a00e888d3c56147779e9f361b77d62fd69ff2008c5373946aa1ba1d574
F src/dbpage.c 80e46e1df623ec40486da7a5086cb723b0275a6e2a7b01d9f9b5da0f04ba2782
F src/dbstat.c 3b677254d512fcafd4d0b341bf267b38b235ccfddbef24f9154e19360fa22e43
F src/delete.c cb766727c78e715f9fb7ec8a7d03658ed2a3016343ca687acfcec9083cdca500
-F src/expr.c 84acf0baadd92aae05f0d1d843c781da374ef66f8055f262d8f95825e09fe7eb
+F src/expr.c b5f1e44be4798d291a0e45f4f1f8a09971614fc3338b61f5a4c624837a84edd1
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
F src/fkey.c a47610f0a5c6cb0ad79f8fcef039c01833dec0c751bb695f28dc0ec6a4c3ba00
F src/func.c f8acebf8d6c4f38af99f766754650b26bca1eee058739834899896ce724e43b7
@@ -1031,7 +1031,7 @@ F test/dbpagefault.test 35f06cfb2ef100a9b19d25754e8141b9cba9b7daabd4c60fa5af93fc
F test/dbstatus.test 4a4221a883025ffd39696b3d1b3910b928fb097d77e671351acb35f3aed42759
F test/dbstatus2.test f5fe0afed3fa45e57cfa70d1147606c20d2ba23feac78e9a172f2fe8ab5b78ef
F test/decimal.test ef731887b43ee32ef86e1c8fddb61a40789f988332c029c601dcf2c319277e9e
-F test/default.test 9687cfb16717e4b8238c191697c98be88c0b16e568dd5368cd9284154097ef50
+F test/default.test 830fad7180cdf0e6a06e93acc0403bf73762314a639363314db5674c631b6127
F test/delete.test 2686e1c98d552ef37d79ad55b17b93fe96fad9737786917ce3839767f734c48f
F test/delete2.test 3a03f2cca1f9a67ec469915cb8babd6485db43fa
F test/delete3.test 555e84a00a99230b7d049d477a324a631126a6ab
@@ -2144,8 +2144,9 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 1303716a113c51e949acc46fbd01634ce0e5a016cbc2d01bb20dd03ffd1f28e0
-R 4316ed1103cbd21cf678a84593425581
+P 633dca907488b721ec1b8e470904af73369c1b1225005038aacb3e8a78c6390c
+Q +9ba3cff9d48fe8fc8a0a51291169599209d464465e44bdfd60058fd1e314a2b1
+R 29778b055e824f04c556d7025474ee3a
U drh
-Z 2d2263e03ee99152d87c9d3ddcc7a3ca
+Z e59e4ee383d05a95bfefdbb9cd164a12
# Remove this line to create a well-formed Fossil manifest.
diff --git a/manifest.uuid b/manifest.uuid
index fbe280b05..c00040e5c 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-633dca907488b721ec1b8e470904af73369c1b1225005038aacb3e8a78c6390c \ No newline at end of file
+57b0c984605d0f437b4930f6b994e15b80340c753d46a679b07d356c645856ea \ No newline at end of file
diff --git a/src/expr.c b/src/expr.c
index ee219acc0..3d5b2b9c6 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -218,9 +218,10 @@ Expr *sqlite3ExprSkipCollateAndLikely(Expr *pExpr){
assert( pExpr->x.pList->nExpr>0 );
assert( pExpr->op==TK_FUNCTION );
pExpr = pExpr->x.pList->a[0].pExpr;
- }else{
- assert( pExpr->op==TK_COLLATE );
+ }else if( pExpr->op==TK_COLLATE ){
pExpr = pExpr->pLeft;
+ }else{
+ break;
}
}
return pExpr;
diff --git a/test/default.test b/test/default.test
index 06a180c1d..de67f643b 100644
--- a/test/default.test
+++ b/test/default.test
@@ -136,5 +136,9 @@ do_catchsql_test default-5.1 {
CREATE TABLE t1 (a,b DEFAULT(random() NOTNULL IN (RAISE(IGNORE),2,3)));
INSERT INTO t1(a) VALUES(1);
} {1 {RAISE() may only be used within a trigger-program}}
+do_catchsql_test default-5.2 {
+ CREATE TABLE Table0 (Col0 DEFAULT (RAISE(IGNORE) ) ) ;
+ INSERT INTO Table0 DEFAULT VALUES ;
+} {1 {RAISE() may only be used within a trigger-program}}
finish_test