Commit Graph

4170 Commits

Author SHA1 Message Date
pweilbacher ab88e17ce3 fix a few return codes in the OS/2 VFS (CVS 5817)
FossilOrigin-Name: 4e978a40f7ee93b09093e82173edc74a992aadeb
2008-10-13 21:46:46 +00:00
drh 21717ed6f0 Fix the SQLITE_OMIT_DATETIME_FUNCS compile-time option so that it builds
successfully. (CVS 5815)

FossilOrigin-Name: c3f91645159511250c9f86c2a97d819f0253d182
2008-10-13 15:35:08 +00:00
danielk1977 d0ffa1e815 If sqlite3_column_value() is called to obtain a value with the MEM_Static flag set, clear it and set the MEM_Ephem flag before returning. Otherwise, if the value is passed to sqlite3_bind_value() or sqlite3_result_value(), sqlite may attempt to use the buffer after the statement has been finalized. This is not always valid, as MEM_Static only guarantees that a MEM.z buffer will be valid for the lifetime of the owner statement, not that it is actually a static buffer. (CVS 5812)
FossilOrigin-Name: b055bfc4e5268d8a66d6a4f5e8aec1285fe4b8e7
2008-10-13 10:37:49 +00:00
shane a3465f2d78 Check for failures in winTruncate. Ticket #3415. (CVS 5811)
FossilOrigin-Name: 500c50561fba88948aad21d1aef1e1e96ab8c3aa
2008-10-12 02:27:38 +00:00
shane eec556d3b7 Added SQLITE_OMIT_DEPRECATED compile time option to leave out deprecated functions. Updated test scripts to skip tests of deprecated functions if they are compiled out. (CVS 5808)
FossilOrigin-Name: ba3711acee6f4659bbf133a23d8f9f37e14d0f38
2008-10-12 00:27:53 +00:00
drh 189077f376 Add macros tests so that the compiler always recognizes that x86_64 is little endian. (CVS 5807)
FossilOrigin-Name: b201e7093c7c47b23b0f17a0890a344f3792d6d3
2008-10-11 18:11:21 +00:00
danielk1977 9ff3f3f772 When transfering an error message from a statement handle to the database handle so that it can be accessed by sqlite3_errmsg(), a malloc may fail. If this malloc fails, it is considered benign. (CVS 5806)
FossilOrigin-Name: 311003aff85e6b6c47e854d33f46eee31da6f30c
2008-10-11 17:51:38 +00:00
drh 419fcf66db Conditionally omit prototypes in pcache.h when the corresponding routines
are not used.  Ticket #3430. (CVS 5805)

FossilOrigin-Name: 977ae12c365846e1bc582fd17146151953b5ed68
2008-10-11 17:42:28 +00:00
drh ddecae7995 Fix to sqlite3DbMallocRaw() when SQLITE_OMIT_LOOKASIDE is defined so that
once it fails it continues to fail.  Add a comment explaining why this is
important. (CVS 5804)

FossilOrigin-Name: 63dd8be70d333c56171dfd254406abb1af685b0f
2008-10-11 17:35:16 +00:00
drh 8867e38aab Fix a OOM segfault in the BETWEEN operator parsing - discovered while
using SQLITE_OMIT_LOOKASIDE. Add SQLITE_OMIT_LOOKASIDE to test_config.c and
bypass lookaside.test when defined. (CVS 5803)

FossilOrigin-Name: 2a21d52c651ba113c472b6686dcf8ba009924305
2008-10-11 17:06:04 +00:00
drh 10fe840e4d Fix a memory leak on ORDER BY of a compound select caused by the resolver
on a flattened query.  Also fix a OOM segfault in WHERE clause processing. (CVS 5801)

FossilOrigin-Name: d2c252d6bbde4ae14da6c9e6c2683d763d11c59f
2008-10-11 16:47:35 +00:00
drh 4150ebf86f Added an assert() to detect lookaside memory leaks. Also added the
SQLITE_OMIT_LOOKASIDE compile-time option which is useful in trying to
track down lookaside memory leaks. (CVS 5800)

FossilOrigin-Name: 0c4c66071a46cecc5f87afb8f8f01ae2c90ee9b3
2008-10-11 15:38:29 +00:00
drh 99655beecf Fix an assertion fault that occurs with SQLITE_THREADSAFE=0. (CVS 5799)
FossilOrigin-Name: 28bba42b338afd63e1dad9f431d631f6f3027275
2008-10-11 15:20:04 +00:00
drh f8cecdab84 Add the SQLITE_OMIT_TRUNCATE_OPTIMIZATION option. Other unrelated
documentation enhancements. (CVS 5798)

FossilOrigin-Name: fab4940d54fd1e5459a3d0d9b64b491e6972fd8d
2008-10-10 23:48:25 +00:00
shane 49ffdbf47e Further simplifications of the code for the LIMIT clause on an UPDATE or DELETE. Added a few test cases to wherelimit.test. (CVS 5797)
FossilOrigin-Name: 282c6a46b25f4e4278fd4c8b0b1cde1de28d8f51
2008-10-10 18:25:45 +00:00
danielk1977 50af3e1d2d Change 'pragma foreign_key_list' to return some extra information. (CVS 5795)
FossilOrigin-Name: 3bb33cf59da49f13201c0226e964cda067a4e780
2008-10-10 17:47:21 +00:00
drh 1b67f3caf2 Simplify the symbol hash table to use only a single key class. Other
changes to improve code coverage. (CVS 5794)

FossilOrigin-Name: ff50a8a7e5a15fac192939ff3206fa18d1c5a6dd
2008-10-10 17:41:28 +00:00
drh adfae6c68b Documentation updates. No changes to code. (CVS 5793)
FossilOrigin-Name: 07b5f70317a0b2d32df86a01bdeec79ead00f68c
2008-10-10 17:26:35 +00:00
drh 931577f1cc Simplify the parser reduction code for the LIMIT clause on an UPDATE or
DELETE. (CVS 5792)

FossilOrigin-Name: 3de179630e812396ec29e77f7a06758472d0802f
2008-10-10 14:27:16 +00:00
shane b235db9c7b Re-factored memory allocation failure handling in the sqlite3LimitWhere() function based on failures in the mallocJ.test script. (CVS 5791)
FossilOrigin-Name: 43507bbefbf79e8db8fe31319ad621d48247983f
2008-10-10 13:35:57 +00:00
shane 273f619b58 Updated LIMIT support for DELETE/UPDATE. Omit option changed to SQLITE_ENABLE_UPDATE_DELETE_LIMIT. (CVS 5788)
FossilOrigin-Name: c10e8a3c7ab7f21c95f24d0aba590f5b18a4b028
2008-10-10 04:34:16 +00:00
danielk1977 510f96590b Fix an assert() failure that can occur if the user attempts to set an into an integer primary key column to a text value in a table that has a BEFORE UPDATE trigger. (CVS 5787)
FossilOrigin-Name: c2cf9d60d6626844193b008a37e4417aa0a0f323
2008-10-09 18:48:30 +00:00
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