]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Allow sqllimits1.test to be run from a regular build of testfixture. Add the 'amalgam...
authordanielk1977 <danielk1977@noemail.net>
Fri, 31 Aug 2007 17:42:48 +0000 (17:42 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Fri, 31 Aug 2007 17:42:48 +0000 (17:42 +0000)
FossilOrigin-Name: d119427314d27f291b605073d34826cdb89746c1

main.mk
manifest
manifest.uuid
src/expr.c
src/select.c
src/sqliteInt.h
src/test1.c
src/test_config.c
test/all.test
test/date.test
test/sqllimits1.test

diff --git a/main.mk b/main.mk
index 0b72c9296b3be85652afc379383515a6b4241b72..7510f5a3ce749e0984d3a6a2c312f6fb0316123c 100644 (file)
--- 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
-
-analyze.o:     $(TOP)/src/analyze.c $(HDR)
-       $(TCCX) -c $(TOP)/src/analyze.c
-
-attach.o:      $(TOP)/src/attach.c $(HDR)
-       $(TCCX) -c $(TOP)/src/attach.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
+%.o: %.c $(HDR)
+       $(TCCX) -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
+# Rules to build individual *.o files from generated *.c files. This
+# applies to:
+#
+#     parse.o
+#     opcodes.o
+#
+%.o: $(TOP)/src/%.c $(HDR)
+       $(TCCX) -c $<
 
-mutex_w32.o:   $(TOP)/src/mutex_w32.c $(HDR)
-       $(TCCX) -c $(TOP)/src/mutex_w32.c
+tclsqlite.o:   $(TOP)/src/tclsqlite.c $(HDR)
+       $(TCCX) $(TCL_FLAGS) -c $(TOP)/src/tclsqlite.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
-
-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
+       cat parse.h $(TOP)/src/vdbe.c |$(NAWK) -f $(TOP)/mkopcodeh.awk >opcodes.h
 
-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
-
-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 <sqlite3.h >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
+%.html: $(TOP)/www/%.tcl docdir last_change common.tcl
+       tclsh $< > $@
 
-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 <sqlite3.h >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
 
index 32f483682f9ec1598cc0dfe374bf98fcfaf65b82..65f218b8ca0332b0f21f22aca899275b622a41d7 100644 (file)
--- 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
index ae8e8dfff18198f04428ffca4eb3ca875d1bcb65..8c69f521d4612fd144e90a7d9c5caf0121ab01b7 100644 (file)
@@ -1 +1 @@
-d3ab3e3911f10b17d0859a34f4f007c790a0cd82
\ No newline at end of file
+d119427314d27f291b605073d34826cdb89746c1
\ No newline at end of file
index 7465ab90b237ccf2c019cac5ecfc18c9036a15da..857177afba469b438c72b0c501e547970d9ed018 100644 (file)
@@ -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 <ctype.h>
@@ -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 ){
index 40a326f19c30de6bac800e3b54556c7583662035..fbe1b066dbe52f9c21c2ebebb90a88ef640bc88b 100644 (file)
@@ -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 ){
index 6440052dc9635cf1598314cceb170f7d7b690bf8..c8fc07cdca84a8b4cad3aa71b32f9548679c64bb 100644 (file)
 *************************************************************************
 ** 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 "<expr> IN (<select>)" */
   Table *pTab;           /* Table for OP_Column expressions. */
   Schema *pSchema;
-#if SQLITE_MAX_EXPR_DEPTH>0
+#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0
   int nHeight;           /* Height of the tree headed by this node */
 #endif
 };
@@ -1321,7 +1359,7 @@ struct Parse {
   u8 declareVtab;            /* True if inside sqlite3_declare_vtab() */
   Table *pVirtualLock;       /* Require virtual table lock on this table */
 #endif
-#if SQLITE_MAX_EXPR_DEPTH>0
+#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0
   int nHeight;            /* Expression tree height of current sub-select */
 #endif
 };
@@ -1876,7 +1914,7 @@ CollSeq *sqlite3BinaryCompareCollSeq(Parse *, Expr *, Expr *);
   #define sqlite3JournalSize(pVfs) ((pVfs)->szOsFile)
 #endif
 
-#if SQLITE_MAX_EXPR_DEPTH>0
+#if defined(SQLITE_TEST) || SQLITE_MAX_EXPR_DEPTH>0
   void sqlite3ExprSetHeight(Expr *);
   int sqlite3SelectExprHeight(Select *);
 #else
index 198744c2bed488fbfdb06bc10c69540d36679c94..2802a991bd9b2d0f257c7b3098d019e2761221c5 100644 (file)
@@ -13,7 +13,7 @@
 ** is not included in the SQLite library.  It is used for automated
 ** testing of the SQLite library.
 **
-** $Id: test1.c,v 1.271 2007/08/23 02:47:53 drh Exp $
+** $Id: test1.c,v 1.272 2007/08/31 17:42:48 danielk1977 Exp $
 */
 #include "sqliteInt.h"
 #include "tcl.h"
@@ -4353,7 +4353,6 @@ int Sqlitetest1_Init(Tcl_Interp *interp){
   };
   static int bitmask_size = sizeof(Bitmask)*8;
   int i;
-  extern int sqlite3_where_trace;
   extern int sqlite3_sync_count, sqlite3_fullsync_count;
   extern int sqlite3_opentemp_count;
   extern int sqlite3_like_count;
@@ -4369,6 +4368,7 @@ int Sqlitetest1_Init(Tcl_Interp *interp){
   extern int sqlite3_os_type;
 #endif
 #ifdef SQLITE_DEBUG
+  extern int sqlite3_where_trace;
   extern int sqlite3_os_trace;
   extern int sqlite3_vdbe_addop_trace;
 #endif
index 2b933bfe18f00b13f857bba73e52bf2d2a312b6c..f75f14d1b0ac117067e0fc3613ebbf83a562c5e3 100644 (file)
 ** The focus of this file is providing the TCL testing layer
 ** access to compile-time constants.
 **
-** $Id: test_config.c,v 1.13 2007/08/29 17:59:42 drh Exp $
+** $Id: test_config.c,v 1.14 2007/08/31 17:42:48 danielk1977 Exp $
 */
+
+#include "sqliteLimit.h"
+
+int sqlite3MAX_LENGTH = SQLITE_MAX_LENGTH;
+int sqlite3MAX_COLUMN = SQLITE_MAX_COLUMN;
+int sqlite3MAX_SQL_LENGTH = SQLITE_MAX_SQL_LENGTH;
+int sqlite3MAX_EXPR_DEPTH = SQLITE_MAX_EXPR_DEPTH;
+int sqlite3MAX_COMPOUND_SELECT = SQLITE_MAX_COMPOUND_SELECT;
+int sqlite3MAX_VDBE_OP = SQLITE_MAX_VDBE_OP;
+int sqlite3MAX_FUNCTION_ARG = SQLITE_MAX_FUNCTION_ARG;
+int sqlite3MAX_VARIABLE_NUMBER = SQLITE_MAX_VARIABLE_NUMBER;
+int sqlite3MAX_PAGE_SIZE = SQLITE_MAX_PAGE_SIZE;
+int sqlite3MAX_PAGE_COUNT = SQLITE_MAX_PAGE_COUNT;
+int sqlite3MAX_LIKE_PATTERN_LENGTH = SQLITE_MAX_LIKE_PATTERN_LENGTH;
+
 #include "sqliteInt.h"
 #include "tcl.h"
 #include <stdlib.h>
@@ -393,41 +408,21 @@ Tcl_SetVar2(interp, "sqlite_options", "long_double",
   Tcl_SetVar2(interp, "sqlite_options", "vtab", "1", TCL_GLOBAL_ONLY);
 #endif
 
-  {
-    static int sqlite_max_length = SQLITE_MAX_LENGTH;
-    Tcl_LinkVar(interp, "SQLITE_MAX_LENGTH",
-           (char*)&sqlite_max_length, TCL_LINK_INT|TCL_LINK_READ_ONLY);
-  }
-  {
-    static int sqlite_max_column = SQLITE_MAX_COLUMN;
-    Tcl_LinkVar(interp, "SQLITE_MAX_COLUMN",
-           (char*)&sqlite_max_column, TCL_LINK_INT|TCL_LINK_READ_ONLY);
-  }
-  {
-    static int sqlite_max_sql_length = SQLITE_MAX_SQL_LENGTH;
-    Tcl_LinkVar(interp, "SQLITE_MAX_SQL_LENGTH",
-           (char*)&sqlite_max_sql_length, TCL_LINK_INT|TCL_LINK_READ_ONLY);
-  }
-  {
-    static int sqlite_max_expr_depth = SQLITE_MAX_EXPR_DEPTH;
-    Tcl_LinkVar(interp, "SQLITE_MAX_EXPR_DEPTH",
-           (char*)&sqlite_max_expr_depth, TCL_LINK_INT|TCL_LINK_READ_ONLY);
-  }
-  {
-    static int sqlite_max_compound_select = SQLITE_MAX_COMPOUND_SELECT;
-    Tcl_LinkVar(interp, "SQLITE_MAX_COMPOUND_SELECT",
-           (char*)&sqlite_max_compound_select, TCL_LINK_INT|TCL_LINK_READ_ONLY);
-  }
-  {
-    static int sqlite_max_vdbe_op = SQLITE_MAX_VDBE_OP;
-    Tcl_LinkVar(interp, "SQLITE_MAX_VDBE_OP",
-           (char*)&sqlite_max_vdbe_op, TCL_LINK_INT|TCL_LINK_READ_ONLY);
-  }
-  {
-    static int sqlite_max_function_arg = SQLITE_MAX_FUNCTION_ARG;
-    Tcl_LinkVar(interp, "SQLITE_MAX_FUNCTION_ARG",
-           (char*)&sqlite_max_function_arg, TCL_LINK_INT|TCL_LINK_READ_ONLY);
-  }
+#define LINKVAR(x) \
+    Tcl_LinkVar(interp, "SQLITE_" #x, (char *)&(sqlite3 ## x), TCL_LINK_INT)
+
+  LINKVAR( MAX_LENGTH );
+  LINKVAR( MAX_COLUMN );
+  LINKVAR( MAX_SQL_LENGTH );
+  LINKVAR( MAX_EXPR_DEPTH );
+  LINKVAR( MAX_COMPOUND_SELECT );
+  LINKVAR( MAX_VDBE_OP );
+  LINKVAR( MAX_FUNCTION_ARG );
+  LINKVAR( MAX_VARIABLE_NUMBER );
+  LINKVAR( MAX_PAGE_SIZE );
+  LINKVAR( MAX_PAGE_COUNT );
+  LINKVAR( MAX_LIKE_PATTERN_LENGTH );
+
   {
     static int sqlite_default_temp_cache_size = SQLITE_DEFAULT_TEMP_CACHE_SIZE;
     Tcl_LinkVar(interp, "SQLITE_DEFAULT_TEMP_CACHE_SIZE",
@@ -439,26 +434,11 @@ Tcl_SetVar2(interp, "sqlite_options", "long_double",
     Tcl_LinkVar(interp, "SQLITE_DEFAULT_CACHE_SIZE",
            (char*)&sqlite_default_cache_size, TCL_LINK_INT|TCL_LINK_READ_ONLY);
   }
-  {
-    static int sqlite_max_variable_number = SQLITE_MAX_VARIABLE_NUMBER;
-    Tcl_LinkVar(interp, "SQLITE_MAX_VARIABLE_NUMBER",
-           (char*)&sqlite_max_variable_number, TCL_LINK_INT|TCL_LINK_READ_ONLY);
-  }
   {
     static int sqlite_default_page_size = SQLITE_DEFAULT_PAGE_SIZE;
     Tcl_LinkVar(interp, "SQLITE_DEFAULT_PAGE_SIZE",
            (char*)&sqlite_default_page_size, TCL_LINK_INT|TCL_LINK_READ_ONLY);
   }
-  {
-    static int sqlite_max_page_size = SQLITE_MAX_PAGE_SIZE;
-    Tcl_LinkVar(interp, "SQLITE_MAX_PAGE_SIZE",
-           (char*)&sqlite_max_page_size, TCL_LINK_INT|TCL_LINK_READ_ONLY);
-  }
-  {
-    static int sqlite_max_page_count = SQLITE_MAX_PAGE_COUNT;
-    Tcl_LinkVar(interp, "SQLITE_MAX_PAGE_COUNT",
-           (char*)&sqlite_max_page_count, TCL_LINK_INT|TCL_LINK_READ_ONLY);
-  }
   {
     static int temp_store = TEMP_STORE;
     Tcl_LinkVar(interp, "TEMP_STORE",
@@ -469,11 +449,6 @@ Tcl_SetVar2(interp, "sqlite_options", "long_double",
     Tcl_LinkVar(interp, "SQLITE_DEFAULT_FILE_FORMAT",
            (char*)&sqlite_default_file_format, TCL_LINK_INT|TCL_LINK_READ_ONLY);
   }
-  {
-    static int sqlite_max_like_pattern = SQLITE_MAX_LIKE_PATTERN_LENGTH;
-    Tcl_LinkVar(interp, "SQLITE_MAX_LIKE_PATTERN_LENGTH",
-           (char*)&sqlite_max_like_pattern, TCL_LINK_INT|TCL_LINK_READ_ONLY);
-  }
   {
     static int sqlite_max_attached = SQLITE_MAX_ATTACHED;
     Tcl_LinkVar(interp, "SQLITE_MAX_ATTACHED",
index 96289a9e724d7aae152817afeabb2b0e466d9d7d..920816b9cfa5629f45c67ba78c11ca09b51053ea 100644 (file)
@@ -10,7 +10,7 @@
 #***********************************************************************
 # This file runs all tests.
 #
-# $Id: all.test,v 1.46 2007/08/23 02:47:53 drh Exp $
+# $Id: all.test,v 1.47 2007/08/31 17:42:48 danielk1977 Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -52,20 +52,19 @@ set argv {}
 #
 set LeakList {}
 
-set EXCLUDE {
-  all.test
-  async.test
-  crash.test
-  crash2.test
-  autovacuum_crash.test
-  quick.test
-  malloc.test
-  misuse.test
-  memleak.test
-  sqllimits1.test
-  fuzz.test
-  soak.test
-}
+set EXCLUDE {}
+lappend EXCLUDE all.test               ;# This file
+lappend EXCLUDE async.test
+lappend EXCLUDE crash.test             ;# Run seperately later.
+lappend EXCLUDE crash2.test            ;# Run seperately later.
+lappend EXCLUDE autovacuum_crash.test  ;# Run seperately later.
+lappend EXCLUDE quick.test             ;# Alternate test driver script
+lappend EXCLUDE malloc.test            ;# Run seperately later.
+lappend EXCLUDE misuse.test            ;# Run seperately later.
+lappend EXCLUDE memleak.test           ;# Alternate test driver script
+lappend EXCLUDE sqllimits1.test        ;# Default values use too much memory
+lappend EXCLUDE fuzz.test
+lappend EXCLUDE soak.test              ;# Takes a very long time (default 1 hr)
 
 # Files to include in the test.  If this list is empty then everything
 # that is not in the EXCLUDE list is run.
index bf06fd1b93923c6d535c10a95c7cf8094623e865..b26db27b440e254f54d3c5495d370cb0b47809a2 100644 (file)
@@ -11,7 +11,7 @@
 # This file implements regression tests for SQLite library.  The
 # focus of this file is testing date and time functions.
 #
-# $Id: date.test,v 1.22 2007/05/04 13:15:57 drh Exp $
+# $Id: date.test,v 1.23 2007/08/31 17:42:48 danielk1977 Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -234,6 +234,13 @@ if {$tzoffset==4} {
   set sqlite_current_time 0
 }
 
+# These two are a bit of a scam. They are added to ensure that 100% of
+# the date.c file is covered by testing, even when the time-zone
+# is not -0400 (the condition for running of the block of tests above).
+#
+datetest 6.19 {datetime('2039-07-01 12:00:00','localtime',null)} NULL
+datetest 6.20 {datetime('2039-07-01 12:00:00','utc',null)} NULL
+
 # Date-time functions that contain NULL arguments return a NULL
 # result.
 #
index 3bab3f52774a6786ef20b06d14d3387fb44b1af9..1ce97ab38e5b34f6a03cbbc41ddd72ff30a5cef9 100644 (file)
@@ -12,7 +12,7 @@
 # This file contains tests to verify that the limits defined in
 # sqlite source file limits.h are enforced.
 #
-# $Id: sqllimits1.test,v 1.10 2007/06/07 19:08:34 drh Exp $
+# $Id: sqllimits1.test,v 1.11 2007/08/31 17:42:48 danielk1977 Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -35,8 +35,21 @@ source $testdir/tester.tcl
 #
 #     sqllimits-5.*:   SQLITE_MAX_EXPR_DEPTH            (sqlite todo)
 #     sqllimits-6.*:   SQLITE_MAX_VDBE_OP               (sqlite todo)
+#     sqllimits-12.*:  SQLITE_MAX_PAGE_COUNT            (sqlite todo)
 #
 
+set SQLITE_MAX_LENGTH                1000000
+set SQLITE_MAX_COLUMN
+set SQLITE_MAX_SQL_LENGTH             100000
+set SQLITE_MAX_EXPR_DEPTH               1000
+set SQLITE_MAX_COMPOUND_SELECT             5
+set SQLITE_MAX_VDBE_OP
+set SQLITE_MAX_FUNCTION_ARG
+set SQLITE_MAX_VARIABLE_NUMBER
+set SQLITE_MAX_PAGE_SIZE
+set SQLITE_MAX_PAGE_COUNT
+set SQLITE_MAX_LIKE_PATTERN_LENGTH      1000
+
 #--------------------------------------------------------------------
 # Test cases sqllimits-1.* test that the SQLITE_MAX_LENGTH limit
 # is enforced.
@@ -70,7 +83,7 @@ do_test sqllimits-1.5 {
 
 do_test sqllimits-1.6 {
   catchsql { SELECT zeroblob(-1) }
-} {0 {}}
+} {0 {{}}}
 
 do_test sqllimits-1.9 {
   set ::str [string repeat A 65537]
@@ -350,6 +363,9 @@ do_test sqllimits-1.7.2 {
 # TODO
 do_test sqllimits-1.8.1 {
   set max $::SQLITE_MAX_ATTACHED
+  for {set i 0} {$i < ($max)} {incr i} {
+    file delete -force test${i}.db test${i}.db-journal
+  }
   for {set i 0} {$i < ($max)} {incr i} {
     execsql "ATTACH 'test${i}.db' AS aux${i}"
   }