]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Make use of the sqlite3ExprDeferredDelete() interface in the previous
authordrh <>
Wed, 20 Jul 2022 20:36:26 +0000 (20:36 +0000)
committerdrh <>
Wed, 20 Jul 2022 20:36:26 +0000 (20:36 +0000)
check-in, and in another place where it might be helpful.

FossilOrigin-Name: 22f90e9683d5cd6619ccdb06a02e9dde9f4b7457391c0dbb4c3216c22fc0db47

manifest
manifest.uuid
src/expr.c
src/resolve.c

index 2197f5c0544578fb574565821f29ee63dd63222d..28c018cc1c32e25f1410e49d7ee8f6fd8c779e72 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Simplify\sthe\slogic\sthat\sconverts\sthe\s"1"\sexpression\sin\s"ORDER\sBY\s1"\sinto\sa\ncopy\sof\sthe\sexpression\sthat\sdefines\sthe\sfirst\soutput\scolumn.
-D 2022-07-20T16:42:40.963
+C Make\suse\sof\sthe\ssqlite3ExprDeferredDelete()\sinterface\sin\sthe\sprevious\ncheck-in,\sand\sin\sanother\splace\swhere\sit\smight\sbe\shelpful.
+D 2022-07-20T20:36:26.106
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -521,7 +521,7 @@ F src/date.c 272162554168e7af4976213850e1c4c5f33b964d299ceb0983f3d5cceba01d05
 F src/dbpage.c 5808e91bc27fa3981b028000f8fadfdc10ce9e59a34ce7dc4e035a69be3906ec
 F src/dbstat.c 861e08690fcb0f2ee1165eff0060ea8d4f3e2ea10f80dab7d32ad70443a6ff2d
 F src/delete.c a8e844af211a48b13b5b358be77a12c860c6a557c21990ad51a548e2536500ce
-F src/expr.c 4907afcb86d72b5525d8767515ce425ec53c7a2d3664441b46cef5b376ee0cba
+F src/expr.c 9f568514b37dff8b1e10df6c2ccea0e5d871272d913877cde999e0168969b573
 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
 F src/fkey.c d965ede15d8360c09ed59348940649ee647b192e784466837d7aefa836d1d91e
 F src/func.c 8f72e88cccdee22185133c10f96ccd61dc34c5ea4b1fa9a73c237ef59b2e64f1
@@ -568,7 +568,7 @@ F src/pragma.h e690a356c18e98414d2e870ea791c1be1545a714ba623719deb63f7f226d8bb7
 F src/prepare.c c62820c15dcb63013519c8e41d9f928d7478672cc902cfd0581c733c271dbf45
 F src/printf.c e99ee9741e79ae3873458146f59644276657340385ade4e76a5f5d1c25793764
 F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c
-F src/resolve.c f0d663c9b1ceeb3e7d262ede872dd3b24b323a7cc11d84c05a39d962e7d64b07
+F src/resolve.c efea4e5fbecfd6d0a9071b0be0d952620991673391b6ffaaf4c277b0bb674633
 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
 F src/select.c 45b93eee3c349f46240ddc14344365bbf34579ec332bd4c7bc061945e38172e2
 F src/shell.c.in 29749b34bbd19d0004fdb6f61f62659096e1c0b4dfb1ad2314e7fafbe9dd8d37
@@ -1981,8 +1981,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P e5e9311863544ef30dccd3bd0b3a048a864a650e69cdf9aab13dbe32a4777b51
-R 311c30e12c0d7c0934ec40d91e93ee45
+P e1f1cfe7f4387b60443bd31742e2f49db1a2d0443200318a898ba0da216619be
+R cf76080c96baf955a2cebd7f6b61366a
 U drh
-Z d68f40fa601eed057ba107efae30da32
+Z 4c65ef63d6c645ffaac99f031aa62bbf
 # Remove this line to create a well-formed Fossil manifest.
index a1d113086130b153800829cd9781365e66831f8d..85bd5eafddef16ab9bceed6baba3a3ad38e21c84 100644 (file)
@@ -1 +1 @@
-e1f1cfe7f4387b60443bd31742e2f49db1a2d0443200318a898ba0da216619be
\ No newline at end of file
+22f90e9683d5cd6619ccdb06a02e9dde9f4b7457391c0dbb4c3216c22fc0db47
\ No newline at end of file
index c0b2bee94848f606149e7acfb15cc15261e8e9c3..61b1d60e4b33dfc43bbae1371fb6dcc7ef79d53c 100644 (file)
@@ -3325,7 +3325,7 @@ int sqlite3CodeSubselect(Parse *pParse, Expr *pExpr){
       pLimit = sqlite3PExpr(pParse, TK_NE,
                             sqlite3ExprDup(db, pSel->pLimit->pLeft, 0), pLimit);
     }
-    sqlite3ExprDelete(db, pSel->pLimit->pLeft);
+    sqlite3ExprDeferredDelete(pParse, pSel->pLimit->pLeft);
     pSel->pLimit->pLeft = pLimit;
   }else{
     /* If there is no pre-existing limit add a limit of 1 */
index 9512e3a42d64f32195aae956d3d6109e25f95191..1c3a9d9097025067bd0873ab2ff9e42b73ddb455 100644 (file)
@@ -99,9 +99,7 @@ static void resolveAlias(
         pExpr->y.pWin->pOwner = pExpr;
       }
     }
-    sqlite3ParserAddCleanup(pParse,
-      (void(*)(sqlite3*,void*))sqlite3ExprDelete,
-      pDup);
+    sqlite3ExprDeferredDelete(pParse, pDup);
   }
 }