/ Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

100 descendants and 100 ancestors of [8239c35a]

2014-10-01
12:01
Avoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_READ code. Fix for [e3a290961a6]. check-in: c3c15d20 user: dan tags: trunk
01:52
Merge the latest enhancements from trunk. check-in: 2695772c user: drh tags: sessions
01:46
Merge the latest enhancements from trunk. check-in: 2078454a user: drh tags: apple-osx
2014-09-30
21:24
Draw the TreeView debugging graphs using unicode box-drawing characters. Closed-Leaf check-in: 0efc6859 user: drh tags: box-character-graph
19:04
Improvements to the new syntax-tree output routines: Omit the "END SELECT" mark and instead terminate the graph at the last item. Increase the maximum tree depth to 100. check-in: 5ce05757 user: drh tags: trunk
17:31
Enable the query planner to deal with WHERE clauses that have OR terms nested within AND terms that are nested within OR terms. Also remove an unused function declaration. check-in: b6b28918 user: drh tags: trunk
17:03
Further enhancements to the "wheretrace" debugging output. check-in: 670993eb user: drh tags: trunk
14:14
Enhanced debug output for OR-logic in the query loop optimizer. check-in: 2e375eae user: drh tags: trunk
13:46
Show tree diagrams of data structures in the debugging output when the 0x100 bit is set on sqlite3WhereTrace or sqlite3SelectTrace. check-in: 92e0b4bd user: drh tags: trunk
12:33
Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(), and sqlite3TreeViewSelect(). check-in: 4ff51325 user: drh tags: trunk
2014-09-29
18:47
Add the OPFLAG_MULTICOLUMN flag to the OP_Column opcode. Rearrange OP_Column instructions to take advantage of the new flag for a small performance increase Leaf check-in: 5e5d6e86 user: drh tags: faster-OP_Column
15:42
Fix the header comment in sqlite3VdbeDeletePriorOpcode(). No changes to code. check-in: 7fb16268 user: drh tags: trunk
15:00
Ensure that the OP_Prev opcode verifies that content has not been deleted out from under the cursor. Fix for ticket [209d31e3161b9e9ff]. check-in: 414f0d6a user: drh tags: trunk
2014-09-27
20:45
Change the names of the stream interface APIs to be of the form "_strm" instead of "_str". In other words, added an "m" to the end, to try to make it clear that we are talking about a "stream" and not a "string. check-in: 1f44bfdc user: drh tags: sessions
19:51
Merge recent trunk changes (performance enhancements) into the sessions branch. check-in: 497367cb user: drh tags: sessions
18:18
Fix a segfault in the sessions module that could follow an OOM. check-in: 09985fa6 user: dan tags: sessions
16:33
Fix a segfault in the streaming API functions triggered by a very long table name. check-in: d2642543 user: dan tags: sessions
12:26
Improve sessions module documentation and comments. Fix some other code issues. check-in: bfc8bd80 user: dan tags: sessions
05:00
Reduce the amount of memcpy() required by defragmentPage(). check-in: 3edab995 user: drh tags: defrag-opt
2014-09-26
18:30
Add an assert() to verify the last-row-id for the database just prior to calling a SQL function. check-in: d026f0c9 user: mistachkin tags: trunk
10:52
Fix a problem with concatenating patchsets containing DELETE and INSERT operations on the same row. check-in: 4d8537ea user: dan tags: sessions
02:41
Fix the "PRAGMA integrity_check" command so that it avoids formatting error message context messages until it actually needs to generate an error message. This avoids much formatting, and hence greatly improves the performance of "PRAGMA integrity_check" in the common case when there are no errors. It also makes the code a little smaller. check-in: 83913515 user: drh tags: trunk
01:10
If an SQL function makes a recursive call to do an INSERT into the same database, make sure that the last_insert_rowid() for that INSERT is recorded. check-in: e93aecc0 user: drh tags: trunk
2014-09-25
20:43
Add streaming version of sqlite3changeset_concat(). check-in: 88eb6656 user: dan tags: sessions
17:42
Minor code reformatting and comment change, to improve clarity. No logic changes. check-in: baeb72a3 user: drh tags: trunk
14:54
Add streaming version of sqlite3changeset_invert() to sessions module. check-in: 8ded6a46 user: dan tags: sessions
13:17
Simplifications to the SQL function and aggregate calling procedures. check-in: 3467049a user: drh tags: trunk
12:31
Simplification to the random rowid picking logic that begins running when the maximum possible rowid has already been used. check-in: 1330c72e user: drh tags: trunk
11:08
Still more performance enhancements to the LIKE and GLOB operators. check-in: 6c8924ca user: drh tags: trunk
03:51
More performance optimization for the LIKE and GLOB operators. check-in: 5ab1023d user: drh tags: trunk
02:44
Change that might allow SQLite to build and work using the EBCDIC character set. check-in: ef30e035 user: drh tags: trunk
00:56
Size reduction and performance improvement in the LIKE and GLOB operators. check-in: b2c89ef4 user: drh tags: trunk
2014-09-24
19:47
Have each open database allocate its pTmpSpace when the first write cursor is opened, rather than on each insert or delete, for a small space savings and performance boost. check-in: 99323552 user: drh tags: trunk
18:31
Small performance and size optimization for btreeUnlockIfUnused(). check-in: 13c746f8 user: drh tags: trunk
17:13
Add streaming version of sqlite3changeset_apply(). Tests and fixes for the same and sqlite3changeset_start_str(). check-in: b917fc14 user: dan tags: sessions
13:20
Do not allow parameters in a DEFAULT clause of a CREATE TABLE statement. Ticket [78c0c8c3c9f7c1]. check-in: 1ad2bc1e user: drh tags: trunk
04:38
Experiment using linear interpolation, instead of a strict binary search, when looking for integer-keyed rows on a single b-tree page. The experiment was not successful. The number of key comparisons is reduced by about 15%, but the added complexity of the search logic causes an overall reduction in performance. The patch is saved for historical reference only. Closed-Leaf check-in: c705cf85 user: drh tags: linear-interpolation
02:05
Have the clearCell() routine return the cell size to the caller, rather than have the caller make a separate call to cellSizePtr(). check-in: f21d2175 user: drh tags: trunk
01:23
Shorten all lines of source code in btree.c to at most 80 characters. No logical changes. check-in: 5dd41cdb user: drh tags: trunk
00:59
Add the MemPage.noPayload boolean and use it to help cellSizePtr() and btreeParseCellPtr() run faster. check-in: 8e337531 user: drh tags: trunk
2014-09-23
23:12
Remove an unused C-preprocessor macro. No functional changes to the code. check-in: f480582c user: drh tags: trunk
22:36
Avoid calling btreeParseCellPtr() from within fillInCell() since most of what btreeParseCellPtr() computes is ignored by fillInCell(). Instead, have fillInCell() compute the values it needs inline. Performance improvement. check-in: 4147f667 user: drh tags: trunk
21:25
Simplify the CellInfo structure for a size reduction and performance improvement. check-in: bf59df66 user: drh tags: trunk
20:39
Begin adding 'streaming' APIs to sessions module. This is a work in progress. check-in: 3c7d3d95 user: dan tags: sessions
18:30
Add the "multiplex_truncate" PRAGMA to the multiplexor extension, for querying and setting the truncate flag on a database connection. check-in: d2962a5f user: drh tags: trunk
01:40
Adjust skip-scan cost estimates slightly so that a full table scan is preferred over a skip-scan to a column with only two distinct values. check-in: ae9a42b2 user: drh tags: trunk
2014-09-22
20:38
Fix to payload size overflow detection in the cellSizePtr() change of the previous check-in. check-in: 76097440 user: drh tags: trunk
19:51
Size reduction and substantial performance increase for cellSizePtr(). check-in: bc8bbf32 user: drh tags: trunk
14:30
Tune the query planner to be more aggressive about using automatic indexes on views and subqueries for which there is not opportunity to declare a persistent schema index. check-in: 41de1643 user: drh tags: trunk
03:22
Disable shared memory operations using the unix-nolock VFS. check-in: 10a6e510 user: drh tags: trunk
2014-09-21
23:08
Merge in all recent changes from trunk. check-in: 3967ebe8 user: drh tags: apple-osx
22:49
Merge all recent trunk changes into the sessions branch. check-in: 6406b77f user: drh tags: sessions
22:31
Correctly handle an ORDER BY clause on an outer query when applying the compound-subquery flattening optimization. Ticket [d11a6e908f]. Also add the SQLITE_ENABLE_SELECTTRACE option for additional debugging and analysis information about select statement processing. check-in: d5880abd user: drh tags: trunk
20:31
Add test cases for ticket [d11a6e908f]. Closed-Leaf check-in: 9683e001 user: drh tags: select-trace
17:51
Add the "showauth" extension in ext/misc. check-in: 28d52c1c user: drh tags: select-trace
00:27
Improved ".selecttrace" output. check-in: c0b61f70 user: drh tags: select-trace
2014-09-20
20:38
Candidate fix for [d11a6e908f]. check-in: 89398880 user: dan tags: select-trace
20:24
Fix the SELECTTRACE_ENABLE macro so that it doesn't cause problems for testfixture. Add new SELECTTRACE() calls. check-in: f1ba68f1 user: drh tags: select-trace
18:18
Enable SELECT query planning tracing when compiled with SQLITE_ENABLE_SELECTTRACE and either SQLITE_DEBUG or SQLITE_TEST. check-in: cbe0cf9d user: drh tags: select-trace
00:35
Fix the usage of the _GNU_SOURCE and _BSD_SOURCE macros in the main internal header file, sqliteInt.h. Set HAVE_STRCHRNUL to 1 by default on Linux only. check-in: 59e2c9df user: drh tags: trunk
00:29
Only enable HAVE_STRCHRNUL by default on linux, as that is the only place it appears to work by default. Closed-Leaf check-in: 0fac2c04 user: drh tags: sqliteIntMacros
00:02
Revise macro usage in 'sqliteInt.h'. check-in: 35db3e2f user: mistachkin tags: sqliteIntMacros
2014-09-19
22:44
Simplify two conditionals and add testcase() macros to the affinity transform logic in the comparison operators. check-in: 544664ca user: drh tags: trunk
22:30
Recognize the invariant that a Mem object cannot be MEM_Dyn and have a non-zero szMalloc at the same time. Enforce this with assert()s and exploit it in the sqlite3VdbeMemClearAndResize() routine for a performance increase. check-in: 3b21cf2b user: drh tags: trunk
22:01
Tighten the conditions under which applyNumericAffinity() be called and add assert() statements to prove that it is never called otherwise. check-in: e996ca32 user: drh tags: trunk
20:13
Fix the affinity on inserts into the ANALYZE tables. Change the affinity characters to be upper case, to make the P5 parameter of comparison operators easier to read. check-in: 3f3ca76a user: drh tags: trunk
19:43
Do not attempt to extend the temp file if VFS version 3 is not supported and hence memory mapped I/O is unavailable. check-in: 3ab20ba1 user: drh tags: trunk
19:00
Make the "nolock" VFS on unix a version-3 VFS so that the sorter can use memory-mapped I/O. check-in: 3db78d61 user: drh tags: trunk
18:08
Add further tests to ota5.test. Add "ota.test", for running all ota tests. check-in: 95ffdaa5 user: dan tags: ota-update
16:56
Remove a local variable from the OP_Column implementation, resulting in a modest size reduction and a performance increase. check-in: 6199760d user: drh tags: trunk
16:13
Small size reduction and performance increase for releaseMemArray(). check-in: 24cd32d6 user: drh tags: trunk
16:02
Updates to comments. No code changes. check-in: 9b42c3da user: drh tags: trunk
15:28
The OP_Column opcode runs faster and is smaller by manually in-lining the code that persists string values in the output register. check-in: 36b613cc user: drh tags: trunk
15:06
Add extra tests for the ota extension. check-in: 1e468fe1 user: dan tags: ota-update
04:42
Add the sqlite3VdbeMemClearAndResize() function. Fix a sorting-index prefilter problem. check-in: 987a7a21 user: drh tags: trunk
02:01
Make sure that the sorting-index pre-filter recognizes that a rowid reference might be sortable. This fixes a performance regression. Closed-Leaf check-in: 72727b68 user: drh tags: Cplusplus-comment
00:43
Add the sqlite3VdbeMemClearAndResize() interface to be used in place of sqlite3VdbeMemGrow(). A C++ style comment was left in this check-in by mistake, and so it has been moved into a branch to avoid problems in any future bisects on windows. check-in: 5b9b8987 user: drh tags: Cplusplus-comment
2014-09-18
21:25
Add the Mem.szMalloc element to the Mem object and use it to keep track of the size of the Mem.zMalloc allocation. check-in: 9c09ac35 user: drh tags: trunk
18:55
Correct typos in comments. No changes to code. check-in: 55879932 user: mistachkin tags: trunk
17:57
Update the ota extension to support SQLITE_ENABLE_8_3_NAMES builds. check-in: 718da6de user: dan tags: ota-update
17:52
Merge the Mem.r value into the MemValue union as Mem.u.r. Hence, a Mem can now store an integer or a real but not both at the same time. Strings are still stored in a separate element Mem.z, for now. check-in: 4c8c89d7 user: drh tags: trunk
16:38
Use quotes instead of angle-brackets to include sqlite3.h from sqlite3ota.h. check-in: fce9c6cc user: dan tags: ota-update
16:28
Performance improvement for affinity transformations on comparison operators. check-in: d7afdcba user: drh tags: trunk
15:57
Remove some c++isms from sqlite3ota.c. check-in: 0da1862b user: dan tags: ota-update
15:22
Add new file ext/ota/README.txt, containing notes regarding the implementation of the ota extension. check-in: 3c6e1cbb user: dan tags: ota-update
14:48
Add an API to query an ota handle for the total number of key/value operations performed so far. check-in: e3943fa7 user: dan tags: ota-update
14:36
Since numeric affinity is the most common case, check it first. Interchange the NONE and TEXT affinity codes for easier checking of no affinity. check-in: 4ef4c9a7 user: drh tags: trunk
11:31
Merge latest trunk changes with this branch. check-in: 67ea2979 user: dan tags: ota-update
09:59
Modify an assert() within sqlite3PagerWalFramesize(), a function only ever used by zipvfs, to account for recent zipvfs changes. check-in: 3bd7c1b2 user: dan tags: trunk
02:20
Fix harmless warnings on 32-bit MSVC builds. check-in: 5192f964 user: drh tags: trunk
01:50
Make sure of the strchrnul() library function on platforms where it is available. check-in: ef1aa10b user: drh tags: trunk
01:29
Merge micro-optimizations into trunk after fixing the build on MSVC. Performance now shows 7.58% faster than the 3.8.6 release on x64 with gcc 4.8.1 and -Os. check-in: 1de558bc user: drh tags: trunk
01:21
Fix compiler warnings and change the nullMem structure initializer into a format that MSVC can understand. Closed-Leaf check-in: 163bfae8 user: drh tags: micro-optimizations
2014-09-17
23:37
Performance improvement and slight size reduction to the comparison operators in the VDBE. check-in: 14052a7d user: drh tags: micro-optimizations
16:41
In the Mem object, stop requiring that Mem.xDel be NULL when the MEM_Dyn bit is clear. Also reduce the amount of initialization of Mem objects. All for a small size reduction and performance increase. check-in: fdddb477 user: drh tags: micro-optimizations
14:52
Improved interface to the Mem object handling. Small size reduction and performance increase. check-in: 4e437844 user: drh tags: micro-optimizations
2014-09-16
21:54
Continuing cleanup of memory register memory allocation handling. check-in: 2598aedc user: drh tags: micro-optimizations
20:05
Make sure registers are cleared properly prior to being used to store the result of an OP_Column operator. check-in: 78fb8838 user: drh tags: micro-optimizations
18:22
Simplification of the OP_Column logic for the case of rows with overflow. check-in: f7367803 user: drh tags: micro-optimizations
14:55
Remove an unused parameter from sqlite3VdbeIdxRowid(). This is cosmetic only as the C-compiler optimizers were already omitting this parameter on amalgamation builds. check-in: a10a6bba user: drh tags: micro-optimizations
14:37
Reduce the number of arguments to RecordCompare functions from 4 to 3, resulting in a small performance increase. check-in: 8239c35a user: drh tags: micro-optimizations
14:16
Reorder the elements of the Mem object for a small size reduction and performance improvement. Moved into a branch because MSVC is unable to handle named structure initializer on nullMem. check-in: 0be3019e user: drh tags: micro-optimizations
13:30
Changes to sqlite3VdbeRecordUnpack() to make it slightly smaller and faster. check-in: 8fb90da7 user: drh tags: trunk
03:24
Performance improvement to the sqlite3MemCompare() routine by factoring out sqlite3BlobCompare(). check-in: 20ed2321 user: drh tags: trunk
2014-09-15
16:53
Fix tool/showwal.c so that it handles WAL files that contain 64KiB pages. check-in: 4060efb6 user: dan tags: trunk
16:50
Avoid attempting to call the xFetch() method of an sqlite3_io_methods object with a version number less than 3. check-in: dedaa6fb user: dan tags: trunk
14:59
Remove the EXPENSIVE_ASSERTS in pcache.c having to do with the pSynced field of the Pcache object, as they are incorrect, as revealed by recent pcache enhancements. check-in: 69a64560 user: drh tags: trunk
14:46
Do not flatten aggregate subqueries that contain min() or max() functions so that if the min()/max() are discarded by the outer query, they still function and cause non-aggregate expression to be evaluated on the minimal or maximal row. check-in: 0bdf1a08 user: drh tags: trunk
11:14
Adjust comments to show that subquery flattening restriction (10) was removed from the code back in 2005. This is a comment change only. check-in: 4ff0eb96 user: drh tags: trunk
2014-09-12
20:30
Small performance improvement to the dirty list handling in the pager. check-in: b332a84d user: drh tags: trunk
17:41
Simplify the way the column cache is managed around OP_Move instructions. check-in: 32055623 user: drh tags: trunk
04:28
Fix a problem with parser memory allocation on 32-bit systems. check-in: 2f69a1fa user: drh tags: trunk
2014-09-11
23:34
Fix an issue with sqlite3_bind_text64() with the SQLITE_UTF16 encoding parameter. Remove some unreachable code from the text64() and blob64() implementation. check-in: 34292b08 user: drh tags: trunk
18:44
Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_text64(), sqlite3_result_blob64(), and sqlite3_result_text64(). Add the sqlite3_msize() interface. Internal memory allocation routines now use 64-bit unsigned length parameters for safety. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. check-in: 7e4978c0 user: drh tags: trunk
17:27
Add the SQLITE_USER_AUTHENTICATION extension to the trunk. This extension is disabled by default. Special compilation procedures are need to enable it. check-in: 65884d4f user: drh tags: trunk
17:14
Clean up some #includes in the extension API implementation. Closed-Leaf check-in: b149ef5c user: drh tags: user-auth
16:36
Suppress the potential schema error that occurs when a non-user-auth SQLite library tries to parse the sqlite_user table definition in a user-auth database. check-in: cda33c1e user: drh tags: user-auth
16:19
Enhance the sqlite3_user_add() interface to initialize the user authentication logic. Add test cases for the extra argument on the end of the authorizer callback. check-in: 842c6da8 user: drh tags: user-auth
15:25
All interfaces working and tested. check-in: 96ea5c0b user: drh tags: user-auth
14:56
Get the sqlite3_user_delete() interface working. check-in: 974a9c65 user: drh tags: user-auth
14:40
Fix the sqlite3_user_change() interface so that it does allow a non-admin user to change their own password. check-in: 52d440c7 user: drh tags: user-auth
14:01
Move user authentication blocking from sqlite3_prepare() over to the table lock generator, thus allowing SQL statements (like "PRAGMA locking_mode") that do not touch database content to run prior to authentication. check-in: 70121e7c user: drh tags: user-auth
13:44
Add support for the extra parameter on the sqlite3_set_authorizer() callback and support for failing an ATTACH with an authentication-required database using bad credentials. The extension is now feature complete, but much testing and bug-fixing remains. check-in: 596e728b user: drh tags: user-auth
00:27
Reorder parameters on the sqlite3_user_*() interfaces for consistency. Add the first TCL test cases. check-in: 2f6d8f32 user: drh tags: user-auth
2014-09-10
22:46
Complete the implementation of the various APIs. Fix several problems. This is another incremental check-in that does not completely work. check-in: 4eaaa7fa user: drh tags: user-auth
19:01
Add the ".user" shell command and implement the sqlite3_user_add() routine. Incremental check-in. The code compiles but does not work. check-in: a0455f9d user: drh tags: user-auth
17:34
Further ideas on user authentication. Not yet working code. check-in: c8171ecd user: drh tags: user-auth
2014-09-09
20:30
Change the name of the _texte64() interfaces to just _test64(), without the "e". Closed-Leaf check-in: 6ab76c5f user: drh tags: 64-bit-lengths
18:41
Add new interfaces to the loadable extension mechanism. check-in: 18d80cbc user: drh tags: 64-bit-lengths
17:27
Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_texte64(), sqlite3_result_blob64(), and sqlite3_result_texte64(). Internal memory allocation routines also now use 64-bit unsigned length parameters for safety. Also add the sqlite3_msize() interface. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. check-in: 94954850 user: drh tags: 64-bit-lengths
14:47
Non-working preliminary implementation attempts on user authentication. check-in: 8440f093 user: drh tags: user-auth
2014-09-06
17:06
Fixes to os_unix.c to support database (and other) files larger than 2GiB on Android. check-in: ad7063aa user: dan tags: trunk
16:52
Merge latest trunk changes with this branch. Closed-Leaf check-in: 9dca7ce5 user: dan tags: android-large-filles
16:49
Fixes to os_unix.c to support database (and other) files larger than 2GiB. check-in: e7fae33c user: dan tags: android-large-filles
16:39
Fix typos in comments. No code changes. check-in: e62aab5e user: peter.d.reid tags: trunk
03:38
Do not record a page-size change if the attempt to change the page size failed due to an OOM error. check-in: 4d4fb197 user: drh tags: trunk
03:16
Add the sqlite3_memdebug_title_count global variable, used during debugging to count the number of invocations of test_memdebug_settitle. By examining this variable in the debugger after a segfault, one can then set a breakpoint on test_memdebug_settitle that will fire just before the problem. check-in: 27e3ca3e user: drh tags: trunk
02:00
Fix a couple of typos in comments. No changes to code. check-in: a758465e user: mistachkin tags: trunk
01:35
Query planner heuristic update: When doing a full table scan on a table that has an equality constraint on an unindexed column, do not allow the estimated number of output rows to be greater than half the total number of rows in the table. check-in: 73954f93 user: drh tags: trunk
2014-09-05
05:58
Fix harmless compiler warning. check-in: 73311906 user: mistachkin tags: trunk
2014-09-01
23:06
Update comments in the ANALYZE command that describe how the Stat4Accum objecct is passed around within the VDBE. No changes to functional code. check-in: 9779c7a9 user: drh tags: trunk
22:34
Avoid a confusing (though correct) argument to the sqlite3_result_blob() function in the implementation of ANALYZE. check-in: 4cae93f8 user: drh tags: trunk
19:29
For sqlite3_win32_is_nt(), assume WinRT is NT-based and revise #ifdef ordering to prefer the ANSI version of GetVersionEx, when available. check-in: be0a0372 user: mistachkin tags: trunk
18:21
Tweak the documentation for SQLITE_LIMIT_WORKER_THREADS. No changes to executable code. check-in: 672e7387 user: drh tags: trunk
17:36
Add support for using separate worker threads to speed large sorts. The SQLITE_MAX_WORKER_THREADS and SQLITE_DEFAULT_WORKER_THREADS compile-time options and the SQLITE_LIMIT_WORKER_THREADS argument to sqlite3_limit() and the "PRAGMA threads=N" pragma are added. check-in: b1c0f0bc user: drh tags: trunk
13:37
Attempt to make the xDelete method of the unix VFS more robust on VxWorks. check-in: b0f6b91f user: drh tags: trunk
13:29
Micro-optimizations in sqlite3BtreeNext() and sqlite3BtreePrevious(). check-in: 839c7996 user: drh tags: trunk
01:16
Fix harmless compiler warnings for MSVC. check-in: 3ef32461 user: mistachkin tags: trunk
2014-08-30
15:49
In the command-line shell, added options --lookaside, --pagecache, and --scratch used to configure auxiliary memories. check-in: f61db04b user: drh tags: trunk
2014-08-29
19:06
Disable worker threads when SQLITE_THREADSAFE=0. Set the default compile-time maximum number of worker threads to 8 and honor the SQLITE_DEFAULT_WORKER_THREADS compile-time constant (which defaults to 0). Closed-Leaf check-in: 33fa0410 user: drh tags: threads
18:06
Fix the speedtest1.c test program to set the worker thread count using the threads pragma. check-in: 2ab4b5ad user: drh tags: threads
16:20
Add SQLITE_LIMIT_WORKER_THREADS for controlling the maximum number of worker threads. check-in: 1b598c68 user: drh tags: threads
14:40
Merge recent performance enhancements from trunk onto the threads branch. check-in: 35c44a3c user: drh tags: threads
14:20
Not a fault after all, rather a testing mistake. Move this change back to trunk. Was: Avoid an unnecessary OP_Move operation for expression subqueries. check-in: 2a74129a user: drh tags: trunk
12:29
Contains a fault. Was: Avoid an unnecessary OP_Move operation for expression subqueries. Closed-Leaf check-in: 462f42af user: drh tags: mistake
2014-08-28
19:38
Improved WHERETRACE messages for the estimated output row reductions from range scans. check-in: fdd478bb user: drh tags: trunk
17:30
Fix a problem causing an inaccurate stat4-based estimate for the number of rows visited by a range scan. check-in: a9daf3ac user: drh tags: trunk
17:20
Add a testcase() macro to help verfity the row estimation logic. Closed-Leaf check-in: 6ba60952 user: drh tags: stat4-experimental
16:01
Fix a problem causing an inaccurate stat4-based estimate for the number of rows visited by a range scan. check-in: 052d89b5 user: dan tags: stat4-experimental
13:42
Fix a formatting error ("%d" needed in place of "%g") on a WHERETRACE macro inside of the query planner. This fix applies to debugging logic only. check-in: c931ca2b user: drh tags: trunk
2014-08-27
23:18
Refactor the sqlite3PcacheFetch() routine into three separate routines, which are significantly faster overall and about 100 bytes smaller in size as well. check-in: bdb6e497 user: drh tags: trunk
17:53
Add a VDBE synopsis comment for clarification. check-in: 029a6dc7 user: mistachkin tags: trunk
17:48
Add a missing ticket number to a comment in index7.test. check-in: d8b1c433 user: dan tags: trunk
17:37
When determining whether or not a partial index is usable, do not assume that the cursor number assigned to each table in the query is the same as its index in the FROM clause. Fix for ticket [98d973b8f5]. check-in: fcebca16 user: dan tags: trunk
14:14
In the sqlite3_context object, keep a pointer to the result value rather than storing the result value in the sqlite3_context object and using memcpy() to move the value back into its register after the function returns. This runs faster and saves over 500 bytes of code space. check-in: 6c1ee3e3 user: drh tags: trunk
03:28
Factor out the exception paths from sqlite3ValueToText() into a separate function so that the main routine is much faster for the common case of no required type or encoding conversions. check-in: 1624916c user: drh tags: trunk
00:50
Performance enhancement in sqlite3VdbeMemNulTerminate(). check-in: f94cacc3 user: drh tags: trunk
2014-08-26
15:06
Change the page cache so that a new sqlite3_pcache object is allocated as soon as the page cache is opened, not delayed until the first fetch request. This give a noticable performance boost. The interface between pager and the page cache has changed slightly, which might break ZIPVFS. check-in: f1f94a97 user: drh tags: trunk
2014-08-25
23:44
Remove the SQLITE_CONFIG_WORKER_THREADS configuration parameter. The number of worker threads in the sorter is now determined only by the PRAGMA threads=N setting. check-in: e3305d4b user: drh tags: threads
22:43
Merge the CAST operator enhancements from trunk. check-in: 6c8f86e4 user: drh tags: threads
22:37
Add an assert() and five testcase() macros to the OP_Cast opcode implementation to help verify that it is fully tested. check-in: af364cce user: drh tags: trunk
21:11
Minor changes to the CAST logic to make it more testable. check-in: 1ad70ec5 user: drh tags: trunk
20:21
Test cases added for using unary "+" and CAST operators on the RHS of range constraints and verifying that STAT3/4 can use those constraints. check-in: 42505e5a user: drh tags: trunk
20:11
Allow CAST expressions and unary "+" operators to be used in the DEFAULT argument of an ALTER TABLE ADD COLUMN and to be understand on the RHS of range constraints interpreted by STAT3/4. This involves a rewrite of the implementation of the CAST operator. check-in: 91d8a8d0 user: drh tags: trunk
18:29
In cases where stat4 data is available but cannot be used because the rhs of a range constraint is too complex a expression, fall back to using the default estimates for number of rows scanned. check-in: e06dc6f0 user: dan tags: trunk
15:13
Query or change the maximum number of worker threads allowed on each database connection separately using the "PRAGMA threads" command. check-in: 29c5e8a7 user: drh tags: threads
13:27
Merge the recent performance enhancements implemented on trunk into the threads branch. check-in: dfdc900f user: drh tags: threads
11:33
Remove the pager_lookup() function since it is redundant with sqlite3PagerLookup(). check-in: 54164ce4 user: drh tags: trunk
11:20
Change the name of the VdbeMemRelease() macro to VdbeMemReleaseExtern() to more accurately reflect what it does. Performance enhancement to the sqlite3VdbeMemRelease() function. check-in: 3ca5846d user: drh tags: trunk
2014-08-24
02:53
The sqlite3VdbeChangeEncoding() routine goes about 3x faster if the sqlite3VdbeMemTranslate() subroutine is not inlined. check-in: 0c7e1b87 user: drh tags: trunk
01:32
Patch the sqlite3PagerWrite() method in the Pager to run a bit faster. check-in: c63311e2 user: drh tags: trunk
2014-08-23
23:15
Faster implementation of pcache1Fetch() check-in: 0371cc3b user: drh tags: trunk
20:25
Faster implementation of the sqlite3ApiExit() routine. check-in: bd41d394 user: drh tags: trunk
19:42
Another memory allocator performance optimization. check-in: 6da6f46d user: drh tags: trunk
19:08
Fix a variable-declaration after code problem in btree.c. Harmless in GCC and CLANG but unacceptable for MSVC. check-in: 45abd5c0 user: drh tags: trunk
19:04
Changes to sqlite3ScratchMalloc() that make the entire memory allocation interface a little faster and about 100 bytes smaller. check-in: f83daa16 user: drh tags: trunk
18:17
Make the implementation of the sqlite3_aggregate_context() interface faster for second an subsequent invocations. This helps all aggregate functions to perform better. check-in: 802148f3 user: drh tags: trunk
17:41
Improved performance in the type handling of arithmetic operators in the VDBE. check-in: 0c0a6039 user: drh tags: trunk
17:21
Performance optimization in the applyAffinity() logic inside the VDBE. check-in: 25f2246b user: drh tags: trunk
2014-08-22
23:33
Another performance tweak: Split the sqlite3BtreeCursorHasMoved() routine into two with the second routine named sqlite3BtreeCursorRestore(). The first now only reports whether or not the cursor has moved and the second tries to restore the cursor. This allows the sqlite3VdbeCursorMoveto() routine to be refactored to avoid stack pointer movements, for a noticable performance gain. check-in: ce123b5c user: drh tags: trunk
22:26
Factor the saveAllCursors() routine of btree.c into two separate routines, for a noticable performance improvement. check-in: 3eb08439 user: drh tags: trunk
21:58
Performance enhancements in the b-tree mutex logic. check-in: 89145306 user: drh tags: trunk
20:35
Combine the pcacheAddToDirtyList() and pcacheRemoveFromDirtyList() routines into a single pcacheManageDirtyList() routine. The resulting binary code is slightly faster and a few bytes smaller. check-in: 6bcf1af6 user: drh tags: trunk
19:12
Revise #ifdef ordering to prefer the ANSI version of GetVersionEx, when available. Closed-Leaf check-in: 9fe0f075 user: mistachkin tags: winrt
18:48
Performance enhancement in sqlite3PutVarint(). check-in: a929be55 user: drh tags: trunk
18:00
Split the sqlite3Error() routine into sqlite3Error() and sqlite3ErrorWithMsg(), for a slight size reduction and performance increase. check-in: cf561d1f user: drh tags: trunk
15:40
Performance improvement in the printf() logic by avoiding unnecessary stack pointer movement. check-in: f7f2160d user: drh tags: trunk
15:19
Improve the performance and reduce the size of the sqlite3VdbeSerialGet() routine by avoiding the use of stack. check-in: ebc10e46 user: drh tags: trunk
14:56
Handle the 4-byte integer case in the stackless routine. Closed-Leaf check-in: 3f55484e user: drh tags: experimental
14:34
Get the sqlite3VdbeSerialGet() routine to run faster by avoiding the use of local variables. check-in: 8267d821 user: drh tags: experimental
13:22
Change a while-loop into a do-loop in sqlite3VdbeSerialPut() for a small size reduction and performance improvement. check-in: 750bb0a0 user: drh tags: trunk