Commit Graph

5642 Commits

Author SHA1 Message Date
drh
897a820f46 Performance improvements in getAndInitPage(): omit the upper bound check on
page number if the page is already in cache. (CVS 5716)

FossilOrigin-Name: badd0873e6dffac9463b06a381b9f797a54d33e9
2008-09-18 01:08:15 +00:00
drh
b3df2e1cfe Speed improvements for in-memory databases by omitting flag clearing on pages
where it is impossible for the flag to be set and by avoiding assert()s on
non-debugging builds.  Ticket #3384. (CVS 5715)

FossilOrigin-Name: a7fd9e622bc1050e78f227ec42b6ba90c87c865a
2008-09-17 20:06:26 +00:00
danielk1977
89bae3ed7a Changes to test scripts to support running on symbian. (CVS 5714)
FossilOrigin-Name: 6ef34e9d3118965781c69011deaede1ebbb19b12
2008-09-17 16:14:10 +00:00
danielk1977
e598bb4639 Add a type identifier to argument sz to sqlite3PageMalloc() in pcache.c. Ticket #3383. (CVS 5713)
FossilOrigin-Name: 94fde77b9a4efde5f7fb2a84fedaf38b0ebbac70
2008-09-17 11:02:57 +00:00
drh
d176611b44 Fix for tickets #3378 and #3381 that preserves the aliasing optimization.
And yet, this fix feels uncomfortable.  Seeking an alternative... (CVS 5712)

FossilOrigin-Name: f8b759f1977915c314be874840ebf18e6bc69b57
2008-09-17 00:13:12 +00:00
drh
f44ed02790 Add test cases for ticket #3378 and #3381. Add a temporary hack to get those
to problems fixed.  The hack causes failures in alias.test, but those are much
less serious than the aforementioned tickets.  This is a stop-gap until we can
figure out a proper fix. (CVS 5711)

FossilOrigin-Name: a67da9dd2ff6acc163de4ce2b836b03e3f159a88
2008-09-16 18:02:47 +00:00
danielk1977
05edfb62d9 Initialize variable pKeyDup in multiSelectOrderBy(). Technically it doesn't need to be initialized, but the reasoning required to come to that conclusion is too complicated for some automated systems. So it is initialized to keep some compilers happy. Ticket #3382. (CVS 5710)
FossilOrigin-Name: bd58be6ecf0a22f3c8404bd7094ab5e13e19b1c4
2008-09-16 15:55:55 +00:00
danielk1977
181ddaa184 Use (file nativename (pwd)) instead of just (pwd) to find the name of the current directory to pass to "PRAGMA temp_store_directory" in pragma.test. This helps the test pass on non-unix systems. (CVS 5709)
FossilOrigin-Name: 50feaa3707f4f61202bc855802ab2e405365d801
2008-09-16 15:50:11 +00:00
drh
ec8d24279b Add test script selectC.test which demonstrates ticket #3381. (CVS 5708)
FossilOrigin-Name: 3847faff55d4bd7574785c3b18d5c95e687c7598
2008-09-16 15:09:53 +00:00
danielk1977
fab1127bd1 If the xAccess() call used by "PRAGMA temp_store_directory = /new/path/" to determine if the supplied directory is writable returns an error, assume the directory is not writable. (CVS 5707)
FossilOrigin-Name: e8418588f2c23487cefda702849d4546202fd8ec
2008-09-16 14:38:02 +00:00
danielk1977
7eae4f52ee Modify the sqlite3VdbeMemCompare() routine so that it does not modify any Mem.z values. Ticket #3376. (CVS 5706)
FossilOrigin-Name: 2d4505510032bf903a9c5d582edda442a0592c77
2008-09-16 12:06:08 +00:00
drh
5a70d286f5 Add test case for ticket #3376. (CVS 5705)
FossilOrigin-Name: c64260579d353df3eae8c355b082b8206bc6185b
2008-09-16 11:58:20 +00:00
danielk1977
1e522b498b Set the type of the "comment" field to SQLITE_TEXT when outputing the results of an EXPLAIN query. (CVS 5704)
FossilOrigin-Name: 5dff20f4bc8d98017e76d3a771ab49310bddda63
2008-09-16 09:09:19 +00:00
danielk1977
1357d9f5f7 Do not attempt to change the page size after a pager has entered the error state (Pager.errCode!=SQLITE_OK). This prevents an assertion failure in vacuum3.test. (CVS 5703)
FossilOrigin-Name: aa5c9455be961e712d5c56de8d699adabb186cdc
2008-09-16 05:12:24 +00:00
danielk1977
3d354708a7 Minor comment change to test_async.c. No code changes. (CVS 5702)
FossilOrigin-Name: b134106000e2e694cf5e1e5ae2f5b1e2956ee74a
2008-09-15 15:49:34 +00:00
drh
b5774cfa8f Adjust the page recycling algorithm so that the number of pages allocated
to each connection does not exceed its cache_size limit. (CVS 5701)

FossilOrigin-Name: 3bc221b940565133ae8d95f59b3b120e57df0124
2008-09-15 15:36:57 +00:00
danielk1977
4ff6202642 Fix the async.test test script so that it invokes (finish_test) even if the asynchronous backend is not included in the build (and no tests are run). (CVS 5700)
FossilOrigin-Name: 5c954b40ecb71203b1013c23cdac54ff83484b0a
2008-09-15 14:47:21 +00:00
danielk1977
78a906552d Fix the shared_err.test script so that it works if the device supports SQLITE_IOCAP_SAFEAPPEND. (CVS 5699)
FossilOrigin-Name: 38e5ea070a38fe1656e0f5c3024f28ce67eae725
2008-09-15 14:42:38 +00:00
danielk1977
92c4b8a2ca Modify test_async.c to avoid using internal SQLite APIs. There are still some comments that need updating. (CVS 5698)
FossilOrigin-Name: 1d4fcaafd058bf1b726378e9ec308ecd8130fe1b
2008-09-15 14:08:04 +00:00
danielk1977
5ad6a88f59 Check if error code ENOTSUP is supported before using it. Ticket #3375. (CVS 5697)
FossilOrigin-Name: c32cb106c5d68e98f51f1eaf9ae0e2a3c36d00d6
2008-09-15 04:20:31 +00:00
drh
f018cc2ef0 Fix issues with bizarrely quoted column names. Tickets #3370, #3371,
and #3372. (CVS 5696)

FossilOrigin-Name: ced6bbd228b4a324ddb9c5ff15fd027811c8806a
2008-09-13 01:20:14 +00:00
drh
8578611b95 Fix the NEAR connector in FTS3 so that it can take ranges in excess of 9.
The maximum range is now 32767. (CVS 5695)

FossilOrigin-Name: 8e9b9553115c42dae38cad0612d98d9a0c453a5c
2008-09-12 18:25:30 +00:00
drh
39001e7525 Declare the isInterrupted field of the sqlite3 structure to be volatile.
Ticket #3369. (CVS 5694)

FossilOrigin-Name: 414da4ebcecbed37177aecf649ddd3d258af260d
2008-09-12 16:03:47 +00:00
danielk1977
755339ec0f Add a case to permutations.test to run tests with the IOCAP_SAFEAPPEND property set. (CVS 5693)
FossilOrigin-Name: 80bdaafa77ec5c967f633eaaf5ee6f493a6e5a56
2008-09-12 10:22:40 +00:00
danielk1977
540cf6a192 Add a couple of (fconfigure) commands to configure the incremental blob channels used by test file incrblob.test. This is required so that the tests work on windows and other platforms that have a default -translation mode other than 'lf'. (CVS 5692)
FossilOrigin-Name: 753caa20ca50bc42d747d934ccc61438790e7f32
2008-09-11 11:27:59 +00:00
danielk1977
55a25a1201 Fix a couple of problems with variable initializations picked up by stricter compilers. (CVS 5691)
FossilOrigin-Name: f4293d148007515eaf8eb9738f62554a963abe8e
2008-09-11 10:29:15 +00:00
danielk1977
67fd7a9a98 Fix some trivial cases where database corruption was causing an error code other than SQLITE_CORRUPT to be returned. (CVS 5690)
FossilOrigin-Name: 89fda074f6b4959c32f1083badba3c73cffb4995
2008-09-10 17:53:35 +00:00
danielk1977
9f580ad886 Fix for handling database files corrupted in such a was as to make a b-tree page a direct or indirect descendant of itself. (CVS 5689)
FossilOrigin-Name: 93545861a70c190d67b0d1effdd8fe038d28811c
2008-09-10 14:45:57 +00:00
drh
c807542bcf Documentation updates: Describe recursion capabilities for the various
callbacks. (CVS 5688)

FossilOrigin-Name: edd80811d702bc0d7a25199d193c04ea057df4de
2008-09-10 13:09:23 +00:00
danielk1977
38816ecf99 Avoid deleting a file while it is still open in corrupt2.test. Not all platforms support this. (CVS 5687)
FossilOrigin-Name: 099adfd31167a78d803e2992e5f50cf4e292dd43
2008-09-10 11:28:37 +00:00
danielk1977
f8b10a855e Fix some test script details so that the test suite runs with an SQLITE_DEFAULT_AUTOVACUUM=2 build. (CVS 5686)
FossilOrigin-Name: 300a64b725a111ee66e38de099314f03b064c6eb
2008-09-10 10:57:27 +00:00
danielk1977
f2fb044bca Add fuzz3.test. For testing the library's response to corrupted database files. (CVS 5685)
FossilOrigin-Name: 7fd4dd95791974b0ef6cf30a186b32df25ee2211
2008-09-09 18:28:06 +00:00
drh
e3602be8fd Calling sqlite3_create_function with nArg==(-1) does not override prior
calls on the same function name with nArg>=0.  Ticket #3345.  Add the
new -argcount option to the "function" method in the TCL interface. (CVS 5684)

FossilOrigin-Name: 5aa5b8044a14f59559c1839dc0799b0d2f990809
2008-09-09 12:31:33 +00:00
danielk1977
4d60af9b0b Fix a C++ism in pager.c (variable useAtomicWrite not declard at the top of its scope). (CVS 5683)
FossilOrigin-Name: a6dee85b823355cb381163c93c8366aa4395ae6a
2008-09-08 15:35:06 +00:00
danielk1977
b9134e3e84 Fix a bug in r-tree related to internal nodes with one or more dimensions of size zero. Ticket #3363. (CVS 5682)
FossilOrigin-Name: 8b600ed083d48784df4b1da1320a01bebbf233d7
2008-09-08 11:07:03 +00:00
danielk1977
ff9b2e75b4 If the 'rootpage' column of the sqlite_master table contains a NULL value, return SQLITE_CORRUPT to the caller. (CVS 5681)
FossilOrigin-Name: a7b7b126e9e9b0cd2d68643d8dff321cf41ce2ee
2008-09-08 09:06:18 +00:00
danielk1977
1c82665040 Add header file sqliteicu.h to the ICU extension. This is analogous to the rtree.h and fts3.h headers used by other extensions to declare their entry points. Fix for ticket #3361. (CVS 5680)
FossilOrigin-Name: 79364b963b348d5433da737b4e21e97952882389
2008-09-08 08:08:09 +00:00
danielk1977
fdd8e5bab8 Deallocate a temp register allocated by codeEqualityTerm() in where.c. If it is not deallocated, its value may be reused by the column-cache mechanism. However, by the time it is used, the value may have been clobbered by a sub-routine that also uses the same temp register. Fix for #3357. (CVS 5679)
FossilOrigin-Name: 7c0f638ef3d7ff9156f07d6fb01448453ffcf5ac
2008-09-06 14:19:11 +00:00
danielk1977
f7cbfae96a Change pcache.test so that it works if sqlite is configured to create auto-vacuum databases by default. (CVS 5678)
FossilOrigin-Name: 55e677569ec131c388841f6f453291f737738076
2008-09-05 05:29:08 +00:00
danielk1977
518002e4ba Fix a problem in btree.c preventing an OOM error from being propagated up to the caller. (CVS 5677)
FossilOrigin-Name: 0b8ee83f2ebadab099ccd6490f6995949dafdd6f
2008-09-05 05:02:46 +00:00
danielk1977
0a732f59b0 Add support for the SQLITE_THREADSAFE=2 and SQLITE_DEFAULT_MEMSTATUS compilation options. (CVS 5676)
FossilOrigin-Name: 85c2a58901338c1c4652c2cbee51e5f48d289191
2008-09-04 17:17:38 +00:00
shane
145834a44f Missing implementation for sqlite3TransferBindings(). (CVS 5675)
FossilOrigin-Name: 56d618957571f65e88375aad34a6e7dcf22508e1
2008-09-04 12:03:42 +00:00
danielk1977
73245a7818 If SQLITE_ENABLE_LOCKING_STYLE is defined, have the os_unix.c module offer the following extra VFS implementations for explicitly selecting a locking-style: "unix-none", "unix-afp", "unix-posix", "unix-flock" and "unix-dotfile". (CVS 5674)
FossilOrigin-Name: 6e8fb64639cc7451005d9f1dd2d0ef62576abbdd
2008-09-04 06:22:25 +00:00
danielk1977
c9e90daf62 Temporarily revert to using sqlite3_transfer_bindings() internally. (CVS 5673)
FossilOrigin-Name: 690ff3853b4e46ac7126992c84455237e265fd98
2008-09-04 05:53:44 +00:00
shane
4a27a28635 Modified core to not call deprecated functions sqlite3_memory_alarm() and sqlite3_transfer_bindings() by adding sqlite3MemoryAlarm() and sqlite3TransferBindings(). sqlite3_memory_alarm() and sqlite3_transfer_bindings() are now simple wrappers for the new functions. In prep for adding SQLITE_OMIT_DEPRECATED. (CVS 5672)
FossilOrigin-Name: 821c387d159fd86cedb56c1130f0416bf5c65e6c
2008-09-04 04:32:49 +00:00
drh
106cee5498 Work around an issue with the WINSCW compiler. (CVS 5671)
FossilOrigin-Name: e333c3f4c3629dba05b58318e2cd0514843e5394
2008-09-03 17:11:16 +00:00
drh
cc91e7f83e Make the default threading mode multithread (-nomutex) in the TCL interface. (CVS 5670)
FossilOrigin-Name: d9e826942673ad048d611c014bfbee39ab5535c8
2008-09-03 01:08:00 +00:00
drh
039963ad33 Add support for SQLITE_OPEN_FULLMUTEX. (CVS 5669)
FossilOrigin-Name: f2f361a5e2fb81fb0f99e83ecf8bae9a750723b1
2008-09-03 00:43:15 +00:00
drh
a9625eaeb9 If a rollback fails, mark the database as corrupt. (CVS 5668)
FossilOrigin-Name: c8b24bd1be94b6d385e759a2f9e202be066578a0
2008-09-03 00:08:29 +00:00
drh
afacce0a4d API documentation updates for threading mode. (CVS 5667)
FossilOrigin-Name: fa237c14c8551315ea8f239e89a81b7725675c81
2008-09-02 21:35:03 +00:00