Commit Graph

4148 Commits

Author SHA1 Message Date
drh 073e7b1ca3 Minor cleanup of the new "status" command on the TCL bindings. (CVS 5783)
FossilOrigin-Name: ec01bd72ee875df179c680c1a40304d2f807fe38
2008-10-09 14:45:25 +00:00
danielk1977 be51a65dbc After an OP_NullRow is executed on a cursor, cause any subsequent OP_Next or OP_Prev to behave as if there were no more rows to traverse. Ticket #3424. (CVS 5782)
FossilOrigin-Name: af679f6170b346fe61df7dae963b2a2853e62a62
2008-10-08 17:58:48 +00:00
drh d1d384888b Add the experimental sqlite3_stmt_status() interface. (CVS 5781)
FossilOrigin-Name: de473efb35ffdf9a8222a70a84dfd7d3198c87c1
2008-10-07 23:46:38 +00:00
drh e82f5d04c3 Raise the hard upper bound on SQLITE_MAX_FUNCTION_ARG to 1000 from 100.
The default upper bound is still 100, but it can now be raised as high
as 1000 at compile-time. (CVS 5780)

FossilOrigin-Name: 79df72ee836db91647913055ba6cf55558679b01
2008-10-07 19:53:14 +00:00
drh 18472fa7b8 Remove the SQLITE_MUTEX_APPDEF compile-time option. The SQLITE_THREADSAFE=0
option always removes all mutex code.  For application-defined mutexes only,
use SQLITE_THREADSAFE=1 with SQLITE_MUTEX_NOOP=1.  Ticket #3421. (CVS 5779)

FossilOrigin-Name: 02a12eb1cfe9307c66556105a1a99d657cc01ab5
2008-10-07 15:25:48 +00:00
danielk1977 0bfbaa8aa5 Have sqlite3_bind_value() call sqlite3ApiExit() before returning. Otherwise the db->mallocFailed flag may not be cleared. (CVS 5777)
FossilOrigin-Name: 6b7c8d56403f6b9b88b8494c86f3d62e487cb2ac
2008-10-07 14:06:11 +00:00
drh f65c76d49c Do not use double unnecessarily in date+time functions. Ticket #3422. (CVS 5776)
FossilOrigin-Name: b03231323a7f06c736c38ae3c5535d2fd025583f
2008-10-07 12:32:13 +00:00
danielk1977 c56774e234 Fix a problem with hot-journal rollback. SQLITE_CANTOPEN was being returned if the hot-journal file contained a pointer to a master journal file that did not exist. (CVS 5775)
FossilOrigin-Name: 22d1feb9b20b8fd9c86066b94e4220cf8929b043
2008-10-07 11:51:20 +00:00
shane 4281bd4204 Initial support for LIMIT clause on DELETEs and UPDATEs. Changes likely with more testing. The code can be omitted with the define SQLITE_OMIT_UPDATE_DELETE_LIMIT. (CVS 5774)
FossilOrigin-Name: 9c8b132e34bc6024bc9898182f8f93127ca52ac9
2008-10-07 05:27:11 +00:00
shane 359a8f80f1 Removed redundant assert(). (CVS 5773)
FossilOrigin-Name: 486b1124f76bcf0505b6be908f2a3e988ad6e05d
2008-10-07 01:18:59 +00:00
danielk1977 b1c685b0c8 Allow INDEXED BY and NOT INDEXED to be used in UPDATE and DELETE statements. (CVS 5772)
FossilOrigin-Name: 83a7e446b2d4846a6f92bd831a2adaa265f5a786
2008-10-06 16:18:39 +00:00
drh 3d1c1e8722 Fix a typo in check-in (5769) (CVS 5770)
FossilOrigin-Name: 24891902fa625445aa47ae930f0cb340cc73d25d
2008-10-06 15:18:02 +00:00
drh 41204f1fdd Expression nodes of type TK_ROW mean the rowid of the first table in the
source list. (CVS 5769)

FossilOrigin-Name: 2f7db6c98f17e0b7110258093c283091a91d4e4f
2008-10-06 13:54:35 +00:00
drh 488e7b6323 In sqlite3_bind() interfaces, avoid acquiring the mutex until after the
statement handle has been validated.  Ticket #3418. (CVS 5768)

FossilOrigin-Name: 693503e241001271512f4ce3e8cc932ba6a3106c
2008-10-06 12:46:43 +00:00
danielk1977 85574e31cb Allow INDEXED BY and NOT INDEXED clauses in SELECT statements. (CVS 5766)
FossilOrigin-Name: 98ca5580f5acd2e7b3ce512520ec0527f221505e
2008-10-06 05:32:18 +00:00
danielk1977 4e7f36a27f Change to reduce the number of OP_Null opcodes in "WHERE <rowid> IN (x,y,z)" queries. (CVS 5763)
FossilOrigin-Name: 33b59a3db0b1797663ae840ceaca1b23a9a9e3b0
2008-10-02 16:42:06 +00:00
danielk1977 a8b3018da4 Fix for sqlite3_blob_write(): If either 3rd or 4th argument is less than zero, return SQLITE_ERROR. H17879. (CVS 5762)
FossilOrigin-Name: f6074c0b9b5ba51d131509dba2aec80d0fcf3b7e
2008-10-02 14:49:01 +00:00
drh 25ef8f1c2c Fix a typo that prevents the sqlite3_sql() interface from appearing
in the official documentation. (CVS 5761)

FossilOrigin-Name: b46814b202f4cc355b925551c90ea811f3f9e44a
2008-10-02 14:33:56 +00:00
danielk1977 41a05b7bee Optimize queries that contain "WHERE rowid IN (x, y, z...)" by using an intkey btree to store the (x, y, z...) set instead of an index btree. (CVS 5760)
FossilOrigin-Name: 803a1736d56b3c07b8ad38715fe0e39196ecc507
2008-10-02 13:50:55 +00:00
danielk1977 2d60549926 Fix a bug in where.c where a non-temp register was being incorrectly deallocated. Ticket #3408. (CVS 5758)
FossilOrigin-Name: 59d2e89e2181c26b18eac68ccc80ea3018f70a5e
2008-10-01 08:43:03 +00:00
drh f94a173a95 Add some testcase() and assert() macros to btree.c to aid with testing
recent changes. (CVS 5757)

FossilOrigin-Name: fb461b78dfc2501fafa8bce03da5487fdfdff959
2008-09-30 17:18:17 +00:00
danielk1977 a69fda25ff Fix a comment in btree.c. No code changes. (CVS 5756)
FossilOrigin-Name: 0f3c56330b43fb7c9dc43a444ca38bace9397ede
2008-09-30 16:48:10 +00:00
drh 7b682804c7 Change leading tabs into spaces. (CVS 5755)
FossilOrigin-Name: 4e536463c1aa9991de85c7efc826c28896ca61d3
2008-09-30 14:06:28 +00:00
danielk1977 2f78fc66b5 Fix a recently introduced problem with deleting entries from index tables. (CVS 5754)
FossilOrigin-Name: 83c064cae481ca95b7107e22e98fc599fe85a2da
2008-09-30 09:31:45 +00:00
shane d94b0556f8 Misc clean up. Wrapped a CE only variable in if-defs. Changed to only provide cache hint for CE builds (as this prevents CE from compressing the file.) Performance testing on XP and Vista showed caching hint had little effect when the DB size was much smaller than the O/S disk cache size, and provided only marginal benefit when the DB size was much larger than the cache. On Vista, overall system performance was hurt for very large DBs. Ticket #3387. (CVS 5753)
FossilOrigin-Name: 15dd0169a4c5e2ff9e3894eec10799cb89d462e5
2008-09-30 04:20:07 +00:00
danielk1977 00a696d6d1 Remove the reparentPage() and reparentChildPages() functions from btree.c. All calls to these functions can now be replaced by a call to setChildPtrmaps(). (CVS 5751)
FossilOrigin-Name: 35e8e4dcd24b050b535ae005ca3b25e6a673eb89
2008-09-29 16:41:31 +00:00
danielk1977 bf93c56737 Remove the MemPage.idxShift variable. It is no longer required. (CVS 5750)
FossilOrigin-Name: 7354abd03be756b1d7d0a3d5b8958f5c0c985ff5
2008-09-29 15:53:25 +00:00
danielk1977 71d5d2cd49 Instead of storing a pointer to the parent page in the MemPage structure, have each B-Tree cursor keep track of the ancestry of the current page. (CVS 5747)
FossilOrigin-Name: 40425e93421286cca1965d7a5769084526210c7a
2008-09-29 11:49:47 +00:00
drh 04335886a1 Add the "truncate" journal mode which commits transactions by truncating the
rollback journal file to zero length and not calling fsync(). (CVS 5745)

FossilOrigin-Name: 7c561f2e9264de676c1028943f6c3d06542fd802
2008-09-26 21:08:08 +00:00
drh 9e2d64b8d3 Make sure the queueMutex is held prior to writing the pQueueLast field
of the write queue in the async demonstration code.  Ticket #3405. (CVS 5744)

FossilOrigin-Name: 5622a1e285fc4d5720f7180a0eb551952f2df331
2008-09-26 20:02:50 +00:00
danielk1977 d326064e0d Performance enhancement: avoid calling reparentChildPages() from balance_nonroot(). (CVS 5743)
FossilOrigin-Name: 28fd0a50ca8529892f5b1ababd38d494889eed6d
2008-09-26 17:31:55 +00:00
danielk1977 0afae93fa4 Fix some function declarations (change "int foo()" to "int foo(void)"). Ticket #3399. (CVS 5740)
FossilOrigin-Name: 0fb98c35353d8c0a8d669bbe45fe84e3a5060621
2008-09-24 09:12:46 +00:00
danielk1977 45e60aabc6 Catch another case where SQLITE_IOERR could be returned instead of SQLITE_NOMEM following an out-of-memory error. (CVS 5739)
FossilOrigin-Name: 18d030da0c1755aab458e5aa0d3ad0a714706d67
2008-09-23 17:39:26 +00:00
danielk1977 98c21903bd Always transform error code SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning. This was already happening in most places. (CVS 5738)
FossilOrigin-Name: 046ef07261d520c9399bd8cdfdfd5281956b7a27
2008-09-23 16:41:29 +00:00
drh 40bbb0a3e8 Enable the LOCKING_STYLE extensions by default on a Mac. Leave them
disabled on all other posix platforms. (CVS 5737)

FossilOrigin-Name: bae1d5b16948705b7dec7b139e3586b4b510cbfa
2008-09-23 10:23:26 +00:00
drh c21658beaa Remove an unused variable from the test logic. (CVS 5736)
FossilOrigin-Name: 309ba380d985d77419a6e185373493e043823258
2008-09-23 10:16:04 +00:00
drh 3e59c01255 Fix the TCL installer so that it omits the release number. Ticket #3396.
Use strcmp() instead of sqlite3StrICmp() in the "copy" method of the SQLite
object in the TCL interface. (CVS 5735)

FossilOrigin-Name: a88606245760eaf8054d67773db7d8b795e8ca25
2008-09-23 10:12:13 +00:00
drh e2c3a659a9 Add no-op Unload entry points to the TCL interface. Ticket #3397. (CVS 5734)
FossilOrigin-Name: b31dd1e3f1d927b9236b7ebeb331268cbd253083
2008-09-23 09:58:46 +00:00
drh 9606781667 Fix for ticket #3382 was mistakenly removed by (5712). Add an assert to
prevent it from being removed again. (CVS 5733)

FossilOrigin-Name: 01d26b3df7029f7fa09231c18a7b9f9a1a967916
2008-09-23 09:36:10 +00:00
drh 4d6618f9ed Get rid of all of the compiler magic associated with SQLITE_EXPERIMENTAL
and SQLITE_DEPRECATED.  It was causing more problems than it was solving.
Ticket #3395 et al. (CVS 5732)

FossilOrigin-Name: bc040073c7c059e91fddece27f99fa359cc1405d
2008-09-22 17:54:46 +00:00
danielk1977 77eb5bb6f7 Fix a memory leak that can follow a malloc failure in sqlite3_initialize. (CVS 5731)
FossilOrigin-Name: 118dc0ba082dd9abba5602dafc86bd56e756db86
2008-09-22 17:22:19 +00:00
danielk1977 cd3b3c8902 Add instrumentation to os_unix.c to test that a return value of SQLITE_FULL from an xSync() callback is handled correctly. (CVS 5730)
FossilOrigin-Name: 7bd2da93c6cce52edbbe53fe26a82ad159dd6b6b
2008-09-22 11:46:32 +00:00
danielk1977 fb8f2e2eb1 Remove unused macro Release() from vdbe.c. (CVS 5728)
FossilOrigin-Name: 915679431a70c593a83cf5e8b1dcce1555e9518e
2008-09-22 06:13:31 +00:00
drh 0db8ac43b5 Give file scope to non-API routines in pcache. Ticket #3392. (CVS 5727)
FossilOrigin-Name: 6521f98ac3a5cd2d959a9672cd07b1d25b82d559
2008-09-21 15:14:04 +00:00
danielk1977 e972e031d1 Speed up releaseMemArray() a bit by handling the most common types of memory cells inline. (CVS 5726)
FossilOrigin-Name: ce07508550da858beb0bc0763c65e6d556bb0843
2008-09-19 18:32:26 +00:00
danielk1977 d9f6c53232 In function moveToRoot(), use the MemPage.pParent pointers to find the root page if they are valid. This is slightly faster than requesting a new reference to the root page from the pager layer. (CVS 5725)
FossilOrigin-Name: 0c8b74e668b7462c5439c04993d1d7cd74210075
2008-09-19 16:39:38 +00:00
danielk1977 ea89730823 In sqlite3BtreeGetMeta(), if BtShared.pPage1 is available use it instead of requesting a new reference from the pager layer. (CVS 5724)
FossilOrigin-Name: 59be34cfa4fe74f7e5b547c55d273ecba9d7796c
2008-09-19 15:10:58 +00:00
danielk1977 65e0ff3217 Remove an obsolete layer of redirection in pager.c. (CVS 5723)
FossilOrigin-Name: 75deaa442f3a363c4ea5b6f0e510306feeaa8915
2008-09-19 09:14:43 +00:00
danielk1977 e08a3c4f91 Fix a segfault introduced by (5720) that can follow an IO error. (CVS 5721)
FossilOrigin-Name: 05d3462688507b61710cbda27adf61d0b0514e27
2008-09-18 18:17:03 +00:00
danielk1977 eaa06f6970 Avoid parsing the structure of b-tree pages (in sqlite3BtreeInitPage) more than is necessary. (CVS 5720)
FossilOrigin-Name: 6b998f3066754e219c266501327e5578c9406b63
2008-09-18 17:34:44 +00:00