-C In\ssqlite3_bind()\sinterfaces,\savoid\sacquiring\sthe\smutex\suntil\safter\sthe\nstatement\shandle\shas\sbeen\svalidated.\s\sTicket\s#3418.\s(CVS\s5768)
-D 2008-10-06T12:46:44
+C Expression\snodes\sof\stype\sTK_ROW\smean\sthe\srowid\sof\sthe\sfirst\stable\sin\sthe\nsource\slist.\s(CVS\s5769)
+D 2008-10-06T13:54:35
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in e4ab842f9a64ef61d57093539a8aab76b12810db
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
F src/prepare.c c7e00ed1b0bdcf699b1aad651247d4dc3d281b0b
F src/printf.c 785f87120589c1db672e37c6eb1087c456e6f84d
F src/random.c 11bbdf7def3746a762fbdb56c9d04648135ad6d8
-F src/resolve.c a6abf83125bce0c80ba04acc27c3565155ad305c
+F src/resolve.c 9aeb0719949bad117e0df9fdd06688a5fa06223b
F src/select.c 75d4ffe971e25831125ea165c0c580df00f4c403
F src/shell.c d83b578a8ccdd3e0e7fef4388a0887ce9f810967
F src/sqlite.h.in ea235b37a691b32e7941baa70fb0afaf6377dbb4
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 1dbced29de5f59ba2ebf877edcadf171540374d1
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P bb51c34506b3353506b6f3566fbe2a10d02e8ebc
-R 69a4995829880b2d104f98bd582a2981
+P 693503e241001271512f4ce3e8cc932ba6a3106c
+R 497dc3af1e2cb1328ea2b80e152ed99a
U drh
-Z aca7259dd10a822c578f92e2091145fe
+Z 1bfcb8fd89bfe1a5f0eb7238feee16f8
** resolve all identifiers by associating them with a particular
** table and column.
**
-** $Id: resolve.c,v 1.5 2008/08/29 02:14:03 drh Exp $
+** $Id: resolve.c,v 1.6 2008/10/06 13:54:35 drh Exp $
*/
#include "sqliteInt.h"
#include <stdlib.h>
}
#endif
switch( pExpr->op ){
+
+#ifndef SQLITE_OMIT_UPDATE_DELETE_LIMIT
+ /* The special operator TK_ROW means use the rowid for the first
+ ** column in the FROM clause. This is used by the LIMIT and ORDER BY
+ ** clause processing on UPDATE and DELETE statements.
+ */
+ case TK_ROW: {
+ SrcList *pSrcList = pNC->pSrcList;
+ struct SrcList_item *pItem;
+ assert( pSrcList && pSrcList->nSrc==1 );
+ pItem = pSrcList->a;
+ pExpr->op = TK_COLUMN;
+ pExpr->pTab = pItem->pTab;
+ pExpr->iTable = pItem->iCursor;
+ pExpr->iColumn = -1;
+ pExpr->affinity = SQLITE_AFF_INTEGER;
+ break;
+ }
+#endif /* SQLITE_OMIT_UPDATE_DELETE_LIMIT
+
/* A lone identifier is the name of a column.
*/
case TK_ID: {