diff --git a/manifest b/manifest index 7a5b12b81f..e3370f8805 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Small\ssize\sreduction\sand\sperformance\sincrease\sin\sthe\sname\sresolver\sroutine\nfor\sexpressions. -D 2017-03-07T03:25:52.677 +C More\ssize\sand\sspeed\simprovements\sin\sthe\sexpression\sname\sresolver. +D 2017-03-07T03:40:48.199 F Makefile.in edb6bcdd37748d2b1c3422ff727c748df7ffe918 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc a89ea37ab5928026001569f056973b9059492fe2 @@ -395,7 +395,7 @@ F src/pragma.h c9c763958fec92b04125571472c9500b351c5f7f F src/prepare.c b1140c3d0cf59bc85ace00ce363153041b424b7a F src/printf.c 67427bbee66d891fc6f6f5aada857e9cdb368c1c F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 -F src/resolve.c 3fd6fdb3666f24bbcc15039031d0b19a5e53c901 +F src/resolve.c 3e518b962d932a997fae373366880fc028c75706 F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac F src/select.c d12f3539f80db38b09015561b569e0eb1c4b6c5f F src/shell.c 27d2b31099fd2cd749e44d025ef9b54ca26692cb @@ -1562,7 +1562,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 73019a8bba29fd07f73559cd00d5346fa822b439 -R 1209553f688221f7757a0938ef904e6c +P 1a3554e1d71b666325ff377fae5329d79ce5c05f +R 5deac8a39ddd88b8493847a75a8da44a U drh -Z 582428290c16e3af0ac541cc18ae2bc9 +Z bf228925fa0c3d0f27c143e7173a6889 diff --git a/manifest.uuid b/manifest.uuid index 7407f18c83..9f3f1bbd0a 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -1a3554e1d71b666325ff377fae5329d79ce5c05f \ No newline at end of file +e0a3d39f51a50420bae97e2bc9a8c01a5b0d3db8 \ No newline at end of file diff --git a/src/resolve.c b/src/resolve.c index 59157996c5..6b3caa625a 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -229,7 +229,8 @@ static int lookupName( } /* Start at the inner-most context and move outward until a match is found */ - while( pNC && cnt==0 ){ + assert( pNC && cnt==0 ); + do{ ExprList *pEList; SrcList *pSrcList = pNC->pSrcList; @@ -414,11 +415,11 @@ static int lookupName( /* Advance to the next name context. The loop will exit when either ** we have a match (cnt>0) or when we run out of name contexts. */ - if( cnt==0 ){ - pNC = pNC->pNext; - nSubquery++; - } - } + if( cnt ) break; + pNC = pNC->pNext; + nSubquery++; + }while( pNC ); + /* ** If X and Y are NULL (in other words if only the column name Z is