From e6a58a4e2a71f9d1b9a0680db9c0ed576b6b4d05 Mon Sep 17 00:00:00 2001 From: danielk1977 Date: Fri, 31 Aug 2007 17:42:48 +0000 Subject: [PATCH] Allow sqllimits1.test to be run from a regular build of testfixture. Add the 'amalgamation-testfixture' target to main.mk - to build testfixture via sqlite3.c. (CVS 4354) FossilOrigin-Name: d119427314d27f291b605073d34826cdb89746c1 --- main.mk | 382 ++++++++----------------------------------- manifest | 30 ++-- manifest.uuid | 2 +- src/expr.c | 8 +- src/select.c | 6 +- src/sqliteInt.h | 46 +++++- src/test1.c | 4 +- src/test_config.c | 87 ++++------ test/all.test | 29 ++-- test/date.test | 9 +- test/sqllimits1.test | 20 ++- 11 files changed, 209 insertions(+), 414 deletions(-) diff --git a/main.mk b/main.mk index 0b72c9296b..7510f5a3ce 100644 --- a/main.mk +++ b/main.mk @@ -95,6 +95,7 @@ SRC = \ $(TOP)/src/btmutex.c \ $(TOP)/src/btree.c \ $(TOP)/src/btree.h \ + $(TOP)/src/btreeInt.h \ $(TOP)/src/build.c \ $(TOP)/src/callback.c \ $(TOP)/src/complete.c \ @@ -113,10 +114,13 @@ SRC = \ $(TOP)/src/mem1.c \ $(TOP)/src/mem2.c \ $(TOP)/src/mutex.c \ + $(TOP)/src/mutex.h \ $(TOP)/src/mutex_os2.c \ $(TOP)/src/mutex_unix.c \ $(TOP)/src/mutex_w32.c \ $(TOP)/src/os.c \ + $(TOP)/src/os.h \ + $(TOP)/src/os_common.h \ $(TOP)/src/os_os2.c \ $(TOP)/src/os_unix.c \ $(TOP)/src/os_win.c \ @@ -132,6 +136,7 @@ SRC = \ $(TOP)/src/sqlite.h.in \ $(TOP)/src/sqlite3ext.h \ $(TOP)/src/sqliteInt.h \ + $(TOP)/src/sqliteLimit.h \ $(TOP)/src/table.c \ $(TOP)/src/tclsqlite.c \ $(TOP)/src/tokenize.c \ @@ -199,18 +204,6 @@ SRC += \ # Source code to the test files. # TESTSRC = \ - $(TOP)/src/btree.c \ - $(TOP)/src/date.c \ - $(TOP)/src/func.c \ - $(TOP)/src/insert.c \ - $(TOP)/src/os.c \ - $(TOP)/src/os_os2.c \ - $(TOP)/src/os_unix.c \ - $(TOP)/src/os_win.c \ - $(TOP)/src/pager.c \ - $(TOP)/src/pragma.c \ - $(TOP)/src/printf.c \ - $(TOP)/src/select.c \ $(TOP)/src/test1.c \ $(TOP)/src/test2.c \ $(TOP)/src/test3.c \ @@ -230,30 +223,38 @@ TESTSRC = \ $(TOP)/src/test_schema.c \ $(TOP)/src/test_server.c \ $(TOP)/src/test_tclvar.c \ - $(TOP)/src/utf.c \ - $(TOP)/src/util.c \ - $(TOP)/src/vdbe.c \ - $(TOP)/src/vdbeaux.c \ - $(TOP)/src/where.c + TESTSRC += $(TOP)/ext/fts2/fts2_tokenizer.c TESTSRC += $(TOP)/ext/fts3/fts3_tokenizer.c +TESTSRC2 = \ + $(TOP)/src/attach.c $(TOP)/src/btree.c $(TOP)/src/build.c $(TOP)/src/date.c \ + $(TOP)/src/expr.c $(TOP)/src/func.c $(TOP)/src/insert.c $(TOP)/src/os.c \ + $(TOP)/src/os_os2.c $(TOP)/src/os_unix.c $(TOP)/src/os_win.c \ + $(TOP)/src/pager.c $(TOP)/src/pragma.c $(TOP)/src/prepare.c \ + $(TOP)/src/printf.c $(TOP)/src/select.c $(TOP)/src/tokenize.c \ + $(TOP)/src/utf.c $(TOP)/src/util.c $(TOP)/src/vdbeapi.c $(TOP)/src/vdbeaux.c \ + $(TOP)/src/vdbe.c $(TOP)/src/vdbemem.c $(TOP)/src/where.c parse.c + # Header files used by all library source files. # HDR = \ $(TOP)/src/btree.h \ $(TOP)/src/btreeInt.h \ $(TOP)/src/hash.h \ + keywordhash.h \ $(TOP)/src/mutex.h \ opcodes.h \ $(TOP)/src/os.h \ $(TOP)/src/os_common.h \ + $(TOP)/src/pager.h \ + parse.h \ sqlite3.h \ $(TOP)/src/sqlite3ext.h \ $(TOP)/src/sqliteInt.h \ $(TOP)/src/sqliteLimit.h \ $(TOP)/src/vdbe.h \ - parse.h + $(TOP)/src/vdbeInt.h # Header files used by extensions # @@ -270,12 +271,6 @@ EXTHDR += \ $(TOP)/ext/fts3/fts3_hash.h \ $(TOP)/ext/fts3/fts3_tokenizer.h - -# Header files used by the VDBE submodule -# -VDBEHDR = \ - $(TOP)/src/vdbeInt.h - # This is the default Makefile target. The objects listed here # are what get build when you type just "make" with no arguments. # @@ -306,9 +301,10 @@ objects: $(LIBOBJ_ORIG) # all that automatic generation. # target_source: $(SRC) + @echo $(SRC) rm -rf tsrc mkdir tsrc - cp -f $(SRC) $(TOP)/src/*.h tsrc 2>/dev/null + cp -f $(SRC) tsrc rm tsrc/sqlite.h.in tsrc/parse.y sqlite3.c: target_source $(TOP)/tool/mksqlite3c.tcl @@ -329,113 +325,36 @@ lemon: $(TOP)/tool/lemon.c $(TOP)/tool/lempar.c $(BCC) -o lemon $(TOP)/tool/lemon.c cp $(TOP)/tool/lempar.c . -# Rules to build individual files +# Rules to build individual *.o files from files in the src directory. # -alter.o: $(TOP)/src/alter.c $(HDR) - $(TCCX) -c $(TOP)/src/alter.c +%.o: %.c $(HDR) + $(TCCX) -c $< -analyze.o: $(TOP)/src/analyze.c $(HDR) - $(TCCX) -c $(TOP)/src/analyze.c +# Rules to build individual *.o files from generated *.c files. This +# applies to: +# +# parse.o +# opcodes.o +# +%.o: $(TOP)/src/%.c $(HDR) + $(TCCX) -c $< -attach.o: $(TOP)/src/attach.c $(HDR) - $(TCCX) -c $(TOP)/src/attach.c +tclsqlite.o: $(TOP)/src/tclsqlite.c $(HDR) + $(TCCX) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.c -auth.o: $(TOP)/src/auth.c $(HDR) - $(TCCX) -c $(TOP)/src/auth.c -btmutex.o: $(TOP)/src/btmutex.c $(HDR) $(TOP)/src/btreeInt.h - $(TCCX) -c $(TOP)/src/btmutex.c - -btree.o: $(TOP)/src/btree.c $(HDR) $(TOP)/src/pager.h - $(TCCX) -c $(TOP)/src/btree.c - -build.o: $(TOP)/src/build.c $(HDR) - $(TCCX) -c $(TOP)/src/build.c - -callback.o: $(TOP)/src/callback.c $(HDR) - $(TCCX) -c $(TOP)/src/callback.c - -complete.o: $(TOP)/src/complete.c $(HDR) - $(TCCX) -c $(TOP)/src/complete.c - -date.o: $(TOP)/src/date.c $(HDR) - $(TCCX) -c $(TOP)/src/date.c - -delete.o: $(TOP)/src/delete.c $(HDR) - $(TCCX) -c $(TOP)/src/delete.c - -expr.o: $(TOP)/src/expr.c $(HDR) - $(TCCX) -c $(TOP)/src/expr.c - -func.o: $(TOP)/src/func.c $(HDR) - $(TCCX) -c $(TOP)/src/func.c - -hash.o: $(TOP)/src/hash.c $(HDR) - $(TCCX) -c $(TOP)/src/hash.c - -insert.o: $(TOP)/src/insert.c $(HDR) - $(TCCX) -c $(TOP)/src/insert.c - -journal.o: $(TOP)/src/journal.c $(HDR) - $(TCCX) -c $(TOP)/src/journal.c - -legacy.o: $(TOP)/src/legacy.c $(HDR) - $(TCCX) -c $(TOP)/src/legacy.c - -loadext.o: $(TOP)/src/loadext.c $(HDR) - $(TCCX) -c $(TOP)/src/loadext.c - -main.o: $(TOP)/src/main.c $(HDR) - $(TCCX) -c $(TOP)/src/main.c - -malloc.o: $(TOP)/src/malloc.c $(HDR) - $(TCCX) -c $(TOP)/src/malloc.c - -mem1.o: $(TOP)/src/mem1.c $(HDR) - $(TCCX) -c $(TOP)/src/mem1.c - -mem2.o: $(TOP)/src/mem2.c $(HDR) - $(TCCX) -c $(TOP)/src/mem2.c - -mutex.o: $(TOP)/src/mutex.c $(HDR) - $(TCCX) -c $(TOP)/src/mutex.c - -mutex_os2.o: $(TOP)/src/mutex_os2.c $(HDR) - $(TCCX) -c $(TOP)/src/mutex_os2.c - -mutex_unix.o: $(TOP)/src/mutex_unix.c $(HDR) - $(TCCX) -c $(TOP)/src/mutex_unix.c - -mutex_w32.o: $(TOP)/src/mutex_w32.c $(HDR) - $(TCCX) -c $(TOP)/src/mutex_w32.c - -pager.o: $(TOP)/src/pager.c $(HDR) $(TOP)/src/pager.h - $(TCCX) -c $(TOP)/src/pager.c - -opcodes.o: opcodes.c - $(TCCX) -c opcodes.c +# Rules to build opcodes.c and opcodes.h +# opcodes.c: opcodes.h $(TOP)/mkopcodec.awk sort -n -b -k 3 opcodes.h | $(NAWK) -f $(TOP)/mkopcodec.awk >opcodes.c opcodes.h: parse.h $(TOP)/src/vdbe.c $(TOP)/mkopcodeh.awk - cat parse.h $(TOP)/src/vdbe.c | $(NAWK) -f $(TOP)/mkopcodeh.awk >opcodes.h + cat parse.h $(TOP)/src/vdbe.c |$(NAWK) -f $(TOP)/mkopcodeh.awk >opcodes.h -os.o: $(TOP)/src/os.c $(HDR) - $(TCCX) -c $(TOP)/src/os.c - -os_os2.o: $(TOP)/src/os_os2.c $(HDR) - $(TCCX) -c $(TOP)/src/os_os2.c - -os_unix.o: $(TOP)/src/os_unix.c $(HDR) - $(TCCX) -c $(TOP)/src/os_unix.c - -os_win.o: $(TOP)/src/os_win.c $(HDR) - $(TCCX) -c $(TOP)/src/os_win.c - -parse.o: parse.c $(HDR) - $(TCCX) -c parse.c +# Rules to build parse.c and parse.h - the outputs of lemon. +# parse.h: parse.c parse.c: $(TOP)/src/parse.y lemon $(TOP)/addopcodes.awk @@ -444,77 +363,16 @@ parse.c: $(TOP)/src/parse.y lemon $(TOP)/addopcodes.awk mv parse.h parse.h.temp awk -f $(TOP)/addopcodes.awk parse.h.temp >parse.h -pragma.o: $(TOP)/src/pragma.c $(HDR) - $(TCCX) $(TCL_FLAGS) -c $(TOP)/src/pragma.c - -prepare.o: $(TOP)/src/prepare.c $(HDR) - $(TCCX) $(TCL_FLAGS) -c $(TOP)/src/prepare.c - -printf.o: $(TOP)/src/printf.c $(HDR) - $(TCCX) $(TCL_FLAGS) -c $(TOP)/src/printf.c - -random.o: $(TOP)/src/random.c $(HDR) - $(TCCX) -c $(TOP)/src/random.c - -select.o: $(TOP)/src/select.c $(HDR) - $(TCCX) -c $(TOP)/src/select.c - sqlite3.h: $(TOP)/src/sqlite.h.in sed -e s/--VERS--/`cat ${TOP}/VERSION`/ \ -e s/--VERSION-NUMBER--/`cat ${TOP}/VERSION | sed 's/[^0-9]/ /g' | $(NAWK) '{printf "%d%03d%03d",$$1,$$2,$$3}'`/ \ $(TOP)/src/sqlite.h.in >sqlite3.h -table.o: $(TOP)/src/table.c $(HDR) - $(TCCX) -c $(TOP)/src/table.c - -tclsqlite.o: $(TOP)/src/tclsqlite.c $(HDR) - $(TCCX) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.c - -tokenize.o: $(TOP)/src/tokenize.c keywordhash.h $(HDR) - $(TCCX) -c $(TOP)/src/tokenize.c - keywordhash.h: $(TOP)/tool/mkkeywordhash.c $(BCC) -o mkkeywordhash $(OPTS) $(TOP)/tool/mkkeywordhash.c ./mkkeywordhash >keywordhash.h -trigger.o: $(TOP)/src/trigger.c $(HDR) - $(TCCX) -c $(TOP)/src/trigger.c -update.o: $(TOP)/src/update.c $(HDR) - $(TCCX) -c $(TOP)/src/update.c - -utf.o: $(TOP)/src/utf.c $(HDR) - $(TCCX) -c $(TOP)/src/utf.c - -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 $(VDBEHDR) $(HDR) - $(TCCX) -c $(TOP)/src/vdbe.c - -vdbeapi.o: $(TOP)/src/vdbeapi.c $(VDBEHDR) $(HDR) - $(TCCX) -c $(TOP)/src/vdbeapi.c - -vdbeaux.o: $(TOP)/src/vdbeaux.c $(VDBEHDR) $(HDR) - $(TCCX) -c $(TOP)/src/vdbeaux.c - -vdbeblob.o: $(TOP)/src/vdbeblob.c $(VDBEHDR) $(HDR) - $(TCCX) -c $(TOP)/src/vdbeblob.c - -vdbefifo.o: $(TOP)/src/vdbefifo.c $(VDBEHDR) $(HDR) - $(TCCX) -c $(TOP)/src/vdbefifo.c - -vdbemem.o: $(TOP)/src/vdbemem.c $(VDBEHDR) $(HDR) - $(TCCX) -c $(TOP)/src/vdbemem.c - -vtab.o: $(TOP)/src/vtab.c $(VDBEHDR) $(HDR) - $(TCCX) -c $(TOP)/src/vtab.c - -where.o: $(TOP)/src/where.c $(HDR) - $(TCCX) -c $(TOP)/src/where.c # Rules to build the extension objects. # @@ -564,11 +422,21 @@ tclsqlite3: $(TOP)/src/tclsqlite.c libsqlite3.a $(TCCX) $(TCL_FLAGS) -DTCLSH=1 -o tclsqlite3 \ $(TOP)/src/tclsqlite.c libsqlite3.a $(LIBTCL) $(THREADLIB) -testfixture$(EXE): $(TOP)/src/tclsqlite.c libsqlite3.a $(TESTSRC) - $(TCCX) $(TCL_FLAGS) -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1 \ - -DSQLITE_SERVER=1 -o testfixture$(EXE) \ - -DSQLITE_CORE $(TESTSRC) $(TOP)/src/tclsqlite.c \ - libsqlite3.a $(LIBTCL) $(THREADLIB) + +# Rules to build the 'testfixture' application. +# +TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1 +TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE + +testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c + $(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \ + $(TESTSRC) $(TESTSRC2) $(TOP)/src/tclsqlite.c \ + -o testfixture$(EXE) $(LIBTCL) $(THREADLIB) libsqlite3.a + +amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c + $(TCCX) $(TCL_FLAGS) $(TESTFIXTURE_FLAGS) \ + $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c \ + -o testfixture$(EXE) $(LIBTCL) $(THREADLIB) fulltest: testfixture$(EXE) sqlite3$(EXE) ./testfixture$(EXE) $(TOP)/test/all.test @@ -579,7 +447,7 @@ soaktest: testfixture$(EXE) sqlite3$(EXE) test: testfixture$(EXE) sqlite3$(EXE) ./testfixture$(EXE) $(TOP)/test/quick.test -sqlite3_analyzer$(EXE): $(TOP)/src/tclsqlite.c libsqlite3.a $(TESTSRC) \ +sqlite3_analyzer$(EXE): $(TOP)/src/tclsqlite.c sqlite3.c $(TESTSRC) \ $(TOP)/tool/spaceanal.tcl sed \ -e '/^#/d' \ @@ -588,9 +456,11 @@ sqlite3_analyzer$(EXE): $(TOP)/src/tclsqlite.c libsqlite3.a $(TESTSRC) \ -e 's,^,",' \ -e 's,$$,\\n",' \ $(TOP)/tool/spaceanal.tcl >spaceanal_tcl.h - $(TCCX) $(TCL_FLAGS) -DTCLSH=2 -DSQLITE_TEST=1 -DSQLITE_DEBUG=1 -o \ - sqlite3_analyzer$(EXE) $(TESTSRC) $(TOP)/src/tclsqlite.c \ - libsqlite3.a $(LIBTCL) $(THREADLIB) + $(TCCX) $(TCL_FLAGS) \ + -DTCLSH=2 -DSQLITE_TEST=1 -DSQLITE_DEBUG=1 -DSQLITE_PRIVATE="" \ + $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c \ + -o sqlite3_analyzer$(EXE) \ + $(LIBTCL) $(THREADLIB) TEST_EXTENSION = $(SHPREFIX)testloadext.$(SO) $(TEST_EXTENSION): $(TOP)/src/test_loadext.c @@ -599,135 +469,23 @@ $(TEST_EXTENSION): $(TOP)/src/test_loadext.c extensiontest: testfixture$(EXE) $(TEST_EXTENSION) ./testfixture$(EXE) $(TOP)/test/loadext.test + # Rules used to build documentation # -arch.html: $(TOP)/www/arch.tcl - tclsh $(TOP)/www/arch.tcl >arch.html +%.html: $(TOP)/www/%.tcl docdir last_change common.tcl + tclsh $< > $@ -autoinc.html: $(TOP)/www/autoinc.tcl - tclsh $(TOP)/www/autoinc.tcl >autoinc.html - -c_interface.html: $(TOP)/www/c_interface.tcl - tclsh $(TOP)/www/c_interface.tcl >c_interface.html - -capi3.html: $(TOP)/www/capi3.tcl - tclsh $(TOP)/www/capi3.tcl >capi3.html - -capi3ref.html: $(TOP)/www/mkapidoc.tcl sqlite3.h - tclsh $(TOP)/www/mkapidoc.tcl capi3ref.html - -changes.html: $(TOP)/www/changes.tcl - tclsh $(TOP)/www/changes.tcl >changes.html - -compile.html: $(TOP)/www/compile.tcl - tclsh $(TOP)/www/compile.tcl >compile.html - -copyright.html: $(TOP)/www/copyright.tcl - tclsh $(TOP)/www/copyright.tcl >copyright.html - -copyright-release.html: $(TOP)/www/copyright-release.html - cp $(TOP)/www/copyright-release.html . - -copyright-release.pdf: $(TOP)/www/copyright-release.pdf - cp $(TOP)/www/copyright-release.pdf . - -common.tcl: $(TOP)/www/common.tcl - cp $(TOP)/www/common.tcl . - -conflict.html: $(TOP)/www/conflict.tcl - tclsh $(TOP)/www/conflict.tcl >conflict.html - -datatypes.html: $(TOP)/www/datatypes.tcl - tclsh $(TOP)/www/datatypes.tcl >datatypes.html - -datatype3.html: $(TOP)/www/datatype3.tcl - tclsh $(TOP)/www/datatype3.tcl >datatype3.html - -different.html: $(TOP)/www/different.tcl - tclsh $(TOP)/www/different.tcl >different.html - -docs.html: $(TOP)/www/docs.tcl - tclsh $(TOP)/www/docs.tcl >docs.html - -download.html: $(TOP)/www/download.tcl - mkdir -p doc - tclsh $(TOP)/www/download.tcl >download.html - -faq.html: $(TOP)/www/faq.tcl - tclsh $(TOP)/www/faq.tcl >faq.html - -fileformat.html: $(TOP)/www/fileformat.tcl - tclsh $(TOP)/www/fileformat.tcl >fileformat.html - -formatchng.html: $(TOP)/www/formatchng.tcl - tclsh $(TOP)/www/formatchng.tcl >formatchng.html - -index.html: $(TOP)/www/index.tcl last_change - tclsh $(TOP)/www/index.tcl >index.html - -limits.html: $(TOP)/www/limits.tcl last_change - tclsh $(TOP)/www/limits.tcl >limits.html - -lang.html: $(TOP)/www/lang.tcl +lang.html: $(TOP)/www/lang.tcl docdir tclsh $(TOP)/www/lang.tcl doc >lang.html -pragma.html: $(TOP)/www/pragma.tcl - tclsh $(TOP)/www/pragma.tcl >pragma.html - -lockingv3.html: $(TOP)/www/lockingv3.tcl - tclsh $(TOP)/www/lockingv3.tcl >lockingv3.html - -sharedcache.html: $(TOP)/www/sharedcache.tcl - tclsh $(TOP)/www/sharedcache.tcl >sharedcache.html - -mingw.html: $(TOP)/www/mingw.tcl - tclsh $(TOP)/www/mingw.tcl >mingw.html - -nulls.html: $(TOP)/www/nulls.tcl - tclsh $(TOP)/www/nulls.tcl >nulls.html - -oldnews.html: $(TOP)/www/oldnews.tcl - tclsh $(TOP)/www/oldnews.tcl >oldnews.html - -omitted.html: $(TOP)/www/omitted.tcl - tclsh $(TOP)/www/omitted.tcl >omitted.html - opcode.html: $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c tclsh $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c >opcode.html -optimizer.html: $(TOP)/www/optimizer.tcl - tclsh $(TOP)/www/optimizer.tcl >optimizer.html - -optoverview.html: $(TOP)/www/optoverview.tcl - tclsh $(TOP)/www/optoverview.tcl >optoverview.html - -quickstart.html: $(TOP)/www/quickstart.tcl - tclsh $(TOP)/www/quickstart.tcl >quickstart.html - -speed.html: $(TOP)/www/speed.tcl - tclsh $(TOP)/www/speed.tcl >speed.html - -sqlite.html: $(TOP)/www/sqlite.tcl - tclsh $(TOP)/www/sqlite.tcl >sqlite.html - -support.html: $(TOP)/www/support.tcl - tclsh $(TOP)/www/support.tcl >support.html - -tclsqlite.html: $(TOP)/www/tclsqlite.tcl - tclsh $(TOP)/www/tclsqlite.tcl >tclsqlite.html - -vdbe.html: $(TOP)/www/vdbe.tcl - tclsh $(TOP)/www/vdbe.tcl >vdbe.html - -version3.html: $(TOP)/www/version3.tcl - tclsh $(TOP)/www/version3.tcl >version3.html - -whentouse.html: $(TOP)/www/whentouse.tcl - tclsh $(TOP)/www/whentouse.tcl >whentouse.html - -34to35.html: $(TOP)/www/34to35.tcl - tclsh $(TOP)/www/34to35.tcl >34to35.html +capi3ref.html: $(TOP)/www/mkapidoc.tcl sqlite3.h + tclsh $(TOP)/www/mkapidoc.tcl capi3ref.html +%: $(TOP)/www/% + cp $< $@ # Files to be published on the website. # @@ -774,8 +532,10 @@ DOC = \ whentouse.html \ 34to35.html -doc: common.tcl $(DOC) +docdir: mkdir -p doc + +doc: common.tcl $(DOC) docdir mv $(DOC) doc cp $(TOP)/www/*.gif $(TOP)/art/*.gif doc diff --git a/manifest b/manifest index 32f483682f..65f218b8ca 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Initial\simplementation\sof\sthe\ssqlite3_file_control()\sinterface.\nCompiles\sand\spasses\sall\shistorical\stests\sbut\sthe\snew\smethod\sis\sitself\nuntested.\s(CVS\s4353) -D 2007-08-31T16:11:36 +C Allow\ssqllimits1.test\sto\sbe\srun\sfrom\sa\sregular\sbuild\sof\stestfixture.\sAdd\sthe\s'amalgamation-testfixture'\starget\sto\smain.mk\s-\sto\sbuild\stestfixture\svia\ssqlite3.c.\s(CVS\s4354) +D 2007-08-31T17:42:48 F Makefile.in bfcc303429a5d9dcd552d807ee016c77427418c3 F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -63,7 +63,7 @@ F ext/icu/README.txt 3b130aa66e7a681136f6add198b076a2f90d1e33 F ext/icu/icu.c 61a345d8126686aa3487aa8d2d0f68abd655f7a4 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 F ltmain.sh 56abb507100ed2d4261f6dd1653dec3cf4066387 -F main.mk 6c8e14bbe8c52df32a5468e556df258ef563b4f2 +F main.mk d29c5113c83ae6f4d9d740bb6f775e6b768027fa F mkdll.sh 37fa8a7412e51b5ab2bc6d4276135f022a0feffb F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f F mkextw.sh 1a866b53637dab137191341cc875575a5ca110fb @@ -90,7 +90,7 @@ F src/complete.c 4cf68fd75d60257524cbe74f87351b9848399131 F src/date.c af235f38f50809abd0a96da3bb3e0cc32be6226e F src/delete.c 849846d06d29851dde0d9f424a5de5817eb140d1 F src/experimental.c 1b2d1a6cd62ecc39610e97670332ca073c50792b -F src/expr.c e0e393df864531720b5281c528c6a8d59d530b80 +F src/expr.c 95f3674736ff4b3238f7f2d252fbd93aea55e610 F src/func.c 10135a09d37f89b524bfea7c36368699e9c3b89a F src/hash.c 8fe2fa52bd17869c87748e42cff5b1e7fbf90822 F src/hash.h 3ad3da76bfb954978d227bf495568b0e6da2c19e @@ -127,16 +127,16 @@ F src/pragma.c 59a5e12ad0972ca2403503c12efb77f208c9a144 F src/prepare.c 1506fd279824b1f4bac97514966d0370101f9a6b F src/printf.c 81e5db668c211b9b8a9483197d6118b19d76fa74 F src/random.c 4a22746501bf36b0a088c66e38dde5daba6a35da -F src/select.c e5cc50e8d22b2490c4fb47f2ef08a9b43bcb52d9 +F src/select.c 4706a6115da1bdc09a2be5991168a6cc2c0df267 F src/server.c 087b92a39d883e3fa113cae259d64e4c7438bc96 F src/shell.c ac29402b538515fa4697282387be9c1205e6e9eb F src/sqlite.h.in fa367ce8e8a9b50eb65189788bad12e6240c82bb F src/sqlite3ext.h a93f59cdee3638dc0c9c086f80df743a4e68c3cb -F src/sqliteInt.h 5dbb7a934a88dfa9893e2627f4821b0464f5edc0 +F src/sqliteInt.h adc8a20e80ccf9eef24cc32f241a3427915a136e F src/sqliteLimit.h 1bcbbdfa856f8b71b561abb31edb864b0eca1d12 F src/table.c 1aeb9eab57b4235db86fe15a35dec76fb445a9c4 F src/tclsqlite.c 8db035768623779c97d0509eb88ecbb49c51abca -F src/test1.c 8b20d1f05777ac480d3caf8d5f79ab7a543513fc +F src/test1.c 8fcfb16cbd589f9bb2a21dd19d7cb8ce8141d726 F src/test2.c 4ab230fbdc0decfa7422f6a052b609ba54f4dfac F src/test3.c 199a440ba2b38b26251393b609451a3484a15907 F src/test4.c c2c0f5dc907f1346f5d4b65eb5799f11eb9e4071 @@ -148,7 +148,7 @@ F src/test9.c b46c8fe02ac7cca1a7316436d8d38d50c66f4b2f F src/test_async.c f222bd196b55a2e73b1427400d5aa97841787167 F src/test_autoext.c 855157d97aa28cf84233847548bfacda21807436 F src/test_btree.c c1308ba0b88ab577fa56c9e493a09829dfcded9c -F src/test_config.c 1eb08650f60a5ea652b45fb30781aad2543dd47b +F src/test_config.c 3f50b4060c360d33d069e64ce5684eac43fbf4db F src/test_hexio.c 82916f918687502658f02533b519c38cb180db6d F src/test_loadext.c 22065d601a18878e5542191001f0eaa5d77c0ed8 F src/test_malloc.c 35310c5147effb632fd52c1dd872ef82d56faee8 @@ -174,7 +174,7 @@ F src/vtab.c ace9b41a088f6ad55d2e39084d92180a2bee3276 F src/where.c 4687a2a56bc0fe66ad457958ea9f72b6cae17426 F tclinstaller.tcl 4356d9d94d2b5ed5e68f9f0c80c4df3048dd7617 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2 -F test/all.test 0b2117b4ccbb3dc88a5259d1735a04d20584b92b +F test/all.test 51e7ba4c58f160843ee6891ec9891c749377d3b2 F test/alter.test c2a9402e17a731e5294ef370214bd9f88351d18d F test/alter2.test 50c3f554b8236d179d72511c0a4f23c5eb7f2af3 F test/alter3.test a6eec8f454be9b6ce73d8d7dc711453675a10ce7 @@ -235,7 +235,7 @@ F test/crash2.test 26d7a4c5520201e5de2c696ea51ab946b59dc0e9 F test/crash3.test 0b09687ae1a3ccbcefdfaeb4b963e26e36255d76 F test/crashtest1.c 09c1c7d728ccf4feb9e481671e29dda5669bbcc2 F test/createtab.test b562aba1a65be49935fc43a04e90766e39231804 -F test/date.test 4834d022b2fa5982cafed20938f7523a7475e4cd +F test/date.test b2bd57ff2ab6185b9322306f7b68fa647d63c857 F test/default.test 252298e42a680146b1dd64f563b95bdf088d94fb F test/delete.test 525a6953bc3978780cae35f3eaf1027cf4ce887d F test/delete2.test c06be3806ba804bc8c6f134476816080280b40e3 @@ -411,7 +411,7 @@ F test/sort.test 0e4456e729e5a92a625907c63dcdedfbe72c5dc5 F test/speed1.test 22e1b27af0683ed44dcd2f93ed817a9c3e65084a F test/speed2.test 53177056baf6556dcbdcf032bbdfc41c1aa74ded F test/speed3.test 55e039b34d505aa442cee415f83c451ae28b3123 -F test/sqllimits1.test c74c7cdbb23406c5408d2d9ddbe7da5b5a946c46 +F test/sqllimits1.test cd2069518d1a1d7b5406b8f26fc8436aa87268e8 F test/subquery.test ae324ee928c5fb463a3ce08a8860d6e7f1ca5797 F test/subselect.test 974e87f8fc91c5f00dd565316d396a5a6c3106c4 F test/substr.test 9f26cfca74397b26ab217fb838c3d0549eb4bcf3 @@ -568,7 +568,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P 3434b7a9213f210498f43cb5094a0f3f5c25b957 -R e134a1f025d06e94c6b0a8b3051d2ea3 -U drh -Z 292d7d222b18b61dd3924bd523487d55 +P d3ab3e3911f10b17d0859a34f4f007c790a0cd82 +R d2fe57741cd389ef9ecc7e0f4057df24 +U danielk1977 +Z 5fccbc4c380bea847cb60000a3027db2 diff --git a/manifest.uuid b/manifest.uuid index ae8e8dfff1..8c69f521d4 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -d3ab3e3911f10b17d0859a34f4f007c790a0cd82 \ No newline at end of file +d119427314d27f291b605073d34826cdb89746c1 \ No newline at end of file diff --git a/src/expr.c b/src/expr.c index 7465ab90b2..857177afba 100644 --- a/src/expr.c +++ b/src/expr.c @@ -12,7 +12,7 @@ ** This file contains routines used for analyzing expressions and ** for generating VDBE code that evaluates expressions in SQLite. ** -** $Id: expr.c,v 1.310 2007/08/29 14:06:23 danielk1977 Exp $ +** $Id: expr.c,v 1.311 2007/08/31 17:42:48 danielk1977 Exp $ */ #include "sqliteInt.h" #include @@ -704,7 +704,7 @@ void sqlite3ExprListCheckLength( } -#if SQLITE_MAX_EXPR_DEPTH>0 +#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0 /* The following three functions, heightOfExpr(), heightOfExprList() ** and heightOfSelect(), are used to determine the maximum height ** of any expression tree referenced by the structure passed as the @@ -1484,7 +1484,7 @@ int sqlite3ExprResolveNames( ){ int savedHasAgg; if( pExpr==0 ) return 0; -#if SQLITE_MAX_EXPR_DEPTH>0 +#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0 if( (pExpr->nHeight+pNC->pParse->nHeight)>SQLITE_MAX_EXPR_DEPTH ){ sqlite3ErrorMsg(pNC->pParse, "Expression tree is too large (maximum depth %d)", @@ -1497,7 +1497,7 @@ int sqlite3ExprResolveNames( savedHasAgg = pNC->hasAgg; pNC->hasAgg = 0; walkExprTree(pExpr, nameResolverStep, pNC); -#if SQLITE_MAX_EXPR_DEPTH>0 +#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0 pNC->pParse->nHeight -= pExpr->nHeight; #endif if( pNC->nErr>0 ){ diff --git a/src/select.c b/src/select.c index 40a326f19c..fbe1b066db 100644 --- a/src/select.c +++ b/src/select.c @@ -12,7 +12,7 @@ ** This file contains C code routines that are called by the parser ** to handle SELECT statements in SQLite. ** -** $Id: select.c,v 1.358 2007/08/30 11:48:32 danielk1977 Exp $ +** $Id: select.c,v 1.359 2007/08/31 17:42:48 danielk1977 Exp $ */ #include "sqliteInt.h" @@ -3019,7 +3019,7 @@ int sqlite3Select( }else{ needRestoreContext = 0; } -#if SQLITE_MAX_EXPR_DEPTH>0 +#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0 /* Increment Parse.nHeight by the height of the largest expression ** tree refered to by this, the parent select. The child select ** may contain expression trees of at most @@ -3031,7 +3031,7 @@ int sqlite3Select( #endif sqlite3Select(pParse, pItem->pSelect, SRT_EphemTab, pItem->iCursor, p, i, &isAgg, 0); -#if SQLITE_MAX_EXPR_DEPTH>0 +#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0 pParse->nHeight -= sqlite3SelectExprHeight(p); #endif if( needRestoreContext ){ diff --git a/src/sqliteInt.h b/src/sqliteInt.h index 6440052dc9..c8fc07cdca 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -11,12 +11,50 @@ ************************************************************************* ** Internal interface definitions for SQLite. ** -** @(#) $Id: sqliteInt.h,v 1.606 2007/08/30 14:10:30 drh Exp $ +** @(#) $Id: sqliteInt.h,v 1.607 2007/08/31 17:42:48 danielk1977 Exp $ */ #ifndef _SQLITEINT_H_ #define _SQLITEINT_H_ #include "sqliteLimit.h" +#ifdef SQLITE_TEST + #undef SQLITE_MAX_LENGTH + #undef SQLITE_MAX_COLUMN + #undef SQLITE_MAX_SQL_LENGTH + #undef SQLITE_MAX_EXPR_DEPTH + #undef SQLITE_MAX_COMPOUND_SELECT + #undef SQLITE_MAX_VDBE_OP + #undef SQLITE_MAX_FUNCTION_ARG + #undef SQLITE_MAX_VARIABLE_NUMBER + #undef SQLITE_MAX_PAGE_SIZE + #undef SQLITE_MAX_PAGE_COUNT + #undef SQLITE_MAX_LIKE_PATTERN_LENGTH + + #define SQLITE_MAX_LENGTH sqlite3MAX_LENGTH + #define SQLITE_MAX_COLUMN sqlite3MAX_COLUMN + #define SQLITE_MAX_SQL_LENGTH sqlite3MAX_SQL_LENGTH + #define SQLITE_MAX_EXPR_DEPTH sqlite3MAX_EXPR_DEPTH + #define SQLITE_MAX_COMPOUND_SELECT sqlite3MAX_COMPOUND_SELECT + #define SQLITE_MAX_VDBE_OP sqlite3MAX_VDBE_OP + #define SQLITE_MAX_FUNCTION_ARG sqlite3MAX_FUNCTION_ARG + #define SQLITE_MAX_VARIABLE_NUMBER sqlite3MAX_VARIABLE_NUMBER + #define SQLITE_MAX_PAGE_SIZE sqlite3MAX_PAGE_SIZE + #define SQLITE_MAX_PAGE_COUNT sqlite3MAX_PAGE_COUNT + #define SQLITE_MAX_LIKE_PATTERN_LENGTH sqlite3MAX_LIKE_PATTERN_LENGTH + + extern int sqlite3MAX_LENGTH; + extern int sqlite3MAX_COLUMN; + extern int sqlite3MAX_SQL_LENGTH; + extern int sqlite3MAX_EXPR_DEPTH; + extern int sqlite3MAX_COMPOUND_SELECT; + extern int sqlite3MAX_VDBE_OP; + extern int sqlite3MAX_FUNCTION_ARG; + extern int sqlite3MAX_VARIABLE_NUMBER; + extern int sqlite3MAX_PAGE_SIZE; + extern int sqlite3MAX_PAGE_COUNT; + extern int sqlite3MAX_LIKE_PATTERN_LENGTH; +#endif + #define _XOPEN_SOURCE 500 /* Needed to enable pthread recursive mutexes */ #if defined(SQLITE_TCL) || defined(TCLSH) @@ -973,7 +1011,7 @@ struct Expr { ** right side of " IN (