mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-14 00:22:38 +03:00
Merge updates from trunk.
FossilOrigin-Name: 375dfe288fd0c4eb3c343a3cb23a7e3851903805
This commit is contained in:
41
Makefile.msc
41
Makefile.msc
@@ -94,6 +94,14 @@ WIN32HEAP = 0
|
|||||||
DEBUG = 0
|
DEBUG = 0
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
|
# Enable use of available compiler optimizations? Normally, this should be
|
||||||
|
# non-zero. Setting this to zero, thus disabling all compiler optimizations,
|
||||||
|
# can be useful for testing.
|
||||||
|
#
|
||||||
|
!IFNDEF OPTIMIZATIONS
|
||||||
|
OPTIMIZATIONS = 2
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
# Check for the predefined command macro CC. This should point to the compiler
|
# Check for the predefined command macro CC. This should point to the compiler
|
||||||
# binary for the target platform. If it is not defined, simply define it to
|
# binary for the target platform. If it is not defined, simply define it to
|
||||||
# the legacy default value 'cl.exe'.
|
# the legacy default value 'cl.exe'.
|
||||||
@@ -343,11 +351,15 @@ TCLSH_CMD = tclsh85
|
|||||||
|
|
||||||
# Compiler options needed for programs that use the readline() library.
|
# Compiler options needed for programs that use the readline() library.
|
||||||
#
|
#
|
||||||
|
!IFNDEF READLINE_FLAGS
|
||||||
READLINE_FLAGS = -DHAVE_READLINE=0
|
READLINE_FLAGS = -DHAVE_READLINE=0
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
# The library that programs using readline() must link against.
|
# The library that programs using readline() must link against.
|
||||||
#
|
#
|
||||||
|
!IFNDEF LIBREADLINE
|
||||||
LIBREADLINE =
|
LIBREADLINE =
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
# Should the database engine be compiled threadsafe
|
# Should the database engine be compiled threadsafe
|
||||||
#
|
#
|
||||||
@@ -397,17 +409,30 @@ RCC = $(RCC) $(OPT_FEATURE_FLAGS)
|
|||||||
TCC = $(TCC) $(OPTS)
|
TCC = $(TCC) $(OPTS)
|
||||||
RCC = $(RCC) $(OPTS)
|
RCC = $(RCC) $(OPTS)
|
||||||
|
|
||||||
# If symbols are enabled, enable PDBs.
|
# If compiling for debugging, add some defines.
|
||||||
# If debugging is enabled, disable all optimizations and enable PDBs.
|
|
||||||
!IF $(DEBUG)>0
|
!IF $(DEBUG)>0
|
||||||
TCC = $(TCC) -Od -D_DEBUG
|
TCC = $(TCC) -D_DEBUG
|
||||||
BCC = $(BCC) -Od -D_DEBUG
|
BCC = $(BCC) -D_DEBUG
|
||||||
RCC = $(RCC) -D_DEBUG
|
RCC = $(RCC) -D_DEBUG
|
||||||
!ELSE
|
|
||||||
TCC = $(TCC) -O2
|
|
||||||
BCC = $(BCC) -O2
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
|
# If optimizations are enabled or disabled (either implicitly or
|
||||||
|
# explicitly), add the necessary flags.
|
||||||
|
!IF $(DEBUG)>0 || $(OPTIMIZATIONS)==0
|
||||||
|
TCC = $(TCC) -Od
|
||||||
|
BCC = $(BCC) -Od
|
||||||
|
!ELSEIF $(OPTIMIZATIONS)>=3
|
||||||
|
TCC = $(TCC) -Ox
|
||||||
|
BCC = $(BCC) -Ox
|
||||||
|
!ELSEIF $(OPTIMIZATIONS)==2
|
||||||
|
TCC = $(TCC) -O2
|
||||||
|
BCC = $(BCC) -O2
|
||||||
|
!ELSEIF $(OPTIMIZATIONS)==1
|
||||||
|
TCC = $(TCC) -O1
|
||||||
|
BCC = $(BCC) -O1
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# If symbols are enabled (or compiling for debugging), enable PDBs.
|
||||||
!IF $(DEBUG)>0 || $(SYMBOLS)!=0
|
!IF $(DEBUG)>0 || $(SYMBOLS)!=0
|
||||||
TCC = $(TCC) -Zi
|
TCC = $(TCC) -Zi
|
||||||
BCC = $(BCC) -Zi
|
BCC = $(BCC) -Zi
|
||||||
@@ -465,7 +490,9 @@ LTLIBS = $(LTLIBS) $(LIBICU)
|
|||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
# nawk compatible awk.
|
# nawk compatible awk.
|
||||||
|
!IFNDEF NAWK
|
||||||
NAWK = gawk.exe
|
NAWK = gawk.exe
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
# You should not have to change anything below this line
|
# You should not have to change anything below this line
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|||||||
18
manifest
18
manifest
@@ -1,9 +1,9 @@
|
|||||||
C Fix\sboundary\scase\sfor\sthe\storeal()\sSQL\sfunction.
|
C Merge\supdates\sfrom\strunk.
|
||||||
D 2013-08-29T01:01:11.268
|
D 2013-08-29T01:11:45.298
|
||||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||||
F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e
|
F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e
|
||||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||||
F Makefile.msc e9f41f89111627baaabd95cab4988b8d1c3e47c9
|
F Makefile.msc a97163524522cd829cb91bcf900d07608e025502
|
||||||
F Makefile.vxworks db21ed42a01d5740e656b16f92cb5d8d5e5dd315
|
F Makefile.vxworks db21ed42a01d5740e656b16f92cb5d8d5e5dd315
|
||||||
F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6
|
F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6
|
||||||
F VERSION a8d1f6839521130dc73c5408cdd24bcfd791df34
|
F VERSION a8d1f6839521130dc73c5408cdd24bcfd791df34
|
||||||
@@ -818,7 +818,7 @@ F test/tclsqlite.test 37a61c2da7e3bfe3b8c1a2867199f6b860df5d43
|
|||||||
F test/tempdb.test 19d0f66e2e3eeffd68661a11c83ba5e6ace9128c
|
F test/tempdb.test 19d0f66e2e3eeffd68661a11c83ba5e6ace9128c
|
||||||
F test/temptable.test d2c9b87a54147161bcd1822e30c1d1cd891e5b30
|
F test/temptable.test d2c9b87a54147161bcd1822e30c1d1cd891e5b30
|
||||||
F test/temptrigger.test 26670ed7a39cf2296a7f0a9e0a1d7bdb7abe936d
|
F test/temptrigger.test 26670ed7a39cf2296a7f0a9e0a1d7bdb7abe936d
|
||||||
F test/tester.tcl 63b24679c75a952c51f924de2802b2b57cddd22d
|
F test/tester.tcl 5e97d1fe08f45fa3cc2320cee437e315c75ce995
|
||||||
F test/thread001.test 9f22fd3525a307ff42a326b6bc7b0465be1745a5
|
F test/thread001.test 9f22fd3525a307ff42a326b6bc7b0465be1745a5
|
||||||
F test/thread002.test e630504f8a06c00bf8bbe68528774dd96aeb2e58
|
F test/thread002.test e630504f8a06c00bf8bbe68528774dd96aeb2e58
|
||||||
F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
|
F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
|
||||||
@@ -1058,9 +1058,9 @@ F test/whereD.test 6c2feb79ef1f68381b07f39017fe5f9b96da8d62
|
|||||||
F test/whereE.test b3a055eef928c992b0a33198a7b8dc10eea5ad2f
|
F test/whereE.test b3a055eef928c992b0a33198a7b8dc10eea5ad2f
|
||||||
F test/whereF.test 136a7301512d72a08a272806c8767066311b7bc1
|
F test/whereF.test 136a7301512d72a08a272806c8767066311b7bc1
|
||||||
F test/wherelimit.test 5e9fd41e79bb2b2d588ed999d641d9c965619b31
|
F test/wherelimit.test 5e9fd41e79bb2b2d588ed999d641d9c965619b31
|
||||||
F test/wild001.test 384db4b30fbe82eaaefe8921f8a702c09e26db27
|
F test/wild001.test bca33f499866f04c24510d74baf1e578d4e44b1c
|
||||||
F test/win32lock.test 7a6bd73a5dcdee39b5bb93e92395e1773a194361
|
F test/win32lock.test 7a6bd73a5dcdee39b5bb93e92395e1773a194361
|
||||||
F test/win32longpath.test f888106783fc26515f393c8848c94cd6166addbb
|
F test/win32longpath.test e2aafc07e6990fe86c69be22a3d1a0e210cd329b
|
||||||
F test/zeroblob.test caaecfb4f908f7bc086ed238668049f96774d688
|
F test/zeroblob.test caaecfb4f908f7bc086ed238668049f96774d688
|
||||||
F test/zerodamage.test 209d7ed441f44cc5299e4ebffbef06fd5aabfefd
|
F test/zerodamage.test 209d7ed441f44cc5299e4ebffbef06fd5aabfefd
|
||||||
F tool/build-all-msvc.bat c55f64ca200308fb5fa5c1ee751ea95a13977b5a x
|
F tool/build-all-msvc.bat c55f64ca200308fb5fa5c1ee751ea95a13977b5a x
|
||||||
@@ -1109,7 +1109,7 @@ F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
|||||||
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
|
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
|
||||||
F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae
|
F tool/wherecosttest.c f407dc4c79786982a475261866a161cd007947ae
|
||||||
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
|
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
|
||||||
P ffc6e682836cdf275189427109f8af2aeb423bcd
|
P abe82c634ccda7d62687df5917d18a9d6e411142 9229aeb361f9805894321327d05aba855b8799f3
|
||||||
R 5b28ae921fcc930fbdb4ed7973c09a22
|
R 37bb2eb70562f6e2f1a6470983432e85
|
||||||
U mistachkin
|
U mistachkin
|
||||||
Z eee04e7f47bd53db98c6ff93d7e968bb
|
Z 8236c13d7d380aaddad2f7d32e5c8a7f
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
abe82c634ccda7d62687df5917d18a9d6e411142
|
375dfe288fd0c4eb3c343a3cb23a7e3851903805
|
||||||
@@ -42,6 +42,7 @@
|
|||||||
#
|
#
|
||||||
# Commands to execute/explain SQL statements:
|
# Commands to execute/explain SQL statements:
|
||||||
#
|
#
|
||||||
|
# memdbsql SQL
|
||||||
# stepsql DB SQL
|
# stepsql DB SQL
|
||||||
# execsql2 SQL
|
# execsql2 SQL
|
||||||
# explain_no_trace SQL
|
# explain_no_trace SQL
|
||||||
@@ -291,6 +292,66 @@ proc do_delete_file {force args} {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if {$::tcl_platform(platform) eq "windows"} {
|
||||||
|
proc do_remove_win32_dir {args} {
|
||||||
|
set nRetry [getFileRetries] ;# Maximum number of retries.
|
||||||
|
set nDelay [getFileRetryDelay] ;# Delay in ms before retrying.
|
||||||
|
|
||||||
|
foreach dirName $args {
|
||||||
|
# On windows, sometimes even a [remove_win32_dir] can fail just after
|
||||||
|
# a directory is emptied. The cause is usually "tag-alongs" - programs
|
||||||
|
# like anti-virus software, automatic backup tools and various explorer
|
||||||
|
# extensions that keep a file open a little longer than we expect,
|
||||||
|
# causing the delete to fail.
|
||||||
|
#
|
||||||
|
# The solution is to wait a short amount of time before retrying the
|
||||||
|
# removal.
|
||||||
|
#
|
||||||
|
if {$nRetry > 0} {
|
||||||
|
for {set i 0} {$i < $nRetry} {incr i} {
|
||||||
|
set rc [catch {
|
||||||
|
remove_win32_dir $dirName
|
||||||
|
} msg]
|
||||||
|
if {$rc == 0} break
|
||||||
|
if {$nDelay > 0} { after $nDelay }
|
||||||
|
}
|
||||||
|
if {$rc} { error $msg }
|
||||||
|
} else {
|
||||||
|
remove_win32_dir $dirName
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
proc do_delete_win32_file {args} {
|
||||||
|
set nRetry [getFileRetries] ;# Maximum number of retries.
|
||||||
|
set nDelay [getFileRetryDelay] ;# Delay in ms before retrying.
|
||||||
|
|
||||||
|
foreach fileName $args {
|
||||||
|
# On windows, sometimes even a [delete_win32_file] can fail just after
|
||||||
|
# a file is closed. The cause is usually "tag-alongs" - programs like
|
||||||
|
# anti-virus software, automatic backup tools and various explorer
|
||||||
|
# extensions that keep a file open a little longer than we expect,
|
||||||
|
# causing the delete to fail.
|
||||||
|
#
|
||||||
|
# The solution is to wait a short amount of time before retrying the
|
||||||
|
# delete.
|
||||||
|
#
|
||||||
|
if {$nRetry > 0} {
|
||||||
|
for {set i 0} {$i < $nRetry} {incr i} {
|
||||||
|
set rc [catch {
|
||||||
|
delete_win32_file $fileName
|
||||||
|
} msg]
|
||||||
|
if {$rc == 0} break
|
||||||
|
if {$nDelay > 0} { after $nDelay }
|
||||||
|
}
|
||||||
|
if {$rc} { error $msg }
|
||||||
|
} else {
|
||||||
|
delete_win32_file $fileName
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
proc execpresql {handle args} {
|
proc execpresql {handle args} {
|
||||||
trace remove execution $handle enter [list execpresql $handle]
|
trace remove execution $handle enter [list execpresql $handle]
|
||||||
if {[info exists ::G(perm:presql)]} {
|
if {[info exists ::G(perm:presql)]} {
|
||||||
@@ -984,6 +1045,15 @@ proc execsql2 {sql} {
|
|||||||
return $result
|
return $result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Use a temporary in-memory database to execute SQL statements
|
||||||
|
#
|
||||||
|
proc memdbsql {sql} {
|
||||||
|
sqlite3 memdb :memory:
|
||||||
|
set result [memdb eval $sql]
|
||||||
|
memdb close
|
||||||
|
return $result
|
||||||
|
}
|
||||||
|
|
||||||
# Use the non-callback API to execute multiple SQL statements
|
# Use the non-callback API to execute multiple SQL statements
|
||||||
#
|
#
|
||||||
proc stepsql {dbptr sql} {
|
proc stepsql {dbptr sql} {
|
||||||
|
|||||||
@@ -42,10 +42,6 @@
|
|||||||
set testdir [file dirname $argv0]
|
set testdir [file dirname $argv0]
|
||||||
source $testdir/tester.tcl
|
source $testdir/tester.tcl
|
||||||
|
|
||||||
# TODO: Reenable this test.
|
|
||||||
finish_test
|
|
||||||
return
|
|
||||||
|
|
||||||
ifcapable !stat3 {
|
ifcapable !stat3 {
|
||||||
finish_test
|
finish_test
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -19,64 +19,6 @@ set testdir [file dirname $argv0]
|
|||||||
source $testdir/tester.tcl
|
source $testdir/tester.tcl
|
||||||
set testprefix win32longpath
|
set testprefix win32longpath
|
||||||
|
|
||||||
proc do_remove_win32_dir {args} {
|
|
||||||
set nRetry [getFileRetries] ;# Maximum number of retries.
|
|
||||||
set nDelay [getFileRetryDelay] ;# Delay in ms before retrying.
|
|
||||||
|
|
||||||
foreach dirName $args {
|
|
||||||
# On windows, sometimes even a [remove_win32_dir] can fail just after
|
|
||||||
# a directory is emptied. The cause is usually "tag-alongs" - programs
|
|
||||||
# like anti-virus software, automatic backup tools and various explorer
|
|
||||||
# extensions that keep a file open a little longer than we expect,
|
|
||||||
# causing the delete to fail.
|
|
||||||
#
|
|
||||||
# The solution is to wait a short amount of time before retrying the
|
|
||||||
# removal.
|
|
||||||
#
|
|
||||||
if {$nRetry > 0} {
|
|
||||||
for {set i 0} {$i < $nRetry} {incr i} {
|
|
||||||
set rc [catch {
|
|
||||||
remove_win32_dir $dirName
|
|
||||||
} msg]
|
|
||||||
if {$rc == 0} break
|
|
||||||
if {$nDelay > 0} { after $nDelay }
|
|
||||||
}
|
|
||||||
if {$rc} { error $msg }
|
|
||||||
} else {
|
|
||||||
remove_win32_dir $dirName
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
proc do_delete_win32_file {args} {
|
|
||||||
set nRetry [getFileRetries] ;# Maximum number of retries.
|
|
||||||
set nDelay [getFileRetryDelay] ;# Delay in ms before retrying.
|
|
||||||
|
|
||||||
foreach fileName $args {
|
|
||||||
# On windows, sometimes even a [delete_win32_file] can fail just after
|
|
||||||
# a file is closed. The cause is usually "tag-alongs" - programs like
|
|
||||||
# anti-virus software, automatic backup tools and various explorer
|
|
||||||
# extensions that keep a file open a little longer than we expect,
|
|
||||||
# causing the delete to fail.
|
|
||||||
#
|
|
||||||
# The solution is to wait a short amount of time before retrying the
|
|
||||||
# delete.
|
|
||||||
#
|
|
||||||
if {$nRetry > 0} {
|
|
||||||
for {set i 0} {$i < $nRetry} {incr i} {
|
|
||||||
set rc [catch {
|
|
||||||
delete_win32_file $fileName
|
|
||||||
} msg]
|
|
||||||
if {$rc == 0} break
|
|
||||||
if {$nDelay > 0} { after $nDelay }
|
|
||||||
}
|
|
||||||
if {$rc} { error $msg }
|
|
||||||
} else {
|
|
||||||
delete_win32_file $fileName
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
db close
|
db close
|
||||||
set path [file nativename [get_pwd]]
|
set path [file nativename [get_pwd]]
|
||||||
sqlite3 db [file join $path test.db] -vfs win32-longpath
|
sqlite3 db [file join $path test.db] -vfs win32-longpath
|
||||||
|
|||||||
Reference in New Issue
Block a user