-C VACUUM\sworks\sagain.\s(CVS\s1412)
-D 2004-05-20T02:01:27
+C Bug\sfix\sassociated\swith\sOP_SetNumColumns\sin\sinsert.c.\s\sAlso\schanged\sa\nvariable\sname\sin\sOP_Column.\s(CVS\s1413)
+D 2004-05-20T02:42:16
F Makefile.in ab7b0d5118e2da97bac66be8684a1034e3500f5a
F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
F src/func.c cfbb7096efb58e2857e3b312a8958a12774b625a
F src/hash.c 440c2f8cb373ee1b4e13a0988489c7cd95d55b6f
F src/hash.h 762d95f1e567664d1eafc1687de755626be962fb
-F src/insert.c 0ee4c4039fede2b9ab594c4d2db24c9b22e0fbc5
+F src/insert.c 04865f0a8a5cbc81eab7ca7406498d5356ef0763
F src/main.c 2bfbddaea0a1db592967f4b0844473a24adce2fe
F src/md5.c 8e39fdae6d8776b87558e91dcc94740c9b635a9c
F src/os.c ddcda92f7fd71b4513c57c1ec797917f206d504e
F src/utf.c 72a9843000985d11100e711e0ef06ff4b8946057
F src/util.c 35d20bd8d467861747262d12b87045d937781d93
F src/vacuum.c c134702e023db8778e6be59ac0ea7b02315b5476
-F src/vdbe.c 973ffe763e40b0a5c993d5f5632de58a37c411db
+F src/vdbe.c fe412966e48948b680a5bc25796e6e9727174b4b
F src/vdbe.h 314e9c07db73a42a6ba91ab7539e27652fc88870
F src/vdbeInt.h 97b95c622ea467d39879ae97d07732ebb4891b76
F src/vdbeaux.c 0039a786c6d1c1eeff36f50ad2c528de70e11b26
F www/tclsqlite.tcl b9271d44dcf147a93c98f8ecf28c927307abd6da
F www/vdbe.tcl 9b9095d4495f37697fd1935d10e14c6015e80aa1
F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P 46b0942239dde9982abaaa7f77d5cf8375eb4209
-R edbaa540380795e64aea48f7af64d6d8
+P c4e1d02ffded1421c09b0c8e45954e69f3583297
+R 00efca936dc0d4e7252b5e6e6ac01b8b
U drh
-Z f1811767ec20f90795abc445172ab0b2
+Z f146143edcb95dd51e33c2460fa9add3
-c4e1d02ffded1421c09b0c8e45954e69f3583297
\ No newline at end of file
+bf2181f13fdad72d8c90eccc2d29034178181731
\ No newline at end of file
** This file contains C code routines that are called by the parser
** to handle INSERT statements in SQLite.
**
-** $Id: insert.c,v 1.103 2004/05/19 14:56:56 drh Exp $
+** $Id: insert.c,v 1.104 2004/05/20 02:42:16 drh Exp $
*/
#include "sqliteInt.h"
*/
sqlite3VdbeChangeP2(v, iInitCode, sqlite3VdbeCurrentAddr(v));
sqlite3VdbeAddOp(v, OP_OpenTemp, srcTab, 0);
- sqlite3VdbeAddOp(v, OP_SetNumColumns, srcTab, pTab->nCol);
+ sqlite3VdbeAddOp(v, OP_SetNumColumns, srcTab, nColumn);
sqlite3VdbeAddOp(v, OP_Goto, 0, iSelectLoop);
sqlite3VdbeResolveLabel(v, iCleanup);
}else{
** in this file for details. If in doubt, do not deviate from existing
** commenting and indentation practices when changing or adding code.
**
-** $Id: vdbe.c,v 1.306 2004/05/20 01:12:35 danielk1977 Exp $
+** $Id: vdbe.c,v 1.307 2004/05/20 02:42:17 drh Exp $
*/
#include "sqliteInt.h"
#include "os.h"
}
}
+/*
+** Move data out of a btree key or data field and into a Mem structure.
+** The data or key is taken from the entry that pCur is currently pointing
+** to. offset and amt determine what portion of the data or key to retrieve.
+** key is true to get the key or false to get data. The result is written
+** into the pMem element.
+*/
static int getBtreeMem(
BtCursor *pCur, /* Cursor pointing at record to retrieve. */
int offset, /* Offset from the start of data to return bytes from. */
int nn;
char *zData;
- Mem zMem;
- zMem.flags = 0;
+ Mem sMem;
+ sMem.flags = 0;
assert( i<p->nCursor );
pTos++;
max_space = payloadSize;
}
- rc = getBtreeMem(pCrsr, 0, max_space, pC->keyAsData, &zMem);
+ rc = getBtreeMem(pCrsr, 0, max_space, pC->keyAsData, &sMem);
if( rc!=SQLITE_OK ){
goto abort_due_to_error;
}
- zData = zMem.z;
+ zData = sMem.z;
}
/* Read all the serial types for the record. At the end of this block
pC->nHeader = offset;
pC->cacheValid = 1;
- Release(&zMem);
- zMem.flags = 0;
+ Release(&sMem);
+ sMem.flags = 0;
}
/* Compute the offset from the beginning of the record to the beginning
zData = &zRec[offset];
}else{
len = sqlite3VdbeSerialTypeLen(pC->aType[p2]);
- getBtreeMem(pCrsr, offset, len, pC->keyAsData, &zMem);
- zData = zMem.z;
+ getBtreeMem(pCrsr, offset, len, pC->keyAsData, &sMem);
+ zData = sMem.z;
}
sqlite3VdbeSerialGet(zData, pC->aType[p2], pTos);
- Release(&zMem);
+ Release(&sMem);
break;
}