SQLite

Timeline
Login

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

100 ancestors of 8e3375313ebbf26b

2014-09-24
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
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
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
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
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: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:28
Performance improvement for affinity transformations on comparison operators. check-in: d7afdcba user: drh tags: trunk
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
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