From 679afb492ec617d04ee191d5fdccd8e66efb4b17 Mon Sep 17 00:00:00 2001 From: drh Date: Wed, 11 Oct 2017 11:12:20 +0000 Subject: [PATCH 1/5] Create a branch for the 3.21.0 release. Development continues on trunk. FossilOrigin-Name: 0f160a8abb0409b6e687ebc13b732559b3d65428f72430df142fd925eb39e9a2 --- manifest | 11 +++++++---- manifest.uuid | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/manifest b/manifest index a7b54adaba..fb182d0115 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C DROP\sTABLE\snow\sworks\sfor\sWITHOUT\sROWID\stables\sand\sthe\sSQLITE_OMIT_AUTOVACUUM\ncompile-time\soption.\s\sFix\sfor\sticket\s[e651b1341861d6] -D 2017-10-10T13:37:22.404 +C Create\sa\sbranch\sfor\sthe\s3.21.0\srelease.\s\sDevelopment\scontinues\son\strunk. +D 2017-10-11T11:12:20.240 F Makefile.in 4bc36d913c2e3e2d326d588d72f618ac9788b2fd4b7efda61102611a6495c3ff F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 6033b51b6aea702ea059f6ab2d47b1d3cef648695f787247dd4fb395fe60673f @@ -1656,7 +1656,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 5594a121bf132a98d0ecb4cf86d9f2681925c9416206096bf11c9370a5dae22f +P b8c1b5a584aeb6ab63cff875ca16135efeadac16b4b32afa589845477feebf32 R f3d3a32072dba092302fd2943ac3dda5 +T *branch * branch-3.21 +T *sym-branch-3.21 * +T -sym-trunk * U drh -Z c352a62dec18b44931aef87cbd4d711d +Z 2b6b9e30a8a2f29d1c1889fa41916c23 diff --git a/manifest.uuid b/manifest.uuid index a83c526cd7..dc796a5a81 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -b8c1b5a584aeb6ab63cff875ca16135efeadac16b4b32afa589845477feebf32 \ No newline at end of file +0f160a8abb0409b6e687ebc13b732559b3d65428f72430df142fd925eb39e9a2 \ No newline at end of file From 9b40ab45b234fdc7a28fc22b565d63fce4982311 Mon Sep 17 00:00:00 2001 From: drh Date: Wed, 11 Oct 2017 17:25:08 +0000 Subject: [PATCH 2/5] Enable JSON by default in the Windows command-line shell sqlite3.exe. FossilOrigin-Name: 79c96121baf065fd78ba4f1fe82ce725b6372df20e9323d88022b7c243701372 --- Makefile.msc | 2 +- manifest | 15 ++++++--------- manifest.uuid | 2 +- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/Makefile.msc b/Makefile.msc index 10585e4a58..de4f8b196f 100644 --- a/Makefile.msc +++ b/Makefile.msc @@ -1508,7 +1508,7 @@ FUZZDATA = \ # when the shell is not being dynamically linked. # !IF $(DYNAMIC_SHELL)==0 && $(FOR_WIN10)==0 -SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_SHELL_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_STMTVTAB +SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_STMTVTAB !ENDIF # <> diff --git a/manifest b/manifest index fb182d0115..6e831045b9 100644 --- a/manifest +++ b/manifest @@ -1,8 +1,8 @@ -C Create\sa\sbranch\sfor\sthe\s3.21.0\srelease.\s\sDevelopment\scontinues\son\strunk. -D 2017-10-11T11:12:20.240 +C Enable\sJSON\sby\sdefault\sin\sthe\sWindows\scommand-line\sshell\ssqlite3.exe. +D 2017-10-11T17:25:08.609 F Makefile.in 4bc36d913c2e3e2d326d588d72f618ac9788b2fd4b7efda61102611a6495c3ff F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 -F Makefile.msc 6033b51b6aea702ea059f6ab2d47b1d3cef648695f787247dd4fb395fe60673f +F Makefile.msc aade743c45bf10cc6d0150d97842e310ac3d91d4f3640a286139d4e72451b96f F README.md f5c87359573c4d255425e588a56554b50fdcc2afba4e017a2e02a43701456afd F VERSION f81232df28e2d3ff049feefad5fbd5489cc33697f6bd2ecf61af7f0dde3b83d0 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 @@ -1656,10 +1656,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P b8c1b5a584aeb6ab63cff875ca16135efeadac16b4b32afa589845477feebf32 -R f3d3a32072dba092302fd2943ac3dda5 -T *branch * branch-3.21 -T *sym-branch-3.21 * -T -sym-trunk * +P 0f160a8abb0409b6e687ebc13b732559b3d65428f72430df142fd925eb39e9a2 +R 7fea6f857c00d4f29f020f0f9a952e04 U drh -Z 2b6b9e30a8a2f29d1c1889fa41916c23 +Z b088c8a18ee6c3891400703c6e00fc6b diff --git a/manifest.uuid b/manifest.uuid index dc796a5a81..ce3f7ad848 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -0f160a8abb0409b6e687ebc13b732559b3d65428f72430df142fd925eb39e9a2 \ No newline at end of file +79c96121baf065fd78ba4f1fe82ce725b6372df20e9323d88022b7c243701372 \ No newline at end of file From 690e8858fe65b7ed007a95f2a55512a5ad17285e Mon Sep 17 00:00:00 2001 From: mistachkin Date: Wed, 11 Oct 2017 17:50:22 +0000 Subject: [PATCH 3/5] Make JSON1 defines consistent in the makefiles for MSVC. FossilOrigin-Name: 31eee0e4bffc5419e076a589049bfea7327dfc666fcc2767c0b700f506055c4e --- Makefile.msc | 2 +- autoconf/Makefile.msc | 2 +- manifest | 16 ++++++++-------- manifest.uuid | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Makefile.msc b/Makefile.msc index de4f8b196f..0fed23dce6 100644 --- a/Makefile.msc +++ b/Makefile.msc @@ -1514,7 +1514,7 @@ SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE # <> # Extra compiler options for various test tools. # -MPTESTER_COMPILE_OPTS = -DSQLITE_SHELL_JSON1 -DSQLITE_ENABLE_FTS5 +MPTESTER_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 FUZZERSHELL_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 FUZZCHECK_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ -DSQLITE_MAX_MEMORY=50000000 FUZZCHECK_SRC = $(TOP)\test\fuzzcheck.c $(TOP)\test\ossfuzz.c diff --git a/autoconf/Makefile.msc b/autoconf/Makefile.msc index f0f9a01ee0..f535d1450a 100644 --- a/autoconf/Makefile.msc +++ b/autoconf/Makefile.msc @@ -927,7 +927,7 @@ LIBRESOBJS = # when the shell is not being dynamically linked. # !IF $(DYNAMIC_SHELL)==0 && $(FOR_WIN10)==0 -SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_SHELL_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_STMTVTAB +SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_STMTVTAB !ENDIF diff --git a/manifest b/manifest index 6e831045b9..804cc5e872 100644 --- a/manifest +++ b/manifest @@ -1,8 +1,8 @@ -C Enable\sJSON\sby\sdefault\sin\sthe\sWindows\scommand-line\sshell\ssqlite3.exe. -D 2017-10-11T17:25:08.609 +C Make\sJSON1\sdefines\sconsistent\sin\sthe\smakefiles\sfor\sMSVC. +D 2017-10-11T17:50:22.538 F Makefile.in 4bc36d913c2e3e2d326d588d72f618ac9788b2fd4b7efda61102611a6495c3ff F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 -F Makefile.msc aade743c45bf10cc6d0150d97842e310ac3d91d4f3640a286139d4e72451b96f +F Makefile.msc 307701b46e4ac0e2aaa7776ea5936fff21636e991c9d5988584f37d65be9c13e F README.md f5c87359573c4d255425e588a56554b50fdcc2afba4e017a2e02a43701456afd F VERSION f81232df28e2d3ff049feefad5fbd5489cc33697f6bd2ecf61af7f0dde3b83d0 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 @@ -11,7 +11,7 @@ F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90 F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2 F autoconf/INSTALL 83e4a25da9fd053c7b3665eaaaf7919707915903 F autoconf/Makefile.am 1a47d071e3d5435f8f7ebff7eb6703848bbd65d4 -F autoconf/Makefile.msc b77aec100e4fb4739748a2461b5aa82c179fcde35bc0e08ce52ae7322d218701 +F autoconf/Makefile.msc 55328895d224f1b81298224929a16b8601baa75f9d7badd493224f68a22700dd F autoconf/README.first 6c4f34fe115ff55d4e8dbfa3cecf04a0188292f7 F autoconf/README.txt 4f04b0819303aabaa35fff5f7b257fb0c1ef95f1 F autoconf/configure.ac 2893b823ecc86cea13739f6c8109a41392254d1db08235c5615e0af5722c8578 @@ -1656,7 +1656,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 0f160a8abb0409b6e687ebc13b732559b3d65428f72430df142fd925eb39e9a2 -R 7fea6f857c00d4f29f020f0f9a952e04 -U drh -Z b088c8a18ee6c3891400703c6e00fc6b +P 79c96121baf065fd78ba4f1fe82ce725b6372df20e9323d88022b7c243701372 +R 2d35bd3f9bb9d088160d8caa2fcda76b +U mistachkin +Z ae3424fdef9b7840b735184e2f02e403 diff --git a/manifest.uuid b/manifest.uuid index ce3f7ad848..f9b265f962 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -79c96121baf065fd78ba4f1fe82ce725b6372df20e9323d88022b7c243701372 \ No newline at end of file +31eee0e4bffc5419e076a589049bfea7327dfc666fcc2767c0b700f506055c4e \ No newline at end of file From 8a18100d4409d1d7bd91e5d44a55b9ceb52ef707 Mon Sep 17 00:00:00 2001 From: drh Date: Thu, 12 Oct 2017 01:19:06 +0000 Subject: [PATCH 4/5] Fix a typo in a numeric constant in an assert() - a bug that has been present in the code since check-in [79e22b95038] on 2010-03-30. FossilOrigin-Name: f0a2724f0a255cd5a262f31e4ee1f99ae713c25a9ecc56dc794c95f223453b9b --- manifest | 14 +++++++------- manifest.uuid | 2 +- src/btree.c | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index 804cc5e872..ba7a68f797 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Make\sJSON1\sdefines\sconsistent\sin\sthe\smakefiles\sfor\sMSVC. -D 2017-10-11T17:50:22.538 +C Fix\sa\stypo\sin\sa\snumeric\sconstant\sin\san\sassert()\s-\sa\sbug\sthat\shas\sbeen\spresent\nin\sthe\scode\ssince\scheck-in\s[79e22b95038]\son\s2010-03-30. +D 2017-10-12T01:19:06.385 F Makefile.in 4bc36d913c2e3e2d326d588d72f618ac9788b2fd4b7efda61102611a6495c3ff F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 307701b46e4ac0e2aaa7776ea5936fff21636e991c9d5988584f37d65be9c13e @@ -401,7 +401,7 @@ F src/auth.c 6277d63837357549fe14e723490d6dc1a38768d71c795c5eb5c0f8a99f918f73 F src/backup.c faf17e60b43233c214aae6a8179d24503a61e83b F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33 F src/btmutex.c 0e9ce2d56159b89b9bc8e197e023ee11e39ff8ca -F src/btree.c 07ad643c75519359f72622bfb862e53723e0bed52ef7c9979e04a0a531078e34 +F src/btree.c 8565b061a6a6fad850230c73d6a7a8ffb88f3370e3352a8689a9a672160c5cc5 F src/btree.h 32ef5d3f25dc70ef1ee9cecf84a023c21378f06a57cd701d2e866e141b150f09 F src/btreeInt.h 55b702efce17e5d1941865464227d3802cfc9c7c832fac81d4c94dced47a71fc F src/build.c 6ffe76970aeee4bc94e60cf0138269e67109061a853e13098c38a904dd66e673 @@ -1656,7 +1656,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 79c96121baf065fd78ba4f1fe82ce725b6372df20e9323d88022b7c243701372 -R 2d35bd3f9bb9d088160d8caa2fcda76b -U mistachkin -Z ae3424fdef9b7840b735184e2f02e403 +P 31eee0e4bffc5419e076a589049bfea7327dfc666fcc2767c0b700f506055c4e +R 53da87efcb541e81caf23f4e430fb62a +U drh +Z 3fb702a07bd6ea398ba326fd478602ce diff --git a/manifest.uuid b/manifest.uuid index f9b265f962..e291c426f6 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -31eee0e4bffc5419e076a589049bfea7327dfc666fcc2767c0b700f506055c4e \ No newline at end of file +f0a2724f0a255cd5a262f31e4ee1f99ae713c25a9ecc56dc794c95f223453b9b \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index 1496588f85..89222197bc 100644 --- a/src/btree.c +++ b/src/btree.c @@ -2040,7 +2040,7 @@ static Pgno btreePagecount(BtShared *pBt){ } u32 sqlite3BtreeLastPage(Btree *p){ assert( sqlite3BtreeHoldsMutex(p) ); - assert( ((p->pBt->nPage)&0x8000000)==0 ); + assert( ((p->pBt->nPage)&0x80000000)==0 ); return btreePagecount(p->pBt); } From 4c6cddcaabb6a5539cd87347e6be96fe8d1d2d37 Mon Sep 17 00:00:00 2001 From: drh Date: Thu, 12 Oct 2017 10:28:30 +0000 Subject: [PATCH 5/5] Make sure the tableColumnList() routine of the command-line shell does not cause a null-pointer dereference in an error condition. FossilOrigin-Name: 5d0ceb8dcdef92cd72307e532a4a6c269b2c458fecb0bbede0bb941099eebc5b --- manifest | 14 +++++++------- manifest.uuid | 2 +- src/shell.c | 1 + src/shell.c.in | 1 + 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/manifest b/manifest index ba7a68f797..8625e176b3 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\stypo\sin\sa\snumeric\sconstant\sin\san\sassert()\s-\sa\sbug\sthat\shas\sbeen\spresent\nin\sthe\scode\ssince\scheck-in\s[79e22b95038]\son\s2010-03-30. -D 2017-10-12T01:19:06.385 +C Make\ssure\sthe\stableColumnList()\sroutine\sof\sthe\scommand-line\sshell\sdoes\snot\ncause\sa\snull-pointer\sdereference\sin\san\serror\scondition. +D 2017-10-12T10:28:30.906 F Makefile.in 4bc36d913c2e3e2d326d588d72f618ac9788b2fd4b7efda61102611a6495c3ff F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 307701b46e4ac0e2aaa7776ea5936fff21636e991c9d5988584f37d65be9c13e @@ -459,8 +459,8 @@ F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/resolve.c 4324a94573b1e29286f8121e4881db59eaedc014afeb274c8d3e07ed282e0e20 F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac F src/select.c 42aca61e739c405ddd8a1b702977a7743c7d52a94885f7c5596bd7e73e6bff18 -F src/shell.c cbf450e75665a185c546adc702ec5fd091306ae7a08bc88b1508ac9c11acc7fe -F src/shell.c.in e03f7d473e10b65c25836a058a3e7a1665ffb1fe712949dcd6e38c790e4eafd0 +F src/shell.c b7a097667fbf48f5b45ffdd789dcfa2c7bd8985ebb284aedddaf6d1d1101237f +F src/shell.c.in 423944f4ad73a7e73d9c06e645e19ac1aa5f45c22069936e3a008b28a5df8003 F src/sqlite.h.in ab4f8a29d1580dfaeb6891fa1b83cff8229ba0daa56994707ceaca71495d9ab7 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h a1fd3aa82f967da436164e0728a7d6841651fd0c6e27b9044e0eb9f6c8462e47 @@ -1656,7 +1656,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 31eee0e4bffc5419e076a589049bfea7327dfc666fcc2767c0b700f506055c4e -R 53da87efcb541e81caf23f4e430fb62a +P f0a2724f0a255cd5a262f31e4ee1f99ae713c25a9ecc56dc794c95f223453b9b +R d1ecfc96a3abe2209d6b1155d4df5e91 U drh -Z 3fb702a07bd6ea398ba326fd478602ce +Z 7fd7ee0ab2a7b6f6de891ca66c37b5d6 diff --git a/manifest.uuid b/manifest.uuid index e291c426f6..e2ecde5c63 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -f0a2724f0a255cd5a262f31e4ee1f99ae713c25a9ecc56dc794c95f223453b9b \ No newline at end of file +5d0ceb8dcdef92cd72307e532a4a6c269b2c458fecb0bbede0bb941099eebc5b \ No newline at end of file diff --git a/src/shell.c b/src/shell.c index f7be941570..1537d64a06 100644 --- a/src/shell.c +++ b/src/shell.c @@ -3801,6 +3801,7 @@ static char **tableColumnList(ShellState *p, const char *zTab){ } } sqlite3_finalize(pStmt); + if( azCol==0 ) return 0; azCol[0] = 0; azCol[nCol+1] = 0; diff --git a/src/shell.c.in b/src/shell.c.in index db4f2e1128..896d475ed2 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -2441,6 +2441,7 @@ static char **tableColumnList(ShellState *p, const char *zTab){ } } sqlite3_finalize(pStmt); + if( azCol==0 ) return 0; azCol[0] = 0; azCol[nCol+1] = 0;