Commit Graph

9446 Commits

Author SHA1 Message Date
drh 7c6791c8b1 Fix obscure issues with the memsys5 memory allocator. Arrange that the
xRealloc() interface to memory allocators is only called with a value
that has been through xRoundup().

FossilOrigin-Name: 577bd6f15556b7f6d86ee5167353fdd535577bf6
2009-08-18 14:48:53 +00:00
drh 15385ad437 When shutting down the memsys5 memory allocator, be sure to clear the mutex
pointer in case the next startup does not use a mutex because it is configured
differently.

FossilOrigin-Name: d4e7e2d82321c12fe471ed49098828bc0ef78543
2009-08-18 12:16:03 +00:00
drh 4c5514d76e Fix a bug in mem5.c which would cause an infinite loop on an attempt
to allocate more than 1073741824 bytes of contiguous memory.  Also, some
cleanup of mem5.c.  More work to do on this.

FossilOrigin-Name: 783b751a38f9f911c5ebdf738c255b7111978f76
2009-08-18 01:54:19 +00:00
dan 02fa469619 First version of sqlite_stat2 (schema forces exactly 10 samples).
FossilOrigin-Name: dd96bda2a85c1d94fb4a0bf5f27e2977f7f7e42e
2009-08-17 17:06:58 +00:00
drh adad77a6c6 Always call sqlite3_malloc() in sqlite3OsInit(), even when not compiled
with SQLITE_TEST.

FossilOrigin-Name: b98a8706a61ad27c881b6820eee10d06bfb27417
2009-08-17 16:01:11 +00:00
dan 3d6e060b48 Move error simulation code from the sqlite3_os_init() functions into a wrapper.
FossilOrigin-Name: 67ad21abf88abb7a3e2eacddcaf1ab5d54149807
2009-08-17 15:52:25 +00:00
shane 7c7c311da5 More documentation and comment updates for sqlite3_initialize/shutdown interface changes to handle failures.
FossilOrigin-Name: 32509bc7339cd6a46cea4c243e3418546860cb2d
2009-08-17 15:31:23 +00:00
dan e1ab219309 Add tests to check that sqlite recovers from an error in sqlite3_initialize() correctly.
FossilOrigin-Name: 904a371c6c9d3f20332b37767b06161fa0a78113
2009-08-17 15:16:19 +00:00
drh 9ac06509f1 Enhanced documentation and minor code tweaks in preparation for hardening
the sqlite3_initialize/shutdown interfaces against initialization failures.

FossilOrigin-Name: 98c49e6135ae6268a80de88f8b0284f88ef32e1d
2009-08-17 13:42:29 +00:00
drh e74871ac06 Work around an over-zealous optimization in GCC 4.3.3. See
CVSTrac ticket #4027.

FossilOrigin-Name: 9cbe3654055a78c09ea1ecd5dc599bcd888b57e3
2009-08-14 17:53:39 +00:00
dan 4361e79f14 Fix a case where SQLite may write past the end of a buffer as a result of a corrupted database file.
FossilOrigin-Name: 43321a556031942389ca11b033c1eae46ac6141b
2009-08-14 17:01:22 +00:00
drh 47baebc2a6 Incorporate fossil-scm version information into the build. Add the
SQLITE_SOURCE_ID macro to the header.  Add the sqlite3_sourceid() interface.
Add the sqlite_source_id() SQL function.

FossilOrigin-Name: 302dabe98f50b472bccd65c58504bc8a330049c4
2009-08-14 16:01:24 +00:00
drh 9e42f8ac1a Fix typos in comments used to generate documentation.
CVSTrac tickets #4028 and #4029.

FossilOrigin-Name: 1fc73b9146ee8844c73fc6a545cd0c98ac4d472b
2009-08-13 20:15:29 +00:00
dan 69f8bb9c72 If a binary operator in a WHERE clause that should be performed with no affinity conversions applied to its operands (see http://www.sqlite.org/datatype3.html) is optimized by index lookup, do not apply any conversions to the key value before looking it up in the index. Fix for 93fb9f89d6.
FossilOrigin-Name: e72186f2d68d28c2e0c32894f9adb28c155b5f63
2009-08-13 19:21:16 +00:00
drh 3da9a940b7 Merge the accidental fork.
FossilOrigin-Name: 86a06dd0494c2fe83d4fde517557600956cedd9e
2009-08-13 15:42:52 +00:00
drh 97e35a9378 Fix a typo on a comment in sqlite3VdbeIntegerAffinity().
FossilOrigin-Name: b5a709d3609d40a6e5ef77f9889077d7395d3d26
2009-08-13 15:13:52 +00:00
dan 5236ac1d04 Changes to the query planner that improve the order in which tables/indexes are scanned in join queries.
FossilOrigin-Name: 19f799b32f9d1be25d4185ce18b13f4dd502e199
2009-08-13 07:09:33 +00:00
shane d87873d19b Fixed some compiler warnings in WINCE only sections when using the MSVC compiler.
FossilOrigin-Name: 1f0a93e17d6291268da909699ce1a5a7619ae637
2009-08-12 15:34:02 +00:00
drh 2210dcc60d Make sure the large-file support macros occur first in sqliteInt.h.
Fix for CVSTrac ticket #4022.

FossilOrigin-Name: b0848925babde5241aefe0a117ebb10299c94a15
2009-08-12 11:45:40 +00:00
drh 1a5c00f8ce Reduce the maximum supported sector size to 64KiB. (CVS 6970)
FossilOrigin-Name: 8e1e0ba292150f8968e5295e8ba9cd7360b6a64b
2009-08-10 17:48:57 +00:00
danielk1977 c551288256 Exclude a static function in test1.c from the build when OMIT_DEPRECATED is defined. This avoids a compiler warning that occurs with some compilers. (CVS 6967)
FossilOrigin-Name: ace499506e3c7a315f66928d8a98de255491b2b9
2009-08-10 04:37:49 +00:00
shane 5eff7cf0c9 Removed some warnings from the MSVC compile. (CVS 6965)
FossilOrigin-Name: ee034cfc71425745dda8d5fee58ae95f937c86cd
2009-08-10 03:57:58 +00:00
shane 1987c8d4c3 Fixed "Interlocked" logic error that prevented the "static" mutexes from being released when sqlite3_shutdown() is called. Ticket #4011. (CVS 6964)
FossilOrigin-Name: 04cafb7ee3b67a68c0604d7f1143feaec44be610
2009-08-10 03:23:21 +00:00
drh eeb844a7f1 Suppress various compiler warnings. (CVS 6963)
FossilOrigin-Name: 257e9b575029f63277ed602d1402f87cfa15d22e
2009-08-08 18:01:07 +00:00
danielk1977 410b6bb578 Enhancement to (6844). If sqlite3_exec() is to return SQLITE_NOMEM because it fails to allocate space for an error message, set the database error-code to SQLITE_NOMEM too. (CVS 6962)
FossilOrigin-Name: 8293fa19c02abe0e2a7594b9bceac28929de8fdf
2009-08-07 16:55:59 +00:00
drh 3d5f74b275 Alternative fix for ticket #3810. This is a replacement for check-in (6956). (CVS 6960)
FossilOrigin-Name: ba1afc040171810d0c996708d7b9cb11abcd99d8
2009-08-06 17:43:31 +00:00
drh e33b0ed3b7 Change a hyperlink label on shared cache mode documentation. No changes
to code. (CVS 6959)

FossilOrigin-Name: 3d08ca0e54dd4c292b3db3a8364ab237713c5c43
2009-08-06 17:40:45 +00:00
shane 338ea3c140 Simplified conditional for read-only lock in winceLockFile() function. Ticket #3991. (CVS 6958)
FossilOrigin-Name: a1c184cd2ac5a7559d787e6c34b1d0ce034d10cf
2009-08-05 04:08:29 +00:00
drh 35ccb3d3bc Return a better error message when problems are encountered parsing a
TEMP trigger or TEMP view that references objects in other databases that
have been modified or dropped.  Ticket #3810. (CVS 6956)

FossilOrigin-Name: 102785b9fbc5ab5dd740110243f080e3f3661e87
2009-08-01 16:27:00 +00:00
drh 38210ac500 Fix a segfault following OOM that was introduced by check-in (6949) which
was a fix for ticket #3997. (CVS 6954)

FossilOrigin-Name: 359d78e144c2399791d341eda1760eb486f9740a
2009-08-01 15:09:58 +00:00
danielk1977 f51d1bd665 Fix a bug in where.c that could cause SQLite to write to freed memory while compiling a query with many terms in the WHERE clause. (CVS 6952)
FossilOrigin-Name: 8161af840e8fd2b06457e75023f934e1b8fe5fd6
2009-07-31 06:14:51 +00:00
danielk1977 ee0484c1b5 Add the experimental API sqlite3_strnicmp(). Modify fts3 so that in terms like 'column_name:token' the column_name is interpreted in a case-insenstive fashion. Ticket #3996. (CVS 6950)
FossilOrigin-Name: 4571aa9e9142db465ae8250b0adf27e0a094331a
2009-07-28 16:44:26 +00:00
danielk1977 0a458e5e2f When flattening a SELECT query, do not discard collation sequences explicitly attached to expressions in the parent query. Fix for #3997. (CVS 6949)
FossilOrigin-Name: b2784cf5d8b520fb714efdb2d2746b2c88b56edf
2009-07-28 13:30:30 +00:00
shane 3190f4b5f1 Fixed reversed labels in WHERETRACE() statement. Debugging code only. (CVS 6948)
FossilOrigin-Name: 614a8d83158eb59e3fbe78d62461635bfcc13525
2009-07-28 08:43:09 +00:00
danielk1977 ded6d0f1a9 If there is a hot-journal in the file-system, a connection with journal_mode=memory set may have to open it to effect rollback. Account for this in pager_end_transaction(). This prevents an assert from failing in the in-memory journal permutation test. (CVS 6947)
FossilOrigin-Name: 224bc69a04f4fe6d1004125847761b7842c2bfe0
2009-07-27 14:15:44 +00:00
danielk1977 b5a1920816 Do not simulate OOM conditions in the sqlite3OsXXX() calls if the underlying file is an in-memory journal file. (CVS 6946)
FossilOrigin-Name: d486811715350f315374cc41f3d808a75d140afb
2009-07-27 11:41:20 +00:00
danielk1977 c7538b5f63 When extracting values from a record to use in an UPDATEd version of that record, apply OP_RealAffinity if required. Fix for #3992. (CVS 6945)
FossilOrigin-Name: 3616766a6f5c8179cc55444c29ecf29cc69f88ce
2009-07-27 10:05:04 +00:00
drh a53c704fec The noReadlock property on a pager object implies the readOnly property.
Use this fact to simplify the logic in sqlite3PagerSharedLock(). (CVS 6944)

FossilOrigin-Name: 886e665f6cf780464b280c286b03c9fb5c1a6b2a
2009-07-25 22:13:34 +00:00
drh f31506b7b7 Remove obsolete assert and testcase macros related to ticket #2565 (CVS 6943)
FossilOrigin-Name: f0024b3189245d608a0cb57fa7e472c6daa1406f
2009-07-25 19:31:31 +00:00
drh bdd7191cc6 Adjust memory size computations to avoid a conditional that is always
false on 64-bit systems. (CVS 6942)

FossilOrigin-Name: 04211e6af9cdd3e7f19b458c72b722f8f8584245
2009-07-25 17:42:21 +00:00
danielk1977 c7ca875ec9 Change an unreachable condition in PagerSharedLock to a NEVER(...). Add an assert to pager_error() to show that it is never called to put an in-memory pager to the error-state. (CVS 6941)
FossilOrigin-Name: 1d931f77519baf3586708c77cbd161c0e75bcbaf
2009-07-25 17:39:13 +00:00
drh 7ee27b07c3 Change a condition to a '%' operator in bitvec.c. (CVS 6940)
FossilOrigin-Name: 10250fe5c039dbef2e1614e6320f7bd354c10211
2009-07-25 17:33:25 +00:00
drh b75d570ef8 More simplifications to pager.c. (CVS 6939)
FossilOrigin-Name: 533d6cc67a3b6467db5b83c5ca535d229d36ad27
2009-07-25 17:08:35 +00:00
drh 5e1fa03dca Simplifications and comment improvements to pager.c in support of coverage
testing. (CVS 6938)

FossilOrigin-Name: 5b70b5c19cd587a8afbf2909ac7a4c04aea20f44
2009-07-25 15:24:13 +00:00
drh 0b0abe45ca Add a NEVER() on an always-false conditional in pager.c.
Make sure the text of the master journal file is zero-terminated before
trying to process it - to prevent a buffer overrun in strlen(). (CVS 6937)

FossilOrigin-Name: cc9430e334fe98e1c35d408f81a2d8953377cda6
2009-07-25 14:18:57 +00:00
danielk1977 750e87df2e Add files that should have gone in with the previous checkin. (CVS 6935)
FossilOrigin-Name: 64c7afc704e95e13fb3315be402525d277a0d8d8
2009-07-25 11:46:48 +00:00
danielk1977 9f0b6be85c Add a complex assert() that checks a pager invariant. (CVS 6934)
FossilOrigin-Name: 2e08ad7bf629485a79ccebcf4c413e9dcc0d3ccf
2009-07-25 11:40:07 +00:00
drh 8a938f9808 Add assert() statements to more tightly constrain the state of pager.c.
Remove the three pager*.test scripts since they violate the constraints
asserted above by modifying the state of the system in ways that it cannot
be modified in a live system. (CVS 6933)

FossilOrigin-Name: 3b6d370ed68eaf9636b26c7240a8b3a43d2edd70
2009-07-25 04:12:02 +00:00
drh d4e5cd05a4 Remove two more overzealous assert() statements. (CVS 6932)
FossilOrigin-Name: 788aa9dde9e76f67f22c07a904faf03e97e032c6
2009-07-25 00:13:58 +00:00
drh 16ff1700a9 Remove an overzealous assert() from pager.c. (CVS 6931)
FossilOrigin-Name: 4a924b475aa0f7f2f69caed0adc2e60d29c47f21
2009-07-25 00:10:45 +00:00