]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add the SQLITE_FCNTL_WIN32_GET_HANDLE file control.
authormistachkin <mistachkin@noemail.net>
Fri, 14 Oct 2016 21:27:50 +0000 (21:27 +0000)
committermistachkin <mistachkin@noemail.net>
Fri, 14 Oct 2016 21:27:50 +0000 (21:27 +0000)
FossilOrigin-Name: 16039be3739b8d3b34a1e6093eaebb09e07f984b

1  2 
manifest
manifest.uuid
src/os_win.c
src/sqlite.h.in
src/test1.c

diff --cc manifest
index 23fa28269b7ad23bb184adf092a5a7c6615b03f7,4515b68c620e182e45064bf36400b95b5b0a3774..d209a805321129a280b7f0aded05e6afe1e48307
+++ b/manifest
@@@ -1,10 -1,10 +1,10 @@@
- C Bump\sthe\sversion\snumber\sin\santicipation\sof\sthe\snext\sdevelopment\scycle.
- D 2016-10-14T21:16:27.395
 -C Add\sthe\sexperimental\sSQLITE_FCNTL_WIN32_GET_HANDLE\sfile\scontrol.
 -D 2016-05-03T19:36:54.758
 -F Makefile.in 9eda6e1c90d05c199c3ec8a7069b0682ad307657
++C Add\sthe\sSQLITE_FCNTL_WIN32_GET_HANDLE\sfile\scontrol.
++D 2016-10-14T21:27:50.450
 +F Makefile.in 6fd48ffcf7c2deea7499062d1f3747f986c19678
  F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 -F Makefile.msc a7f34be67d16284e4208370365a9728094861194
 +F Makefile.msc 5151cc64c4c05f3455f4f692ad11410a810d937f
  F README.md 8ecc12493ff9f820cdea6520a9016001cb2e59b7
 -F VERSION 5d234da9b5dae329fab75ff75884cfe0a9cb3fda
 +F VERSION 661b3e6a778cfbfd7bdce8bbb1545b22f4b6f09e
  F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
  F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
  F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
@@@ -366,111 -357,110 +366,111 @@@ F src/mutex_noop.c 9d4309c075ba9cc7249e
  F src/mutex_unix.c 27bb6cc49485ee46711a6580ab7b3f1402211d23
  F src/mutex_w32.c 5e6fe1c298fb5a8a15aaed4161d5759311431c17
  F src/notify.c 9711a7575036f0d3040ba61bc6e217f13a9888e7
 -F src/os.c 4d83917f072ad958fba9235136fa2ed43df47905
 +F src/os.c add02933b1dce7a39a005b00a2f5364b763e9a24
  F src/os.h 8e976e59eb4ca1c0fca6d35ee803e38951cb0343
  F src/os_common.h b2f4707a603e36811d9b1a13278bffd757857b85
 -F src/os_setup.h c9d4553b5aaa6f73391448b265b89bed0b890faa
 -F src/os_unix.c a9443cdab41d7f3cdf0df3a5aab62fd6e1c9b234
 -F src/os_win.c 75edd38c5efbb177cbfdce7128635a2bb53cf16c
 -F src/os_win.h eb7a47aa17b26b77eb97e4823f20a00b8bda12ca
 -F src/pager.c a8d30c49c231e9a20d05257613db922532588963
 -F src/pager.h 329bdf078a4e0a3b35084534d58625d21fd03681
 -F src/parse.y 10eb2f3fb62341291528c7984498054731f9d31e
 -F src/pcache.c b3230ecfc7f797063fbe167f2845da363e8f07f8
 -F src/pcache.h 6b865be765d1ebd06145219550b10921c7da7cc9
 -F src/pcache1.c 7f51d2b541aab57596adf62db2c4bb025d34f04d
 -F src/pragma.c faf42922bb7ab2f6672cb550356c1967abae3c84
 +F src/os_setup.h 0dbaea40a7d36bf311613d31342e0b99e2536586
 +F src/os_unix.c be9ca0f901a2b6c1bc93dc338f4863675180c189
- F src/os_win.c 520f23475f1de530c435d30b67b7b15fe90874b0
++F src/os_win.c cf90abd4e50d9f56d2c20ce8e005aff55d7bd8e9
 +F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
 +F src/pager.c bf5b71bde3e9b6110e7d6990607db881f6a471a2
 +F src/pager.h 966d2769e76ae347c8a32c4165faf6e6cb64546d
 +F src/parse.y 0338f906b61e311c2b7e11a3f89b0092c780b664
 +F src/pcache.c 5ff2a08f76a9c1b22f43eb063b7068fb085465ac
 +F src/pcache.h 2cedcd8407eb23017d92790b112186886e179490
 +F src/pcache1.c e3967219b2a92b9edcb9324a4ba75009090d3953
 +F src/pragma.c d932ba278654617cdd281f88a790a3185fca7c44
  F src/pragma.h 64c78a648751b9f4f297276c4eb7507b14b4628c
 -F src/prepare.c 22df6171aec1d86904ed2ad30c2348a5748aa04e
 -F src/printf.c 63e6fb12bbe702dd664dc3703776c090383a5a26
 +F src/prepare.c b1140c3d0cf59bc85ace00ce363153041b424b7a
 +F src/printf.c a5f0ca08ddede803c241266abb46356ec748ded1
  F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
 -F src/resolve.c b8f7174e5f8c33c44ded3a25a973d0bb89228c20
 -F src/rowset.c 49eb91c588a2bab36647368e031dc5b66928149d
 -F src/select.c fd4a7ce2937497181063cfedb92058ac89491a5d
 -F src/shell.c 14ff7f660530a52b117d110ba3390b7b2eb719b6
 -F src/sqlite.h.in 07a295a39a41cfd136bf63bdcfe478caaee78042
 +F src/resolve.c 3fac1b2737ea5a724f20b921ac7e259c9be2100b
 +F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
 +F src/select.c ea3af83e2d0f245fef81ea4cf04cb730ce67f722
 +F src/shell.c b80396d2fadce4681397707e30078bf416e1dec2
- F src/sqlite.h.in 2683a291ed8db5228024267be6421f0de507b80e
++F src/sqlite.h.in 1011de924a6a7340c74e5442cb76f7b49c134512
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 -F src/sqlite3ext.h 98f72cbfe00169c39089115427d06ea05fe4b4a2
 -F src/sqliteInt.h f4a53f3547dab80dc7db975fa1192d9bad1f38e8
 +F src/sqlite3ext.h 8648034aa702469afb553231677306cc6492a1ae
 +F src/sqliteInt.h 8d241c2c0a1a7b6611d3e9398f41d69426da850d
  F src/sqliteLimit.h c0373387c287c8d0932510b5547ecde31b5da247
 -F src/status.c 70912d7be68e9e2dbc4010c93d344af61d4c59ba
 +F src/status.c a9e66593dfb28a9e746cba7153f84d49c1ddc4b1
  F src/table.c 5226df15ab9179b9ed558d89575ea0ce37b03fc9
 -F src/tclsqlite.c 9c4c4589d078de37813ded708d8838b338ffb060
 -F src/test1.c 7862c314d742153639ecb6ec2daf29936cc066cd
 -F src/test2.c 5586f43fcd9a1be0830793cf9d354082c261b25b
 -F src/test3.c 0df6f8dbb4cbaa7106397c70a271fa6a43659042
 -F src/test4.c d168f83cc78d02e8d35567bb5630e40dcd85ac1e
 -F src/test5.c 5a34feec76d9b3a86aab30fd4f6cc9c48cbab4c1
 -F src/test6.c 2c014d4977efd6107ec9eef3dfdec56ac516f824
 -F src/test7.c 9c89a4f1ed6bb13af0ed805b8d782bd83fcd57e3
 -F src/test8.c fa262391d3edea6490a71bfaa8fed477ccbbac75
 -F src/test9.c bea1e8cf52aa93695487badedd6e1886c321ea60
 -F src/test_async.c 21e11293a2f72080eda70e1124e9102044531cd8
 -F src/test_autoext.c dea8a01a7153b9adc97bd26161e4226329546e12
 -F src/test_backup.c 2e6e6a081870150f20c526a2e9d0d29cda47d803
 -F src/test_bestindex.c 29af3cc3b963ffe5760c85d142b9b3e5302c1e3d
 -F src/test_blob.c b2551a9b5573232db5f66f292307c37067937239
 -F src/test_btree.c 2e9978eca99a9a4bfa8cae949efb00886860a64f
 -F src/test_config.c 7003f6f35134de6f19c6588f44783e43390ea277
 -F src/test_demovfs.c 0de72c2c89551629f58486fde5734b7d90758852
 +F src/tclsqlite.c aef87dcd8cb66564d560ab48d43d19ac812a1eab
- F src/test1.c 61a08ed5861f3396ea4ff83931387696b692e1f8
++F src/test1.c 1f1a399956c8730d5f7b09c729e98764f2082162
 +F src/test2.c b7174313e993754303a8b33c43df7c44b46857ab
 +F src/test3.c d03f5b5da9a2410b7a91c64b0d3306ed28ab6fee
 +F src/test4.c 18ec393bb4d0ad1de729f0b94da7267270f3d8e6
 +F src/test5.c 328aae2c010c57a9829d255dc099d6899311672d
 +F src/test6.c 55aa2775c154415dcf4ed7cd1e19a193122b3a02
 +F src/test7.c 5612e9aecf934d6df7bba6ce861fdf5ba5456010
 +F src/test8.c 4f4904721167b32f7a4fa8c7b32a07a673d6cc86
 +F src/test9.c 12e5ba554d2d1cbe0158f6ab3f7ffcd7a86ee4e5
 +F src/test_async.c 195ab49da082053fdb0f949c114b806a49ca770a
 +F src/test_autoext.c 915d245e736652a219a907909bb6710f0d587871
 +F src/test_backup.c bf5da90c9926df0a4b941f2d92825a01bbe090a0
 +F src/test_bestindex.c d23f80d334c59662af69191854c76b8d3d0c8c96
 +F src/test_blob.c a0f7ad49a0c9d4b72f693fe2a71c58d7e507174d
 +F src/test_btree.c 8b2dc8b8848cf3a4db93f11578f075e82252a274
 +F src/test_config.c 4d3d4a886416f369771d69a6dba926866deda788
 +F src/test_delete.c 32690ea215abf29dda589a580cd1b790389759b6
 +F src/test_demovfs.c a0c3bdd45ed044115c2c9f7779e56eafff18741e
  F src/test_devsym.c 4e58dec2602d8e139ca08659f62a62450587cb58
 -F src/test_fs.c f10f840ca4f8c72e4837908bd8347ac4bcab074b
 -F src/test_func.c 37453d346cfcf118774efd5bf6187f7e6a7e3254
 -F src/test_hexio.c abfdecb6fa58c354623978efceb088ca18e379cd
 -F src/test_init.c 66b33120ffe9cd853b5a905ec850d51151337b32
 -F src/test_intarray.c 870124b95ec4c645d4eb84f15efb7133528fb1a5
 -F src/test_intarray.h 9dc57417fb65bc7835cc18548852cc08cc062202
 +F src/test_fs.c e16cbe68d3b107e00a907c20a9a02629870eb69b
 +F src/test_func.c a2b4993da973b0ea60dd5d51a7066238ede8c329
 +F src/test_hexio.c 1d4469ca61ab202a1fcec6543f584d2407205e8d
 +F src/test_init.c 4413c211a94b62157ca4c145b3f27c497f03c664
 +F src/test_intarray.c 988fc61cb0ff539f4172c0d95f15287c92516f64
 +F src/test_intarray.h f3b7672f5d1056eac563c0d6ea8480a660b1475c
  F src/test_journal.c d3b83f2bcb7792c709e57abddc456a2b1818643a
  F src/test_loadext.c 337056bae59f80b9eb00ba82088b39d0f4fe6dfd
 -F src/test_malloc.c 94c18e88d6df6d471a0d04ddb809f833d1739950
 -F src/test_multiplex.c eafc567ebe162e36f17b5062285dfe90461cf8e9
 -F src/test_multiplex.h c08e4e8f8651f0c5e0509b138ff4d5b43ed1f5d3
 -F src/test_mutex.c dbdfaff8580071f2212a0deae3325a93a737819c
 +F src/test_malloc.c c05f6c40bd6c8bfe5f1718212f81fd5687f91766
 +F src/test_multiplex.c 7c5b218d855cd0505a43185d55283b3fc257c8da
 +F src/test_multiplex.h 5436d03f2d0501d04f3ed50a75819e190495b635
 +F src/test_mutex.c 7f4337ba23ee6b1d2ec81c189653608cb069926a
  F src/test_onefile.c 416f87a28d6d673352d33fc4b1c7d39db878e50f
 -F src/test_osinst.c ad0233b1dabb0390e25edded4ebd79a2a61538c6
 +F src/test_osinst.c 98ef31ff03d55497829ca0f6c74a9f4e1aa48690
  F src/test_pcache.c a5cd24730cb43c5b18629043314548c9169abb00
 -F src/test_quota.c 180813f43683be5725458fc1ff13ac455d8e722d
 +F src/test_quota.c 6cb9297115b551f433a9ad1741817a9831abed99
  F src/test_quota.h 2a8ad1952d1d2ca9af0ce0465e56e6c023b5e15d
 -F src/test_rtree.c 43fff4c5a01576d6d213f27472598801a247890c
 -F src/test_schema.c 2bdba21b82f601da69793e1f1d11bf481a79b091
 +F src/test_rtree.c 671f3fae50ff116ef2e32a3bf1fe21b5615b4b7b
 +F src/test_schema.c f575932cb6274d12147a77e13ea4b49d52408513
  F src/test_server.c a2615049954cbb9cfb4a62e18e2f0616e4dc38fe
  F src/test_sqllog.c 0d138a8180a312bf996b37fa66da5c5799d4d57b
 -F src/test_superlock.c 06797157176eb7085027d9dd278c0d7a105e3ec9
 -F src/test_syscall.c 268c072541162564a882c57f54a6fee12ef4a4d2
 -F src/test_tclvar.c d86412527da65468ee6fa1b8607c65d0af736bc4
 -F src/test_thread.c af391ec03d23486dffbcc250b7e58e073f172af9
 -F src/test_vfs.c 4d02f38bfb8f7f273da7ba84bfe000f5babf206c
 +F src/test_superlock.c 4839644b9201da822f181c5bc406c0b2385f672e
 +F src/test_syscall.c 1073306ba2e9bfc886771871a13d3de281ed3939
 +F src/test_tclvar.c df9fe1213c2634687a9ca0b0bec0d2119d359ae3
 +F src/test_thread.c 911d15fb14e19c0c542bdc8aabf981c2f10a4858
 +F src/test_vfs.c f0186261a24de2671d080bcd8050732f0cb64f6e
  F src/test_vfstrace.c bab9594adc976cbe696ff3970728830b4c5ed698
 -F src/test_windirent.c 8f5fada630348558d5745b334702f301da1ffc61
 -F src/test_windirent.h b12055cab6227f7be10f5c19296f67c60cc5e2a5
 +F src/test_windirent.c 600398db0198ca1c77ca183831bf456746b6f5c4
 +F src/test_windirent.h 7edc57e2faa727026dbd5d010dd0e2e665d5aa01
  F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
  F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c
 -F src/tokenize.c 3b29883b0ce4a6c6f643965b66b5ca6613178e59
 -F src/treeview.c e4b41a37530a191579d3c53142cc44ee2eb99373
 -F src/trigger.c e14840ee0c3e549e758ec9bf3e4146e166002280
 -F src/update.c 3e67ab3c0814635f355fb1f8ab010a2b9e016e7d
 +F src/tokenize.c 78c8085bc7af1922aa687f0f4bbd716821330de5
 +F src/treeview.c f51b75a28b377adde9f79bc3deb6c7770bcf97c0
 +F src/trigger.c 3419bb9862983d84d70735fb4c94b21b934cd0c5
 +F src/update.c 8179e699dbd45b92934fd02d3d8e3732e8da8802
  F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c
 -F src/util.c 810ec3f22e2d1b62e66c30fe3621ebdedd23584d
 -F src/vacuum.c feb1eabb20987983d9350cad98299b21fa811f52
 -F src/vdbe.c 4bad04212736526845fda9ca674afafb10078b2b
 -F src/vdbe.h 5591b5add447096e31288b5a0a78ec5d7b5c5170
 -F src/vdbeInt.h ddb157974436d87652de7dc641f7191496d9a8cd
 -F src/vdbeapi.c ba85b78fe08dc4a9ce747e62c89a2b4a4547e74c
 -F src/vdbeaux.c ace1875da40b7185e604586768d5ac90de7e4f7f
 -F src/vdbeblob.c c9f2f494b911c6fa34efd9803f0a10807da80f77
 -F src/vdbemem.c 5cfef60e60e19cab6275d1b975bf4c791d575beb
 -F src/vdbesort.c 0a8f98366ae794442e6d1ef71d9553226d885d19
 -F src/vdbetrace.c f75c5455d8cf389ef86a8bfdfd3177e0e3692484
 -F src/vtab.c 23b6cdfa996152d43b390504ed4a942c8caf3a00
 +F src/util.c 3e2da6101888d073e79ecc6af5e0a2f70fa1e498
 +F src/vacuum.c 913970b9d86dd6c2b8063ef1af421880f1464ec3
 +F src/vdbe.c f43aa96f2efe9bc8a06d17115661af527a3318fa
 +F src/vdbe.h c044be7050ac6bf596eecc6ab159f5dbc020a3b7
 +F src/vdbeInt.h 0a18713d0a2fec6807d076bd333d9bf3e57530cd
 +F src/vdbeapi.c 8272f9342c39ab8d7eb4b9decc6caa7bc75b7d83
 +F src/vdbeaux.c 7229203e4e4a3b6eaeeddc807c2287d912c0da74
 +F src/vdbeblob.c 3e82a797b60c3b9fed7b8de8c539ca7607874937
 +F src/vdbemem.c fcdd73a2001a673f48a244a77b1038928ae729c9
 +F src/vdbesort.c 91fda3909326860382b0ca8aa251e609c6a9d62c
 +F src/vdbetrace.c 41963d5376f0349842b5fc4aaaaacd7d9cdc0834
 +F src/vtab.c e02cacb5c7ae742631edeb9ae9f53d399f093fd8
  F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
 -F src/wal.c 4db22ed7e77bcf672b1a685d6ddeffba8d5be302
 -F src/wal.h 2f7c831cf3b071fa548bf2d5cac640846a7ff19c
 -F src/walker.c 0f142b5bd3ed2041fc52d773880748b212e63354
 -F src/where.c 019e5b10dedcf54ef077ce23dd8fce38d614dcf4
 -F src/whereInt.h 3b1fc240e322613ba4e9dc857ca9c7c3390acc74
 -F src/wherecode.c 28951741be3974701186281ced0564e9586a0db3
 -F src/whereexpr.c eacc0e60d029a082b4fc0cc42ea98544add1319e
 +F src/wal.c 02eeecc265f6ffd0597378f5d8ae9070b62a406a
 +F src/wal.h 6dd221ed384afdc204bc61e25c23ef7fd5a511f2
 +F src/walker.c 91a6df7435827e41cff6bb7df50ea00934ee78b0
 +F src/where.c 5f846d94bb3d35b3146d9915eb301ee362957b0a
 +F src/whereInt.h 2bcc3d176e6091cb8f50a30b65c006e88a73614d
 +F src/wherecode.c 717a65294df46f30e9b9933d2a63a4bcbca5a9a8
 +F src/whereexpr.c 379d0017fb7bc9e5a4d8cd4b056c747de946430e
  F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
  F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd
  F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
@@@ -1525,7 -1486,10 +1525,7 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9
  F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
  F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
  F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P 707875582fcba352b4906a595ad89198d84711d8
- R 87fa5c02031b01e516917f863b526e7b
- U drh
- Z b28813ae6ede81ad47c41c9f8f93c9ca
 -P bcaa650e8796984b275eceba0ed477f360295d01
 -R 7e9bbb4137cb671c555aabb8a094cd9b
 -T *branch * win32GetHandle
 -T *sym-win32GetHandle *
 -T -sym-trunk *
++P aa6de9c40ba2d906772b9032fd5d798661f6d4cc b6ddabe1818c36007c476a31e2e35755630a5f14
++R 60e5658793423fe7463e5f09d2e53763
+ U mistachkin
 -Z e75ba582b3d5fa180704c51e0604373b
++Z 76feeade398c4222d6ce153559d25186
diff --cc manifest.uuid
index 0c0e23b425a97fa8666d9384561c1dba1b04f35e,41938f059b7231b0de00fefea6125c7c024267eb..c6ae521fea7a6e75141f48acec4f4a1524e79919
@@@ -1,1 -1,1 +1,1 @@@
- aa6de9c40ba2d906772b9032fd5d798661f6d4cc
 -b6ddabe1818c36007c476a31e2e35755630a5f14
++16039be3739b8d3b34a1e6093eaebb09e07f984b
diff --cc src/os_win.c
Simple merge
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/test1.c
index a7d20be45db8d2f546fafa16cf20b7a2b86c3efb,a0f2c5577658104fb7672eadbb38e1cdfb5574bc..6c9a0ea1e6d7580a16ed314cf202c5eb4752ce5d
@@@ -5677,6 -5482,38 +5677,38 @@@ static int SQLITE_TCLAPI file_control_w
    return TCL_OK;  
  }
  
 -  return TCL_OK;  
+ /*
+ ** tclcmd:   file_control_win32_get_handle DB
+ **
+ ** This TCL command runs the sqlite3_file_control interface with
+ ** the SQLITE_FCNTL_WIN32_GET_HANDLE opcode.
+ */
+ static int file_control_win32_get_handle(
+   ClientData clientData, /* Pointer to sqlite3_enable_XXX function */
+   Tcl_Interp *interp,    /* The TCL interpreter that invoked this command */
+   int objc,              /* Number of arguments */
+   Tcl_Obj *CONST objv[]  /* Command arguments */
+ ){
+   sqlite3 *db;
+   int rc;
+   HANDLE hFile = NULL;
+   char z[100];
+   if( objc!=2 ){
+     Tcl_AppendResult(interp, "wrong # args: should be \"",
+         Tcl_GetStringFromObj(objv[0], 0), " DB", 0);
+     return TCL_ERROR;
+   }
+   if( getDbPointer(interp, Tcl_GetString(objv[1]), &db) ){
+     return TCL_ERROR;
+   }
+   rc = sqlite3_file_control(db, NULL, SQLITE_FCNTL_WIN32_GET_HANDLE,
+                             (void*)&hFile);
+   sqlite3_snprintf(sizeof(z), z, "%d %p", rc, (void*)hFile);
+   Tcl_AppendResult(interp, z, (char*)0);
++  return TCL_OK;
+ }
  /*
  ** tclcmd:   file_control_win32_set_handle DB HANDLE
  **