Commit Graph

7675 Commits

Author SHA1 Message Date
dan dbd4d5fc77 If SQLITE_OMIT_UTF16 is defined, avoid setting the 'enc' field of Schema objects to any value except SQLITE_UTF8. Otherwise, assert() statements may fail or spurious SQLITE_NOMEM errors may be returned at the vdbe level later on.
FossilOrigin-Name: 69746ef787680a4b7590bd1d3c86b229d9d0dac4
2013-03-08 07:10:37 +00:00
mistachkin ef593f293e Fix two compilation issues, one warning and one error, that occur only when SQLITE_OMIT_UTF16 is defined.
FossilOrigin-Name: 10ace06be7fbe9a76a201c418b2af453c7a69043
2013-03-07 06:42:53 +00:00
drh 459f63e7ed Fix a bug (ticket [fc7bd6358f59]) that caused incorrect query results in
three way queries that involved comparing INTEGER and TEXT columns for
equality.

FossilOrigin-Name: 7097241c1220ada318f8eda938c3e3430b94a606
2013-03-06 01:55:27 +00:00
drh cfc176973e Fix an operator precedence problem on the [1d8086902e] check-in.
FossilOrigin-Name: 4f5f3aebe81c3cbe539db3e33ec38fa3de47e90b
2013-03-06 01:41:53 +00:00
dan b83c21e600 Do not attempt to set the permissions on an existing journal or wal file. Do this only immediately after creating a new file (or opening one zero bytes in size).
FossilOrigin-Name: 1d8086902ee96347491bce5ec04dc92ccd42efa1
2013-03-05 15:27:34 +00:00
dan e3664fb03c Add extended error code SQLITE_READONLY_ROLLBACK. Returned if a read-only connection cannot read the database because doing so would require it to roll back a hot-journal.
FossilOrigin-Name: 39247b14a52b0c0222fe5a848bf0aef0854058c4
2013-03-05 15:09:25 +00:00
dan e1df4e31ec Fix a bug in the recent incremental-vacuum related changes.
FossilOrigin-Name: 717863fca6d58828bf9321bc8b169e385ad4263f
2013-03-05 11:27:04 +00:00
dan e0ac363c62 Remove an assert() statement that has been incorrect since the recent incremental-vacuum related changes in [26e235b7a4].
FossilOrigin-Name: 090a47127fde90616a92a324d26bf9ddd4053120
2013-03-04 16:35:06 +00:00
drh 82e647d7c3 Update comments on the free-page allocator to accurately reflect the
latest implementation.  Add new asserts to the free-page allocator.

FossilOrigin-Name: 9a135e37b696b8544da8dbddf9d1041b8fa6f1c2
2013-03-02 03:25:55 +00:00
drh 1d59d036de Complete the initialization of the loadable extension thunk table. Also
fix other (harmless) compiler warnings.

FossilOrigin-Name: 780d06c5e54590f677f993fa9c313989c2eab8c7
2013-03-01 23:40:26 +00:00
drh 1488052d38 Update the cygwin interface to use the newer 1.7 APIs instead of the
1.5 APIs.  Also shorten over-length source code lines in os_win.c.

FossilOrigin-Name: 6b2838336a31e34c540210ccc9c934d4ba94757c
2013-03-01 23:24:04 +00:00
drh 6ffb4975f7 Fix an overly restrictive assert() in the pager.
FossilOrigin-Name: f476eace86102fd5442cfbba169c18f6ee44eae2
2013-03-01 21:01:05 +00:00
drh de97724827 Fix the handling of UTF16 surrogate pairs in the char() function.
FossilOrigin-Name: ff67d87894eeb0036374235c5723e267536909f9
2013-03-01 15:02:52 +00:00
drh 503a686e09 Always use strncmp() rather than memcmp() when comparing strings where one
or other string might be less than the length parameter, since optimized
versions of memcmp() might read past the first difference and in so doing
generate an access violation.

FossilOrigin-Name: d73435587ba7459e2e2c32980d0e17abdeceb4bc
2013-03-01 01:07:17 +00:00
drh dd1dd489d9 When comparing names during name resolution, make sure the names match
exactly and that one name isn't merely a prefix of the other.
Fix for ticket [7a31705a7e6c95d51].

FossilOrigin-Name: c2d5a23b1ab39918e97c596cf75c42f86a5fe2b7
2013-02-26 12:57:42 +00:00
mistachkin c9545442f9 Remove extra use of the sqlite3_value_int64() function.
FossilOrigin-Name: 6d7973524a7d3bf3158fdac58975945da7f51740
2013-02-26 05:42:30 +00:00
drh fbc1ddf079 Add new SQL functions unicode() and char().
FossilOrigin-Name: be2493905281e12c7f4c146ab17c8872e52da350
2013-02-25 14:39:47 +00:00
dan 896f99e942 Catch a dropped error code in backup.c.
FossilOrigin-Name: ac8ca3ecee4d81bf522b330033e5d85638063670
2013-02-25 07:12:40 +00:00
dan 9138471141 Fix a case where database corruption may cause an assert() to fail.
FossilOrigin-Name: ba33bb059ed4f4547da2880dbc8bd827c06fae34
2013-02-24 11:50:43 +00:00
dan e0b605917e Fix a case in the incremental vacuum code where database corruption was going unreported.
FossilOrigin-Name: 4cd30c72629a7f44b18026a70103aa0bb8a3b959
2013-02-23 19:43:47 +00:00
dan 22d2730047 Fix a cut-and-paste bug causing the library to fail to report database corruption in a few cases.
FossilOrigin-Name: f921df59560d536f5b80eef8c995cbe3ff591bae
2013-02-23 19:11:47 +00:00
dan b88e24fd59 Enhancements to test scripts. No code changes.
FossilOrigin-Name: ccab94c10d54e585de918bbf82dec188287d93b2
2013-02-23 18:58:11 +00:00
dan 87ade19eb9 Fix off-by-one bug in [c3939d2491] uncovered by th3.
FossilOrigin-Name: 66f9faa9a969d004486ee38d492fb3eda6cdebab
2013-02-23 17:49:16 +00:00
dan bc1a3c6ce2 If a rollback mode transaction reduces the size of the database file, avoid actually truncating the file until after the transaction has been committed (but before the db has been unlocked). This means pages that are removed from the database by truncating the file need not be journalled.
FossilOrigin-Name: b73847f17b7ae1298dfc52de6c4c4bc809bc77a3
2013-02-23 16:40:46 +00:00
dan f38b65a85d Fix a problem with the previous commit.
FossilOrigin-Name: 720a3ceafc35b81936ed2eb1f07a7187d104f0a0
2013-02-22 20:57:47 +00:00
dan 51f0b6d568 Avoid moving pages more than once in an incremental vacuum operation.
FossilOrigin-Name: c3939d249119b47bd57baa11a5ed7cc6014fc795
2013-02-22 20:16:34 +00:00
drh d495d8c9a3 Two new SQL functions: unicode() and char().
FossilOrigin-Name: 209b21085b9767f10f6ffb7c7cac756fcb74ded5
2013-02-22 19:34:25 +00:00
drh d5d0f6432c On Minix, disable the ".timer" command in the shell in order to avoid
calling getrusage().

FossilOrigin-Name: 9bd9bd9cab8c804c1a51d472199459176044a633
2013-02-20 00:54:21 +00:00
drh 5c5760aa81 Do not rollback the schema if a parsing error occurs while parsing the schema
and writable_schema is set.

FossilOrigin-Name: 680d3ab56b578bd4b0170559f9e35615ff43cf2c
2013-02-19 18:34:45 +00:00
drh 4bde37027c Truncate over-length source lines in sqliteInt.h to 80 characters or less.
FossilOrigin-Name: d71abab08518f0be1eb73c7068566ab813652318
2013-02-19 18:34:12 +00:00
drh 5cee8a7af5 Add the edit_cost_table= command to the spellfix1 virtual table, permitting
the edit distance cost table to be changed at runtime.

FossilOrigin-Name: 89d6368250f9ba2f49e930bbe5524f3da615ce70
2013-02-19 11:51:27 +00:00
drh c8ac0d1649 Fix an unsafe VM register deallocation.
FossilOrigin-Name: cfba2c8dadbf1fa6f1602a327933570820a3b134
2013-02-16 02:41:01 +00:00
mistachkin 4600255a88 Check for a NULL handle prior to manually calling winClose.
FossilOrigin-Name: 843e1c543aabab8cd62f28742d5818887d36bcb7
2013-02-15 04:21:01 +00:00
drh c95e01da22 Verify that the schema has not changed before running PRAGMA table_info,
index_list, index_info, and foreign_key_list.

FossilOrigin-Name: 82952d08f3e3aa80a7f51e80dbc89742cb4a09f0
2013-02-14 16:16:05 +00:00
mistachkin 9ce59a947f On WinCE, fill in the winFile structure after winceCreateLock has succeeded.
FossilOrigin-Name: ec13544ce336e8a02b34d574ced5912b06c82c0e
2013-02-13 22:54:03 +00:00
drh 4207a3fb9b Add recent API additions to the extension mechanism.
FossilOrigin-Name: 7e10a62d0eb1cb2bdafb6752b78a9d368e9f21f5
2013-02-13 14:04:28 +00:00
drh a4b05e2874 Allow an index to be used for sorting even if prior terms of the index
are constrained by IN operators.

FossilOrigin-Name: 2cef8b68f0e1216cf68bb7dd45a5a9a330748070
2013-02-13 01:00:35 +00:00
drh 25129243b7 Improve memory allocation error handling on WinCE.
FossilOrigin-Name: cdbca259da80df901837034d2616da434cb82216
2013-02-12 22:20:01 +00:00
drh 785097da6b A bug report coming from from Firefox
([https://bugzilla.mozilla.org/show_bug.cgi?id=840377])
describes an infinite recursion.  We are unable to reproduce the problem.
Nevertheless, this check-in should prevent the problem from ever occurring
again.

FossilOrigin-Name: b7222a2bd035e7a32dc9416b25a488d9d017aad1
2013-02-12 22:09:48 +00:00
mistachkin 7e87eae901 Improve memory allocation error handling on WinCE.
FossilOrigin-Name: 09dfc0c915ec2f0c5f633a3485d47cad15eec4dc
2013-02-12 09:46:48 +00:00
drh 433dccfb52 Rename SQLITE_CONSTRAINT_RAISE to SQLITE_CONSTRAINT_TRIGGER. Put the
extended constraint error codes in alphabetical order.  Add many test cases
for the extended constraint error codes.

FossilOrigin-Name: 3f67437536591a1b0742a25b983707933aaa16d5
2013-02-09 15:37:11 +00:00
drh d91c1a1768 Add extended error codes for constraint errors.
FossilOrigin-Name: 5461104668a49529577f21df97f6a0e7d8f0c679
2013-02-09 13:58:25 +00:00
drh 5edf8435d3 Fix a potential NULL-pointer dereference following an OOM error
in the query planner logic for virtual tables with OR-connected terms.

FossilOrigin-Name: 71b6c26053fdf2a5a84116e005bad1f2ca873a66
2013-02-08 23:18:18 +00:00
drh 3667033bfc Make sure the virtual tables that take advantage of IN operators sort the
RHS of the IN operator in the correct order according to the ORDER BY
clause.

FossilOrigin-Name: b016b7546d6fbfba06019398b9ac239b0cbe9086
2013-02-08 20:39:02 +00:00
drh 2d96b934c8 Loop through the elements on the RHS of an IN operator in reverse order when
the ORDER BY clauses specifies DESC.

FossilOrigin-Name: f78395c8896666bb1359b83fbcd58d5e3dbc39d3
2013-02-08 18:48:23 +00:00
drh c3e552ff5c Allow the "a=?1 OR a=?2" to "a IN (?1,?2)" transformation to work on virtual
tables again.  This was formerly restricted because virtual tables could not
optimize IN terms.  (See check-in [fad88e71cf195e].)  But IN terms are now
used by virtual tables (as of check-in [3d65c70343]) so the restriction can
now be removed.

FossilOrigin-Name: a917c1f09254b54e03e31b119cc49c551269d82e
2013-02-08 16:04:19 +00:00
drh 1b8fc65b92 Allow an index to be used for sorting even if prior terms of the index
are constrained by IN operators.

FossilOrigin-Name: 98bf668ab1a8683b46ee8c94cb60f8215aabc517
2013-02-07 21:15:14 +00:00
drh 928d9c6209 Fix harmless compiler warnings.
FossilOrigin-Name: 4a7b4ee011fea911b981206c242e3d5553303b52
2013-02-07 09:33:56 +00:00
mistachkin 2bfe1df01b Add the ability to skip defining the localtime() function when being compiled for WinCE.
FossilOrigin-Name: e1640876df7ed6fb4e84292e5ce1f78635df64ab
2013-02-07 05:12:25 +00:00
drh 547180baf0 Fix LIMIT and OFFSET so that they work and do not leak memory even on
complex queries involving deeply nested views of UNION ALL compounds.
Ticket [db4d96798da8].  Secondary to ticket [d58ccbb3f1b7].

FossilOrigin-Name: 497ee36cb8d07c936e6896135163c5cd7e94bdde
2013-01-29 23:55:50 +00:00