]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge in all the latest changes from the trunk, and especially the interface
authordrh <drh@noemail.net>
Wed, 23 Mar 2011 22:48:46 +0000 (22:48 +0000)
committerdrh <drh@noemail.net>
Wed, 23 Mar 2011 22:48:46 +0000 (22:48 +0000)
changes to the SystemCall methods of the VFS.

FossilOrigin-Name: 9c3a6e479988e96086bef00c79dbce508a14da0d

1  2 
manifest
manifest.uuid
src/delete.c
src/main.c
src/sqlite.h.in
src/sqliteInt.h
src/update.c
src/vdbeInt.h
src/vdbeaux.c

diff --cc manifest
index 1178e77cb348ad8f1b29376b2ce1cea8340a9869,33efc4be6de8038103107dc32a2e726daf86840b..0f7a903c77cb6a7378c8c109c6793ec16b45b568
+++ b/manifest
@@@ -1,5 -1,8 +1,8 @@@
- C Add\sthe\s"indirect\sflag"\sto\sthe\schangeset\sblob\sformat.\sAlso\sthe\ssqlite3session_indirect()\sAPI.
- D 2011-03-23T16:03:12
+ -----BEGIN PGP SIGNED MESSAGE-----
+ Hash: SHA1
 -C Change\sthe\sxSetSyscall\smethods\sof\sthe\sVFS\sso\sthat\sthey\sdo\snot\scast\sobject\npointers\sinto\sfunction\spointers.\s\sFix\sother\sunrelated\scompiler\swarnings.
 -D 2011-03-23T22:02:23.988
++C Merge\sin\sall\sthe\slatest\schanges\sfrom\sthe\strunk,\sand\sespecially\sthe\sinterface\nchanges\sto\sthe\sSystemCall\smethods\sof\sthe\sVFS.
++D 2011-03-23T22:48:46.969
  F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
  F Makefile.in 27701a1653595a1f2187dc61c8117e00a6c1d50f
  F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@@ -136,7 -132,7 +139,7 @@@ F src/callback.c 5069f224882cbdccd559f5
  F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
  F src/ctime.c 52ff72f966cee3087e0138a3ec69371c22be3c01
  F src/date.c 1548fdac51377e4e7833251de878b4058c148e1b
- F src/delete.c 122c1a767883c439ad6393d32920152ecb560429
 -F src/delete.c 7ed8a8c8b5f748ece92df173d7e0f7810c899ebd
++F src/delete.c c55748a1628b54c8785de0ff4bd9cbe27fe111cb
  F src/expr.c 00817c672af554321fd67c44325afd7cef0e4648
  F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
  F src/fkey.c 418b840007c873975fd0d071746d952f8bca20ce
@@@ -150,7 -146,7 +153,7 @@@ F src/journal.c 552839e54d1bf76fb8f7abe
  F src/legacy.c a199d7683d60cef73089e892409113e69c23a99f
  F src/lempar.c 7f026423f4d71d989e719a743f98a1cbd4e6d99e
  F src/loadext.c 8af9fcc75708d60b88636ccba38b4a7b3c155c3e
- F src/main.c 22e0f75c17164d4109644e8d623ccaa48a186632
 -F src/main.c c4ecb1973419a1e2467cfea31054458da293a307
++F src/main.c 2563bd9ca8430c7677d375c566b54b890aaf508f
  F src/malloc.c 92d59a007d7a42857d4e9454aa25b6b703286be1
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c 00bd8265c81abb665c48fea1e0c234eb3b922206
@@@ -184,10 -180,10 +187,10 @@@ F src/random.c cd4a67b3953b88019f8cd4cc
  F src/resolve.c 1c0f32b64f8e3f555fe1f732f9d6f501a7f05706
  F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697
  F src/select.c d24406c45dd2442eb2eeaac413439066b149c944
- F src/shell.c 4a5e0ad845475c84881f0b25b1abba2ddaab0a72
- F src/sqlite.h.in 6b93765e048e0023e23c1d9827a561d7ead7100a
+ F src/shell.c 9dc0b4bb59290c0a35256d278cab0f314987ad6a
 -F src/sqlite.h.in 2ab8766c32afed165c0ea74292e18483e3aa64b1
++F src/sqlite.h.in 846a91e163497b596b5bbebd26477eaf234eb1c0
  F src/sqlite3ext.h c90bd5507099f62043832d73f6425d8d5c5da754
- F src/sqliteInt.h 10707dc735a0077741e1b4b1550891abc26d7582
 -F src/sqliteInt.h f8f1d00a22c98fd3f2fbc94da74eeb880879f89f
++F src/sqliteInt.h 7c11f9a648cf82e87330fd2185fcaa1f7c46dfba
  F src/sqliteLimit.h a17dcd3fb775d63b64a43a55c54cb282f9726f44
  F src/status.c 4997380fbb915426fef9e500b4872e79c99267fc
  F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
@@@ -234,15 -230,15 +237,15 @@@ F src/test_vfstrace.c f5c3b3b893d81a580
  F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
  F src/tokenize.c 604607d6813e9551cf5189d899e0a25c12681080
  F src/trigger.c ec4813709e990a169b6923293e839fa5dfd64282
- F src/update.c ca6d4ad2d87e743d22c47f1a6715cc5abf5cda05
 -F src/update.c 81911be16ece3c3e7716aa18565b4814ec41f8b9
++F src/update.c f81e9b326cafba3fbe493141e396f3bbfba1d99b
  F src/utf.c 1baeeac91707a4df97ccc6141ec0f808278af685
  F src/util.c cd997077bad039efc0597eb027c929658f93c018
  F src/vacuum.c 924bd1bcee2dfb05376f79845bd3b4cec7b54b2f
 -F src/vdbe.c 8430780c643bf67d4b5da27f24d6ad39804fdaf4
 -F src/vdbe.h 4de0efb4b0fdaaa900cf419b35c458933ef1c6d2
 -F src/vdbeInt.h e1c6254641168507d25b46affb6dfb53c782f553
 -F src/vdbeapi.c a09ad9164cafc505250d5dd6b69660c960f1308c
 -F src/vdbeaux.c cfd3f3ac674691ba1166ceb9a2698b0d00b2ef91
 +F src/vdbe.c c90edafd941481506f001b17cd8523683fdac853
 +F src/vdbe.h edef9c4f0be83e1f1dccd049da37b40e021b63d9
- F src/vdbeInt.h 2cf77c1d151a4a54facd596d52be6d60c1cb26e8
++F src/vdbeInt.h b6748a8ac9be169d83585a0f5daf747863c6b8db
 +F src/vdbeapi.c e472b3e5985175e948e70025cb3bffa8a2e185c8
- F src/vdbeaux.c 0216b2c37509a44c3833b297765bee7bdd04fa2f
++F src/vdbeaux.c af3be34b1980e428972ea11ef3a1d88acf8f2b9d
  F src/vdbeblob.c c3ccb7c8732858c680f442932e66ad06bb036562
  F src/vdbemem.c 0498796b6ffbe45e32960d6a1f5adfb6e419883b
  F src/vdbetrace.c 3ba13bc32bdf16d2bdea523245fd16736bed67b5
@@@ -923,7 -918,14 +926,14 @@@ F tool/speedtest2.tcl ee2149167303ba8e9
  F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
  F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
  F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
- P bdea70895c2c686a4dd3f4bf0a475fd1501d9551
- R c02abbe676895f559af6fe54b071c0da
- U dan
- Z 27e4954529d298836a72824c8b085018
 -P 7aaf8772274422f5020fad9eea490e195170720f
 -R 5f5be2467ac2e1a296459a4f106ade8d
++P 1feaf2d35fd9ec777319717ae2c2929d66fe7baa e059152adce3a8fb693f082b82b5669a238c8d6f
++R b36ce5552543fc5931a9682eb2d51184
+ U drh
 -Z fe6ea374366d1c79bf722f1efd9278ca
++Z 274ed2e4f92b071af1545dccfb5f4fc3
+ -----BEGIN PGP SIGNATURE-----
+ Version: GnuPG v1.4.6 (GNU/Linux)
 -iD8DBQFNim3zoxKgR168RlERAinxAJ4/cXafMYIecY7RnHEnjd/FDN5wWgCeO1Gr
 -HyMtzimZVos8zD8aJn2Sy94=
 -=JB2d
++iD8DBQFNinjSoxKgR168RlERAnfoAJ4yQL1bxQ/2pBGeyDlRWD9l+4WVNwCfXQdV
++nYGZvp774EBPS1/20z/kF+M=
++=eCFJ
+ -----END PGP SIGNATURE-----
diff --cc manifest.uuid
index f85c8efaad00ff2878cdb07e9bcf50d76cfafffa,49ea63e4ef2edf0609ed6e17a06d954c63d99f30..928103a89fd5da77aceceddcfd40e1e8e67bca5a
@@@ -1,1 -1,1 +1,1 @@@
- 1feaf2d35fd9ec777319717ae2c2929d66fe7baa
 -e059152adce3a8fb693f082b82b5669a238c8d6f
++9c3a6e479988e96086bef00c79dbce508a14da0d
diff --cc src/delete.c
index 3075df05fc56a8df644d2fc3a858dcc4b70351d7,bd7ac3d1f38c9b2fffe9d178f0a65921a2c34597..a5d00263b55ec7a10079111dea7687f71041f4c7
@@@ -391,7 -391,7 +391,7 @@@ void sqlite3DeleteFrom
      if( IsVirtual(pTab) ){
        const char *pVTab = (const char *)sqlite3GetVTable(db, pTab);
        sqlite3VtabMakeWritable(pParse, pTab);
--      sqlite3VdbeAddOp4(v, OP_VUpdate, 0, 1, iRowid, pVTab, P4_VTAB);
++      sqlite3VdbeAddOp4(v, OP_VUpdate, 0, 1, iRowid, (char*)pVTab, P4_VTAB);
        sqlite3MayAbort(pParse);
      }else
  #endif
@@@ -542,7 -535,9 +542,7 @@@ void sqlite3GenerateRowDelete
    if( pTab->pSelect==0 ){
      sqlite3GenerateRowIndexDelete(pParse, pTab, iCur, 0);
      sqlite3VdbeAddOp2(v, OP_Delete, iCur, (count?OPFLAG_NCHANGE:0));
-     sqlite3VdbeChangeP4(v, -1, pTab, P4_TABLE);
 -    if( count ){
 -      sqlite3VdbeChangeP4(v, -1, pTab->zName, P4_STATIC);
 -    }
++    sqlite3VdbeChangeP4(v, -1, (char*)pTab, P4_TABLE);
    }
  
    /* Do any ON CASCADE, SET NULL or SET DEFAULT operations required to
diff --cc src/main.c
index 7457877a7030f9d3153be415cf522796aba14ee1,94fdf384b1275cf85682672bad6e8e0fd07b7254..9ccd657e790aaa7468b89cb5562ee08748bd9ce5
@@@ -535,7 -535,7 +535,7 @@@ int sqlite3_db_config(sqlite3 *db, int 
          if( aFlagOp[i].op==op ){
            int onoff = va_arg(ap, int);
            int *pRes = va_arg(ap, int*);
--          u32 oldFlags = db->flags;
++          int oldFlags = db->flags;
            if( onoff>0 ){
              db->flags |= aFlagOp[i].mask;
            }else if( onoff==0 ){
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
Simple merge
diff --cc src/update.c
index b67c76f5fe7f586f03e6e657ed6808c43b36d457,315034d86f5e5638c17a56dc707eb4cbb8add95f..fd310fb3072b03d650e61cbfe161be2ec8ecf122
@@@ -488,22 -488,9 +488,22 @@@ void sqlite3Update
      j1 = sqlite3VdbeAddOp3(v, OP_NotExists, iCur, 0, regOldRowid);
      sqlite3GenerateRowIndexDelete(pParse, pTab, iCur, aRegIdx);
    
 -    /* If changing the record number, delete the old record.  */
 -    if( hasFK || chngRowid ){
 -      sqlite3VdbeAddOp2(v, OP_Delete, iCur, 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 hte 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, iCur,
 +        OPFLAG_ISUPDATE | ((hasFK || chngRowid) ? 0 : OPFLAG_ISNOOP),
 +        regNewRowid
 +    );
 +    if( !pParse->nested ){
-       sqlite3VdbeChangeP4(v, -1, pTab, P4_TABLE);
++      sqlite3VdbeChangeP4(v, -1, (char*)pTab, P4_TABLE);
      }
      sqlite3VdbeJumpHere(v, j1);
  
diff --cc src/vdbeInt.h
Simple merge
diff --cc src/vdbeaux.c
Simple merge