]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Make the sha3 extension part of the amalgamation, enabled using
authordrh <drh@noemail.net>
Mon, 12 Aug 2019 15:19:24 +0000 (15:19 +0000)
committerdrh <drh@noemail.net>
Mon, 12 Aug 2019 15:19:24 +0000 (15:19 +0000)
SQLITE_ENABLE_SHA3.

FossilOrigin-Name: a48a7b78597c1551fd4e29b9a733ab8c8a60ad82721b90d7f645987ca65cee6e

12 files changed:
Makefile.in
Makefile.msc
ext/misc/shathree.c
main.mk
manifest
manifest.uuid
src/ctime.c
src/main.c
src/shell.c.in
src/test_config.c
tool/mksqlite3c.tcl
tool/warnings.sh

index 8df09826fce9864feb615b8d1457ef662d7d7627..e7a3ec902095eba2e1c675a8c0efbb48a27aa713 100644 (file)
@@ -186,7 +186,7 @@ LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
          notify.lo opcodes.lo os.lo os_unix.lo os_win.lo \
          pager.lo parse.lo pcache.lo pcache1.lo pragma.lo prepare.lo printf.lo \
          random.lo resolve.lo rowset.lo rtree.lo \
-         sqlite3session.lo select.lo sqlite3rbu.lo status.lo stmt.lo \
+         sqlite3session.lo select.lo shathree.lo sqlite3rbu.lo status.lo stmt.lo \
          table.lo threads.lo tokenize.lo treeview.lo trigger.lo \
          update.lo userauth.lo upsert.lo util.lo vacuum.lo \
          vdbe.lo vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \
@@ -364,6 +364,7 @@ SRC += \
   $(TOP)/ext/rbu/sqlite3rbu.c
 SRC += \
   $(TOP)/ext/misc/json1.c \
+  $(TOP)/ext/misc/shathree.c \
   $(TOP)/ext/misc/stmt.c
 
 # Generated source code files
@@ -600,6 +601,7 @@ TESTOPTS = --verbose=file --output=test-out.txt
 # Extra compiler options for various shell tools
 #
 SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4
+SHELL_OPT += -DSQLITE_ENABLE_SHA3
 #SHELL_OPT += -DSQLITE_ENABLE_FTS5
 SHELL_OPT += -DSQLITE_ENABLE_RTREE
 SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS
@@ -610,8 +612,9 @@ SHELL_OPT += -DSQLITE_ENABLE_DBSTAT_VTAB
 SHELL_OPT += -DSQLITE_ENABLE_OFFSET_SQL_FUNC
 SHELL_OPT += -DSQLITE_ENABLE_DESERIALIZE
 SHELL_OPT += -DSQLITE_INTROSPECTION_PRAGMAS
-FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
+FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_SHA3
 FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ
+FUZZCHECK_OPT += -DSQLITE_ENABLE_SHA3
 FUZZCHECK_OPT += -DSQLITE_MAX_MEMORY=50000000
 FUZZCHECK_OPT += -DSQLITE_PRINTF_PRECISION_LIMIT=1000
 FUZZCHECK_OPT += -DSQLITE_ENABLE_DESERIALIZE
@@ -1156,6 +1159,9 @@ sqlite3session.lo:        $(TOP)/ext/session/sqlite3session.c $(HDR) $(EXTHDR)
 json1.lo:      $(TOP)/ext/misc/json1.c
        $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/misc/json1.c
 
+shathree.lo:   $(TOP)/ext/misc/shathree.c
+       $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/misc/shathree.c
+
 stmt.lo:       $(TOP)/ext/misc/stmt.c
        $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/misc/stmt.c
 
index e9997bd9c55d4d315764b3a4b0cfa1cd34668028..831df78f9d1ceee03fd3a7a06d770031f51c5e5f 100644 (file)
@@ -348,6 +348,7 @@ OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_FTS3=1
 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_RTREE=1
 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_GEOPOLY=1
 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_JSON1=1
+OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_SHA3=1
 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_STMTVTAB=1
 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_DBPAGE_VTAB=1
 OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_DBSTAT_VTAB=1
@@ -1230,7 +1231,7 @@ LIBOBJS0 = vdbe.lo parse.lo alter.lo analyze.lo attach.lo auth.lo \
          notify.lo opcodes.lo os.lo os_unix.lo os_win.lo \
          pager.lo pcache.lo pcache1.lo pragma.lo prepare.lo printf.lo \
          random.lo resolve.lo rowset.lo rtree.lo \
-         sqlite3session.lo select.lo sqlite3rbu.lo status.lo stmt.lo \
+         sqlite3session.lo select.lo shathree.lo sqlite3rbu.lo status.lo stmt.lo \
          table.lo threads.lo tokenize.lo treeview.lo trigger.lo \
          update.lo upsert.lo util.lo vacuum.lo \
          vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \
@@ -1419,6 +1420,7 @@ SRC07 = \
   $(TOP)\ext\session\sqlite3session.c \
   $(TOP)\ext\rbu\sqlite3rbu.c \
   $(TOP)\ext\misc\json1.c \
+  $(TOP)\ext\misc\shathree.c \
   $(TOP)\ext\misc\stmt.c
 
 # Extension header files, part 1.
@@ -1665,8 +1667,9 @@ SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_DESERIALIZE=1
 # Extra compiler options for various test tools.
 #
 MPTESTER_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5
-FUZZERSHELL_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1
+FUZZERSHELL_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_SHA3
 FUZZCHECK_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ -DSQLITE_MAX_MEMORY=50000000 -DSQLITE_PRINTF_PRECISION_LIMIT=1000
+FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_SHA3
 FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DESERIALIZE
 FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_FTS4
 FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_RTREE
@@ -2253,6 +2256,9 @@ fts3_write.lo:    $(TOP)\ext\fts3\fts3_write.c $(HDR) $(EXTHDR)
 json1.lo:      $(TOP)\ext\misc\json1.c $(HDR) $(EXTHDR)
        $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\misc\json1.c
 
+shathree.lo:   $(TOP)\ext\misc\shathree.c $(HDR) $(EXTHDR)
+       $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\misc\shathree.c
+
 stmt.lo:       $(TOP)\ext\misc\stmt.c $(HDR) $(EXTHDR)
        $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\misc\stmt.c
 
@@ -2341,6 +2347,7 @@ TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_DEFAULT_PAGE_SIZE=1024
 TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_STMTVTAB=1
 TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_DBPAGE_VTAB=1
 TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_JSON1=1
+TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_SHA3=1
 TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_DESERIALIZE=1
 TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) $(TEST_CCONV_OPTS)
 
index e35fa494773f56199666249066e9211cd2e34709..2fbfb83959647b55dc9a40883c188f34f4b310e4 100644 (file)
 ** is used.  If SIZE is included it must be one of the integers 224, 256,
 ** 384, or 512, to determine SHA3 hash variant that is computed.
 */
+#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_SHA3)
+#if !defined(SQLITEINT_H)
 #include "sqlite3ext.h"
+#endif
 SQLITE_EXTENSION_INIT1
 #include <assert.h>
 #include <string.h>
 #include <stdarg.h>
+#ifndef SQLITE_CORE
 typedef sqlite3_uint64 u64;
+#endif
 
 /******************************************************************************
 ** The Hash Engine
@@ -684,18 +689,12 @@ static void sha3QueryFunc(
   sqlite3_result_blob(context, SHA3Final(&cx), iSize/8, SQLITE_TRANSIENT);
 }
 
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int sqlite3_shathree_init(
-  sqlite3 *db,
-  char **pzErrMsg,
-  const sqlite3_api_routines *pApi
-){
+/*
+** Register the SHA3 functions on the database connection db.
+** Return any errors encountered.
+*/
+int sqlite3Sha3Init(sqlite3 *db){
   int rc = SQLITE_OK;
-  SQLITE_EXTENSION_INIT2(pApi);
-  (void)pzErrMsg;  /* Unused parameter */
   rc = sqlite3_create_function(db, "sha3", 1, SQLITE_UTF8, 0,
                                sha3Func, 0, 0);
   if( rc==SQLITE_OK ){
@@ -712,3 +711,24 @@ int sqlite3_shathree_init(
   }
   return rc;
 }
+
+/*
+** Registration entry point for when this module is compiled as a shared
+** library.
+*/
+#ifndef SQLITE_CORE
+#ifdef _WIN32
+__declspec(dllexport)
+#endif
+int sqlite3_shathree_init(
+  sqlite3 *db,
+  char **pzErrMsg,
+  const sqlite3_api_routines *pApi
+){
+  int rc = SQLITE_OK;
+  SQLITE_EXTENSION_INIT2(pApi);
+  (void)pzErrMsg;  /* Unused parameter */
+  return sqlite3Sha3Init(db);
+}
+#endif /* SQLITE_CORE */
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_SHA3) */
diff --git a/main.mk b/main.mk
index 508554d733ce89ea11f2a48052dbe3b2d733c431..ecef3937d7b445c8a525161d45379a5bc6af3193 100644 (file)
--- a/main.mk
+++ b/main.mk
@@ -70,7 +70,7 @@ LIBOBJ+= vdbe.o parse.o \
          notify.o opcodes.o os.o os_unix.o os_win.o \
          pager.o pcache.o pcache1.o pragma.o prepare.o printf.o \
          random.o resolve.o rowset.o rtree.o \
-         select.o sqlite3rbu.o status.o stmt.o \
+         select.o shathree.o sqlite3rbu.o status.o stmt.o \
          table.o threads.o tokenize.o treeview.o trigger.o \
          update.o upsert.o userauth.o util.o vacuum.o \
          vdbeapi.o vdbeaux.o vdbeblob.o vdbemem.o vdbesort.o \
@@ -242,6 +242,7 @@ SRC += \
   $(TOP)/ext/rbu/sqlite3rbu.h
 SRC += \
   $(TOP)/ext/misc/json1.c \
+  $(TOP)/ext/misc/shathree.c \
   $(TOP)/ext/misc/stmt.c
 
 
@@ -520,6 +521,7 @@ TESTOPTS = --verbose=file --output=test-out.txt
 # Extra compiler options for various shell tools
 #
 SHELL_OPT += -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5
+SHELL_OPT += -DSQLITE_ENABLE_SHA3
 SHELL_OPT += -DSQLITE_ENABLE_RTREE
 SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS
 SHELL_OPT += -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
@@ -528,8 +530,9 @@ SHELL_OPT += -DSQLITE_ENABLE_DBPAGE_VTAB
 SHELL_OPT += -DSQLITE_ENABLE_DBSTAT_VTAB
 SHELL_OPT += -DSQLITE_ENABLE_OFFSET_SQL_FUNC
 SHELL_OPT += -DSQLITE_INTROSPECTION_PRAGMAS
-FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
+FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_SHA3
 FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5
+FUZZCHECK_OPT += -DSQLITE_ENABLE_SHA3
 FUZZCHECK_OPT += -DSQLITE_MAX_MEMORY=50000000
 FUZZCHECK_OPT += -DSQLITE_PRINTF_PRECISION_LIMIT=1000
 FUZZCHECK_OPT += -DSQLITE_ENABLE_DESERIALIZE
@@ -814,6 +817,9 @@ fts5.o:     fts5.c
 json1.o:       $(TOP)/ext/misc/json1.c
        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/misc/json1.c
 
+shathree.o:    $(TOP)/ext/misc/shathree.c
+       $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/misc/shathree.c
+
 stmt.o:        $(TOP)/ext/misc/stmt.c
        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/misc/stmt.c
 
index a11bae5803ac488c621a031d71b47ece3e578a51..915884b9e5eb5c3f4c30766adf465bcf25ea2ad6 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,11 +1,11 @@
-C Add\sa\sTESTCTRL\sthat\sdisables\sthe\sverification\sof\stype,\sname,\sand\stbl_name\nin\sthe\ssqlite_master\stable.
-D 2019-08-12T14:17:43.606
+C Make\sthe\ssha3\sextension\spart\sof\sthe\samalgamation,\senabled\susing\nSQLITE_ENABLE_SHA3.
+D 2019-08-12T15:19:24.088
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
-F Makefile.in 4640daf826b80947a924ac44275c451ffc13007c7c866a5730c8ce5cf9e1dc74
+F Makefile.in 2b62266e45b7d285178bedb171b38f2bb7d3e4ac0b4863a77d1e98a2c5d338b4
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
-F Makefile.msc 1ce5a2f754201baf709132fe5b45027c73343fba2607107821f759d78cf136c0
+F Makefile.msc 50ce9be8e6ed5fc8da3a2b06744fc1d865214f606b92cedc942cf52d2188d0d0
 F README.md 1514a365ffca3c138e00c5cc839906108a01011a6b082bad19b09781e3aa498a
 F VERSION 4c516d84c2a5f26c477ed34c09ac4136630f71c68139631f2eb591b22eea7cf1
 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
@@ -308,7 +308,7 @@ F ext/misc/rot13.c 540a169cb0d74f15522a8930b0cccdcb37a4fd071d219a5a083a319fc6e8d
 F ext/misc/scrub.c db9fff56fed322ca587d73727c6021b11ae79ce3f31b389e1d82891d144f22ad
 F ext/misc/series.c 0c97f63378fddc9f425e82ba139b9aaf902211f24ced115c2b6ae12b425f7334
 F ext/misc/sha1.c df0a667211baa2c0612d8486acbf6331b9f8633fd4d605c17c7cccd26d59c6bd
-F ext/misc/shathree.c 22ba7ca84a433d6466a7d05dcc876910b435a715da8cc462517db9351412b8c8
+F ext/misc/shathree.c 47f08717aceebe68bd9da7e3dca4e8ea6345bb32caa38a2b1506118f6e6574ff
 F ext/misc/showauth.c 732578f0fe4ce42d577e1c86dc89dd14a006ab52
 F ext/misc/spellfix.c f88ecb2c0294453ce8b7704b211f5350c41b085b38c8e056852e3a08b0f5e484
 F ext/misc/sqlar.c 57d5bc45cd5492208e451f697404be88f8612527d64c9d42f96b325b64983d74
@@ -445,7 +445,7 @@ F ext/userauth/userauth.c f81aa5a3ecacf406f170c62a144405858f6f6de51dbdc0920134e6
 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
 F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
 F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
-F main.mk 125adda36bb32c99dc3a11340bd029ef373b9523eac2b2af76087bfe82d4fdf8
+F main.mk 2481e9d1668d9cdff034b8aac3d5d27a8969c405cd6893b42a866ed437cc904b
 F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
 F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
@@ -470,7 +470,7 @@ F src/btreeInt.h 6111c15868b90669f79081039d19e7ea8674013f907710baa3c814dc3f8bfd3
 F src/build.c 7fb6ad35d162517d6bfa196f4fb2a1d7c3a362531e84c59f3a0479e0de511556
 F src/callback.c 25dda5e1c2334a367b94a64077b1d06b2553369f616261ca6783c48bcb6bda73
 F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
-F src/ctime.c 1b0724e66f95f33b160b1af85caaf9cceb325d22abf39bd24df4f54a73982251
+F src/ctime.c b273817813ebd49e8b19db67bdf80ab3a81f648ecd38e63c0ad8f88a9d406c4e
 F src/date.c e1d8ac7102f3f283e63e13867acb0efa33861cf34f0faf4cdbaf9fa7a1eb7041
 F src/dbpage.c 135eb3b5e74f9ef74bde5cec2571192c90c86984fa534c88bf4a055076fa19b7
 F src/dbstat.c c12833de69cb655751487d2c5a59607e36be1c58ba1f4bd536609909ad47b319
@@ -487,7 +487,7 @@ F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
 F src/insert.c c2194dd2886337b870226fcb31c13e7df8c4b5e0ea85140e510a6f1daf1ad65b
 F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
 F src/loadext.c 22afc33c3a61b4fd80a60a54f1882688371e6bc64685df2696b008fce65a999c
-F src/main.c 3add6433e077635dac5579edaf7b3942e3ff3dda5588c49c0edd7abea2096482
+F src/main.c 4b4c548527ae186fe97f4b7a6ea94f843a77aa93561373d051a2e773b1f4ac5e
 F src/malloc.c 0f9da2a66b230a5785af94b9672126845099b57b70a32c987d04ac28c69da990
 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
 F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de
@@ -524,7 +524,7 @@ F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
 F src/resolve.c d49679d55d3cf529bbdff8734c4ac02cedfb2fc785545b89815ddb79680b9198
 F src/rowset.c d977b011993aaea002cab3e0bb2ce50cf346000dff94e944d547b989f4b1fe93
 F src/select.c 11087458ec2af5c4b377559ea0462c2ab842e02badd35b21a8d67257c4e0b117
-F src/shell.c.in 1b9efc93f912a714bed08977d16b3f363c632132b9b6c8564be59e9f2c4807da
+F src/shell.c.in 4dac87dbc32c95b8127af3a0fdc0b0a257df02c837520d340870822e7fff2c02
 F src/sqlite.h.in 1fe019ae55182040e6ea10c89ddbb8d24c1b1015c423da53e55205398a65a906
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 F src/sqlite3ext.h 9ecc93b8493bd20c0c07d52e2ac0ed8bab9b549c7f7955b59869597b650dd8b5
@@ -548,7 +548,7 @@ F src/test_backup.c bf5da90c9926df0a4b941f2d92825a01bbe090a0
 F src/test_bestindex.c 78809f11026f18a93fcfd798d9479cba37e1201c830260bf1edc674b2fa9b857
 F src/test_blob.c ae4a0620b478548afb67963095a7417cd06a4ec0a56adb453542203bfdcb31ce
 F src/test_btree.c 8b2dc8b8848cf3a4db93f11578f075e82252a274
-F src/test_config.c e25826d693039cdd45963de378cbf39e3af0e8aa7a8a6fc159876f4e7b5a4f8c
+F src/test_config.c 50eeeae4d629a5bcc931eed7b3a0a6ec27b4c91edec35cf120142e183bc0a612
 F src/test_delete.c e2fe07646dff6300b48d49b2fee2fe192ed389e834dd635e3b3bac0ce0bf9f8f
 F src/test_demovfs.c 86142ba864d4297d54c5b2e972e74f3141ae4b30f05b3a95824184ed2d3d7f91
 F src/test_devsym.c 6109b45c3db3ef7b002320947ed448c027356ab8b885156ff535fd8684d4a571
@@ -1774,7 +1774,7 @@ F tool/mkshellc.tcl 70a9978e363b0f3280ca9ce1c46d72563ff479c1930a12a7375e3881b732
 F tool/mksourceid.c d458f9004c837bee87a6382228ac20d3eae3c49ea3b0a5aace936f8b60748d3b
 F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
 F tool/mksqlite3c-noext.tcl 4f7cfef5152b0c91920355cbfc1d608a4ad242cb819f1aea07f6d0274f584a7f
-F tool/mksqlite3c.tcl 5fed3d75069d8f66f202d3b5200b0cea4aa7108481acd06732a06fdd42eb83a2
+F tool/mksqlite3c.tcl 2a26d3fe51422fb0a26db5b93b3c1257de6f4e9fdb8f725f9211ecc8470cfd91
 F tool/mksqlite3h.tcl 080873e3856eceb9d289a08a00c4b30f875ea3feadcbece796bd509b1532792c
 F tool/mksqlite3internalh.tcl eb994013e833359137eb53a55acdad0b5ae1049b
 F tool/mkvsix.tcl b9e0777a213c23156b6542842c238479e496ebf5
@@ -1813,7 +1813,7 @@ F tool/varint.c 5d94cb5003db9dbbcbcc5df08d66f16071aee003
 F tool/vdbe-compress.tcl 5926c71f9c12d2ab73ef35c29376e756eb68361c
 F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
-F tool/warnings.sh 09311479bdc290e20ec8e35a3d1b14b096bbd96222277cfd6274c3a99b3d012f
+F tool/warnings.sh 856e3ad13c1e2c4af7188aad4148e9afad77321cf07ca4716eedce8e7c952e15
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
 F vsixtest/App.xaml b76d3b48860e7454775c47ea38ffea9c4abe3e85
 F vsixtest/App.xaml.cpp c465147f50871165c60ca16955219f6c5812d6d8
@@ -1836,7 +1836,10 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 724f4df9ccc2b683f7091a3f7a8c20ee210f44d7a610cd1b4c49da1c274add08
-R e52d4e08443796a700878ad995be892e
+P 48d9b48ab4ace234eb1a055cf33cb533a1c3aa82d0a6e086d96226bd9474ceca
+R 54466ea5aa988e0d485012b6fb04619b
+T *branch * sha3
+T *sym-sha3 *
+T -sym-trunk *
 U drh
-Z a1bdff4fd0620b61d82942631950a69a
+Z 7b8a9dd8f3ea4495b42e1bfdf424b071
index b784b190f1006d6c7d4de7000c6c0e606af41d8a..b69fff214c964cf806bd25bdc25915e1598e08af 100644 (file)
@@ -1 +1 @@
-48d9b48ab4ace234eb1a055cf33cb533a1c3aa82d0a6e086d96226bd9474ceca
\ No newline at end of file
+a48a7b78597c1551fd4e29b9a733ab8c8a60ad82721b90d7f645987ca65cee6e
\ No newline at end of file
index 013a0c267023540108a9ca50d0698857a6bb648b..e69a88e1fd9b026429ea6d7a39ac5b96a69d1c67 100644 (file)
@@ -295,6 +295,9 @@ static const char * const sqlite3azCompileOpt[] = {
 #if SQLITE_ENABLE_SESSION
   "ENABLE_SESSION",
 #endif
+#if SQLITE_ENABLE_SHA3
+  "ENABLE_SHA3",
+#endif
 #if SQLITE_ENABLE_SNAPSHOT
   "ENABLE_SNAPSHOT",
 #endif
index 06a55eca0201a2bf5061ed5e42b51c7a947e4d1f..95a6d7d48430f266d967065573c680afb97432ea 100644 (file)
@@ -28,6 +28,9 @@
 #ifdef SQLITE_ENABLE_JSON1
 int sqlite3Json1Init(sqlite3*);
 #endif
+#ifdef SQLITE_ENABLE_SHA3
+int sqlite3Sha3Init(sqlite3*);
+#endif
 #ifdef SQLITE_ENABLE_STMTVTAB
 int sqlite3StmtVtabInit(sqlite3*);
 #endif
@@ -3300,6 +3303,12 @@ static int openDatabase(
   }
 #endif
 
+#ifdef SQLITE_ENABLE_SHA3
+  if( !db->mallocFailed && rc==SQLITE_OK){
+    rc = sqlite3Sha3Init(db);
+  }
+#endif
+
 #ifdef SQLITE_ENABLE_STMTVTAB
   if( !db->mallocFailed && rc==SQLITE_OK){
     rc = sqlite3StmtVtabInit(db);
index 2524faf9d047ba09488c22b52d473428e132f09e..32bbd23c35d3a0fa88f9bd3f2fed0c707dc63358 100644 (file)
@@ -936,7 +936,6 @@ INCLUDE test_windirent.h
 INCLUDE test_windirent.c
 #define dirent DIRENT
 #endif
-INCLUDE ../ext/misc/shathree.c
 INCLUDE ../ext/misc/fileio.c
 INCLUDE ../ext/misc/completion.c
 INCLUDE ../ext/misc/appendvfs.c
@@ -4151,7 +4150,7 @@ static void open_db(ShellState *p, int openFlags){
     sqlite3_enable_load_extension(p->db, 1);
 #endif
     sqlite3_fileio_init(p->db, 0, 0);
-    sqlite3_shathree_init(p->db, 0, 0);
+    /* sqlite3_shathree_init(p->db, 0, 0); */
     sqlite3_completion_init(p->db, 0, 0);
 #if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
     sqlite3_dbdata_init(p->db, 0, 0);
index e6c03308dc1c275e1e3482b82abf2dc3dc5fb47a..3695f1663048391ab02ce67c960fb2753be1e12f 100644 (file)
@@ -226,6 +226,12 @@ static void set_options(Tcl_Interp *interp){
   Tcl_SetVar2(interp, "sqlite_options", "json1", "0", TCL_GLOBAL_ONLY);
 #endif
 
+#ifdef SQLITE_ENABLE_SHA3
+  Tcl_SetVar2(interp, "sqlite_options", "sha3", "1", TCL_GLOBAL_ONLY);
+#else
+  Tcl_SetVar2(interp, "sqlite_options", "sha3", "0", TCL_GLOBAL_ONLY);
+#endif
+
 #ifdef SQLITE_HAS_CODEC
   Tcl_SetVar2(interp, "sqlite_options", "has_codec", "1", TCL_GLOBAL_ONLY);
 #else
index 2f9bd866b9b126f863b59f037c58e479f3037ff9..ff0b82d080964bf32b664ba8903e556412a12988 100644 (file)
@@ -403,6 +403,7 @@ foreach file {
    sqlite3session.c
    fts5.c
    stmt.c
+   shathree.c
 } {
   copy_file tsrc/$file
 }
index 0754a0f3f6f907b8600b44f33892953d820a436f..49ef8a500eba46e7235cf9d887583fc31e22a0e7 100644 (file)
@@ -20,7 +20,7 @@ echo '********** No optimizations.  Includes FTS4/5, GEOPOLY, JSON1 ***'
 echo '**********    ' Options: $WARNING_OPTS
 gcc -c $WARNING_OPTS -std=c89 \
       -ansi -DHAVE_STDINT_H -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_GEOPOLY \
-      -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 \
+      -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_SHA3 \
       sqlite3.c
 if test x`uname` = 'xLinux'; then
 echo '********** Android configuration ******************************'
@@ -56,5 +56,5 @@ echo '********** Optimized -O3.  Includes FTS4/5, GEOPOLY, JSON1 ******'
 echo '**********    ' Options: $WARNING_OPTS
 gcc -O3 -c $WARNING_OPTS -std=c89 \
       -ansi -DHAVE_STDINT_H -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_GEOPOLY \
-      -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 \
+      -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_SHA3 \
       sqlite3.c