Commit Graph

10807 Commits

Author SHA1 Message Date
drh 0ccbc64fd6 Documentation typo on sqlite3_wal_hook(). No changes to code.
FossilOrigin-Name: fc2043ebaa3f106529500164936bb82f9b921b1c
2016-02-17 11:13:20 +00:00
drh 30c14728b4 Minor simplification to the tokenizer. Slightly smaller and faster.
FossilOrigin-Name: 9570b6b43df3bc5ce314cded20bca8be9e968efe
2016-02-16 13:04:19 +00:00
mistachkin b71aef3461 Readability improvements for winRandomness.
FossilOrigin-Name: 1640f814c7a5210f08c81e52e5a3fb89ac26f4d4
2016-02-15 22:37:18 +00:00
mistachkin 0ead47d1c7 Fix comment. No changes to code.
FossilOrigin-Name: 2e1f2eff27e25280fe626c07b6260b0a7aa903d3
2016-02-15 22:28:50 +00:00
mistachkin bfc9b3f45c Revise compiler checks for the rand_s() function.
FossilOrigin-Name: 287f508dd6abc1b9ffdbec6a685ebe79eeac992b
2016-02-15 22:01:24 +00:00
drh 51d5ed97f5 On windows systems when rand_s() is available, use it to obtain additional
seed material in winRandomness().

FossilOrigin-Name: 139081bef9f63c3ebbe9e992408597b1349bdf37
2016-02-15 21:31:51 +00:00
drh 8eb3790a8d Improved entropy gathering for the implementation of winRandomness().
FossilOrigin-Name: fea3705e7750d276a8c8300b7a82dfae2d5979c0
2016-02-15 20:41:56 +00:00
drh e683b89880 Fix harmless compiler warnings previously seen in 64-bit MSVC builds.
FossilOrigin-Name: 7026246300392a83cc23817dbc54c2c66bf1f2b3
2016-02-15 18:47:26 +00:00
drh 32c49904a6 Add the SQLITE_NOMEM_BKPT macro to enhance the ability to debug OOM errors.
Only effective with compiling with SQLITE_DEBUG.

FossilOrigin-Name: 9b3454762d142113f5923d754ca6bd2edefbd362
2016-02-15 18:15:15 +00:00
drh 66acf297fd Minor code simplifications.
FossilOrigin-Name: c3b38efd50c3c07b6dee5dea4c1f95b37d1c0994
2016-02-15 18:02:13 +00:00
drh 3bff397248 Make the application-defined SQL function logic more compact and faster,
especially faster for the case where an application defines thousands of
new SQL functions.

FossilOrigin-Name: 7d49ed32a7262ec95d72ce520ab75402633386a1
2016-02-15 17:56:35 +00:00
drh 8e0cea1a5d Make sure the codec is invoked when overwriting existing frames of the
WAL file.  Yikes!

FossilOrigin-Name: f694e60a79024967a3f4574e3928f0b28589d381
2016-02-15 15:06:47 +00:00
drh 80738d9c3e Improvements to the application-defined function mechanism so that it is
more compact and runs faster, especially when the application defines
thousands of new SQL functions.

FossilOrigin-Name: 3201fbcc5105d23132e6b8b7ac825e66af4f8a39
2016-02-15 00:34:16 +00:00
mistachkin 8fd8413aaa Update a comment.
FossilOrigin-Name: e9753d9a2c1269050f886e6cb9bc9cba0a8df6ce
2016-02-14 00:14:35 +00:00
mistachkin fad3039c51 Enhance ability to debug out-of-memory errors.
FossilOrigin-Name: 6a9c4a3ebfb7cc0738ef6634440ccab44a21ff28
2016-02-13 23:43:46 +00:00
drh e75a9eb9bb Provide Sqlite3_SafeInit() and Sqlite3_SafeUnload() entry points on the TCL
interface, but have the always return TCL_ERROR, because the non-standard 
TCL builds on Macs require this.

FossilOrigin-Name: 37ec3015ec95035d31e3672f520908a0d36c9d67
2016-02-13 18:54:10 +00:00
drh aa622c1f4f Fix a documentation typo. No changes to code.
FossilOrigin-Name: d9c985878cf7c74a79ccdb9cf94a2d48fdde3e6f
2016-02-12 17:30:39 +00:00
drh f981093760 Remove an unused parameter from whereSortingCost().
FossilOrigin-Name: b5d771991686bf86a679b7dff9f16301a5029c8b
2016-02-12 00:13:38 +00:00
drh 4553f6ea91 Automatically disable FTS3 and FTS4 when building with SQLITE_OMIT_VIRTUALTABLE.
FossilOrigin-Name: 0beb32d20d8dd698138cdb2de6b6056de176754d
2016-02-11 22:41:04 +00:00
mistachkin 30470c5162 Enhance the MSVC makefile to enable building 'testfixture' fully from source code.
FossilOrigin-Name: f183e05990608d1a4002fa8a02c2d2eea6bc94b6
2016-02-11 21:59:02 +00:00
drh c50d5908b4 Remove the unexplained extra 3.0 cost factor for the B-tree sorting that is
done to implement DISTINCT in the absence of an index to help.

FossilOrigin-Name: 52571991fcfa2629e8a8354e0c9a62e749a092bf
2016-02-11 21:55:23 +00:00
mistachkin c04c54b842 Enhance the MSVC makefile to enable building 'testfixture' fully from source code.
FossilOrigin-Name: 54ff3a26bc45a1c3c0690119e8fd00b02e2a16ba
2016-02-11 21:28:16 +00:00
drh c41c132cf0 Minor simplifications deferred to the next release.
FossilOrigin-Name: a863729ccb75a56330460d3b7d558e639ad733d1
2016-02-11 13:30:36 +00:00
drh 05723a9e3c Add testcase() macros to the CHECK constraint avoidance logic. Avoid creating
an unused VDBE label during CHECK constraint code generation.

FossilOrigin-Name: 970881befd5da6cc837c474d6e917de0bf029350
2016-02-10 19:10:50 +00:00
drh 98bfa16db2 Fix to previous check-in: Make sure CHECK constraints involving the ROWID
are not ignored when the ROWID changes.

FossilOrigin-Name: 7782cb1dd5914b867caf5ff2f0f837407abbfd7a
2016-02-10 18:24:05 +00:00
drh 2a0b527b37 Omit unnecessary CHECK constraints in UPDATE statements, when none of the
columns referenced in the CHECK constraint are modified.

FossilOrigin-Name: 02fbdbc782dd98f080bf4482d820f36c0ef3d519
2016-02-10 16:52:24 +00:00
drh bdb00225ab Omit NOT NULL checks on unchanging columns in an UPDATE.
FossilOrigin-Name: 6a3aaedfb41735996470abbae6d3cd1be1f508b3
2016-02-10 16:03:20 +00:00
mistachkin 6d94555914 In the shell, use the appropriate string constant instead of a literal new-line.
FossilOrigin-Name: 61951b153d47096f30ebc8b84af408d9d709637c
2016-02-09 20:31:50 +00:00
drh 87a24aa1ca Improved auto-detection of EXPLAIN output in the shell.
FossilOrigin-Name: 6c6d7a6e89e67cdb0813d3eebb869aafb43d43ed
2016-02-09 20:04:07 +00:00
drh 700c252a72 Add auto-explain mode to the command-line shell. Default on. Auto-explain
tries to automatically detect EXPLAIN queries and format them appropriately.

FossilOrigin-Name: 1d62aa6b315df47cafb33da7ca79d3386a2fdd48
2016-02-09 18:39:25 +00:00
drh bbde018230 Code simplification: ALTER TABLE ADD COLUMN always upgrades the file_format
to 4 if is not there already.  No need to upgrade to only 2 or 3 since format
4 has now been supported for over 10 years.

FossilOrigin-Name: e1d8ec85546caeca3bb7a05ad962a2aed91194ce
2016-02-09 16:09:22 +00:00
drh 2fade2f791 Make sure every co-routines has its own set of temporary registers and does
not share temporaries, since a co-routine might expect the content of a
temporary register to be preserved across an OP_Yield.
Proposed fix for ticket [d06a25c84454a].

FossilOrigin-Name: ca72be8618e5d466d6f35819ca8bbd2b84269959
2016-02-09 02:12:20 +00:00
dan e064c4066c Disable the two-argument form of the fts3_tokenizer() SQL function unless the library is built with -DSQLITE_ENABLE_FTS3_TOKENIZER.
FossilOrigin-Name: e0eb217aca7e4aadf9c44ed20822b78139f7c83c
2016-02-08 19:40:17 +00:00
drh e96f361995 Changes to help the tokenizer run about 33% faster.
FossilOrigin-Name: a050e6f096d40aa5b6275797b96e62c228044f5a
2016-02-08 19:36:46 +00:00
drh 34dcee6544 Add code to get the tokenizer character-class logic working for EBCDIC.
FossilOrigin-Name: 04f7da77c13925c1f1e287f4579bb85518297d81
2016-02-08 19:15:48 +00:00
drh 8974331fc3 Demonstrate a much faster sqlite3GetToken() routine by using a lookup table
to map initial token characters into a character class.  This check-in does
not work for EBCDIC.  More optimization needed.

FossilOrigin-Name: 9115baa1919584dc8ca25bbff54d3b65748a9631
2016-02-08 02:30:50 +00:00
drh cc5f8a46b9 Add a utility program that looks for assert(), NEVER(), ALWAYS(), and
testcase() macros that have side-effects, and reports errors when they are
found.  Also fix a bug that this utility detected as it was being tested.

FossilOrigin-Name: b0b4624fc5d53bb0cc9fae7dad51984837d946ac
2016-02-06 22:32:06 +00:00
drh f5818aa560 Make sure variable declarations occur at the beginning of blocks, even
with SQLITE_DEBUG enabled.

FossilOrigin-Name: 2f7778e64d93ef237e23ceac01ea9808df5cf2a1
2016-02-06 19:48:50 +00:00
pdr bb3da060e3 Fix an assert() to have a test instead of a side effect
FossilOrigin-Name: a2952231ac7abe165ed070875728f752ae0be608
2016-02-06 14:14:43 +00:00
drh 575fad6500 Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority
cases where db is guaranteed to be not NULL.

FossilOrigin-Name: 0a802e96ab06e2643834b83671fa8353da1a348d
2016-02-05 13:38:36 +00:00
drh 98c7a12c00 OOM failures on sqlite3_errmsg16() in an app-defined function are no longer
benign.

FossilOrigin-Name: 9efb223f4ce8ccc00515f8f016f7c494c9ae5096
2016-02-05 04:50:27 +00:00
drh 17a936f84a Minor simplification of schema error reporting.
FossilOrigin-Name: a8846aeed9992c6c9f1c8bd6e996a4cbe891751e
2016-02-05 02:50:11 +00:00
drh b84e574c89 Further performance improvements that fall out of the mallocFailed changes.
FossilOrigin-Name: d94416ddca8f7ed727dd335d38155ea5945a86b7
2016-02-05 02:42:54 +00:00
drh 4a642b6060 Improvements to the way that OOM errors are processed.
FossilOrigin-Name: c3ef03478a5788c855b3aef385d43ae7f494f440
2016-02-05 01:55:27 +00:00
drh e514f651d0 Temporarily back out the 0.5% performance improvement from
check-in [632071bac5ff32].  Need a more elaborate solution that works
with reentrant virtual tables and SQL functions.

FossilOrigin-Name: 42736fb0adc82a0fb692850ff3dd3f9b501cbf1f
2016-02-04 19:50:33 +00:00
drh 4df86af329 Remove unnecessary sets of db->mallocFailed.
FossilOrigin-Name: b787165b25a240fd5b4a5c7f73b395f30213a1d7
2016-02-04 11:48:00 +00:00
drh 6d258995e6 Refinements to synchronous logic:
(1) Use PAGER_SYNCHRONOUS_FULL rather than the corresponding magic number.
(2) Honor SQLITE_NO_SYNC on xDelete calls with sync
(3) Count xDelete syncs during testing
(4) Fix #ifs on SQLITE_EXTRA_DURABLE so that directory syncs on journal
unlink are off by default.

FossilOrigin-Name: e3157cb5ad0d22758e766a95fb1463a7810f7d7f
2016-02-04 09:48:12 +00:00
drh fabe393da8 In the VDBE loop, only check for OOM errors at jumps rather than after every
opcode, for about a 0.5% performance increase.

FossilOrigin-Name: 632071bac5ff324a74cec9bdbba2deb60c0945e9
2016-02-03 22:14:38 +00:00
drh 19d720d3a7 Fix markup errors in comments used to generate the documentation - specifically
in the documentation on the OP_Seek opcode.

FossilOrigin-Name: ef252bc4b59d272460aaebdc0d4b8e347b0d25a8
2016-02-03 19:52:06 +00:00
drh 6841b1cb3d Add "PRAGMA synchronous=EXTRA" which syncs the directory containing the
rollback journal when the rollback journal is deleted in order to commit a 
transaction in DELETE mode.

FossilOrigin-Name: af92401826f5cf49e62c278f344ab75252a18da2
2016-02-03 19:20:15 +00:00