Commit Graph

4429 Commits

Author SHA1 Message Date
drh
97c8ec325d Bring the amalgamation builder up to date with the latest changes.
Remove some vestigial code. (CVS 4303)

FossilOrigin-Name: 0ae30e5c76d9094307ea086a9993a953631ab9da
2007-08-27 21:49:34 +00:00
drh
50d3f9064b Added the 34to35.html document describing the changes between 3.4.2 and
3.5.0.  Minor interface cleanups. (CVS 4302)

FossilOrigin-Name: 0791f917bb18d7305b805b9cbcb308bdd7b3a1f5
2007-08-27 21:10:36 +00:00
danielk1977
9f61c2f129 Modify sqlite3_release_memory() to use a global LRU list of pages. Untested. (CVS 4301)
FossilOrigin-Name: 5626ce0b5e249d48b56fdc4561ef663941eb23dc
2007-08-27 17:27:49 +00:00
drh
4b6b4ab0d2 Create a fresh pthread_mutexattr_t every time a recursive mutex is
allocated.  Ticket #2588. (CVS 4300)

FossilOrigin-Name: 3d746343add3feb9d208302a00b419d71d6ba246
2007-08-25 16:31:29 +00:00
drh
8bacf9743f Documentation and comment updates in sqlite.h.in and mutex.c. (CVS 4299)
FossilOrigin-Name: 7289079d6b4a7a160063e34c0f5e43637ef7476f
2007-08-25 16:21:29 +00:00
drh
f77a2ff5dc Clarification in the documentation of the sqlite3_mutex_held() and
sqlite3_mutex_notheld() interfaces.  Make it clear that these routines
are only for use inside assert(). (CVS 4298)

FossilOrigin-Name: a6bbf6eaf6ccc471b4efe02cd8a3971112d909ab
2007-08-25 14:49:36 +00:00
drh
058897a92e Use recursive mutexes in pthreads. If the pthreads implementation does not
support recursive mutexes, then you cannot compile SQLite with
SQLITE_THREADSAFE=1.  Ticket #2588. (CVS 4297)

FossilOrigin-Name: 1668284d151e78d16b0d83bf55dfd9d349a452a7
2007-08-25 14:39:45 +00:00
danielk1977
222a757dba Update the rest of the malloc failure test scripts to use the new interface. (CVS 4296)
FossilOrigin-Name: b076e1655d6bae5ae10e6ceee646f502435da66a
2007-08-25 13:37:48 +00:00
danielk1977
cdc3a6bcbc Fix bugs in the altermalloc.test and incrblob_err.test scripts. (CVS 4295)
FossilOrigin-Name: e5ec17071720a973bbd213a8b23038d3aff25315
2007-08-25 13:09:26 +00:00
danielk1977
df7ca22abb Update the async2.test test script to use the new malloc() failure simulation interface. (CVS 4294)
FossilOrigin-Name: 686fcfeda407c29cdb51fe814da616f1ccac5414
2007-08-25 12:39:28 +00:00
danielk1977
0e87b70100 Make the test_async backend work again. (CVS 4293)
FossilOrigin-Name: 04167483aad42d319393e8caf470d8de11e468d8
2007-08-25 12:29:30 +00:00
drh
dc3060fea3 Bug fix in the implementation of recursive mutexes using non-recursive
pthreads mutexes.  Ticket #2588. (CVS 4292)

FossilOrigin-Name: 7d24c3a5a7641df2bbb8c91a0bc5aa75c96a73fe
2007-08-25 03:59:08 +00:00
drh
bff101efd7 New mutex implementation for both Unix and windows. (CVS 4291)
FossilOrigin-Name: e144b81f699ca991cc4fa12a487156391db0b367
2007-08-24 20:46:59 +00:00
rse
e806566248 fix cleanup by removing sqlite3.pc (generated by 'configure') on 'make distclean', too (CVS 4290)
FossilOrigin-Name: 3c908648353a575c3ff57be5dd9454a946d23b9f
2007-08-24 18:32:58 +00:00
drh
b11caac316 Rework the win32 OS driver to use malloc()/free() directly rather than
going through the SQLite memory allocation layer.  With this change, the
complete quick.test script now runs on windows.  There are a few errors,
but no segfaults.  Progress. (CVS 4289)

FossilOrigin-Name: 75aad316981690d7a93ea6ac1c187f7d98f6d715
2007-08-24 17:52:21 +00:00
drh
ae28c01aa8 Fix bugs in temp database handling introduced by the prevous check-in. (CVS 4288)
FossilOrigin-Name: 300038be9368556a29efce7cf3657fabfe54d8f9
2007-08-24 16:29:23 +00:00
drh
1cc8c448b5 Remove nRef and vfsMutex from the sqlite3_vfs structure. Omit the
sqlite3_vfs_release() interface.  Less memory allocated for a pager
in the common case where the size of the pathname is less than MAX_PATH. (CVS 4287)

FossilOrigin-Name: b8451da378179d43f25d9a014480c0f13dd1dc37
2007-08-24 16:08:29 +00:00
danielk1977
9663b8f92d Select the default page size for new databases based on the sector-size and IOCAP flags. (CVS 4286)
FossilOrigin-Name: 13dda2e8e879835c21e539ba3ff8f96face1af4c
2007-08-24 11:52:28 +00:00
drh
f78799e637 Remove unnecessary sqlite3MallocDisallow() that was preventing win32 from
running. (CVS 4285)

FossilOrigin-Name: eb6c98fc1097b327453d7e8ec8877101ea8187c3
2007-08-24 11:43:36 +00:00
danielk1977
f55b899824 Add tests to simulate power-failure on devices that support IOCAP_SEQUENTIAL or IOCAP_SAFE_APPEND. (CVS 4284)
FossilOrigin-Name: bdf5cb8d25d93d48220ce46acad2ccf967a87843
2007-08-24 08:15:53 +00:00
drh
d5499d648f Bug fix in the memory leak trace output. (CVS 4283)
FossilOrigin-Name: a1b495c28a092c7eb79ffeeb6a217749acb4c12c
2007-08-24 04:15:00 +00:00
drh
153c62c461 The win32 driver compiles but does not yet work well. Many bugs
fixed. (CVS 4282)

FossilOrigin-Name: 3a68fcddfa9184e4b310ce0a21312c54b9462ec8
2007-08-24 03:51:33 +00:00
shess
bae37537b0 Make comments and variable naming more consistent WRT rowid versus
docid/blockid.  This should have no code impact. (CVS 4281)

FossilOrigin-Name: 76f1e18ebc25d692f122784e87d202992c4cfed2
2007-08-23 20:28:49 +00:00
shess
6beeb0329a Fix fts3 to not have the VACUUM bug from fts2. %_content.docid is an
alias to fix the rowid for documents, %_segments.blockid is an alias
to fix the rowid for segment blocks.  Unit test for the problem. (CVS 4280)

FossilOrigin-Name: 6eb2d74a8cfce322930f05c97d4ec255f3711efb
2007-08-23 20:23:37 +00:00
danielk1977
6897ca30b5 Add some warm-body tests for rollback journal i/o enhancements. (CVS 4279)
FossilOrigin-Name: ff3770f855c1dd75025b1f2496f8c75e9f17ee44
2007-08-23 16:27:21 +00:00
danielk1977
4cd2cd5c69 Add code to reduce rollback journal i/o based on IOCAP flags. As yet untested. (CVS 4278)
FossilOrigin-Name: 595568492e63822caed5b6970542dcee4615dc4d
2007-08-23 14:48:23 +00:00
danielk1977
863c0f9b87 Ensure temporary files are deleted when they are closed. (CVS 4277)
FossilOrigin-Name: cf4e3c158aa71afc91f263a314c2e750d191fb41
2007-08-23 11:47:59 +00:00
danielk1977
f8940aefb6 Add some further tests and a bugfix for the atomic-write optimization. (CVS 4276)
FossilOrigin-Name: 5f0fb894f44069c4aa9b8dba62b4d8a262c991de
2007-08-23 11:07:10 +00:00
danielk1977
2ca0f86354 Add some tests for the atomic-write optimization. (CVS 4275)
FossilOrigin-Name: e2cc7b4a3476a733b2701546f6b4ec9abc18152b
2007-08-23 08:06:44 +00:00
drh
aa9f112137 Change names of constants in lemon.c to work around name conflicts
on Solaris.  Ticket #2583. (CVS 4274)

FossilOrigin-Name: e4e74cd0f9343448ea38e57f08bb4f0616825f31
2007-08-23 02:50:56 +00:00
drh
4a50aac564 Improvements to memory leak detection. The --backtrace=NNN option is now
recognized by tester.tcl.  Memory leak summaries are automatically written
to the file ./memleak.txt and each leak is tagged with the test in which
it occurred.  The quick.test script runs on Linux with no errors and
no leaks. (CVS 4273)

FossilOrigin-Name: 21f6b31097692171c6493e6ca6de6acbd62dc595
2007-08-23 02:47:53 +00:00
drh
ed138fb3bc All of the malloc test cases run. Still seeing failures in malloc4.test. (CVS 4272)
FossilOrigin-Name: 205d0b881d541db65837ce6cf44d58d607635bc2
2007-08-22 22:04:37 +00:00
drh
f3a65f7e44 The malloc.test script now passes all tests with no errors. (CVS 4271)
FossilOrigin-Name: db818430e9ea4ef4a4af575784009d5acae785a3
2007-08-22 20:18:21 +00:00
danielk1977
dd97a49c1a Fix a bug in the logic for journaling pages when the device sector-size is greater than the page size. (CVS 4270)
FossilOrigin-Name: b6399dff1370449912391cc5925bdc468b5dade0
2007-08-22 18:54:32 +00:00
drh
cab5ed7a57 Get the quick.test script running with SQLITE_THREADSAFE enabled. (CVS 4269)
FossilOrigin-Name: 1f28b7e47bba221c14a10a37e7425c9975bb2312
2007-08-22 11:41:18 +00:00
danielk1977
c7b6017c8a Add code for the atomic-write optimisation. Disabled by default. (CVS 4268)
FossilOrigin-Name: 581fadfe31757e3fb97b12f93c1e3c085e4b6009
2007-08-22 11:22:03 +00:00
drh
1f12f9aa30 Remove a debugging btree_breakpoint from vtab1.test. (CVS 4267)
FossilOrigin-Name: 6cc8641ed2fbfc32d418ce153f2819052f230be2
2007-08-22 02:57:16 +00:00
drh
27641703cc A complete run of quick.test with mutex debugging enabled. (CVS 4266)
FossilOrigin-Name: 783e07d561d1f5509de9475f3b9f38315f247002
2007-08-22 02:56:42 +00:00
drh
86f8c197dd Reenable the memory management logic. The quick.test script now runs with
SQLITE_MEMDEBUG and SQLITE_ENABLE_MEMORY_MANAGEMENT. 7 minor errors. (CVS 4265)

FossilOrigin-Name: 1914044b8832041f13b20ead613bd13725425d7a
2007-08-22 00:39:19 +00:00
drh
32bc3f6e01 All mutexing and locking appears to be in place. Now we just have to
test it and make it all work. (CVS 4264)

FossilOrigin-Name: 0f7941aef976aa4f3be3e0046edd1ae042e5d9a3
2007-08-21 20:25:39 +00:00
drh
b21c8cd4f6 The sqlite3_value object now carries an sqlite3* pointer to use for
recording malloc failures.  This eliminates the need to pass sqlite3*
pointers into many internal interfaces.  Also added more mutexing. (CVS 4263)

FossilOrigin-Name: 9287276191a582c1cf7cf6b71d8399727d8e534d
2007-08-21 19:33:56 +00:00
drh
e30f442622 Adding more thread locking code. This is an incremental check-in. (CVS 4262)
FossilOrigin-Name: 7428732b1fa04b83eda0a3539834693ef351313e
2007-08-21 16:15:55 +00:00
drh
605264d2d8 Readded the sqlite3_open_v2() interface. No test cases yet.
Additional progress toward adding mutexes to all interfaces. (CVS 4261)

FossilOrigin-Name: 3787563e90d7210d349ee36484c3f008c955552e
2007-08-21 15:13:19 +00:00
danielk1977
7a2b1eeb7f Delay opening temporary pager files until they are first written. (CVS 4260)
FossilOrigin-Name: 3fb97a63ef70662abdba18ce8b480e6b0badcfb1
2007-08-21 14:27:01 +00:00
drh
51fc347a2e Remove the obsolete static mutexes. Use only the lastest static mutex code. (CVS 4259)
FossilOrigin-Name: 6225cd461cdd2132eeb480aa4deb8986b7f63c15
2007-08-21 13:51:23 +00:00
danielk1977
46abae817e Add the tests that go with the previous commit. (CVS 4258)
FossilOrigin-Name: a87f32e13e91250ab4d9366d2e9a3a7024a12fb9
2007-08-21 13:30:07 +00:00
danielk1977
6e465eb0fc Avoid journalling an extra page when a btree insert operation uses the 'quick-balance' trick. (CVS 4257)
FossilOrigin-Name: 0da48209140b6c1ba47df799ce6065054b994f02
2007-08-21 13:11:00 +00:00
danielk1977
f1da17a388 Fix some problems in the crash-test backend. (CVS 4256)
FossilOrigin-Name: 5bced2392ad77aff0aa1ddea83f2ff9e3ffe28a8
2007-08-21 13:07:46 +00:00
drh
29278e3dbb Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255)
FossilOrigin-Name: fbbd5bda544ffec4e1b43407b12e546235dc7873
2007-08-21 10:44:15 +00:00
drh
a2451e2255 The quick test runs again with a handfull of errors after adding the
mutex locks to btree, the VFS registration interfaces, and FTS3. (CVS 4254)

FossilOrigin-Name: 6cf725d212d468cbd7c7cbc22ca5ab13f1d77939
2007-08-20 23:50:24 +00:00
drh
d677b3d688 Work toward multithreading support. Currently crashes quickly on a test. (CVS 4253)
FossilOrigin-Name: 1315bd8e125602275fb718780f9b2730bd37f6ab
2007-08-20 22:48:41 +00:00
shess
7e3c77df0d Oops - a random fts2 test I had abandoned slipped into the fts3 batch. (CVS 4252)
FossilOrigin-Name: 709f2aa18a4802a7ca6638c00b2b99440b4a3191
2007-08-20 17:52:59 +00:00
shess
db00b6aebb Replicate the fts2*.test files as fts3a*.test, and convert fts2 to
fts3 in the text of the files. (CVS 4251)

FossilOrigin-Name: 24739f148e7687532fd04794a041aade8626c630
2007-08-20 17:38:42 +00:00
shess
69c4ae2413 Add support for building with fts3. (CVS 4250)
FossilOrigin-Name: 95ef963232ab1f15a7c42229819d33d3571a753e
2007-08-20 17:37:47 +00:00
shess
acce22f5c7 Copy fts2 to fts3, renaming, and replacing references to fts2 with
fts3, including capitalization variants. (CVS 4249)

FossilOrigin-Name: 216c91d2fc49792d9ff53596746f1162f5b7f8d4
2007-08-20 17:37:02 +00:00
danielk1977
2a6bdf6d5b Call sqlite3OsSleep() with an argument in microseconds, not milliseconds. (CVS 4248)
FossilOrigin-Name: 917790413ced92266bf5c7cca6d130ed7ac6221b
2007-08-20 16:07:00 +00:00
danielk1977
967a4a1c96 Changes to crash-test io backend (test6.c) so that it works with the sqlite3_vfs interface. (CVS 4247)
FossilOrigin-Name: 40f66ada815fa1043d24c9cd6d898e1797e7044a
2007-08-20 14:23:44 +00:00
drh
abddb0c8c4 Bug fix in BTree shared cache locking code. (CVS 4246)
FossilOrigin-Name: 399d3e755253a7b4604a62b9f171e0f1154134e2
2007-08-20 13:14:28 +00:00
drh
482ea18fde Get main.c to compile when HAVE_USLEEP is 0. (CVS 4245)
FossilOrigin-Name: b27f022fb924709f1c5e4642d5d59cab942e826d
2007-08-20 11:12:40 +00:00
danielk1977
ad94b58a5e Update the locking-style code in os_unix.c. The updates are as yet untested. (CVS 4244)
FossilOrigin-Name: 41f2175b1ed7eccf271b687ee5c3ea262a0cd096
2007-08-20 06:44:22 +00:00
danielk1977
f036aef061 Fix full_fsync() related functionality broken as part of the migration to sqlite3_vfs. (CVS 4243)
FossilOrigin-Name: cb24cda179c2b526c5ac48be75e372d2b9db808c
2007-08-20 05:36:51 +00:00
danielk1977
fee2d25a70 Further progress on migration to sqlite3_vfs. (CVS 4242)
FossilOrigin-Name: a258c4ec240f96bccfe493e98d0827ec7dd12e67
2007-08-18 10:59:19 +00:00
danielk1977
90949c2003 Remove some old OsFile and IoMethod related code. Add the sqlite3OsLockState function. (CVS 4241)
FossilOrigin-Name: 08a0f48028794abbeae1b4852652062b38d37d88
2007-08-17 16:50:38 +00:00
danielk1977
b4b47411ab Begin migration to using sqlite3_vfs interface. (CVS 4240)
FossilOrigin-Name: af3e3c7acdc67013dd733effebe981620d922dd1
2007-08-17 15:53:36 +00:00
drh
e53831d644 Begin adding mutexes. Compiles without SQLITE_OMIT_SHARED_CACHE but we
get an assertion fault on the shared cache testing. (CVS 4239)

FossilOrigin-Name: 4c1e9ffebe7c611a8b6a89153ae97ab9bca19ea3
2007-08-17 01:14:38 +00:00
drh
6bdec4afb4 Change the design of the mutex interface to allow for
both "fast" and "recursive" mutexes. (CVS 4238)

FossilOrigin-Name: 160593dcc5690af715b775c81137c6e09cca6454
2007-08-16 19:40:16 +00:00
drh
dce8bdb8c0 Remove the thread specific data subsystem from the unix build. Remove
legacy cruft from sqliteInt.h.  Use the new mutex subsystem in the PRNG. (CVS 4237)

FossilOrigin-Name: 3d60c14a32955b69e714a73372924d421899f83b
2007-08-16 13:01:44 +00:00
drh
abb6fcabcb Combine sqlite3DbOfVdbe() and sqlite3VdbeDb() into a single function. (CVS 4236)
FossilOrigin-Name: ba80ee59a72afe36817997de705ef81d876b6f35
2007-08-16 12:24:01 +00:00
danielk1977
31dad9da7e Fix some more small problems introduced by recent refactoring. (CVS 4235)
FossilOrigin-Name: 5e2795d0eb8ea2a076b3014cfa9096aa7e8f69d7
2007-08-16 11:36:15 +00:00
danielk1977
c6cc77d368 Replace a few sqlite3_malloc() calls that should be sqlite3MallocZero(). (CVS 4234)
FossilOrigin-Name: 384d0ca9bc96309e7057e4a2bd4bac5049485e9b
2007-08-16 10:36:33 +00:00
danielk1977
1e5369531e More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233)
FossilOrigin-Name: 77b1671351fe94b0ebc126a63140643deae2aa64
2007-08-16 10:09:01 +00:00
danielk1977
9fb3ecbc5b Add a test for malloc() failure when compiling a trigger step of the form "INSERT INTO ... SELECT ...". Currently causes a segfault. (CVS 4232)
FossilOrigin-Name: 161643a694458e76849cd663f277892ae7c6b729
2007-08-16 04:39:01 +00:00
drh
174357527a Half-way through a major refactoring of the memory allocation.
I have not even attempted to compile so I am certain there are
countless errors. (CVS 4231)

FossilOrigin-Name: deb7ecd65f7b83eaf0ba610eeef3b0ede61db1c3
2007-08-16 04:30:38 +00:00
drh
0e6f1546b0 Enhancements and smoke testing of the new memory allocation subsystem.
Have not yet cut it over to the core, though. (CVS 4230)

FossilOrigin-Name: 1dad2c0a1f00596b13b02ccef664bd2346a677a4
2007-08-15 20:41:28 +00:00
drh
2f999a6758 Test infrastructure for the new memory subsystem. (CVS 4229)
FossilOrigin-Name: 9e506656720fb3a3205b8cc398152272ce56f6f3
2007-08-15 19:16:43 +00:00
danielk1977
6207906027 Modify the crash-recovery test code in test6.c for 3.5. Also change some other code to use the new sqlite3_io_methods interface. Lots of things are broken now. (CVS 4228)
FossilOrigin-Name: af9503daf3f7703fcddad754bc1dc9e179830b6e
2007-08-15 17:08:46 +00:00
drh
4c3645c601 Add a debugging memory allocator. (CVS 4227)
FossilOrigin-Name: 8d2d1c4ff9dca61f75e3048107ee9712d346a28c
2007-08-15 17:07:57 +00:00
drh
90f6a5beff Add initial implementations of mutex and memory subsystem modules. (CVS 4226)
FossilOrigin-Name: c0fa3769790af199a4c8715c80bb8ff900730520
2007-08-15 13:04:54 +00:00
drh
d84f946be8 Revisions to the interface design for 3.5. (CVS 4225)
FossilOrigin-Name: 174116f7c0ceeceb5e32868b29fabf8a6943cbf6
2007-08-15 11:28:56 +00:00
drh
871f6ca15a Clarify documentation on sqlite3_interrupt(). (CVS 4224)
FossilOrigin-Name: 0b5b526c9de22a34c5051d14735a062ed3f898eb
2007-08-14 18:03:14 +00:00
danielk1977
0d24e6b876 Add comments describing upcoming changes to crash-test module (test6.c). No code
changes. (CVS 4223)

FossilOrigin-Name: 63631c17376bcb5a7aa305408aaeaf03738d7b95
2007-08-14 17:42:05 +00:00
drh
6d2069d9e8 Add a first cut at the new version 3.5 interface definitions to sqlite.h.in. (CVS 4219)
FossilOrigin-Name: 0a57f3dd4de12278732e3ca9d8a95f85c351da03
2007-08-14 01:58:53 +00:00
drh
60ce3653c1 Version 3.4.2 (CVS 4218)
FossilOrigin-Name: 64989904d44556eee0ea0270f8d4f0e903ffcfdf
2007-08-13 20:31:01 +00:00
drh
d0b567a944 Update version number of documentation in preparation for version 3.4.2. (CVS 4217)
FossilOrigin-Name: 1ed51e3ca04bee887326cb323bc7046ff1a98946
2007-08-13 16:15:29 +00:00
danielk1977
ea4d9e2dc8 Invalidate prepared SQL statements when rolling back a transaction that includes schema modifications. (CVS 4216)
FossilOrigin-Name: a07143fc0578a5fc7c891e94616ee0b353674d6e
2007-08-13 15:28:33 +00:00
drh
a7fba4b055 Disable tests that require 80-bit long doubles when the host only
provides 64-bit long doubles.  Ticket #2570. (CVS 4215)

FossilOrigin-Name: 4f4f8ef416394b7e54e8894f7a0d067d64636fc4
2007-08-13 15:18:27 +00:00
drh
117066ce50 Fix a page leak in btree balance routines that follows a malloc failure.
This problem detected by the new soft-heap-limit testing. (CVS 4214)

FossilOrigin-Name: bad661bb0bfabf982a2d711ea4165af130a4cae0
2007-08-13 14:56:44 +00:00
danielk1977
5814c1a9fc When loading a database schema, do not clear the SQLITE_InternChanges flag. This fixes the problem illustrated by (4211). (CVS 4213)
FossilOrigin-Name: 540a7b28bc37709056cfdb13286274ec5bdd8423
2007-08-13 14:41:19 +00:00
drh
b403574a2d Fix the test labels in mallocC.test. (CVS 4212)
FossilOrigin-Name: 7d4cdff444b98b76a34bd85d0a43cda28e7dffe4
2007-08-13 12:58:18 +00:00
drh
b3226e857c Add a new test cases for a problem with malloc failure during the parsing
of CREATE TABLE statements in autovacuum mode. (CVS 4211)

FossilOrigin-Name: be50387e658a9a73e12b07ca89ae75e871489f16
2007-08-13 12:39:03 +00:00
drh
00a18e476a Remove a memory allocation from sqlite3VdbeIOTraceSql(). This means that
when doing I/O tracing, the text of an SQL statement is truncated to the
first 1000 characters.  But it also means tracing works in an out-of-memory
situation. (CVS 4210)

FossilOrigin-Name: 578da2476e356ea35d272e18faf490efedeaf25c
2007-08-13 11:10:34 +00:00
drh
3aefabaf94 Updates to test scripts for better support of soft-heap-limit testing. (CVS 4209)
FossilOrigin-Name: 990f621f2247f1636e895dcf51fea1e08f202d31
2007-08-12 20:07:58 +00:00
drh
8940f4ee56 Backout check-in (4206) and replace it with a much better and more
general fix for the problem identified in ticket #2565. (CVS 4208)

FossilOrigin-Name: 7961a7385013d74ec78cbdfff6867c505528c163
2007-08-11 00:26:20 +00:00
drh
34f5621ff1 Fix some incorrect asserts() in the pager - problems brought to light by
the new soft-heap-limit testing apparatus of check-in (4202). (CVS 4207)

FossilOrigin-Name: 51f3e01b7486f23b67bdfb6bb19fc5297b2c8cec
2007-08-10 23:56:35 +00:00
drh
fdd30b0e46 Fix the corruption problem of ticket #2565 as demonstrated by the test added
in (4204).  There may yet be other instances of similar problems lurking in
the code. (CVS 4206)

FossilOrigin-Name: 7ed2f59e70e0d9a8ad0c47c8c12fae0aaddcedce
2007-08-10 23:54:16 +00:00
shess
9fa502205d Convert fts2 to use sqlite3_prepare_v2() to prevent certain logic
errors around SQLITE_SCHEMA handling.  This also allows
sql_step_statement() and sql_step_leaf_statement() to be replaced with
sqlite3_step().

Also fix a logic error in flushPendingTerms() which was clearing the
term table in case of error.  This was wrong in the face of
SQLITE_SCHEMA.  Even though the change to sqlite3_prepare_v2() should
cause us not to see SQLITE_SCHEMA any longer, it was still a logic
error... (CVS 4205)

FossilOrigin-Name: 16730cb137eaf576b87cdc17913564c9c5c0ed82
2007-08-10 23:47:03 +00:00
drh
9a47736e47 Add a test case to reproduce the database corruption problem reported
by ticket #2565. (CVS 4204)

FossilOrigin-Name: f267ce809424ec2cc167bf9750989413a8f925c1
2007-08-10 19:46:43 +00:00
drh
b771228e9d Update tests so that they work properly even if the soft-heap-limit
is set low. (CVS 4203)

FossilOrigin-Name: e01eb99edfa3390e97847a210532847cc64803da
2007-08-10 19:46:13 +00:00
drh
3a7fb7c459 Add the --soft-heap-limit=N option to the test scripts. Set this value to
enforce a soft heap limit across all tests.  This changes exposes several
new bugs. (CVS 4202)

FossilOrigin-Name: 8be845981654d2a846c95c699395af222b6c3b43
2007-08-10 16:41:08 +00:00
drh
915d2150f8 Fix documentation typos. Tickets #2168 and #2560. (CVS 4201)
FossilOrigin-Name: 4333b231af8866e3d2d75bc64083b6c36c8da8d8
2007-08-09 00:00:26 +00:00
drh
73be501329 More tweaking of linkage. Ticket #2554. (CVS 4200)
FossilOrigin-Name: 3759a38fe8e8a873dc3aae8dc99ca1010551b50b
2007-08-08 12:11:21 +00:00
drh
f7083bf6d2 Additional refinements on the amalgamation: Give a couple of constants
file scope and add the SQLITE_API prefix to some interfaces that need it.
Ticket #2554. (CVS 4199)

FossilOrigin-Name: c09ec102c4f62e492dd3676ef0aa1a183d6ce3b3
2007-08-08 01:04:52 +00:00
drh
fd131daecd Remove all tabs from source code files. Ticket #2556. (CVS 4198)
FossilOrigin-Name: 7550dd1d5980a399fbb06b4ed69216700f879a0b
2007-08-07 17:13:03 +00:00
drh
0a0e131c7e Revise the amalgamation so that all symbols have file scope except those
that begin with "sqlite3_".  Ticket #2554. (CVS 4197)

FossilOrigin-Name: 73db545289a1a99bd48b22895d2a3ee86540f107
2007-08-07 17:04:59 +00:00
drh
e6e4d6bb1a Fix some compiler warnings. (CVS 4196)
FossilOrigin-Name: 6cc15409ad6baefbe6e2214a4ac1cb3a0433f922
2007-08-05 23:52:05 +00:00
danielk1977
19b26f37b7 Change some (English language) grammar in faq.tcl. Ticket #2480. No code changes. (CVS 4195)
FossilOrigin-Name: e526817f158883f617720fd389741a29454ad483
2007-08-03 08:18:44 +00:00
danielk1977
d42f8fdc7a Avoid reloading the schema when an expired statement is finalized or reset.
This is only necessary when the in-memory schema does not match the file-system schema. (CVS 4194)

FossilOrigin-Name: 61de5b52daa0a862a04147dbaf71fafb696052f6
2007-08-03 07:33:08 +00:00
drh
bb9491293b Fix a typo in limits.html. (CVS 4193)
FossilOrigin-Name: c709140b51610a2fbbff15c1fd80783218780f6f
2007-07-30 23:02:38 +00:00
drh
b695acae1f Make excess output from the CLI appear inside SQL comments so as not
to interfere with generated SQL.  Ticket #2544. (CVS 4192)

FossilOrigin-Name: 49a2e85511e845051cfc6ae4318207b1866d43c9
2007-07-30 20:41:52 +00:00
rse
e21733baa5 Fix ticket #2439: the FTS1 and FTS2 extensions use the non-standard,
unportable and highly deprecated <malloc.h> header on all platforms
except Apple Mac OS X. The <malloc.h> actually is never required on
any OS with an at least partly POSIX-conforming API as the malloc(3) &
friends functions officially live in <stdlib.h> since over 10 years.
Under some platform like FreeBSD the inclusion of <malloc.h> since a few
years even causes an "#error" and this way a build failure. So, just get
rid of the bad <malloc.h> usage in FTS1 and FTS2 extensions at all and
stick with <stdlib.h> there only. (CVS 4191)

FossilOrigin-Name: 3f9a666143a8aafa0b1a5d56ec68f69f2b3d6a21
2007-07-30 18:55:36 +00:00
rse
8f30448a30 "extern" declarations inside function bodies are not every compiler's
favorite, so move to global scope. Additionally, at least under Unix
environment use <unistd.h> to get the proper prototype instead of using
a K&R-style own declaration. (CVS 4190)

FossilOrigin-Name: 5955a77d6c902dc65897ba19d6e06db3e10bd3ee
2007-07-30 18:31:53 +00:00
rse
43e47c8ec1 Get rid of the following compile-time warnings:
tool/mkkeywordhash.c:353: warning: array subscript has type 'char'
tool/mkkeywordhash.c:354: warning: array subscript has type 'char' (CVS 4189)

FossilOrigin-Name: c01d7944799d8a96a29f8d4f6d2bb7c4bb0e14bb
2007-07-30 18:26:19 +00:00
rse
be0a909683 Get rid of the following compile-time warning:
"src/shell.c:112: warning: 'iotracePrintf' defined but not used" (CVS 4188)

FossilOrigin-Name: 271e27fd30f3b99e6d6ad2fc2c6e87f43f4c76c8
2007-07-30 18:24:38 +00:00
danielk1977
eb5453d122 Fix a bug with explicit collation sequences attached to a column reference expression that is on the right-hand-side of a binary comparison operator. (CVS 4187)
FossilOrigin-Name: 7b69968618bfc19f0c1ab25c5f16c9fdff5af094
2007-07-30 14:40:48 +00:00
danielk1977
0c3f607c21 Test that an explicit collation sequence overrides an implicit one attached to a 'new' reference (it does). No code changes. (CVS 4186)
FossilOrigin-Name: a443b07ed659223401ee7acaf613d0b04f33fc89
2007-07-26 10:16:30 +00:00
danielk1977
e0fc52618c Fix two obscure memory leaks that can follow a malloc() failure in sqlite3_set_auxdata(). Ticket #2534. (CVS 4185)
FossilOrigin-Name: b88af1827bec3e8a32450dd0a073ffc3b12a5939
2007-07-26 06:50:05 +00:00
shess
a2d04e9a0f Implement xRename() for fts1 so that it is possible to rename fts1 tables.
See http://www.sqlite.org/cvstrac/chngview?cn=4143 (CVS 4184)

FossilOrigin-Name: febf75f022b9414fc456ddf274d301f95d61e1b8
2007-07-25 00:56:09 +00:00
shess
443ecd036d Replicates http://www.sqlite.org/cvstrac/chngview?cn=4151 which
modified fts2:

Modify handling of SQLITE_SCHEMA in fts2 code. An SQLITE_SCHEMA error
may cause SQLite to reload the internal schema, deleting and
recreating v-table objects. So the sqlite3_vtab structure can be
deleted out from under a v-table implementation. (CVS 4183)

FossilOrigin-Name: f9020cffda02923ef45979bb447ec2e232086ad5
2007-07-25 00:38:05 +00:00
shess
f6e3624cfc Sorry, previous check-in included a last-minute "Did it really work?"
change :-). (CVS 4182)

FossilOrigin-Name: 5db25e369a1a4b5a4d87947abdbf25f96fe64807
2007-07-25 00:27:59 +00:00
shess
9f8a4b43ef Apply change 4095 to fts1. Fix snippet generation when the left-most
column of an fts table is used in the MATCH clause. Fix for ticket
#2429. (CVS 4181)

FossilOrigin-Name: c2ba3cc0f7ac9f5dfe5ffb554f9a1cd96b28335a
2007-07-25 00:25:20 +00:00
drh
75b97c2207 Remove the comment in the documentation that says that incremental vacuum
mode is not persistent because as of 3.4.1 it is persistent.  Ticket #2528. (CVS 4180)

FossilOrigin-Name: 6c4040941e3cf84ac0b1f5797cd700c7a2ce9353
2007-07-24 10:22:57 +00:00
drh
36379e973b Detect nested aggregate functions even if the inner aggregate function is
aliased using an AS clause.  Ticket #2526. (CVS 4179)

FossilOrigin-Name: de000280c6d0b13440d2450eb6ba42073ad46c56
2007-07-23 22:51:15 +00:00
drh
2e06c67c08 The REPLACE conflict resolution falls back to FAIL when on a
CHECK constraint violation.  Ticket #2525. (CVS 4178)

FossilOrigin-Name: b213614abff90c65cc7228c87f4973150e8a9679
2007-07-23 19:39:46 +00:00
drh
95bdbbbd9e Move prototypes for LEMON-generated parser functions into sqliteInt.h.
Ticket #2521. (CVS 4177)

FossilOrigin-Name: bc02c7f1621ff46707f147c75f7e98462b01907f
2007-07-23 19:31:16 +00:00
drh
67f80b67bb Check the return value of sqlite3PagerWrite() when autovacuuming.
Ticket #2524. (CVS 4176)

FossilOrigin-Name: b4a5c62b853f7a7d38863c39be274dccd2640944
2007-07-23 19:26:17 +00:00
drh
6615095629 Rework the UTF8 reader logic in order to avoid the use of malloc().
Ticket #2523. (CVS 4175)

FossilOrigin-Name: 9a059cb6bced5cdc950f7816602ac92d89a899be
2007-07-23 19:12:41 +00:00
drh
ad6b3159be Fix a bad sizeof in vdbe.c. Ticket #2522. (CVS 4174)
FossilOrigin-Name: 77ebc3feb089c28155cf20873fb4eabd26fa50c1
2007-07-22 19:10:20 +00:00
drh
ddb63de659 Work around a bug in GCC. Ticket #2469. (CVS 4173)
FossilOrigin-Name: 1924ba5207bdc8d503c17cd9460c1a9f9c357635
2007-07-21 19:41:45 +00:00
aswift
f6f426be4e Work around an AFP file system byte-range locking error caused by opening and closing a second file descriptor on the database file as RDWR which clears the exclusive byte-range lock and results in an fcntl error when the AFP locking code attempts to clear it afterwards. This error is caused by the test harness and isn't a flaw in the sqlite or its implementation of AFP file locking. (CVS 4172)
FossilOrigin-Name: b2ba3e81fb1015d6f979a490e00a45fb7d5e1a9a
2007-07-20 20:25:37 +00:00
drh
d6e78a2e4f Updates to build scripts. Added scripts for building FTS2 shared libraries. (CVS 4171)
FossilOrigin-Name: e269f6e9f6273210259a488c356f4996d75c6436
2007-07-20 13:42:26 +00:00
drh
cda62a771d Version 3.4.1 (CVS 4170)
FossilOrigin-Name: 81a4dd07c1d7099461e9e6668433dac5d99b1f32
2007-07-20 10:56:07 +00:00
drh
d8a2b3845d Keep sqlite3ext.h backwards compatible. This really should have been part
of the previous check-in. (CVS 4169)

FossilOrigin-Name: 7cf15a5f651f0777972e21e0a96d601cf294f0f3
2007-07-20 10:48:35 +00:00
drh
6bf0ae74c2 Add new APIs to the end of the sqlite3_apis structure in loadext.c, in order
to preserve backwards compatibility.  Fix an incompatibility introduced
by (4108). (CVS 4168)

FossilOrigin-Name: 639993490ea829208b5f309bbe6c166c34e89d14
2007-07-20 10:33:58 +00:00
drh
85d5ef8b78 Documentation change in preparation for version 3.4.1. (CVS 4167)
FossilOrigin-Name: cf227766aca5065fd68e83f145943fe9d15cd7ef
2007-07-20 01:17:28 +00:00
drh
a693bcde02 Fix a memory leak in the Rename method of the echo test virtual table.
No changes to the core. (CVS 4166)

FossilOrigin-Name: e5c132fff3e8a0478622527a7e47d679594f899a
2007-07-20 00:35:58 +00:00
drh
b100391318 Cleanup unused function in pager.c. This is the conclusion of the fix
to ticket #2518. We believe the fix is complete and correct. (CVS 4165)

FossilOrigin-Name: 31dba1e933c523a47fdd007c2c7492133dfe72f2
2007-07-20 00:33:36 +00:00
drh
3260548b53 Disable tests that use the progress handler when the progress handler
is disabled at compile-time.  Followup to ticket #2497. (CVS 4164)

FossilOrigin-Name: cbc56fd4ec60d08a13a3aa181d044e726c49ef3c
2007-07-19 22:30:19 +00:00
drh
f85953edd0 Preliminary fix for ticket #2518. Make sure the VACUUM command
increments the change counter. (CVS 4163)

FossilOrigin-Name: 75263797e29af437290c09e85cd5fd2aea08694f
2007-07-19 16:35:17 +00:00
drh
21f06723fb Clarify the documentation on the nByte parameter to sqlite3_prepare().
Make it clear that nByte is a maximum string length.  Ticket #2516. (CVS 4162)

FossilOrigin-Name: d1ae3de4613d36b5352eb852f1951a09d4a92ac1
2007-07-19 12:41:39 +00:00
drh
309be02483 Get the min/max optimization working with descending indices. Ticket #2514. (CVS 4161)
FossilOrigin-Name: a80a3c9d0a5e0a8a3d67bd841e2076893fd5e9aa
2007-07-18 18:17:11 +00:00
drh
e927818455 Additional diagnostics added to the "out" file generated by lemon. (CVS 4160)
FossilOrigin-Name: 7ef2aaf72a8a953df7a763dd94657bb4ff05294f
2007-07-18 18:16:29 +00:00
shess
d8c1648301 Fix annoying emacs warning about suspicious line. The change removes
a leading space (emacs wants Makefiles to use leading tabs there). (CVS 4159)

FossilOrigin-Name: 4daadf659afe6b2524e1b37347247f233a211950
2007-07-17 17:22:03 +00:00
drh
1ef2ca0fd1 Add an extra integrity_check to the transaction test script. (CVS 4158)
FossilOrigin-Name: 5ea43b2db1f0263c5f0ab76351bc9ca940d1428a
2007-07-13 10:36:47 +00:00
drh
f4c932bb07 Update documentation to make it clear that VACUUM is free to
change implicit rowids.  Ticket #2382. (CVS 4157)

FossilOrigin-Name: d111b1daa547fea51d9e1fbe49c0b1338298484e
2007-07-13 10:35:14 +00:00
drh
eba1a1ebee "extern" prototypes cause problems for the Digital Mars compiler. So
remove them.  Ticket #2502. (CVS 4156)

FossilOrigin-Name: f35fbf8070d770a603960b2a2afdeae91574ed5f
2007-07-13 10:26:08 +00:00
danielk1977
612642de32 Fix for #2497. Set the database error code to the return value of sqlite3_step(). (CVS 4155)
FossilOrigin-Name: b01fda5f50e40b6122faf169c44486bde7ffe16c
2007-07-12 13:18:05 +00:00
pweilbacher
d8e9b6238e Fix compilation warnings shown when using strict GCC options for os_os2.c. (CVS 4154)
FossilOrigin-Name: 22277b7e1b3eb1678280de5d49a6613908ab4bff
2007-07-03 23:37:09 +00:00
danielk1977
2ac2762f37 Fix a memory leak in shell.c. Reported on the mailing list. This has only been informally tested. (CVS 4153)
FossilOrigin-Name: a008905b39e7d4cd5b39db4906eb3b678e3ee8b7
2007-07-03 05:31:16 +00:00
drh
1c55ba094a Fix a comment typo reported on the mailing list. (CVS 4152)
FossilOrigin-Name: 25e6df9cdd7d0cbb2bdee9ce76806cfd08314212
2007-07-02 19:31:27 +00:00
danielk1977
ab9749ebb9 Modify handling of SQLITE_SCHEMA in fts2 code. An SQLITE_SCHEMA error may cause SQLite to reload the internal schema, deleting and recreating v-table objects. So the sqlite3_vtab structure can be deleted out from under a v-table implementation. (CVS 4151)
FossilOrigin-Name: dee1a0fd28e8341af6523ab0c5628b671d7d2811
2007-07-02 10:16:49 +00:00
drh
12e8dcfbf6 Remove an unnecessary temporary variable for clarity of presentation in
a loop that GCC 4.2.0 is miscompiling.  Ticket #2469.  GCC 4.2.0 miscompiles
this loop regardless of whether or not the temporary variable is used, but
by removing the variable, we hope to make it easier to explain the problem
to GCC maintainers.  The error only appears if -ftree-vrp is used (which
is turned on by -O2). (CVS 4150)

FossilOrigin-Name: 35ae398bd37e4abbe362b0b780fc51153145b43d
2007-07-01 21:18:40 +00:00
pweilbacher
503028d61a Change OS/2 version of sqlite3Os2FullPathname() for cross-compiler compatibility:
- allocate zBuff on demand (restricted stack space on old compilers)
- 2 bytes in zDrive in include '\0'
- pass drive number to DosQueryCurrentDir() instead of 0 to make EMX work
- zFull does not need to be preallocated (CVS 4149)

FossilOrigin-Name: cc2105176563c352a6dccef89a429a76b6f3adf5
2007-07-01 15:41:02 +00:00
pweilbacher
2b9ca8d3e4 Including os2safe.h from os_os2.c is no longer necessary (now that it's including from os.h) (CVS 4148)
FossilOrigin-Name: 6432bbe1c1db1d31bd0057d99a9d6b6a428d8ffc
2007-06-30 16:30:39 +00:00
pweilbacher
3f61bc79ae old emx/gcc sets __EMX__ (with double underscores) as builtin #define (CVS 4147)
FossilOrigin-Name: d69204fec718a5d6d95351ee7a0c068a1c59222d
2007-06-30 15:24:37 +00:00
drh
e78669b6b8 Set FD_CLOEXEC on all open files under Unix. Ticket #2475. (CVS 4146)
FossilOrigin-Name: f1e5fed8eb0fb92bd0f040666c017850afe3cf9f
2007-06-29 12:04:26 +00:00
drh
6bd00bfda7 Add a test case to verify that ticket #2470 has been fixed. (CVS 4145)
FossilOrigin-Name: b3f442698e01ad55666703025c4457445f2efc9b
2007-06-27 23:52:18 +00:00
danielk1977
5c55886059 Test error handling when renaming fts2 tables. (CVS 4144)
FossilOrigin-Name: 57840eba6a4380a0b71dc9514cdda41e2c455bb0
2007-06-27 17:09:24 +00:00
danielk1977
c033b64276 Implement xRename() for fts2 so that it is possible to rename fts2 tables. (CVS 4143)
FossilOrigin-Name: 488474fde753c5a7a14ed8f2fad7f16efd236491
2007-06-27 16:26:07 +00:00
danielk1977
182c4ba979 Allow ALTER TABLE on virtual tables. (CVS 4142)
FossilOrigin-Name: 37d1f9f37ea9d2e8a4dbe0ec67c0d6eb7fcc5f3f
2007-06-27 15:53:34 +00:00
vapier
c3d56d1509 respect $LDFLAGS from env/configure (CVS 4141)
FossilOrigin-Name: 9c13fc0f4bf22c8e05b11ef5feaaf07d8a8b3f01
2007-06-27 15:01:45 +00:00
danielk1977
b7865fbc53 Fix for compiling with OMIT_VIRTUALTABLE defined. (CVS 4140)
FossilOrigin-Name: 850822e2904bc340afd0b7535ef51fbdf9e1f486
2007-06-27 11:10:03 +00:00
drh
a6b81bad55 Fix typo in comments of the sqlite.h.in header file - comments from which
documentation is automatically extracted and generated.  Ticket #2468. (CVS 4139)

FossilOrigin-Name: 53b526203c22961447b9c1cebbd885ecc8bc3e09
2007-06-27 10:21:38 +00:00
drh
5db828180c Make sure auto_vacuum is turned off before running the tests in pragma2.test. (CVS 4138)
FossilOrigin-Name: fc85c8aa160cc46419b9ce83d9eb47970c67118a
2007-06-27 10:20:00 +00:00
drh
0e8003dff6 Set the connection error code when sqlite3_blob_read() or
sqlite3_blob_write() fail.  Ticket #2464. (CVS 4137)

FossilOrigin-Name: 3bd990be3cb8a74be9eaa8d5710852be6733cb58
2007-06-27 00:36:13 +00:00
drh
6d31df30d8 Update the FAQ to describe how moving sqlite3 handles across threads is
not safe with SQLITE_ENABLE_MEMORY_MANAGEMENT.  Tickets #2357 and #2463. (CVS 4136)

FossilOrigin-Name: 2640f518deba1d196201fac903ec4d3ab26d4bb3
2007-06-27 00:08:39 +00:00
drh
985e0c63fc Make sure the TCL bindings always use Tcl_GetWideIntFromObj() even if the
reported type is "int" because on x86-64 and "int" type is 64-bits.
Ticket #2465. (CVS 4135)

FossilOrigin-Name: 5c93324b937b4d8394b0eb7d7fe74f7965623cbe
2007-06-26 22:55:37 +00:00
drh
99bcd30bfb Fix a test case so that it (hopefully) works on x86-64. Ticket #2465. (CVS 4134)
FossilOrigin-Name: 3daf7cae18ae2ee6404f770e69e4cd0c715615e5
2007-06-26 22:42:56 +00:00
drh
2f9ad1b47d Remove vestigal code from Makefile.linux-gcc. Ticket #2466. (CVS 4133)
FossilOrigin-Name: 338c18791006bac3709410087316700aad3b332f
2007-06-26 22:10:12 +00:00
danielk1977
9ff802627a Reorganize comments in fts2_tokenizer.h. No code changes. (CVS 4132)
FossilOrigin-Name: b331e30395e9fc90abe40ab802972a67648cf48e
2007-06-26 12:54:07 +00:00
danielk1977
05fdd6c055 Use (((i64)1)<<63) instead of just (1<<63) to compute the most negative 64-bit integer. (CVS 4131)
FossilOrigin-Name: be2570c061e1e751d1a46450bd1186549146526e
2007-06-26 12:52:33 +00:00
danielk1977
42d4ef2acc Fix for #2444: Avoid SIGFPE on 64-bit platforms when evaluating expressions like ((1<<63)/-1). (CVS 4130)
FossilOrigin-Name: c6dfd9e43449b0b3528281d9e2e4971c6ba86ab5
2007-06-26 11:13:25 +00:00
danielk1977
08ada518ff Remove the unused EXTSRC variable from the non-configure makefile. (CVS 4129)
FossilOrigin-Name: bbdcf372c6f2144a62fba742b3f4bd6b2fe58593
2007-06-26 10:56:40 +00:00
danielk1977
4877ef2aae Fix an unitialized variable in fts2. (CVS 4128)
FossilOrigin-Name: c349cf942534357955f80fc2aa8c96206af97b78
2007-06-26 10:55:01 +00:00
danielk1977
034ca14f81 Allow virtual tables to mark columns as 'hidden'. Hidden columns do not show
up in "*" expansion, the implicit column list of an INSERT statement, or the results of a "PRAGMA table_info" statement. (CVS 4127)

FossilOrigin-Name: 7f887a6a00fdd6efc3740bd8a1731bb1abde087c
2007-06-26 10:38:54 +00:00
drh
8605761506 Try to work around an MSVC compiler bug. Ticket #2457. (CVS 4126)
FossilOrigin-Name: 4a7079a19ab5c36ed88cf597c21bf9f8b63bdf86
2007-06-26 01:04:48 +00:00
drh
26b0fc0bc5 Modify the amalgamation generator to identify every API using the
SQLITE_API macro which is normally defined to nothing but which can
be overridden on the compiler command-line to be "static" if desired.
Ticket #2453. (CVS 4125)

FossilOrigin-Name: 474a52347d454ad499d7a78c88eb995c9d3254d1
2007-06-26 00:52:39 +00:00
drh
b6a9eceab2 Change the name of sqlite3_atoi64 back to sqlite3Atoi64 so that it is clearly
and internal API.  Modify the amalgamation to use a macro SQLITE_PRIVATE
instead of the keyword "static" so the macro can be overridden to by nothing. (CVS 4124)

FossilOrigin-Name: 96190cf13dd7219f483308fea92d703328aac4c7
2007-06-26 00:37:27 +00:00
drh
217f49093c Rework the string to integer conversion logic to address tickets
#2344 and #2454. (CVS 4123)

FossilOrigin-Name: 5b3a490649ab88c168e3e5bf2efbc7f61b1b954d
2007-06-25 17:28:00 +00:00
danielk1977
c9cf6e3d31 Fix for #2445. A bug in the lookupName() logic that could cause a crash when a WHERE clause used an alias to refer to an expression in the result-set of the SELECT, and that expression was itself a reference to a table column. (CVS 4122)
FossilOrigin-Name: 044ca1c72a8f4632dc2e6a94690d164d3560ee38
2007-06-25 16:29:33 +00:00
danielk1977
576d3db541 Modify the non-configure build system to make it easier to build the library with the fts2 or icu extensions linked in. (CVS 4121)
FossilOrigin-Name: 02b23c4394da7efb82e9318146f10818b0f68b1f
2007-06-25 14:28:48 +00:00
drh
397aa141ed Put #ifdefs in fts2_tokenizer so that the build works even when FTS2
is omitted.  Add the SQLite blessing to the header comments on all FTS2
source files. (CVS 4120)

FossilOrigin-Name: c795e6fd8f01bcbc1967062632c13d4952abf4d8
2007-06-25 13:50:03 +00:00
drh
5665b3ea44 All the use of MySQL-style quoting in the FTS modules. Ticket #2446. (CVS 4119)
FossilOrigin-Name: 3be2a6d1c342454d93b05c38f3d9a960ab15dae2
2007-06-25 12:49:05 +00:00
danielk1977
46760820a1 Add a test that calls fts2_tokenizer() with an argument set via C code. (CVS 4118)
FossilOrigin-Name: fbcf2d75cd2b88d175c122477aa483f0771870e5
2007-06-25 12:05:40 +00:00
danielk1977
f86643b32f Add some tests for the fts2 icu tokenizer. (CVS 4117)
FossilOrigin-Name: b79ced3e0a26b0db13613073c847c2d2ba7e174e
2007-06-25 11:24:38 +00:00
danielk1977
24e1afa222 Add some documentation for user-defined fts2 tokenizers. (CVS 4116)
FossilOrigin-Name: 5a9eee86587219a68655d548864d129edec969ae
2007-06-25 09:52:31 +00:00
danielk1977
27b1f95f08 Make the auto_vacuum mode peristent in all cases. (CVS 4115)
FossilOrigin-Name: 5b0408ddd0f1c825f402d0f5a3088a61b5ecd2c3
2007-06-25 08:16:58 +00:00
danielk1977
d62e76c792 Fix for #2451. Code comment changes only. (CVS 4114)
FossilOrigin-Name: bc61dcbf64af56d4a1394c8ff46e91245dc16d15
2007-06-24 16:11:03 +00:00
danielk1977
418899a359 Make setting "PRAGMA auto_vacuum = incremental" persistent if it is executed before the database file is created. (CVS 4113)
FossilOrigin-Name: c666fad151f25ab8365c497cd0967f4a5a2adb90
2007-06-24 10:14:00 +00:00
danielk1977
180b56a1bb Add the "(database.)freelist_count" PRAGMA. For querying the size of the
database free-list. (CVS 4112)

FossilOrigin-Name: 1fb4251a707d0b79d250d6ea2022913b371d5f14
2007-06-24 08:00:42 +00:00
danielk1977
f3b863ed07 When expanding '*' in the result set of a SELECT, quote the expanded identifiers. Fix for #2450. (CVS 4111)
FossilOrigin-Name: d5b7224f37db1729dd042d48765d7a79247e1bde
2007-06-24 06:32:17 +00:00
pweilbacher
53b4bd3252 fix linking failure on OS/2 that happens with the amalgamation and the high memory option enabled (CVS 4110)
FossilOrigin-Name: f35e20e19633d7b114fdf145820ca5d61b5aa925
2007-06-22 20:17:37 +00:00
pweilbacher
691902e7d6 fix compilation failure on OS/2 with the amalgamation (CVS 4109)
FossilOrigin-Name: 12327ca049e62922bfb3c2a14e42554fd58265e8
2007-06-22 20:04:36 +00:00
danielk1977
832a58a68c Extend fts2 so that user defined tokenizers may be added. Add a tokenizer that uses the ICU library if available. Documentation and tests to come. (CVS 4108)
FossilOrigin-Name: 68677e420c744b39ea9d7399819e0f376748886d
2007-06-22 15:21:15 +00:00
drh
bf2564f612 Clarify documentation of the column metadata APIs. Make sure that the
new documentation claims are tested. (CVS 4107)

FossilOrigin-Name: 2dafe08a91b5328a9d0df5ab29c3ff2d94ad5f6f
2007-06-21 15:25:05 +00:00
drh
9725daf61d Update the URL to mailing list archives. (CVS 4106)
FossilOrigin-Name: af4b914a2152ce021401b6f78bb88a5323aa6fc2
2007-06-21 13:30:39 +00:00
drh
d3067e8638 Use NAWK everywhere in Makefile.in. Ticket #2437. (CVS 4105)
FossilOrigin-Name: 314669b6cc76ab8984857c3591aa1910aac97694
2007-06-20 16:20:36 +00:00
drh
7e09fe0b81 A column name preceded by a unary "+" operator is considered to be
a column name when computing the collating sequence to be used by
a comparison operator or ORDER BY clause. (CVS 4104)

FossilOrigin-Name: 99a20f6a427b5e0e0a793f59ebca9d17bc633437
2007-06-20 16:13:23 +00:00
drh
7cd6927e7f Remove the dependency on libm for isnan(). Ticket #2436. (CVS 4103)
FossilOrigin-Name: 406675bb1c954dae95b9059f7f533ed57e3947d9
2007-06-20 15:29:25 +00:00
drh
029f3f8924 Remove an unused variable from btree.c. (CVS 4102)
FossilOrigin-Name: cb47a8297fd91becdc4e1c50fd84b3efedd3951f
2007-06-20 15:14:10 +00:00
drh
4c1038388e Fix comment typo in analyze.c. Ticket #2434. (CVS 4101)
FossilOrigin-Name: df9957b94737b76ed7b1de77bb22bb27c7ae2dcf
2007-06-20 13:37:31 +00:00
drh
a959ac4588 Fix a bug in the command-line shell that prevents the
reading of the ".sqliterc" file.  Ticket #2433. (CVS 4100)

FossilOrigin-Name: 6eaf29f5e1e99b066825a1ccf34c82c9da6da826
2007-06-20 13:10:00 +00:00
drh
9245c243b7 Disallow empty GROUP BY clauses. Ticket #2431. (CVS 4099)
FossilOrigin-Name: 9581e7a4a4d74b08ce5380b49862957c804e46bb
2007-06-20 12:18:31 +00:00
drh
647f9ad770 Additional changes for ticket #2426. (CVS 4098)
FossilOrigin-Name: 79debf95cdccdc1f18b6f0fcd213f514e327181c
2007-06-20 11:56:51 +00:00
danielk1977
d84d483322 Fix for #2432 and partial fix for #2427 (documentation change only). (CVS 4097)
FossilOrigin-Name: f025a745319486d858e2831178a86265fd5fcf32
2007-06-20 09:09:47 +00:00
danielk1977
77b03a2ff1 Change main.mk to make it easier to build testfixture and sqlite3 with the icu or fts2 extensions linked in. (CVS 4096)
FossilOrigin-Name: 91719cc8eaf62f64099ff9eb2b48cef6c9c688f7
2007-06-20 08:49:05 +00:00
danielk1977
86889fc3c6 Fix snippet generation when the left-most column of an fts2 table is used in the MATCH clause. Fix for ticket #2429. (CVS 4095)
FossilOrigin-Name: fec56ad2ede53e3e202d9ad869a059eeb315796f
2007-06-20 06:23:54 +00:00
drh
1c747819de Change the TCL bindings so that @aaa always treats the variable aaa as
a bytearray and binds the value as a BLOB.  This change is backwards
compatible since the $ behavior is unchanged and @ was not accepted
until the current round of changes. (CVS 4094)

FossilOrigin-Name: 6f7d55acedc92eeaf988425c719addd56209187f
2007-06-19 23:01:41 +00:00
drh
59fffd02de Cleanup the TCL interface source code and add documentation for recently
added methods on the SQLite object of TCL. (CVS 4093)

FossilOrigin-Name: d88b79818a6a9e0413b9560687ec3c79fcb3dacc
2007-06-19 17:48:57 +00:00
drh
4f5e80f94b In the TCL bindings, if a TCL variable has a bytearray representation and
the host parameter starts with @ instead of $, then always store the
content as a BLOB not as a string even if a string representation is also
available. (CVS 4092)

FossilOrigin-Name: dcb104bd41f5e992d4c84b8947cb5099ae746891
2007-06-19 17:15:46 +00:00
drh
c551dd804a Change the name of the "limits.h" source file to "sqliteLimit.h".
Ticket #2428. (CVS 4091)

FossilOrigin-Name: 64bcc41f12e902fd025c9ba36c09dd6e4cf25923
2007-06-19 15:23:48 +00:00
drh
b21f87dda1 Do not segfault even if sqlite is misused by requesting query results
after the query has been reset.  ticket #2426. (CVS 4090)

FossilOrigin-Name: 783f19be387561fbca3ac7e223bdb7dedb5450c8
2007-06-19 10:58:24 +00:00
drh
63fff5f7a5 Cast the 2nd parameter of ftruncate to off_t to work around bugs in
some unix implementations.  Ticket #2425. (CVS 4089)

FossilOrigin-Name: 0b20a69609c64af922bedab381f7d075e9da4fc5
2007-06-19 10:50:38 +00:00
drh
74792b2f91 Another attempt to fix the build process for TCL windows bindings. (CVS 4088)
FossilOrigin-Name: 1fd2a358d6361768981d0c7efbcf30b47c52a732
2007-06-18 17:44:16 +00:00
drh
8ffa817305 Bring the pager_datahash() macro into sync with its function definition.
Ticket #2422. (CVS 4087)

FossilOrigin-Name: ba967bbb62ccf29438db352c573773ae741d0daf
2007-06-18 17:25:17 +00:00
drh
455cd796f6 Fix the build scripts so that they generate Tcl bindings for windows
correctly. (CVS 4086)

FossilOrigin-Name: c7be8b419fdfe6561331485f5f866610457e44ad
2007-06-18 16:06:20 +00:00
drh
e91f2b75d6 Version 3.4.0 (CVS 4085)
FossilOrigin-Name: 2647980fba92a453ef8afb48c80405d023177ab6
2007-06-18 13:33:58 +00:00
drh
44548eccb9 Documentation updates prior to release 3.4.0. Enhanced support for
soak testing in the test scripts. (CVS 4084)

FossilOrigin-Name: eec387103869940697487ec5226eaed0b51ede7a
2007-06-18 12:22:43 +00:00
drh
4f0aee41c3 Fix a faulty assert() in the pager. (CVS 4083)
FossilOrigin-Name: 4cff47b06132768e92ba2235cab5c17d1082f8f9
2007-06-16 18:39:41 +00:00
danielk1977
68a6b5ec98 Modify the tests in exclusive2.test to account for the fact that the pager cache may be very small by default. These tests are only valid if the entire database fitting in the cache. (CVS 4082)
FossilOrigin-Name: 04a13fe43e61bd0dbff42c448e763078503b00bf
2007-06-16 14:43:51 +00:00
drh
b3905ab5e1 Add another scenario to the soak1.tcl script. (CVS 4081)
FossilOrigin-Name: 10e6822d4f1e0a94d5033b7b9efc1d8ed1e957d1
2007-06-16 14:19:36 +00:00
drh
732c817f8b A minor logic correction in the previous check-in. Also added a lengthy
comment describing the meanings of various flags in the 
{quote: PgHdr} structure. (CVS 4080)

FossilOrigin-Name: 57bf8204cde47dfeb31c064f2b128b9a8d94189f
2007-06-16 11:17:45 +00:00
drh
5e3853112a Fix a database corruption problem that can occur in auto-vacuum mode when
a malloc() failure causes a statement rollback, additional statements
are run in the same transaction, then the total transaction rolls back. (CVS 4079)

FossilOrigin-Name: c9dcf2b926c99ff9cee68589f364461ab2a1d11f
2007-06-16 04:42:12 +00:00
drh
477731b52d Additional debugging instrumentation added to the pager. (CVS 4078)
FossilOrigin-Name: dcdb20f81ae923f6f56d75c7b8b89a0b3abff954
2007-06-16 03:06:27 +00:00
drh
7d7f17b6a8 Make arrangements to optionally print a debug message at the point
of a simulated malloc() failure when SQLITE_MEMDEBUG is defined. (CVS 4077)

FossilOrigin-Name: 7d3c1f08a34fcf2ca5c79d6e58f713ae6a4b34e8
2007-06-15 20:29:20 +00:00
drh
341ae48332 Fix more documentation typos. Ticket #2416. (CVS 4076)
FossilOrigin-Name: b55318b12d026abd5a32469a19c36abbd6250137
2007-06-15 18:59:08 +00:00
drh
daf276d466 Remove a C++ism from the test harness. Get the TCL interface working with
older versions of TCL. (CVS 4075)

FossilOrigin-Name: c8beb8674e5a1effc2785f205124628fbdaf57e0
2007-06-15 18:53:14 +00:00
drh
2df37c0390 Add a script for "soak" testing. (CVS 4074)
FossilOrigin-Name: d4ea1287a8b013a97fcb55bb7f7feba427222bab
2007-06-15 18:43:37 +00:00
danielk1977
3586110b4a Fix a race condition in test_server.c/test7.c (test changes only). (CVS 4073)
FossilOrigin-Name: d0de32e4c630c43ecd9d5e5296ae84aeff80c083
2007-06-15 17:50:04 +00:00
drh
bc9c9b9964 Fix typo in change comments for 3.4.0. Ticket #2416 (CVS 4072)
FossilOrigin-Name: 1f6f0330000ca564e75cd930afb9f9ce23551d89
2007-06-15 17:04:37 +00:00
drh
43b788260e Fix a memory leak in the parser that can occur following a malloc failure. (CVS 4071)
FossilOrigin-Name: d0b6e9a07e99cc1a7d7f61877918c9a247899996
2007-06-15 17:03:14 +00:00
danielk1977
edaaec223c Fix an obscure memory leak in the SQL compiler.. (CVS 4070)
FossilOrigin-Name: d4ab94288b1e3d3d069ccc75d0fc2fbe6c1383c5
2007-06-15 16:37:29 +00:00
drh
5bd1bf2ebc Fix a memory leak that was discovered by the tests that were added to
cover ticket #2339. (CVS 4069)

FossilOrigin-Name: 1d10a489340718cc708e11e28e7bb31c67e00ad8
2007-06-15 15:31:49 +00:00
danielk1977
ca306519bc Fix a test suite bug. To accommadate the fact that handles returned by (db incrblob) change for the second test suite iteration of full.test. (CVS 4068)
FossilOrigin-Name: 32218834b80b1ba900c52e43a2e59783a2553897
2007-06-15 15:08:08 +00:00
danielk1977
de523acceb Fix for #2415. The progress handler should abandon only the current query, not all active queries. (CVS 4067)
FossilOrigin-Name: 115e19fe22b9e79fcc400f3a59c80dd9828100e7
2007-06-15 14:53:53 +00:00
drh
9142a83dd4 Do not try to run the fuzz_malloc tests if SQLITE_MEMDEBUG is not enabled. (CVS 4066)
FossilOrigin-Name: 452115959f1bd22bfe64ed10724d6d08d4cbe3f5
2007-06-15 13:57:19 +00:00
drh
1a3a188ac7 Clean up a variable in tkt2409.test that would cause subsequent tests to fail. (CVS 4065)
FossilOrigin-Name: 0f944cb9fbe30c2a7ec36b7dc7e21fb39a60e810
2007-06-15 12:41:02 +00:00
drh
711ffd8c76 Documentation updates in preparation for 3.4.0. (CVS 4064)
FossilOrigin-Name: 5232fd29d01d48d70b6d8f34ad5d0e2dde115fa0
2007-06-15 12:16:31 +00:00
drh
8030869589 Update the btree file format description in btreeInt.h. (CVS 4063)
FossilOrigin-Name: 1ac160d3dc0f8723a1e2007cf45351dd8242c8c2
2007-06-15 12:06:58 +00:00
drh
6ed48bf6d7 The C-api reference documentation is now generated directly from
comments in the sqlite3.h header file. (CVS 4062)

FossilOrigin-Name: d93c41e9a97882bf90217d60744d62dece6d10d3
2007-06-14 20:57:18 +00:00
danielk1977
3fe11f3021 Have queries interrupted by the progress-handler return SQLITE_INTERRUPT. Rollback any active transaction if a DML statement returns SQLITE_INTERRUPT. (CVS 4061)
FossilOrigin-Name: 33454b5691637da7ded7d18d7f5726b796260c6b
2007-06-13 16:49:48 +00:00
danielk1977
e965ac7773 Fix for #2409. Return SQLITE_IOERR_BLOCKED instead of SQLITE_BUSY in cases where failure to obtain a database lock leaves the cache in an inconsistent state.
See additional information at CorruptionFollowingBusyError. (CVS 4060)

FossilOrigin-Name: ce2c9925d06315d73fb5fd0c7265fb4cd65665aa
2007-06-13 15:22:28 +00:00
drh
109b43507d In the "transaction" command of the TCL interface, if a COMMIT fails finish
it with a rollback. (CVS 4059)

FossilOrigin-Name: 6da39fa4429400e21924074f5f219f4cb32415ff
2007-06-12 18:50:13 +00:00
shess
401b80656d Minor comment edits from my prefix development client. No code changes. (CVS 4058)
FossilOrigin-Name: 6953cd0935b5526756ab745545420e40adc3c56d
2007-06-12 18:20:04 +00:00
drh
cd81dc4b13 Fix typo in the limits.html document. Ticket #2410. (CVS 4057)
FossilOrigin-Name: d3fe186c330d74209ac291972b09883b06e0e143
2007-06-11 23:23:24 +00:00
drh
9c86df5269 Fix a bug in the LIKE optimization that was causing the pattern string
to be dequoted twice.  Ticket #2407. (CVS 4056)

FossilOrigin-Name: abf64d1d0ae3e84c4482b38198eeb44b62cc5d9e
2007-06-11 12:56:15 +00:00
danielk1977
b39fa65289 Add a README.txt file for the ICU extension. (CVS 4055)
FossilOrigin-Name: 7b6927829f18d39052e67eebca4275e7aa496035
2007-06-11 08:00:00 +00:00
drh
7361cb1f2c Define isnan() on windows. Ticket #2399. (CVS 4054)
FossilOrigin-Name: fed9373e27b9d5338159a41772f8983420b902b0
2007-06-10 22:57:33 +00:00
drh
b0e64f33da Documentation updates, in particular in the new limits.html file is added. (CVS 4053)
FossilOrigin-Name: 4ca6cdae94f6d0a2c95755d4a250f9f3bc7a0d7b
2007-06-09 09:53:51 +00:00
drh
3b62b2fa8b Use C-sylte comments exclusively, never C++ comments. Ticket #2406. (CVS 4052)
FossilOrigin-Name: 8f5b789fea23d76128c10b37158de2525a54ce20
2007-06-08 18:27:03 +00:00
drh
b70429577f Additional test cases for comparisons against NULL in the WHERE clause
and elsewhere in a SELECT. (CVS 4051)

FossilOrigin-Name: 72612a0373c7abf8aadfdeb46358c0b0ae7b07a0
2007-06-08 08:43:10 +00:00