More size and speed improvements in the expression name resolver.

FossilOrigin-Name: e0a3d39f51a50420bae97e2bc9a8c01a5b0d3db8
This commit is contained in:
drh 2017-03-07 03:40:48 +00:00
parent 3cf48e3e89
commit a92b81f487
3 changed files with 14 additions and 13 deletions

@ -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

@ -1 +1 @@
1a3554e1d71b666325ff377fae5329d79ce5c05f
e0a3d39f51a50420bae97e2bc9a8c01a5b0d3db8

@ -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