]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge in trunk changes.
authordrh <drh@noemail.net>
Tue, 3 Dec 2013 20:51:33 +0000 (20:51 +0000)
committerdrh <drh@noemail.net>
Tue, 3 Dec 2013 20:51:33 +0000 (20:51 +0000)
FossilOrigin-Name: a2914d6b17358de05eb39f764c0c13d2d4cf8f3b

1  2 
manifest
manifest.uuid
src/update.c
src/vdbeaux.c

diff --cc manifest
index f1f7cfa2b76fa27a274c70f25559012c5e05fe82,aceb0f89c8def8b5c9b0d1144d3fbb1a221a7416..5f60db76891f73dabc575197cd8e398bf29ff83d
+++ b/manifest
@@@ -1,9 -1,9 +1,9 @@@
- C Merge\sall\srecent\s3.8.2\sbeta\schanges\sfrom\strunk.
- D 2013-12-02T21:58:19.732
 -C Remove\sa\sbranch\sin\sSTAT4\slogic\sthat\sis\sno\slonger\sreachable\safter\s\nthe\sprevious\schange.
 -D 2013-12-03T19:49:55.482
++C Merge\sin\strunk\schanges.
++D 2013-12-03T20:51:33.333
  F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 -F Makefile.in e1a9b4258bbde53f5636f4e238c65b7e11459e2b
 +F Makefile.in 06b851f767034811d4f6e159367c453dc28d3925
  F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
 -F Makefile.msc a6247094079f3ef97dcd7a69d0e13ff718c7073e
 +F Makefile.msc da7f2a230af6e39b71b2706dbb4c35fff7222a0f
  F Makefile.vxworks db21ed42a01d5740e656b16f92cb5d8d5e5dd315
  F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6
  F VERSION 52f7e22bfcec71a462e34194b4ae1671380fde59
@@@ -290,17 -276,17 +290,17 @@@ F src/test_vfstrace.c 34b544e80ba7fb77b
  F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
  F src/tokenize.c ec4c1a62b890bf1dbcdb966399e140b904c700a4
  F src/trigger.c d84e1f3669e9a217731a14a9d472b1c7b87c87ba
- F src/update.c 046d7df2a4b3d85442a758f484eb2d40a48b5465
 -F src/update.c d1c2477dcf14d90999d1935af4efb4806553250b
++F src/update.c 4ada523da2d315996296456a8e384f11983a9aa0
  F src/utf.c 6fc6c88d50448c469c5c196acf21617a24f90269
  F src/util.c c1d47254d805074226eb68bab2327f2559799d88
  F src/vacuum.c 3728d74919d4fb1356f9e9a13e27773db60b7179
 -F src/vdbe.c 54894fde8dc806d259e015ac7c9680145e725835
 -F src/vdbe.h c06f0813f853566457ce9cfb1a4a4bc39a5da644
 -F src/vdbeInt.h 05fbda0e061dbc4aaa2709a8cccf3515c245b263
 -F src/vdbeapi.c 93a22a9ba2abe292d5c2cf304d7eb2e894dde0ed
 -F src/vdbeaux.c 09b79d475f5af2b3b5068f639609d88e0ced9d95
 -F src/vdbeblob.c 8cd05a5630e6d5563ad017bf82edaf812b28acde
 +F src/vdbe.c 9c6fb9ed1b9165427b0fdc812bc9c48c031f77da
 +F src/vdbe.h b7bfa7b468fcad2cf1890969fe7459325da00385
 +F src/vdbeInt.h 1a5c604f33a5d46c839fee0cab16743aa3e1bc2e
 +F src/vdbeapi.c e80d6d9dea792bd823cb64ae05cba446a7b3556a
- F src/vdbeaux.c aad7d1714be08e05999a92f366328173286ecaac
++F src/vdbeaux.c e3228efe9460dccdc92a0ef4f38a7147166226da
 +F src/vdbeblob.c a2809461743e0b9dd9be871149ac65e8d2c80c08
- F src/vdbemem.c af650c2019dc197f062440cdb4650b7204e648bf
+ F src/vdbemem.c 20e349d2ca928802fc8f2d42a2cc488fd6981d3f
  F src/vdbesort.c 9d83601f9d6243fe70dd0169a2820c5ddfd48147
  F src/vdbetrace.c e7ec40e1999ff3c6414424365d5941178966dcbc
  F src/vtab.c 21b932841e51ebd7d075e2d0ad1415dce8d2d5fd
@@@ -1160,7 -1145,7 +1160,7 @@@ F tool/vdbe-compress.tcl f12c884766bd14
  F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
  F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
  F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
- P 3a2a1bd47875e114d8e6f31c1768908f401d2861 bc8eacc7f71413184ef5be1412e51f8fd7174cd1
- R 23fdb9bec4ca7fb51a8c2b5b5649fa63
 -P 33ad4f91477907b7b3e5808c7ba11aacc9a83ba6
 -R b9a8385eb7153992ed9d3229f4d58e8a
++P 67c34ccfa9596a923695dc4994ec87b331f8326c eca7d3f1612c7a009a9e4ef89f76f9b7e275d1e6
++R edf2c1b422139b7ed86a96163f4a4748
  U drh
- Z d6ca9769225d05465b3da41409f1cf6b
 -Z 1abf6c68d7a5a613f293f6a4e7a65cb6
++Z b6ef0142ade532e078158751859653ef
diff --cc manifest.uuid
index b7ae0d856a0506c089458984cb60bff4fc33a620,33fe443f154dcf54841ff23ecaaf153902fc2e18..16ea09e8b556a9a39102dc02cd18f2865c759fa7
@@@ -1,1 -1,1 +1,1 @@@
- 67c34ccfa9596a923695dc4994ec87b331f8326c
 -eca7d3f1612c7a009a9e4ef89f76f9b7e275d1e6
++a2914d6b17358de05eb39f764c0c13d2d4cf8f3b
diff --cc src/update.c
index 3e42461cd4bde39d7f1eff7060c36f30d043704b,4459a9fb864b27652b833224de8b3b03cd22895a..e80822d9b185db850861e00dcb8b5b80c2f27254
@@@ -573,30 -573,13 +573,26 @@@ void sqlite3Update
        }
      }
      sqlite3GenerateRowIndexDelete(pParse, pTab, iDataCur, iIdxCur, aRegIdx);
 -  
 -    /* If changing the record number, delete the old record.  */
 -    if( hasFK || chngKey || pPk!=0 ){
 -      sqlite3VdbeAddOp2(v, OP_Delete, iDataCur, 0);
 +
 +    /* If changing the rowid value, or if there are foreign key constraints
 +    ** to process, delete the old record. Otherwise, add a noop OP_Delete
 +    ** to invoke the pre-update hook.
 +    **
 +    ** That (regNew==regnewRowid+1) is true is also important for the 
 +    ** pre-update hook. If the caller invokes preupdate_new(), the returned
 +    ** value is copied from memory cell (regNewRowid+1+iCol), where iCol
 +    ** is the column index supplied by the user.
 +    */
 +    assert( regNew==regNewRowid+1 );
 +    sqlite3VdbeAddOp3(v, OP_Delete, iDataCur,
 +        OPFLAG_ISUPDATE | ((hasFK || chngKey || pPk!=0) ? 0 : OPFLAG_ISNOOP),
 +        regNewRowid
 +    );
 +    if( !pParse->nested ){
 +      sqlite3VdbeChangeP4(v, -1, (char*)pTab, P4_TABLE);
      }
      if( bReplace || chngKey ){
-       if( sqlite3VdbeCurrentAddr(v)==j1+1 ){
-         sqlite3VdbeChangeToNoop(v, j1);
-       }else{
-         sqlite3VdbeJumpHere(v, j1);
-       }
+       sqlite3VdbeJumpHere(v, j1);
      }
  
      if( hasFK ){
diff --cc src/vdbeaux.c
Simple merge