From b632201d8131271fb33241c5713e915a6a39bdf4 Mon Sep 17 00:00:00 2001 From: danielk1977 Date: Tue, 10 Feb 2009 10:44:42 +0000 Subject: [PATCH] Do not always open a transaction on the temp database when writing to the main or another attached database. (CVS 6273) FossilOrigin-Name: f76b0b8129657eace0a933ac1988b472d5e79c98 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/build.c | 10 +--------- 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/manifest b/manifest index d58635c880..927c896b99 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sbug\sin\stest\sfile\smisc7.test.\sNo\scode\schanges.\s(CVS\s6272) -D 2009-02-10T05:45:42 +C Do\snot\salways\sopen\sa\stransaction\son\sthe\stemp\sdatabase\swhen\swriting\sto\sthe\smain\sor\sanother\sattached\sdatabase.\s(CVS\s6273) +D 2009-02-10T10:44:42 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in c7a5a30fb6852bd7839b1024e1661da8549878ee F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -107,7 +107,7 @@ F src/btmutex.c 63c5cc4ad5715690767ffcb741e185d7bc35ec1a F src/btree.c 71f30e74389aa7ae51421592dfaf69511152677c F src/btree.h 4eab72af6adf95f0b08b61a72ef9781bdb0bf63f F src/btreeInt.h 0a4884e6152d7cae9c741e91b830064c19fd2c05 -F src/build.c 6f3d5f74e262d561d77f0210c6063b7122f16c98 +F src/build.c 909c43d7f283ba7fb186d144ccb2a479f3707d13 F src/callback.c 5f10bca853e59a2c272bbfd5b720303f8b69e520 F src/complete.c cb14e06dbe79dee031031f0d9e686ff306afe07c F src/date.c 0d804df3bbda46329946a01ff5c75c3f4f135218 @@ -701,7 +701,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P b34bde80c7e2028baf7ba2ff26e587a63a170f3d -R f63fbacb63d328df2aceb5d4e22e08b6 +P d919d2a14c8cbbda3fbd6fb2ddae174fa709177b +R 705f428cee859d1582e789ec2f8b6f2f U danielk1977 -Z c673dd36b0389529265f9e7c71352540 +Z 80406d66de40997e19175586c6bca0ee diff --git a/manifest.uuid b/manifest.uuid index bcfa927f25..b42858a700 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -d919d2a14c8cbbda3fbd6fb2ddae174fa709177b \ No newline at end of file +f76b0b8129657eace0a933ac1988b472d5e79c98 \ No newline at end of file diff --git a/src/build.c b/src/build.c index 4f893110c6..c3cd213332 100644 --- a/src/build.c +++ b/src/build.c @@ -22,7 +22,7 @@ ** COMMIT ** ROLLBACK ** -** $Id: build.c,v 1.516 2009/02/03 22:17:42 drh Exp $ +** $Id: build.c,v 1.517 2009/02/10 10:44:42 danielk1977 Exp $ */ #include "sqliteInt.h" @@ -3430,11 +3430,6 @@ void sqlite3CodeVerifySchema(Parse *pParse, int iDb){ ** rollback the whole transaction. For operations where all constraints ** can be checked before any changes are made to the database, it is never ** necessary to undo a write and the checkpoint should not be set. -** -** Only database iDb and the temp database are made writable by this call. -** If iDb==0, then the main and temp databases are made writable. If -** iDb==1 then only the temp database is made writable. If iDb>1 then the -** specified auxiliary database and the temp database are made writable. */ void sqlite3BeginWriteOperation(Parse *pParse, int setStatement, int iDb){ Vdbe *v = sqlite3GetVdbe(pParse); @@ -3444,9 +3439,6 @@ void sqlite3BeginWriteOperation(Parse *pParse, int setStatement, int iDb){ if( setStatement && pParse->nested==0 ){ sqlite3VdbeAddOp1(v, OP_Statement, iDb); } - if( (OMIT_TEMPDB || iDb!=1) && pParse->db->aDb[1].pBt!=0 ){ - sqlite3BeginWriteOperation(pParse, setStatement, 1); - } } /*