From 9f24b53dcccf022ee9290f7c38872e288b1eaaa3 Mon Sep 17 00:00:00 2001 From: drh Date: Mon, 5 Sep 2016 22:50:48 +0000 Subject: [PATCH] Simplified logic to extract a column from a row value. FossilOrigin-Name: e8f105c3009e9b667db2afc0088b020a2b94d370 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/expr.c | 5 ++--- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/manifest b/manifest index a7e3009364..dbde222f9f 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\san\sassert()\sso\sthat\sit\sdoes\sC-compiler\sdoes\snot\scombine\san\sassert()\nconditional\swith\sa\sproduction\scode\sconditional\sand\sthereby\sconfuse\sthe\smutation\ntesting\sscript. -D 2016-09-05T19:57:46.769 +C Simplified\slogic\sto\sextract\sa\scolumn\sfrom\sa\srow\svalue. +D 2016-09-05T22:50:48.311 F Makefile.in cfd8fb987cd7a6af046daa87daa146d5aad0e088 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 5017381e4853b1472e01d5bb926be1268eba429c @@ -338,7 +338,7 @@ F src/ctime.c e77f3dc297b4b65c96da78b4ae4272fdfae863d7 F src/date.c 95c9a8d00767e7221a8e9a31f4e913fc8029bf6b F src/dbstat.c 19ee7a4e89979d4df8e44cfac7a8f905ec89b77d F src/delete.c 76c084f0265f4a3cd1ecf17eee112a94f1ccbc05 -F src/expr.c 48b18962e32c22be92eb00ef941499f4c80efd2c +F src/expr.c 32bbbf7ef8d0e49e346612b1832a51a3dcf41818 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb F src/fkey.c e2be0968c1adc679c87e467aa5b4f167588f38a8 F src/func.c 29cc9acb170ec1387b9f63eb52cd85f8de96c771 @@ -1522,7 +1522,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 96269f0179a7d8fa44ee278cef362962368c59ef -R 2715120448e06410de8fb9d7dcf49e0c +P 2fa5288a7ef43f1fb26037c1b5e84b7b90400623 +R 7603658287e131d43381ef690aa890bc U drh -Z 8e9c25e5732d609d10738e0bb4ef6b76 +Z 751e7d4fc1004371a10bd2fdff652b35 diff --git a/manifest.uuid b/manifest.uuid index 9849952ab4..b0fd78e535 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -2fa5288a7ef43f1fb26037c1b5e84b7b90400623 \ No newline at end of file +e8f105c3009e9b667db2afc0088b020a2b94d370 \ No newline at end of file diff --git a/src/expr.c b/src/expr.c index 517034ca39..a21ca05d51 100644 --- a/src/expr.c +++ b/src/expr.c @@ -371,9 +371,8 @@ int sqlite3ExprVectorSize(Expr *pExpr){ Expr *sqlite3VectorFieldSubexpr(Expr *pVector, int i){ assert( iop==TK_SELECT - || (pVector->op==TK_REGISTER && pVector->op2==TK_SELECT) - ){ + assert( pVector->op2==0 || pVector->op==TK_REGISTER ); + if( pVector->op==TK_SELECT || pVector->op2==TK_SELECT ){ return pVector->x.pSelect->pEList->a[i].pExpr; }else{ return pVector->x.pList->a[i].pExpr; -- 2.47.2