From e1051c653ec672a629e8a31df19d5e5327f00dd1 Mon Sep 17 00:00:00 2001 From: drh Date: Sun, 6 Apr 2003 20:52:32 +0000 Subject: [PATCH] Move the implementation of VACUUM into a separate source file. (CVS 901) FossilOrigin-Name: b123c165fd3d0a5a86ee8a7baa669105dafb481a --- Makefile.in | 6 +++++- main.mk | 6 +++++- manifest | 18 +++++++++--------- manifest.uuid | 2 +- src/build.c | 17 +---------------- src/pager.c | 6 +++--- 6 files changed, 24 insertions(+), 31 deletions(-) diff --git a/Makefile.in b/Makefile.in index 49e80eb5e8..b98fef19d1 100644 --- a/Makefile.in +++ b/Makefile.in @@ -64,7 +64,7 @@ ENCODING = @ENCODING@ # LIBOBJ = auth.lo btree.lo build.lo delete.lo expr.lo func.lo hash.lo insert.lo \ main.lo opcodes.lo os.lo pager.lo parse.lo printf.lo random.lo \ - select.lo table.lo tokenize.lo update.lo util.lo vdbe.lo \ + select.lo table.lo tokenize.lo update.lo util.lo vacuum.lo vdbe.lo \ where.lo trigger.lo # All of the source code files. @@ -97,6 +97,7 @@ SRC = \ $(TOP)/src/trigger.c \ $(TOP)/src/update.c \ $(TOP)/src/util.c \ + $(TOP)/src/vacuum.c \ $(TOP)/src/vdbe.c \ $(TOP)/src/vdbe.h \ $(TOP)/src/where.c @@ -270,6 +271,9 @@ trigger.lo: $(TOP)/src/trigger.c $(HDR) update.lo: $(TOP)/src/update.c $(HDR) $(LIBTOOL) $(TCC) -c $(TOP)/src/update.c +vacuum.lo: $(TOP)/src/vacuum.c $(HDR) + $(LIBTOOL) $(TCC) -c $(TOP)/src/vacuum.c + tclsqlite.lo: $(TOP)/src/tclsqlite.c $(HDR) $(LIBTOOL) $(TCC) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.c diff --git a/main.mk b/main.mk index d8e0c56bea..61db1b46b1 100644 --- a/main.mk +++ b/main.mk @@ -57,7 +57,7 @@ TCCX = $(TCC) $(OPTS) $(THREADSAFE) $(USLEEP) -I. -I$(TOP)/src LIBOBJ = auth.o btree.o build.o delete.o expr.o func.o hash.o insert.o \ main.o opcodes.o os.o pager.o parse.o printf.o random.o \ select.o table.o tokenize.o trigger.o update.o util.o \ - vdbe.o where.o tclsqlite.o + vacuum.o vdbe.o where.o tclsqlite.o # All of the source code files. # @@ -89,6 +89,7 @@ SRC = \ $(TOP)/src/trigger.c \ $(TOP)/src/update.c \ $(TOP)/src/util.c \ + $(TOP)/src/vacuum.c \ $(TOP)/src/vdbe.c \ $(TOP)/src/vdbe.h \ $(TOP)/src/where.c @@ -226,6 +227,9 @@ trigger.o: $(TOP)/src/trigger.c $(HDR) util.o: $(TOP)/src/util.c $(HDR) $(TCCX) -c $(TOP)/src/util.c +vacuum.o: $(TOP)/src/vacuum.c $(HDR) + $(TCCX) -c $(TOP)/src/vacuum.c + vdbe.o: $(TOP)/src/vdbe.c $(HDR) $(TCCX) -c $(TOP)/src/vdbe.c diff --git a/manifest b/manifest index f246fc0116..63ad9f2c47 100644 --- a/manifest +++ b/manifest @@ -1,6 +1,6 @@ -C Simplify\sthe\sBTree\sinterface\sby\sshortening\snames.\s\sAdded\stwo\snew\smethods\nfor\saccessing\sthe\scurrent\sfilename\sand\sfor\schanging\sthe\sname\sof\sthe\ndatabase\sfile.\s(CVS\s900) -D 2003-04-06T20:44:45 -F Makefile.in 3c4ba24253e61c954d67adbbb4245e7117c5357e +C Move\sthe\simplementation\sof\sVACUUM\sinto\sa\sseparate\ssource\sfile.\s(CVS\s901) +D 2003-04-06T20:52:32 +F Makefile.in 5b084c4a4abf08fa5cdebe78ccebf6310198139c F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd F VERSION e5b03976c56deafa24511d6ef17d64a28679e9bd @@ -14,7 +14,7 @@ F doc/report1.txt a031aaf37b185e4fa540223cb516d3bccec7eeac F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 F libtool bbbea7d79c23323e4100103836028e4fad0d9242 F ltmain.sh abfb9387049fff6996afc6e325736597795baf11 -F main.mk 23b24112064bd14656a540abf1699a98ecdd9851 +F main.mk 931fdcd4fc6ac4d4e6eb5ce975ad2fb4995ccbcc F publish.sh 86b5e8535830a2588f62ce1d5d1ef00e1dede23a F spec.template 238f7db425a78dc1bb7682e56e3834c7270a3f5e F sqlite.1 83f4a9d37bdf2b7ef079a82d54eaf2e3509ee6ea @@ -22,7 +22,7 @@ F sqlite.pc.in 30552343140c53304c2a658c080fbe810cd09ca2 F src/auth.c f37bfc9451b8c1fa52f34adff474560018892729 F src/btree.c 3b0e0f09886bc83fa183df367d6a1b7077da9c46 F src/btree.h 5cb871546bd6fa58396a6f033e2b29b388241e1b -F src/build.c 8f158c26c89464e33de4b83a0964042462ea9977 +F src/build.c da21ffe7daeea576ebfbeb2f96ac0f99fa6b9a09 F src/delete.c 58d698779a6b7f819718ecd45b310a9de8537088 F src/encode.c faf03741efe921755ec371cf4a6984536de00042 F src/expr.c b8daee83f837b24a22d889200bdd74973ca2d8db @@ -34,7 +34,7 @@ F src/main.c c5109638c0cd86fa450faa2bd5a60468325aef69 F src/md5.c fe4f9c9c6f71dfc26af8da63e4d04489b1430565 F src/os.c c33ebb320921b8df6d09ea19fe846348df86a0c9 F src/os.h aa52f0c9da321ff6134d19f2ca959e18e33615d0 -F src/pager.c 53abd9df41889ca31b223eceda6e5e724145eae2 +F src/pager.c df4c81350cbd80c1ab48341ae0768ba78d99ad49 F src/pager.h e3702f7d384921f6cd5ce0b3ed589185433e9f6c F src/parse.y 3be47fa18323aa2e3364fc42bf7a6ba5b3cc0a81 F src/printf.c fc5fdef6e92ad205005263661fe9716f55a49f3e @@ -157,7 +157,7 @@ F www/speed.tcl cb4c10a722614aea76d2c51f32ee43400d5951be F www/sqlite.tcl ae3dcfb077e53833b59d4fcc94d8a12c50a44098 F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331 F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218 -P 51f515f28cb1cc3e8f0c3531724dc8876b25f18e -R c5d5548ccf24f7b5ba0652ab8b119df1 +P 185d8dc8d0c26cef36aeba6992823e5124af4056 +R 7a927220f0e77fb63a637996080a8eec U drh -Z 46e4a19e80ac8f859bd26b2a93f77bd0 +Z 2542fde3715240ecd80028ec8868e426 diff --git a/manifest.uuid b/manifest.uuid index fdef62adb4..286173916e 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -185d8dc8d0c26cef36aeba6992823e5124af4056 \ No newline at end of file +b123c165fd3d0a5a86ee8a7baa669105dafb481a \ No newline at end of file diff --git a/src/build.c b/src/build.c index d071dc4606..55720f3c9f 100644 --- a/src/build.c +++ b/src/build.c @@ -19,13 +19,12 @@ ** DROP INDEX ** creating ID lists ** COPY -** VACUUM ** BEGIN TRANSACTION ** COMMIT ** ROLLBACK ** PRAGMA ** -** $Id: build.c,v 1.141 2003/04/05 16:56:29 drh Exp $ +** $Id: build.c,v 1.142 2003/04/06 20:52:32 drh Exp $ */ #include "sqliteInt.h" #include @@ -2081,20 +2080,6 @@ copy_cleanup: return; } -/* -** The non-standard VACUUM command is used to clean up the database, -** collapse free space, etc. It is modelled after the VACUUM command -** in PostgreSQL. -** -** In version 1.0.x of SQLite, the VACUUM command would call -** gdbm_reorganize() on all the database tables. But beginning -** with 2.0.0, SQLite no longer uses GDBM so this command has -** become a no-op. -*/ -void sqliteVacuum(Parse *pParse, Token *pTableName){ - /* Do nothing */ -} - /* ** Begin a transaction */ diff --git a/src/pager.c b/src/pager.c index 37948df6c8..cfbbaf7ee4 100644 --- a/src/pager.c +++ b/src/pager.c @@ -18,7 +18,7 @@ ** file simultaneously, or one process from reading the database while ** another is writing. ** -** @(#) $Id: pager.c,v 1.80 2003/04/06 20:44:45 drh Exp $ +** @(#) $Id: pager.c,v 1.81 2003/04/06 20:52:32 drh Exp $ */ #include "os.h" /* Must be first to enable large file support */ #include "sqliteInt.h" @@ -2056,13 +2056,13 @@ int sqlitepager_rename(Pager *pPager, const char *zNewName){ memcpy(zJournal, zNew, nName); strcpy(&zJournal[nName], "-journal"); if( pPager->journalOpen ){ - rc = sqliteOsRename(pPager->zJournal, zJournal); + rc = sqliteOsFileRename(pPager->zJournal, zJournal); if( rc ){ sqliteFree(zNew); return rc; } } - rc = sqliteOsRename(pPager->zFilename, zNew); + rc = sqliteOsFileRename(pPager->zFilename, zNew); if( rc ){ sqliteFree(zNew); return rc;