drh
3832230e25
Closing a file from the wrong thread is harmless on most systems.
...
(See ticket #1611 )
But on systems like RedHat9 with broken fcntl() locks, it leaks file
descriptors. That is better than the alternative of prematurely breaking
locks and causing database corruption. Nevertheless, it would be good
if we could figure out a way to report errors when closing a file from
the wrong thread. (CVS 2946)
FossilOrigin-Name: ad8f12cad1fcd9c54478abe20050f9a953035506
2006-01-15 02:43:16 +00:00
drh
64b1bea3ba
Add tests and fix bugs in the new cross-thread lock resolution code.
...
When an unlock fails, do not leak file descriptors (ticket #1611 ).
But we really ought to report SQLITE_MISUSE or some other error instead
of just returning SQLITE_OK. (CVS 2945)
FossilOrigin-Name: f68e05cb2be65fad43fac823b2a9c53b6d2e797d
2006-01-15 02:30:57 +00:00
drh
029b44bdd3
Documentation updates. Fix to date.c. But most importantly: database
...
connections are now allowed to change threads as long as they are not
holding a lock. (CVS 2944)
FossilOrigin-Name: 03c422ecb508dd84dfafc8b7a0b790a43f5dadda
2006-01-15 00:13:15 +00:00
drh
70ff98ab74
Improve performance by about 10% by avoiding excess calls to get
...
the thread-specific data. (CVS 2921)
FossilOrigin-Name: a8c74febec11eb689ca9f6b454f8c8bbadfc49d7
2006-01-12 01:25:18 +00:00
drh
b4bc7057e5
Testing of the automatic TSD deallocation logic. The sqlite3_thread_cleanup()
...
API is documented. This should close ticket #1601 . (CVS 2920)
FossilOrigin-Name: fb518b0ce4ddd4aaca5cccf61e651f173e735119
2006-01-11 23:40:33 +00:00
drh
6f7adc8a80
Automatically deallocate thread-specific data when it is no longer
...
being used. Ticket #1601 . Also implemented the suggestion of
ticket #1603 . Memory management is now off by default at compile-time.
The sqlite3_enable_memory_management() API has been removed. (CVS 2919)
FossilOrigin-Name: 5d9c6aa964305c3f36741ff0058da5b5f3ce0d24
2006-01-11 21:41:20 +00:00
drh
29c636bc12
Added database server example code (untested). Fixed serveral bugs including
...
the autovacuum compile problem described by ticket #1593 . (CVS 2897)
FossilOrigin-Name: ec332d8822d1ac9673581a26ab2a2fce5f2554a3
2006-01-09 23:40:25 +00:00
danielk1977
e501b89ada
Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893)
...
FossilOrigin-Name: 82b81f69c78cb3f54634d9aea4f6a838474dc5e5
2006-01-09 06:29:47 +00:00
drh
8c0ca7d27c
Drop the mutex if the TSD key allocation fails. Ticket #1585 . (CVS 2880)
...
FossilOrigin-Name: 77ac231c0e21c09c0b612a4e72bcc863f2c95fd3
2006-01-07 04:06:54 +00:00
drh
198bf39128
Changes so that SQLITE_OMIT_PARSER and SQLITE_OMIT_DISKIO work. (CVS 2878)
...
FossilOrigin-Name: 9d71b7deaffdd7eb9ddad1f03df3e4c51c2cbd98
2006-01-06 21:52:49 +00:00
drh
0739723d76
Fix an alignment problem in the sqlite3OsRandomSeed(). Ticket #1584 . (CVS 2872)
...
FossilOrigin-Name: 373b56f0048fd6a1946a97acfcca40fd12f7d572
2006-01-06 14:46:46 +00:00
drh
66560adab3
Change the OS interface layer to use traditional direct function call
...
implementations instead of the more complicated virtual function table.
Omit the asynchronous I/O demo. (CVS 2870)
FossilOrigin-Name: 2529c2e11fa1d345ec61f647e4f6fae20a7133d6
2006-01-06 14:32:19 +00:00
drh
3fbb0b1a3b
Windows implementation of the thread-specific data interface. (CVS 2864)
...
FossilOrigin-Name: 3aa8befedf4534cd100a7309997a4ad2ba08af20
2006-01-06 00:36:00 +00:00
danielk1977
441b09ae55
Disable automatic invocation of sqlite3_release_memory() when a malloc() fails
...
in those cases where the global mutex is held. (CVS 2860)
FossilOrigin-Name: 6fdbb8b771e490f0d791326689245302c4fe18f5
2006-01-05 13:48:29 +00:00
drh
88f474a938
Add the xInMutex method to the os-layer switch for testing whether or not
...
mutexes are used correctly. (CVS 2851)
FossilOrigin-Name: a582b159595ff8d31c81e9b3044711d6590d3f0e
2006-01-02 20:00:12 +00:00
danielk1977
c529f52046
Move malloc(), free(), realloc() and allocationSize() into the Os vtbl. (CVS 2819)
...
FossilOrigin-Name: 81a41f66370ea7f6810dfb323ba5cea60f240edd
2005-12-15 10:50:53 +00:00
danielk1977
13a68c3f61
Add the sqlite3_os_routine_set()/get() functions. (CVS 2818)
...
FossilOrigin-Name: c1ed79f594fb85009c2e9e5e281cbe66a9d2fa17
2005-12-15 10:11:30 +00:00
drh
2646da7e52
Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810)
...
FossilOrigin-Name: 83a59151559d9496d4f546e03e65087ea974717d
2005-12-09 20:02:05 +00:00
danielk1977
2e588c7525
Many small changes to ensure memory is not leaked after malloc() fails. (CVS 2808)
...
FossilOrigin-Name: 601c335463aaabc2e9918e4b9298cff6161be5c4
2005-12-09 14:25:08 +00:00
danielk1977
261919cc16
Some elements of the new malloc() failure handling. Not all cases work properly yet. Also, library is not threadsafe if malloc() fails right now. (CVS 2800)
...
FossilOrigin-Name: e1606658f1b4530e3001db4779b5669c8d13c853
2005-12-06 12:52:59 +00:00
drh
054889ec6d
Restructure the OS interface yet again. This time make the OsFile object
...
a virtual base class which is subclassed for unix, windows, and the crash
test simulator. Add the new file "os.c" for common os layer code. Move
all OS-specific routines into the sqlite3Os structure. (CVS 2795)
FossilOrigin-Name: bd8740d1aecba69e1b5d64d43db07e8ad8841f07
2005-11-30 03:20:31 +00:00
drh
392b3ddf2e
The crash test works now, at least on unix. Untested on windows. But it never
...
worked on windows before so if it still does not there is no big loss. I am
still troubled by the current design of the OS overloading mechanism. Expect
to see more changes. (CVS 2794)
FossilOrigin-Name: fa1d7ecfcc648fbe9fc6d92e080cf937bdc9c439
2005-11-29 19:56:32 +00:00
drh
9cbe635219
Make the OsFile structure opaque with its internal structure known only to
...
the appropriate os_*.c implementation. Omit the os_unix.h and os_win.h
include files. The crash tests are broken by this patch. (CVS 2791)
FossilOrigin-Name: 058f31753871b16b40fe4048e3adcee411e0f87d
2005-11-29 03:13:21 +00:00
drh
18839217da
Add an OS method for making copies of file descriptors. This fixes the
...
crash tests. (CVS 2786)
FossilOrigin-Name: 57a674fc71512f11393b8eb595961ec9465ba4e1
2005-11-26 03:43:23 +00:00
drh
9c06c95309
Modify the OS layer so that I/O routines are called through a virtual function
...
table. The os_test.c module has been replaced by test6.c. The crash tests
are busted now and need to be fixed. (CVS 2785)
FossilOrigin-Name: 1f69aec285dd8e26bd739d5e44bb50fe03a9682a
2005-11-26 00:25:00 +00:00
danielk1977
d7c03f7485
Add the compilation option SQLITE_DISABLE_DIRSYNC (CVS 2782)
...
FossilOrigin-Name: f1298bb103aad46c737741d89d33c4c2904aec68
2005-11-25 10:38:22 +00:00
danielk1977
26c5d79f60
If SQLITE_DISABLE_LFS is defined, omit the bigfile tests. (CVS 2781)
...
FossilOrigin-Name: f882a516da18f45dbb668078d0d8240d930e1180
2005-11-25 09:01:23 +00:00
danielk1977
0964b23a99
Check the return code of full_fsync() when used to sync a directory fd. (CVS 2780)
...
FossilOrigin-Name: 84aae3b0ae7381710ff0bc9881cbde3559bb580b
2005-11-25 08:47:57 +00:00
drh
91636d58c0
The --enable-cross-thread-connect configuration option or the
...
-DSQLITE_ALLOW_XTHREAD_CONNECT compile-time option permits database
connections to be moved across threads. This will cause latch-ups
and failures on some linux systems such as RedHat-9. Do not use these
options if you want a portable build. (CVS 2778)
FossilOrigin-Name: 84aa4d58001ed943295f21f429c58c3c99b771d8
2005-11-24 23:14:00 +00:00
drh
d9cb6ac02f
Changes to prevent various compiler warnings. (CVS 2750)
...
FossilOrigin-Name: e261b8b09a529a3e67dc27c3b83b660bcb32e195
2005-10-20 07:28:17 +00:00
drh
f2f23916ec
Another attempt to get fdatasync to be ignored on non-conforming posix systems.
...
Now a system has to opt-in for fdatasync instead of opt-out.
Ticket #1467 . (CVS 2741)
FossilOrigin-Name: 115340d4e85f1bbbab657edbb504284343d86e2c
2005-10-05 10:29:36 +00:00
drh
c035e6e4ab
Optionally call fdatasync() instead of fsync() only if _POSIX_SYNCHRONIZED_IO
...
is positive, which should only be the case on operating systems that
actually support fdatasync(). (CVS 2732)
FossilOrigin-Name: a9b341dccffaf324a64139d6f482599258ef7009
2005-09-22 15:45:04 +00:00
drh
b4746b9e33
Defend against disk I/O errors that happen during an sqlite3OsSeek(). (CVS 2679)
...
FossilOrigin-Name: 461e3a0a27ff083b0bae10c9880e3b41bb85ee31
2005-09-09 01:32:06 +00:00
drh
eb796a7c8f
While doing a transaction comment, use fdatasync() instead of fsync() in
...
cases there the file size is unchanged. (CVS 2673)
FossilOrigin-Name: 3c555a87493128620ac967faf7c63c2a58856e9e
2005-09-08 12:38:41 +00:00
drh
79158e1865
Changes to reduce the amount of stack space required. (CVS 2661)
...
FossilOrigin-Name: b86bd70f301205d6ca66475a425e157b976107e2
2005-09-06 21:40:45 +00:00
drh
19e2d37f1d
Increase resolution of time-of-day on unix. Add an experimental
...
sqlite3_profile() API. (CVS 2639)
FossilOrigin-Name: ed2ca0873fa89d6cfd123541d5d1c6b92c72b6ab
2005-08-29 23:00:03 +00:00
drh
ad81e87054
Clean up possible locking problem in multithreaded applications that take
...
a malloc failure. (CVS 2611)
FossilOrigin-Name: 545e702a23c7a6b09e10441d4137efe5a9618a84
2005-08-21 21:45:01 +00:00
drh
d645967aaa
Give the same access permissions to journal files as is given to databases. (CVS 2590)
...
FossilOrigin-Name: 7961ec0ccbc99d890689013b9602635941f308a6
2005-08-13 17:17:01 +00:00
drh
2b4b5962c4
Changes to the unix OS layer aimed at finding and fixing tickets
...
#1272 and #1285 . (CVS 2517)
FossilOrigin-Name: 006dda3119f025d703da4e0215c378206e20cfd0
2005-06-15 17:47:55 +00:00
drh
0ccebe7e2d
Changes to support linking without a parser and without a disk I/O interface. (CVS 2504)
...
FossilOrigin-Name: 62a7353d4af4886b1561832e8b36e8e788b38834
2005-06-07 22:22:50 +00:00
drh
41f5852eea
Handle failures of getcwd() without segfaulting. Ticket #1274 . (CVS 2490)
...
FossilOrigin-Name: c1691004d6d81b683a4ca5b1723c0de8b9b4e376
2005-06-06 15:06:39 +00:00
drh
8e855770de
Provide a compile-time parameter to set the default file creation permissions
...
under Unix. Ticket #1247 . (CVS 2461)
FossilOrigin-Name: bfa55bec3233eed899606c309773f441857605ae
2005-05-17 11:25:31 +00:00
drh
e29b915e9b
Remove unused code from util.c. Enhance the trace output in os_unix.c. (CVS 2397)
...
FossilOrigin-Name: f2f31919fdd181c79b86f849d46c60f1ed7a0db1
2005-03-18 14:03:15 +00:00
drh
f30cc9496a
Fix bugs discovered in 3.1.4. F_FULLFSYNC not F_FULLSYNC. And a bug in
...
"make doc". Also typos in the documentation. (CVS 2379)
FossilOrigin-Name: 3c57a4571fc8463ce9de1cbe5be45538bf2f0de9
2005-03-11 17:52:34 +00:00
drh
b851b2c938
Disable F_FULLSYNC if the sychronous pragma is not set to FULL. (CVS 2372)
...
FossilOrigin-Name: 58b8733b96165126ee8514f2ce0f88d249792847
2005-03-10 14:11:12 +00:00
drh
4c7f941cfc
Make sure the rc variable in OsWrite of os_win.c is always initialized.
...
Also assert that the amt parameter is always greater than zero.
Ticket #1094 . (CVS 2309)
FossilOrigin-Name: 4b399ae7791288e5d44f90da530908d9ca77ff4b
2005-02-03 00:29:47 +00:00
drh
842b864118
Initialize the random number generator from /dev/urandom, if available. (CVS 2258)
...
FossilOrigin-Name: aab8e7f8d81ffa786d5fae5a13963c6e58a8eefc
2005-01-21 17:53:17 +00:00
drh
1398ad3639
Continued refactoring of the name resolution logic and query optimizer. (CVS 2236)
...
FossilOrigin-Name: d8b2a7e09187564fe66a2b4bf0992c6a017146cf
2005-01-19 23:24:50 +00:00
drh
268283bc7f
Fixes to the temp_store_directory pragma. (CVS 2185)
...
FossilOrigin-Name: 0a90eaf398aa4a689cd8326cd017951513ca748a
2005-01-08 15:44:25 +00:00
tpoindex
9a09a3caed
Add PRAGMA 'temp_store_directory'. Added os_*.c function
...
sqlite3OsIsDirWritable(), split pragma.c changeTempStorage() function into
invalidateTempStorage(). (CVS 2171)
FossilOrigin-Name: 772e22cbd69463be41c2e73b4fd4eb33946193c4
2004-12-20 19:01:32 +00:00