]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove the legacy_file_format PRAGMA. In its place, provide the
authordrh <drh@noemail.net>
Tue, 29 Oct 2019 16:18:45 +0000 (16:18 +0000)
committerdrh <drh@noemail.net>
Tue, 29 Oct 2019 16:18:45 +0000 (16:18 +0000)
SQLITE_DBCONFIG_LEGACY_FILE_FORMAT option to sqlite3_db_config().
Fix for ticket [6484e6ce678fffab]

FossilOrigin-Name: 4d424f3047b48fc441475137f30a719d2f079390c86fe2617710ddfb05c5e240

30 files changed:
manifest
manifest.uuid
src/main.c
src/pragma.h
src/shell.c.in
src/sqlite.h.in
src/test1.c
test/alter3.test
test/alter4.test
test/conflict3.test
test/corruptC.test
test/corruptE.test
test/descidx1.test
test/descidx2.test
test/descidx3.test
test/distinct2.test
test/filter1.test
test/format4.test
test/indexexpr2.test
test/insert4.test
test/join.test
test/minmax2.test
test/nulls1.test
test/pragma4.test
test/rowvaluevtab.test
test/tkt-18458b1a.test
test/tkt-a7debbe0.test
test/tkt3292.test
test/window9.test
tool/mkpragmatab.tcl

index 305f14180fccf5555f4e1f1e7755075a28ca4b4c..41bdcbc25674bd40872b802b07561ea6f35f1027 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Tighten\sthe\sgenerated\scolumn\srequirement\ssuch\sthat\severy\stable\smust\shave\nat\sleast\sone\snon-generated\scolumn.\s\sTicket\s[166347c6fc994155].
-D 2019-10-29T03:39:17.714
+C Remove\sthe\slegacy_file_format\sPRAGMA.\s\sIn\sits\splace,\sprovide\sthe\nSQLITE_DBCONFIG_LEGACY_FILE_FORMAT\soption\sto\ssqlite3_db_config().\nFix\sfor\sticket\s[6484e6ce678fffab]
+D 2019-10-29T16:18:45.173
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -490,7 +490,7 @@ F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
 F src/insert.c eb81303edba6d2e9cbead33260db01c6c6fcf3f21e6c83f454b6807254bf0186
 F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
 F src/loadext.c 4ddc65ae13c0d93db0ceedc8b14a28c8c260513448b0eb8c5a2ac375e3b6a85d
-F src/main.c 3e01f6a1c96643381b5f9d79e4ff7f2520bc5712197746fb0852283e78cccf66
+F src/main.c 20c6325c581123b8771ecb938f60d7e31c8152be01b4bf8e5eefbb74671ea86f
 F src/malloc.c b7640bcf8992cf2e98447da0d27e372abdc4621a6760418bad6d1470f041ada9
 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
 F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de
@@ -520,15 +520,15 @@ F src/pcache.c 385ff064bca69789d199a98e2169445dc16e4291fa807babd61d4890c3b34177
 F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586
 F src/pcache1.c 62714cbd1b7299a6e6a27a587b66b4fd3a836a84e1181e7f96f5c34a50917848
 F src/pragma.c 986fdd27f1ddb712eaf7af4ac5c4d7e0ad97ce9c5d2f069e02f89bb7e7d06496
-F src/pragma.h 40962d65b645bb3f08c1f4c456effd01c6e7f073f68ea25177e0c95e181cff75
+F src/pragma.h b45328f0946307b2e08f320abbb68e5352d94e45ce0a5c6d61ceb2f25a55b353
 F src/prepare.c 6049beb71385f017af6fc320d2c75a4e50b75e280c54232442b785fbb83df057
 F src/printf.c 9be6945837c839ba57837b4bc3af349eba630920fa5532aa518816defe42a7d4
 F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
 F src/resolve.c 9d6a3bdca1ebc759c4616fee0d7dd4cf62741f53db3a6b0117600f27c5b1406a
 F src/rowset.c d977b011993aaea002cab3e0bb2ce50cf346000dff94e944d547b989f4b1fe93
 F src/select.c 3395765ea3749341deb4c25e8339c3d626a8ac641a52c216e9632e48e620ba68
-F src/shell.c.in 01d14c1e0a4dc45b6029baf1aa560de92b6b12c05a87e2270c1e4fc41ca0fd1e
-F src/sqlite.h.in 5725a6b20190a1e8d662077a1c1c8ea889ad7be90dd803f914c2de226f5fe6ab
+F src/shell.c.in a17d143f186966ef24927b6b083f985ffdb95a01aa1bebaba7dcc706289bf7d2
+F src/sqlite.h.in 5ba20664cede7f4e6861541fad1f17bac50f7bf576b40a8784c54f9126a9edd4
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 F src/sqlite3ext.h cef696ce3293242c67b2339763608427bf72ee66f1f3a05389ac2a7b46001c31
 F src/sqliteInt.h 5b2d25ba23135ece06886d82f60d9a16869506592e5950f3c09257b3b5d28d5c
@@ -536,7 +536,7 @@ F src/sqliteLimit.h 1513bfb7b20378aa0041e7022d04acb73525de35b80b252f1b83fedb4de6
 F src/status.c 46e7aec11f79dad50965a5ca5fa9de009f7d6bde08be2156f1538a0a296d4d0e
 F src/table.c b46ad567748f24a326d9de40e5b9659f96ffff34
 F src/tclsqlite.c 50c93be3e1c03b4e6cf6756e5197afcfe7f5cd0497d83a7ac317cde09e19b290
-F src/test1.c 17e1395cbddeb9226b756d723a7566b45b43b99a5f9f55afb4ff70888de6ad6f
+F src/test1.c 95c7af53c4761c57b5dbfeb5da154de31a7dae0246da8976b0bdaee1062f0826
 F src/test2.c 3efb99ab7f1fc8d154933e02ae1378bac9637da5
 F src/test3.c 61798bb0d38b915067a8c8e03f5a534b431181f802659a6616f9b4ff7d872644
 F src/test4.c 405834f6a93ec395cc4c9bb8ecebf7c3d8079e7ca16ae65e82d01afd229694bb
@@ -626,8 +626,8 @@ F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87
 F test/all.test 2ecb8bbd52416642e41c9081182a8df05d42c75637afd4488aace78cc4b69e13
 F test/alter.test 16ed8d2470193f34bc711e51506ff1211ebfab8025ca3b9510ff2aef139874cb
 F test/alter2.test a966ccfcddf9ce0a4e0e6ff1aca9e6e7948e0e242cd7e43fc091948521807687
-F test/alter3.test 4d79934d812eaeacc6f22781a080f8cfe012fdc3
-F test/alter4.test 7e93a21fe131e1dfeb317e90056856f96b10381fc7fe3a05e765569a23400433
+F test/alter3.test 9351a9f0c59ff9dddecccaaa2f777ffee5369870c63d30d3a74add815254ec0f
+F test/alter4.test 74b22251c5e9c48093cfc4921ed9c11b59df84634aeeb00e501773320beb8424
 F test/alterauth.test 63442ba61ceb0c1eeb63aac1f4f5cebfa509d352276059d27106ae256bafc959
 F test/alterauth2.test c0a1ddf5b93d93cb0d15ba7acaf0c5c6fb515bbe861ede75b2d3fabad33b6499
 F test/altercol.test 54374d2ba18af25bb24e23acf18a60270d4ec120b7ec0558078b59d5aa1a31ad
@@ -748,7 +748,7 @@ F test/colmeta.test 2c765ea61ee37bc43bbe6d6047f89004e6508eb1
 F test/colname.test 87ad5458bb8709312dac0d6755fd30e8e4ca83298d0a9ef6e5c24277a3c3390e
 F test/conflict.test c7cc007e2af151516ddf38f7412fe10d473a694f55e3df437e2c7b31c2590e8d
 F test/conflict2.test bb0b94cf7196c64a3cbd815c66d3ee98c2fecd9c
-F test/conflict3.test 56d18aedfa521a7ebffadb8254cfff10caf4e49cd8659cb54da39513aed478ba
+F test/conflict3.test f62a2d0cad9162a60e6458fc913dff3a2208feca924120c21737cfee65a6a74a
 F test/contrib01.test 2a1cbc0f2f48955d7d073f725765da6fbceda6b4
 F test/corrupt.test d7cb0300e4a297147b6a05e92a1684bc8973635c3bcaa3d66e983c9cbdbf47a3
 F test/corrupt2.test bb50042cf9a1f1023d73af325d47eb02a6bb11e3c52f8812644b220c5d4bca35
@@ -761,9 +761,9 @@ F test/corrupt8.test 2399dfe40d2c0c63af86706e30f3e6302a8d0516
 F test/corrupt9.test 730a3db08d4ab9aa43392ea30d9c2b4879cbff85
 F test/corruptA.test 112f4b2ae0b95ebf3ea63718642fb969a93acea557ace3a307234d19c245989b
 F test/corruptB.test 73a8d6c0b9833697ecf16b63e3c5c05c945b5dec
-F test/corruptC.test 776f43eb7df750f6d00b8b59c36c3b690822b2880ddbd80d22bf44e9f66acf5c
+F test/corruptC.test 74d4498fd25759618b393f1e9cde111de828b88c1848ab320f6c179fd52b5a60
 F test/corruptD.test 33a37ce3ed56a20093ceee778cd2d7109c7085a59f3213d2baede11d952e8e50
-F test/corruptE.test 82ccf4f8f543fdbedd4aa42c709cb077f7374c62
+F test/corruptE.test 4143791f2dfb443aec5b7fabfa5821e6063eccc3b49b06f212c2f014715fd476
 F test/corruptF.test be9fde98e4c93648f1ba52b74e5318edc8f59fe4
 F test/corruptG.test adf79b669cbfd19e28c8191a610d083ae53a6d51
 F test/corruptH.test 79801d97ec5c2f9f3c87739aa1ec2eb786f96454
@@ -809,12 +809,12 @@ F test/delete2.test 3a03f2cca1f9a67ec469915cb8babd6485db43fa
 F test/delete3.test 555e84a00a99230b7d049d477a324a631126a6ab
 F test/delete4.test 6aa279f459f4aa792cc251435c3809415c1ecaf9f27dce91675e26f05b503db3
 F test/delete_db.test 096d828493c7907f9ea11a7098ea6a0f73edba89406487d5d6cc2228dc4ab8b0
-F test/descidx1.test 6d03b44c8538fe0eb4924e19fba10cdd8f3c9240
-F test/descidx2.test 9f1a0c83fd57f8667c82310ca21b30a350888b5d
-F test/descidx3.test 09ddbe3f5295f482d2f8b687cf6db8bad7acd9a2
+F test/descidx1.test edc8adee58d491b06c7157c50364eaf1c3605c9c19f8093cb1ea2b6184f3ac13
+F test/descidx2.test a0ba347037ff3b811f4c6ceca5fd0f9d5d72e74e59f2d9de346a9d2f6ad78298
+F test/descidx3.test 953c831df7ea219c73826dfbf2f6ee02d95040725aa88ccb4fa43d1a1999b926
 F test/diskfull.test 106391384780753ea6896b7b4f005d10e9866b6e
 F test/distinct.test a1783b960ad8c15a77cd9f207be072898db1026c
-F test/distinct2.test b854b442111bf362328981f55d39d0df13140383b112057f6e046e311f14e5c3
+F test/distinct2.test 11b0594c932098e969d084ba45ab81d5040f4d4e766db65d49146705a305ed98
 F test/distinctagg.test 1a6ef9c87a58669438fc771450d7a72577417376
 F test/e_blobbytes.test 439a945953b35cb6948a552edaec4dc31fd70a05
 F test/e_blobclose.test 4b3c8c60c2171164d472059c73e9f3c1844bb66d
@@ -860,7 +860,7 @@ F test/extraquick.test cb254400bd42bfb777ff675356aabf3287978f79
 F test/fallocate.test 37a62e396a68eeede8f8d2ecf23573a80faceb630788d314d0a073d862616717
 F test/filectrl.test 6e871c2d35dead1d9a88e176e8d2ca094fec6bb3
 F test/filefmt.test f393e80c4b8d493b7a7f8f3809a8425bbf4292af1f5140f01cb1427798a2bbd4
-F test/filter1.test edd797ab2ef38de16064c9e3945efd941cba72d27e8f070c349501ff95d2727d
+F test/filter1.test fe7fcfeff48ca399fbc9577f55b60c8be8ccfdffc5e3b4ace21dc3c3e59f0f6a
 F test/filter2.tcl 44e525497ce07382915f01bd29ffd0fa49dab3adb87253b5e5103ba8f93393e8
 F test/filter2.test 485cf95d1f6d6ceee5632201ca52a71868599836f430cdee42e5f7f14666e30a
 F test/filterfault.test c08fb491d698e8df6c122c98f7db1c65ffcfcad2c1ab0e07fa8a5be1b34eaa8b
@@ -874,7 +874,7 @@ F test/fkey7.test 64fb28da03da5dfe3cdef5967aa7e832c2507bf7fb8f0780cacbca1f2338d0
 F test/fkey8.test 48ef829d63f5f7b37aabd4df9363ac05f65539d1da8c4a44251631769d920579
 F test/fkey_malloc.test 594a7ea1fbab553c036c70813cd8bd9407d63749
 F test/fordelete.test eb93a2f34137bb87bdab88fcab06c0bd92719aff
-F test/format4.test 1f0cac8ff3895e9359ed87e41aaabee982a812eb
+F test/format4.test eeae341953db8b6bda7f549044797c3278a6cc345d11ada81471671b654f8ef4
 F test/fts-9fd058691.test 78b887e30ae6816df0e1fed6259de4b5a64ad33c
 F test/fts1a.test 46090311f85da51bb33bd5ce84f7948359c6d8d7
 F test/fts1b.test 5d8a01aefbecc8b7442b36c94c05eb7a845462d5
@@ -1058,13 +1058,13 @@ F test/index8.test bc2e3db70e8e62459aaa1bd7e4a9b39664f8f9d7
 F test/index9.test 0aa3e509dddf81f93380396e40e9bb386904c1054924ba8fa9bcdfe85a8e7721
 F test/indexedby.test a52c8c6abfae4fbfb51d99440de4ca1840dbacc606b05e29328a2a8ba7cd914e
 F test/indexexpr1.test c26c8b352311c1deb30642cd0379e5cb94e416c7e9e0885e92d9e01554df2db9
-F test/indexexpr2.test b580f378423bca443ffab47ada677203cfcf8a60f48a8aa20065f27c8f7739b5
+F test/indexexpr2.test dba11dbb0a58fcba4cd694f46b4004976123b81b0501f525d43c9be59f0207b1
 F test/indexfault.test 98d78a8ff1f5335628b62f886a1cb7c7dac1ef6d48fa39c51ec871c87dce9811
 F test/init.test 15c823093fdabbf7b531fe22cf037134d09587a7
 F test/insert.test 4e3f0de67aac3c5be1f4aaedbcea11638f1b5cdc9a3115be14d19aa9db7623c6
 F test/insert2.test 4d14b8f1b810a41995f6286b64a6943215d52208
 F test/insert3.test 1b7db95a03ad9c5013fdf7d6722b6cd66ee55e30
-F test/insert4.test 7802ada6ba8738661b9f6c0e26858d3375b40cc7180289fd350644cd7a08fec9
+F test/insert4.test fb9e0f752c75f453555990250b449f6d123ae6a3ebf054d14e4470de4498dce3
 F test/insert5.test 394f96728d1258f406fe5f5aeb0aaf29487c39a6
 F test/insertfault.test ac63d14ea3b49c573673a572f4014b9117383a03e497c58f308b5c776e4a7f74
 F test/instr.test 107df2b9b74a4b59315916b575590a08f2a714de0754abe541f10a0971d0a2a4
@@ -1082,7 +1082,7 @@ F test/ioerr4.test f130fe9e71008577b342b8874d52984bd04ede2c
 F test/ioerr5.test 2edfa4fb0f896f733071303b42224df8bedd9da4
 F test/ioerr6.test a395a6ab144b26a9e3e21059a1ab6a7149cca65b
 F test/istrue.test 75327829744e65cc8700e69340b8e6c192e10e39dfae7ccb0e970d3c4f49090a
-F test/join.test b515753842b739f8310e718ff5a1581d0f80fd7c731c7e642c5af4310d8db94d
+F test/join.test 832f7c7550a7c59a71c5e2886979a0770ba3b184f021387712680f804fae1df0
 F test/join2.test 10f7047e723ebd68b2f47189be8eed20451a6f665d8bf46f1774c640d1062417
 F test/join3.test 6f0c774ff1ba0489e6c88a3e77b9d3528fb4fda0
 F test/join4.test 1a352e4e267114444c29266ce79e941af5885916
@@ -1153,7 +1153,7 @@ F test/memleak.test 10b9c6c57e19fc68c32941495e9ba1c50123f6e2
 F test/memsubsys1.test 9e7555a22173b8f1c96c281ce289b338fcba2abe8b157f8798ca195bbf1d347e
 F test/memsubsys2.test 3e4a8d0c05fd3e5fa92017c64666730a520c7e08
 F test/minmax.test 6751e87b409fe11b02e70a306d846fa544e25a41
-F test/minmax2.test dae92964ac87c1d2ef978c582e81a95e11c00f1cbef68980bfb2abaf10315063
+F test/minmax2.test 1edf66901ddfab26ae1e04165e8da834c8d3284e2b20aefb26b80ef217962eab
 F test/minmax3.test cc1e8b010136db0d01a6f2a29ba5a9f321034354
 F test/minmax4.test 272ca395257f05937dc96441c9dde4bc9fbf116a8d4fa02baeb0d13d50e36c87
 F test/misc1.test 7ce84b25df9872e7d7878613a96815d2ba5bc974ac4e15a50118dde8f3917599
@@ -1187,7 +1187,7 @@ F test/notify2.test 2ecabaa1305083856b7c39cf32816b612740c161
 F test/notify3.test 10ff25cde502e72a92053a2f215d64bece4ef934
 F test/notnull.test a37b663d5bb728d66fc182016613fb8e4a0a4bbf3d75b8876a7527f7d4ed3f18
 F test/null.test 0dcce4f04284ec66108c503327ad6d224c0752b3
-F test/nulls1.test 725fb4d99db2ddcce59ca6bf847cd92db8f1af861785918892f84ac3bcd4223d
+F test/nulls1.test a325e2f2148fb5c82cd5f734e7b60f5fa28f9394c318edf3140f36f57d39930a
 F test/numcast.test 5d126f7f581432e86a90d1e35cac625164aec4a1
 F test/numindex1.test 20a5450d4b056e48cd5db30e659f13347a099823
 F test/offset1.test f06b83657bcf26f9ce805e67450e189e282143b2
@@ -1227,7 +1227,7 @@ F test/pg_common.tcl 222a1bad1c41c308fa366313cd7b51b3be7e9b21c8736a421b974ac9416
 F test/pragma.test 59becdfd720b80d463ab750f69f7118fde10dfd556aa5d554f3bf6b7e5ea7533
 F test/pragma2.test e5d5c176360c321344249354c0c16aec46214c9f
 F test/pragma3.test 8300aa9c63cff1027006ca34bf413a148abbd6dcd471fa9a1ded322fe18c0df9
-F test/pragma4.test 1cb4b32f1a304ed9e291d7c4d49c91c2c8dc1b9450e6d2c1198b2cc895d40d77
+F test/pragma4.test 10c624e45a83c0096a82a7579a5ff658542391d3b77355192da6572c8c17c00b
 F test/pragma5.test 2be6a44c91e8585ccb4c71c5f221ccebe0692a49557215a912916ed391188959
 F test/pragmafault.test 275edaf3161771d37de60e5c2b412627ac94cef11739236bec12ed1258b240f8
 F test/prefixes.test b524a1c44bffec225b9aec98bd728480352aa8532ac4c15771fb85e8beef65d9
@@ -1271,7 +1271,7 @@ F test/rowvalue7.test c1cbdbf407029db01f87764097c6ac02a1c5a37efd2776eff32a9cdfdf
 F test/rowvalue8.test 5900eddad9e2c3c2e26f1a95f74aafc1232ee5e0
 F test/rowvalue9.test d8dd2c6ecac432dadaa79e41dc2434f007be1b6b
 F test/rowvaluefault.test 7cd9ccc6c2fbdd881672984087aad0491bb75504
-F test/rowvaluevtab.test 751a224b86d5c66d1d0bfa9887da9d6ab9a1c09e1268b5abe0ffdfdd418f122f
+F test/rowvaluevtab.test d166df5b666662de1ebf40d6f3849f8a76b34e17183a6cc7f81b420c462ce447
 F test/rtree.test 0c8d9dd458d6824e59683c19ab2ffa9ef946f798
 F test/run-wordcount.sh 891e89c4c2d16e629cd45951d4ed899ad12afc09
 F test/savepoint.test 1f8a6b1aea9a0d05837adc463d4bf47bd9d0f1c842f1c2a9caccd639baf34bf9
@@ -1419,7 +1419,7 @@ F test/threadtest3.c 38a612ea62854349ed66372f330a40d73c5cf956
 F test/threadtest4.c c1e67136ceb6c7ec8184e56ac61db28f96bd2925
 F test/time-wordcount.sh 8e0b0f8109367827ad5d58f5cc849705731e4b90
 F test/tkt-02a8e81d44.test 6c80d9c7514e2a42d4918bf87bf6bc54f379110c
-F test/tkt-18458b1a.test c543c4b8e8c7c2200579a635e72c15bc374a92d44eddb1d588d4fdeca9cca532
+F test/tkt-18458b1a.test 6a62cb1ee50fa3c620da59e3a6f531eb38fceaf7e2166203816b724524e6f1d6
 F test/tkt-26ff0c2d1e.test c15bec890c4d226c0da2f35ff30f9e84c169cfef90e73a8cb5cec11d723dfa96
 F test/tkt-2a5629202f.test 0521bd25658428baa26665aa53ffed9367d33af2
 F test/tkt-2d1a5c67d.test be1326f3061caec85085f4c9ee4490561ca037c0
@@ -1455,7 +1455,7 @@ F test/tkt-9a8b09f8e6.test b2ef151d0984b2ebf237760dbeaa50724e5a0667
 F test/tkt-9d68c883.test 16f7cb96781ba579bc2e19bb14b4ad609d9774b6
 F test/tkt-9f2eb3abac.test cb6123ac695a08b4454c3792fbe85108f67fabf8
 F test/tkt-a7b7803e.test 159ef554234fa1f9fb318c751b284bd1cf858da4
-F test/tkt-a7debbe0.test 65a647034e3416d068f81e7d86fffc07edfae371c70b8761714edb56ec1c7521
+F test/tkt-a7debbe0.test e295fa83cd4416a8ca37b354eb5fadefc5e81fb55253db538d35261fe9c95067
 F test/tkt-a8a0d2996a.test 002e1cde8fc30c39611b52cf981c88200b858765748556822da72e0d32fac73e
 F test/tkt-b1d3a2e531.test 8f7576e41ca179289ee1a8fee28386fd8e4b0550
 F test/tkt-b351d95f9.test d14a503c414c5c58fdde3e80f9a3cfef986498c0
@@ -1519,7 +1519,7 @@ F test/tkt3080.test 1bca7579260920a66b4dd7e196e807c0f25ff804
 F test/tkt3093.test fbdbc5b4969244ad11f540759003e361fcaf391f
 F test/tkt3121.test 536df66a02838c26a12fe98639354ca1290ca68b
 F test/tkt3201.test f1500ccecc0d578dc4cde7d3242008297c4d59b3
-F test/tkt3292.test 962465a0984a3b8c757efe59c2c59144871ee1dd
+F test/tkt3292.test 7bad4423cf5eb075dbb58511d66d46fe816744754c9f0050ae60157f71a4fca7
 F test/tkt3298.test 20fd8773b825cb602e033aa04f8602e1ebdcd93c
 F test/tkt3334.test 9756631e3c4aa3c416362c279e3c0953a83b7ca8274cb81a13264bb56296d8b0
 F test/tkt3346.test 6f67c3ed7db94dfc5df4f5f0b63809a1f611e01a
@@ -1722,7 +1722,7 @@ F test/window7.tcl 6a1210f05d40ec89c22960213a22cd3f98d4e2f2eb20646c83c8c30d4d761
 F test/window7.test 1d31276961ae7801edc72173edaf7593e3cbc79c06d1f1f09e20d8418af403cd
 F test/window8.tcl f2711aa3571e4e6b0dad98db8d95fd6cb8d9db0c92bbdf535f153b07606a1ce2
 F test/window8.test c4331b27a6f66d69fa8f8bab10cc731db1a81d293ae108a68f7c3487fa94e65b
-F test/window9.test ae8be07be05a5a4c8ead1818ac5d45f278b8dd456e589d67f24270b0070c35a0
+F test/window9.test b63f6f74d730547e63e78946f951f5d1a7d4e99f91f6d5906305469043d92a15
 F test/windowA.test 6d63dc1260daa17141a55007600581778523a8b420629f1282d2acfc36af23be
 F test/windowB.test 7a983ea1cc1cf72be7f378e4b32f6cb2d73014c5cd8b25aaee825164cd4269e5
 F test/windowerr.tcl f5acd6fbc210d7b5546c0e879d157888455cd4a17a1d3f28f07c1c8a387019e0
@@ -1781,7 +1781,7 @@ F tool/mkmsvcmin.tcl cad0c7b54d7dd92bc87d59f36d4cc4f070eb2e625f14159dc2f5c4204e6
 F tool/mkopcodec.tcl d1b6362bd3aa80d5520d4d6f3765badf01f6c43c
 F tool/mkopcodeh.tcl 352a4319c0ad869eb26442bf7c3b015aa15594c21f1cce5a6420dbe999367c21
 F tool/mkopts.tcl 680f785fdb09729fd9ac50632413da4eadbdf9071535e3f26d03795828ab07fa
-F tool/mkpragmatab.tcl f115d63ada8171f9da28dc8e34e043a1a159692d46b89f66b6e681140bc4683d
+F tool/mkpragmatab.tcl faf48e2962d820ffe4d793f5076dd64aa5179665e4e481188c0ba7f48ace3bbb
 F tool/mkshellc.tcl 70a9978e363b0f3280ca9ce1c46d72563ff479c1930a12a7375e3881b7325712
 F tool/mksourceid.c d458f9004c837bee87a6382228ac20d3eae3c49ea3b0a5aace936f8b60748d3b
 F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
@@ -1848,7 +1848,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 361ea81ae8a13e7d2ec4c2412f30e049bb6ee320980d502c86bedc315cdd3bc0
-R f38e4bc770b0e4cac1c1d7cd5ea27795
+P 4fba090e678ef184736277c9ec9a9374c8bd4df4d41f51a3dc6818e2efcc103b
+R 52efea3d4f86047597328a59c66d53fe
 U drh
-Z f0fd4433a459345a3d1e230e95f7dbc0
+Z bd25b0a08ac9600a5f8efd599cb395b8
index f0d63945b5fa7a18a0471df791d022fb8c9dd5e4..d5ded283c8d7c4c4e5531e9e31e1a4fe3759baae 100644 (file)
@@ -1 +1 @@
-4fba090e678ef184736277c9ec9a9374c8bd4df4d41f51a3dc6818e2efcc103b
\ No newline at end of file
+4d424f3047b48fc441475137f30a719d2f079390c86fe2617710ddfb05c5e240
\ No newline at end of file
index 39ab4a8fee80426b5ecfd3ceecbf4b4bc3a30393..1172188821432d5dd46c52d3d261c85c7bb3679f 100644 (file)
@@ -851,6 +851,7 @@ int sqlite3_db_config(sqlite3 *db, int op, ...){
         { SQLITE_DBCONFIG_LEGACY_ALTER_TABLE,    SQLITE_LegacyAlter    },
         { SQLITE_DBCONFIG_DQS_DDL,               SQLITE_DqsDDL         },
         { SQLITE_DBCONFIG_DQS_DML,               SQLITE_DqsDML         },
+        { SQLITE_DBCONFIG_LEGACY_FILE_FORMAT,    SQLITE_LegacyFileFmt  },
       };
       unsigned int i;
       rc = SQLITE_ERROR; /* IMP: R-42790-23372 */
index b7f3282ded6b43d64435a38bbb3b9f9b4114057c..bfd6a3618e4ca42c16aea31851bf1fe9f104713f 100644 (file)
@@ -396,11 +396,6 @@ static const PragmaName aPragmaName[] = {
   /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
   /* ColNames:  */ 0, 0,
   /* iArg:      */ SQLITE_LegacyAlter },
- {/* zName:     */ "legacy_file_format",
-  /* ePragTyp:  */ PragTyp_FLAG,
-  /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
-  /* ColNames:  */ 0, 0,
-  /* iArg:      */ SQLITE_LegacyFileFmt },
 #endif
 #if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && SQLITE_ENABLE_LOCKING_STYLE
  {/* zName:     */ "lock_proxy_file",
@@ -668,4 +663,4 @@ static const PragmaName aPragmaName[] = {
   /* iArg:      */ SQLITE_WriteSchema|SQLITE_NoSchemaError },
 #endif
 };
-/* Number of pragmas: 65 on by default, 81 total. */
+/* Number of pragmas: 64 on by default, 80 total. */
index 86856b335476e8790eed0d84d68ce388cb63d250..09fc5870fc9626b4db9668614be3b467a4e72d02 100644 (file)
@@ -7171,6 +7171,7 @@ static int do_meta_command(char *zLine, ShellState *p){
         { "legacy_alter_table", SQLITE_DBCONFIG_LEGACY_ALTER_TABLE    },
         { "dqs_dml",            SQLITE_DBCONFIG_DQS_DML               },
         { "dqs_ddl",            SQLITE_DBCONFIG_DQS_DDL               },
+        { "legacy_file_format", SQLITE_DBCONFIG_LEGACY_FILE_FORMAT    },
     };
     int ii, v;
     open_db(p, 0);
index 9dbc80764f4c140d91b147cbb9b3a018e70a07e2..5c3827e2d444633612f286aa98f1bb4242eefebe 100644 (file)
@@ -2259,6 +2259,28 @@ struct sqlite3_mem_methods {
 ** default value of this setting is determined by the [-DSQLITE_DQS]
 ** compile-time option.
 ** </dd>
+**
+** [[SQLITE_DBCONFIG_LEGACY_FILE_FORMAT]]
+** <dt>SQLITE_DBCONFIG_LEGACY_FILE_FORMAT</td>
+** <dd>The SQLITE_DBCONFIG_LEGACY_FILE_FORMAT option activates or deactivates
+** the legacy file format flag.  When activated, this flag causes all newly
+** created database file to have a schema format version number (the 4-byte
+** integer found at offset 44 into the database header) of 1.  This in turn
+** means that the resulting database file will be readable and writable by
+** any SQLite version back to 3.0.0 ([dateof:3.0.0]).  Without this setting,
+** newly created databases are generally not understandable by SQLite versions
+** prior to 3.3.0 ([dateof:3.3.0]).  As these words are written, there
+** is now scarcely any need to generated database files that are compatible 
+** all the way back to version 3.0.0, and so this setting is of little
+** practical use, but is provided so that SQLite can continue to claim the
+** ability to generate new database files that are compatible with  version
+** 3.0.0.
+** <p>Note that when the SQLITE_DBCONFIG_LEGACY_FILE_FORMAT setting is on,
+** the [VACUUM] command will fail with an obscure error when attempting to
+** process a table with generated columns and a descending index.  This is
+** not considered a bug since SQLite versions 3.3.0 and earlier do not support
+** either generated columns or decending indexes.
+** </dd>
 ** </dl>
 */
 #define SQLITE_DBCONFIG_MAINDBNAME            1000 /* const char* */
@@ -2277,7 +2299,8 @@ struct sqlite3_mem_methods {
 #define SQLITE_DBCONFIG_DQS_DML               1013 /* int int* */
 #define SQLITE_DBCONFIG_DQS_DDL               1014 /* int int* */
 #define SQLITE_DBCONFIG_ENABLE_VIEW           1015 /* int int* */
-#define SQLITE_DBCONFIG_MAX                   1015 /* Largest DBCONFIG */
+#define SQLITE_DBCONFIG_LEGACY_FILE_FORMAT    1016 /* int int* */
+#define SQLITE_DBCONFIG_MAX                   1016 /* Largest DBCONFIG */
 
 /*
 ** CAPI3REF: Enable Or Disable Extended Result Codes
index ffd6091fa36623acd4b1fecc14ae68510d2355c4..b25873bbd4144215824ff23b4f9aae51f41fbcb6 100644 (file)
@@ -7682,14 +7682,15 @@ static int SQLITE_TCLAPI test_sqlite3_db_config(
     { "LEGACY_ALTER_TABLE", SQLITE_DBCONFIG_LEGACY_ALTER_TABLE },
     { "DQS_DML",            SQLITE_DBCONFIG_DQS_DML },
     { "DQS_DDL",            SQLITE_DBCONFIG_DQS_DDL },
+    { "LEGACY_FILE_FORMAT", SQLITE_DBCONFIG_LEGACY_FILE_FORMAT },
   };
   int i;
-  int v;
+  int v = 0;
   const char *zSetting;
   sqlite3 *db;
 
-  if( objc!=4 ){
-    Tcl_WrongNumArgs(interp, 1, objv, "DB SETTING VALUE");
+  if( objc!=4 && objc!=3 ){
+    Tcl_WrongNumArgs(interp, 1, objv, "DB SETTING [VALUE]");
     return TCL_ERROR;
   }
   if( getDbPointer(interp, Tcl_GetString(objv[1]), &db) ) return TCL_ERROR;
@@ -7705,7 +7706,11 @@ static int SQLITE_TCLAPI test_sqlite3_db_config(
       Tcl_NewStringObj("unknown sqlite3_db_config setting", -1));
     return TCL_ERROR;
   }
-  if( Tcl_GetIntFromObj(interp, objv[3], &v) ) return TCL_ERROR;
+  if( objc==4 ){
+    if( Tcl_GetIntFromObj(interp, objv[3], &v) ) return TCL_ERROR;
+  }else{
+    v = -1;
+  }
   sqlite3_db_config(db, aSetting[i].eVal, v, &v);
   Tcl_SetObjResult(interp, Tcl_NewIntObj(v));
   return TCL_OK;
index 44b31c983391cde71d2aa909a384fa08370fdf7a..b16a7f305bc83cb27d7947ceb406ce08e77de084 100644 (file)
@@ -54,8 +54,8 @@ proc get_file_format {{fname test.db}} {
 }
 
 do_test alter3-1.1 {
+  sqlite3_db_config db LEGACY_FILE_FORMAT 1
   execsql {
-    PRAGMA legacy_file_format=ON;
     CREATE TABLE abc(a, b, c);
     SELECT sql FROM sqlite_master;
   }
@@ -198,8 +198,8 @@ do_test alter3-4.1 {
   db close
   forcedelete test.db
   set ::DB [sqlite3 db test.db]
+  sqlite3_db_config db LEGACY_FILE_FORMAT 1
   execsql {
-    PRAGMA legacy_file_format=ON;
     CREATE TABLE t1(a, b);
     INSERT INTO t1 VALUES(1, 100);
     INSERT INTO t1 VALUES(2, 300);
index ca9175959b13fad57368b68e5079009d24d704ef..92f33e7a36f59a868afe69509ae98ebc6fb45e2e 100644 (file)
@@ -383,8 +383,8 @@ do_execsql_test alter4-9.3 {
 do_test alter4-10.1 {
   db close
   sqlite3 db :memory:
+  sqlite3_db_config db LEGACY_FILE_FORMAT 1
   db eval {
-    PRAGMA legacy_file_format=on;
     CREATE TABLE t1(a,b,c);
     CREATE INDEX t1a ON t1(a DESC);
     INSERT INTO t1 VALUES(1,2,3);
index 413e8241fec95fc21749a8dec77c3530651ed1d5..cc3a51b85091b0ad9c88a78d165d8da77c3c5c30 100644 (file)
@@ -435,4 +435,3 @@ ifcapable trigger {
 }
 
 finish_test
-
index d151a27304609635e78688584a1bf6ebb7aa68a3..a56abeec7282d0acd205e83254458027c8cc9a2c 100644 (file)
@@ -34,9 +34,9 @@ database_may_be_corrupt
 # Construct a compact, dense database for testing.
 #
 do_test corruptC-1.1 {
+  sqlite3_db_config db LEGACY_FILE_FORMAT 1
   execsql {
     PRAGMA auto_vacuum = 0;
-    PRAGMA legacy_file_format=1;
     BEGIN;
     CREATE TABLE t1(x,y);
     INSERT INTO t1 VALUES(1,1);
index 54aa420f438c596e414cba5e5a8f5bb0be102a1d..8c55623ea4fbdee8c02a8ed9d38c7fcfcbc38967 100644 (file)
@@ -36,9 +36,9 @@ ifcapable oversize_cell_check {
 # Construct a compact, dense database for testing.
 #
 do_test corruptE-1.1 {
+  sqlite3_db_config db LEGACY_FILE_FORMAT 1
   execsql {
     PRAGMA auto_vacuum = 0;
-    PRAGMA legacy_file_format=1;
     BEGIN;
     CREATE TABLE t1(x,y);
     INSERT INTO t1 VALUES(1,1);
index a223664ff32e31c46f0076bd15bf532a0317a95f..14be6f84e85e9dde176a050ef226ad2cfadc384a 100644 (file)
@@ -22,7 +22,8 @@ source $testdir/tester.tcl
 #
 do_not_use_codec
 
-db eval {PRAGMA legacy_file_format=OFF}
+#db eval {PRAGMA legacy_file_format=OFF}
+sqlite3_db_config db LEGACY_FILE_FORMAT 0
 
 # This procedure sets the value of the file-format in file 'test.db'
 # to $newval. Also, the schema cookie is incremented.
@@ -299,19 +300,19 @@ ifcapable legacyformat {
     db close
     forcedelete test.db test.db-journal
     sqlite3 db test.db
-    execsql {PRAGMA legacy_file_format}
+    sqlite3_db_config db LEGACY_FILE_FORMAT
   } {1}
 } else {
   do_test descidx1-6.1 {
     db close
     forcedelete test.db test.db-journal
     sqlite3 db test.db
-    execsql {PRAGMA legacy_file_format}
+    sqlite3_db_config db LEGACY_FILE_FORMAT
   } {0}
 }
 do_test descidx1-6.2 {
-  execsql {PRAGMA legacy_file_format=YES}
-  execsql {PRAGMA legacy_file_format}
+  sqlite3_db_config db LEGACY_FILE_FORMAT 1
+  sqlite3_db_config db LEGACY_FILE_FORMAT
 } {1}
 do_test descidx1-6.3 {
   execsql {
@@ -330,8 +331,8 @@ do_test descidx1-6.4 {
   db close
   forcedelete test.db test.db-journal
   sqlite3 db test.db
-  execsql {PRAGMA legacy_file_format=NO}
-  execsql {PRAGMA legacy_file_format}
+  sqlite3_db_config db LEGACY_FILE_FORMAT 0
+  sqlite3_db_config db LEGACY_FILE_FORMAT
 } {0}
 do_test descidx1-6.5 {
   execsql {
@@ -351,8 +352,8 @@ ifcapable vacuum {
     get_file_format
   } {4}
   do_test descidx1-6.7 {
+    sqlite3_db_config db LEGACY_FILE_FORMAT 1
     execsql {
-      PRAGMA legacy_file_format=ON;
       VACUUM;
     }
     get_file_format
index fdc3eb079477c8593e0f61e06f69842dd4b59f9b..5aefc598ed9e301f830a7b5cf8bfb2e2835ab330 100644 (file)
@@ -23,7 +23,8 @@ source $testdir/tester.tcl
 do_not_use_codec
 
 
-db eval {PRAGMA legacy_file_format=OFF}
+#db eval {PRAGMA legacy_file_format=OFF}
+sqlite3_db_config db LEGACY_FILE_FORMAT 0
 
 # This procedure sets the value of the file-format in file 'test.db'
 # to $newval. Also, the schema cookie is incremented.
index c375acc705fbffe8161cd21a9a7c1cf5e2968238..30dd8f895cd5b188e883e0262bed1bb878e13e39 100644 (file)
@@ -26,7 +26,8 @@ ifcapable !bloblit {
   finish_test
   return
 }
-db eval {PRAGMA legacy_file_format=OFF}
+#db eval {PRAGMA legacy_file_format=OFF}
+sqlite3_db_config db LEGACY_FILE_FORMAT 0
 
 # This procedure sets the value of the file-format in file 'test.db'
 # to $newval. Also, the schema cookie is incremented.
index c42a1c971a3cab0c25bc60a507c145eb6c2a00ec..98c6d64a62ab5c8dcbe53b5d6a7919d8fa775ed9 100644 (file)
@@ -302,4 +302,3 @@ do_execsql_test 3030 {
 }
 
 finish_test
-
index 9309b744b15617d01b189b6f2d023c1c632180c3..eb50963470bb76e1ce97870d552a7e767583f131 100644 (file)
@@ -185,4 +185,3 @@ do_execsql_test 5.3 {
 } {0 1}
 
 finish_test
-
index 14d794709b8743ffd5aeb3011f49cc46d657d219..a850ce2e4287828a7488e40c54595c9446e523c3 100644 (file)
@@ -17,7 +17,8 @@
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
-db eval {PRAGMA legacy_file_format=OFF}
+#db eval {PRAGMA legacy_file_format=OFF}
+sqlite3_db_config db LEGACY_FILE_FORMAT 0
 
 # The size of the database depends on whether or not autovacuum
 # is enabled.
index 5d387c7523a4154521556c8fbceee54da057b370..35caef3c241c5a1906fbd7d0ad789452d9258318 100644 (file)
@@ -373,4 +373,3 @@ foreach {tn expr} {
 }
 
 finish_test
-
index c819b80832f500c23745bfcc641208f70ca20f1c..4c6a6d4a6ceb015d23efde450e1539c204f9173d 100644 (file)
@@ -34,8 +34,8 @@ proc xferopt_test {testname N} {
 
 # Create tables used for testing.
 #
+sqlite3_db_config db LEGACY_FILE_FORMAT 0
 execsql {
-  PRAGMA legacy_file_format = 0;
   CREATE TABLE t1(a int, b int, check(b>a));
   CREATE TABLE t2(x int, y int);
   CREATE VIEW v2 AS SELECT y, x FROM t2;
index 1689a85e3f0e99abde882b754a220cd5895afc1d..7d7524508d6089989efde01056f9257a38a2f95d 100644 (file)
@@ -936,4 +936,3 @@ do_execsql_test join-19.5 {
 } {0 {}}
 
 finish_test
-
index b6114f2e51e622ff0e5c43018285871a1d91f750..512914625969faeebe843ea6820a5355b419e6b9 100644 (file)
@@ -21,8 +21,8 @@ set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
 do_test minmax2-1.0 {
+  sqlite3_db_config db LEGACY_FILE_FORMAT 0
   execsql {
-    PRAGMA legacy_file_format=0;
     BEGIN;
     CREATE TABLE t1(x, y);
     INSERT INTO t1 VALUES(1,1);
index 98fc6ab37d2bd845de0e64fdf366522fde3c3445..fb059a674b7a4736973d09030997b618807aedfb 100644 (file)
@@ -249,5 +249,3 @@ do_execsql_test 7.0 {
 }
 
 finish_test
-
-
index bceb4b84f4f9f3a066fe95b9980cccbd0083a667..2eef060b6c33d2fd00abc6944dae211f1cdb35a1 100644 (file)
@@ -44,7 +44,6 @@ foreach {tn sql} {
  14 "PRAGMA full_column_names = 1"
  15 "PRAGMA fullfsync = 1"
  16 "PRAGMA ignore_check_constraints = 1"
- 17 "PRAGMA legacy_file_format = 1"
  18 "PRAGMA page_size = 511"
  19 "PRAGMA page_size = 512"
  20 "PRAGMA query_only = false"
index 7d5dc526511850ce4ffce8aa93d44d98b118ad69..aa834657b864d5102a397ec89309dc156e82df0c 100644 (file)
@@ -88,4 +88,3 @@ do_vfilter4_test 1.4f {
 } {{SELECT rowid, a, b, c FROM 't1' WHERE b = ?}}
 
 finish_test
-
index 996ca88451baa9c63cb58c5d3ed800be7b11fe78..4a6127485939669f86571208269deea84e5de69c 100644 (file)
@@ -50,4 +50,3 @@ foreach tn {1 2} {
 }
 
 finish_test
-
index 974f6d66b0b7c612b6e8b751571b33ddd4190ce4..cc72eb7b5ed4219240a52bc3db11e2296c6b07a5 100644 (file)
@@ -100,4 +100,3 @@ foreach tn {1 2} {
 }
 
 finish_test
-
index 0f9524464390b97036cf43537a14716910a311b1..717a29c9a02e8a2273bf83f0cc448c8667d13025 100644 (file)
@@ -20,8 +20,8 @@ set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
 do_test tkt3292-1.1 {
+  sqlite3_db_config db LEGACY_FILE_FORMAT 0
   execsql {
-    PRAGMA legacy_file_format=OFF;
     CREATE TABLE t1(a INTEGER PRIMARY KEY, b INT);
     INSERT INTO t1 VALUES(0, 1);
     INSERT INTO t1 VALUES(1, 1);
index 6f2f2d9526ab63933b6cfe628e9a3228b858086f..adfeaba356418bff1eb8acea6d5e7c239ad54f22 100644 (file)
@@ -233,4 +233,3 @@ do_execsql_test 7.4 {
 }
 
 finish_test
-
index 832153916e70c505814aafecfbe4afc94c86e435..82176dc3c6ef9f1e4d7332261f212ccff7e8daef 100644 (file)
@@ -41,11 +41,6 @@ set pragma_def {
   ARG:  SQLITE_NullCallback
   IF:   !defined(SQLITE_OMIT_FLAG_PRAGMAS)
 
-  NAME: legacy_file_format
-  TYPE: FLAG
-  ARG:  SQLITE_LegacyFileFmt
-  IF:   !defined(SQLITE_OMIT_FLAG_PRAGMAS)
-
   NAME: fullfsync
   TYPE: FLAG
   ARG:  SQLITE_FullFSync