From ce5dd9e8d659f2e65031df7a9a6ed3a91ae417d7 Mon Sep 17 00:00:00 2001 From: drh <> Date: Thu, 7 Apr 2022 20:45:38 +0000 Subject: [PATCH] Fix two unreachable branches introduced by the recent sqlite3TriggersExist() optimization. FossilOrigin-Name: 1b5475d212cf9de0bff69eee8c607b4fcd8e04bf4df72171429e7609c4153951 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/trigger.c | 6 ++---- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/manifest b/manifest index 66ed4df0ca..9e29deaa06 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Enhance\sthe\sEXPLAIN\soutput\sformatting\sin\sthe\sCLI\sso\sthat\sthe\ssubroutine\sthat\nimplements\sthe\sloop\sbody\sfor\sthe\smulti-index\sOR\soptimization\sis\sindented. -D 2022-04-07T19:06:31.719 +C Fix\stwo\sunreachable\sbranches\sintroduced\sby\sthe\srecent\nsqlite3TriggersExist()\soptimization. +D 2022-04-07T20:45:38.697 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -618,7 +618,7 @@ F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9 F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c F src/tokenize.c a38f52058b517929e264094abd0b5fd1e8e145a1aa43bc6f6a72ae5218f96c98 F src/treeview.c 80a3d70bbc112399aa3cc7e777acc5d07c452e44c652630fc158d4594d86afd1 -F src/trigger.c 4cdfe612037f10a42b32a59ba2a356105d27f51fd245d448375b947fb34db9a4 +F src/trigger.c 372ada38f667c6823a3db15749eb668338e65c793394e55a37e56a489f2d1b55 F src/update.c 2cfaded82ca80ff56afb8c3ae5e88284e0824bfd86119827cc22481959f96f92 F src/upsert.c 8789047a8f0a601ea42fa0256d1ba3190c13746b6ba940fe2d25643a7e991937 F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0 @@ -1945,8 +1945,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 fa5276725f246cef9d58b27c1e617ee3f873f7a9b88284a4e8fc453ebda338bc -R 3f3f316e7621b39e6212d4a123c3e0e2 +P c2965fea9df7076b235d3eadaf84f0a36242476d0329030b0e57557b66e2540c +R 07d0b0c26e9cd2798bbb00ddbafc6a3b U drh -Z 65aae2da34a10e9f483e6d1ce0511661 +Z 93237070ff101cf9292ceb1ee884c28a # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index a72d788b29..55edbcf9bb 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -c2965fea9df7076b235d3eadaf84f0a36242476d0329030b0e57557b66e2540c \ No newline at end of file +1b5475d212cf9de0bff69eee8c607b4fcd8e04bf4df72171429e7609c4153951 \ No newline at end of file diff --git a/src/trigger.c b/src/trigger.c index 3ff2ebc91b..109d82cc22 100644 --- a/src/trigger.c +++ b/src/trigger.c @@ -52,9 +52,7 @@ Trigger *sqlite3TriggerList(Parse *pParse, Table *pTab){ Trigger *pList; /* List of triggers to return */ HashElem *p; /* Loop variable for TEMP triggers */ - if( pParse->disableTriggers ){ - return 0; - } + assert( pParse->disableTriggers==0 ); pTmpSchema = pParse->db->aDb[1].pSchema; p = sqliteHashFirst(&pTmpSchema->trigHash); pList = pTab->pTrigger; @@ -733,7 +731,7 @@ static int checkColumnOverlap(IdList *pIdList, ExprList *pEList){ ** Return true if any TEMP triggers exist */ static int tempTriggersExist(sqlite3 *db){ - if( db->aDb[1].pSchema==0 ) return 0; + if( NEVER(db->aDb[1].pSchema==0) ) return 0; if( sqliteHashFirst(&db->aDb[1].pSchema->trigHash)==0 ) return 0; return 1; } -- 2.47.2