SQLite

Timeline
Login

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

104 check-ins using file src/analyze.c version 317dbaf3

2017-01-31
21:22
R-TREE optimization: unwrap the coordinate decode loop in rtreeCallbackConstraint(). check-in: 0bf7b518 user: drh tags: trunk
19:10
Very small performance improvements and size reductions in sqlite3VdbeExec() and blobSeekToRow(). check-in: 85dddf2b user: drh tags: trunk
19:02
Simplifications to blobSeekToRow(). Closed-Leaf check-in: 495ea824 user: drh tags: micro-optimizations
17:31
Add a speed-test program for the sessions module. Closed-Leaf check-in: 25f1275f user: dan tags: preupdate-without-rowid
16:49
Remove a C99-style comment. Fixes to the kvtest-speed.sh script. check-in: 91eb6b62 user: drh tags: micro-optimizations
16:43
Remove another unnecessary local variable initialization from sqlite3VdbeExec() check-in: 2361b03b user: drh tags: micro-optimizations
16:34
Remove an unnecessary initialization of the pOp variable in sqlite3VdbeExec(). check-in: 02f6293f user: drh tags: micro-optimizations
15:29
Add the "stat" command to kvtest.c. Also add the --variance option to the "init" command. Add the tool/kvtest-speed.sh script used for doing performance testing on key/value access patterns. check-in: b63deed6 user: drh tags: trunk
15:27
Fix a typo in a comment. check-in: bd22bf9c user: drh tags: trunk
14:08
Merge latest trunk with this branch. check-in: 4a592abb user: dan tags: preupdate-without-rowid
12:41
Further minor enhancement and size reduction in sqlite3ExprAssignVarNumber(). check-in: eacfdcf2 user: drh tags: trunk
03:52
Performance optimization in sqlite3ExprAssignVarNumber(). check-in: 5987ca1f user: drh tags: trunk
2017-01-30
19:44
Experimental change to invoke the preupdate hook when WITHOUT ROWID tables are written. check-in: 856f8604 user: dan tags: preupdate-without-rowid
11:38
Fix building with SQLITE_OMIT_FOREIGN_KEY defined. check-in: e93d2c49 user: dan tags: trunk
2017-01-28
20:46
In the amalgamation, allocate the parser engine object from stack rather than from heap, for improved performance. This only happens in the amalgamation, since otherwise the sqlite3RunParser() routine does not know the object size. check-in: 4fe879d4 user: drh tags: trunk
19:53
Fix a couple comment typos. No changes to code. check-in: 2a2e7d86 user: mistachkin tags: trunk
19:45
Avoid redundant table b-tree cursor seeks in UPDATE statements that use the two-pass strategy. check-in: dc555b10 user: dan tags: trunk
15:26
Updates to the sqlite3_blob documentation. No changes to code. check-in: 426b440a user: drh tags: trunk
13:40
In the speed-check.sh script, automatically invoke "fossil test-diff --tk" on the cachegrind output against trunk, if not generating a trunk run. check-in: aa1ab371 user: drh tags: trunk
06:50
Fix a typo in the docs for sqlite3_update_hook(). check-in: 7c029655 user: dan tags: trunk
2017-01-27
19:27
Add the sha1.c loadable extension that implements the sha1() and sha1_query() SQL functions. check-in: 24e77c1c user: drh tags: trunk
17:02
Fix a problem causing the pre-update hook to be invoked by DROP TABLE statements. check-in: fbb6bf1b user: dan tags: trunk
16:39
Merge all recent trunk enhancements into the apple-osx branch. check-in: 0e14fe1b user: drh tags: apple-osx
16:24
Merge all recent enhancements from trunk. check-in: fe86ff54 user: drh tags: est_count_pragma
13:14
Alternative ICU fix (compare to check-in [50e60cb4]) that avoids casting integers to pointers. check-in: d9752c8f user: drh tags: trunk
01:52
In the command-line shell, enhance the ".mode" command so that it restores the default column and row separators for modes "line", "list", "column", and "tcl". check-in: 58f02e6e user: drh tags: trunk
01:25
Another micro-optimization in accessPayload(). Slightly smaller and faster. check-in: c012619b user: drh tags: trunk
01:13
Performance optimization in accessPayload(). check-in: ebb1fd98 user: drh tags: trunk
00:31
Simplify the accessPayload() routine so that it always populates the overflow page cache. In the one case where populating the page cache can lead to problems, simply invalidate the cache as soon as accessPayload() returns. This simplification reduces code size and helps accessPayload() to run a little faster. This backs out the eOp==2 mode of accessPayload() added by check-in [da59198505]. check-in: 68e7a8c6 user: drh tags: trunk
2017-01-26
21:30
Remove an unreachable branch in the error handling logic for sqlite3BtreePayloadChecked(). check-in: 293bf3ed user: drh tags: trunk
18:00
Improvement to the OP_Permutation opcode to prevent it from using CPU cycles for initialization in prepared statements that do not use that opcode. check-in: b4a98f65 user: drh tags: trunk
17:26
Remove the obsolete lastRowid cache from the sqlite3VdbeExec() for a size reduction and performance improvement. check-in: b4803184 user: drh tags: trunk
17:11
Performance optimization in sqlite3VdbeCloseStatement(). check-in: 1e96e5ec user: drh tags: trunk
16:54
Performance optimization to sqlite3_blob_read(). check-in: 7459f4b7 user: drh tags: trunk
16:27
Minor simplification and performance optimization for Direct Overflow Read. check-in: 3e96d6ef user: drh tags: trunk
02:26
Make SQLITE_DIRECT_OVERFLOW_READ work for in WAL mode as long as the page being read is not in the the -wal file. check-in: 9879be18 user: drh tags: trunk
01:54
Enhancements to the kvtest utility program. Add the --jmode option. Improved output formatting. check-in: 62a4851c user: drh tags: trunk
00:58
Modify the ICU extension to use a static initializer, as VC++ complains about a dynamic initialization. Maybe the dynamic structure initialization is a GCC extension. This fixes a problem identified on the SQLite mailing list by Ziemowit Laski. check-in: 50e60cb4 user: drh tags: trunk
2017-01-25
20:55
Trim NULL values off the end of records when the SQLITE_ENABLE_NULL_TRIM compile-time option is used. Increase the size of the P5 operand to 16 bits. Fix a problem with short records in the sessions extension. check-in: 4801bd59 user: drh tags: trunk
18:53
Fix another pre-update hook issue, this time in sqlite3preupdate_old(). Closed-Leaf check-in: c7651d21 user: dan tags: trim-nulls
18:12
Fix a test script problem in exclusive2.test causing it to fail on this branch. check-in: f66614dc user: dan tags: trim-nulls
17:44
Fix a problem with the pre-update hook on this branch. check-in: 6fc4fbfa user: dan tags: trim-nulls
14:58
Experimental enhancement to automatically trim NULL values from the end of records, for a reduced disk footprint. This change also involves increasing the P5 operand from 8 to 16 bits. check-in: 118ded40 user: drh tags: trim-nulls
14:38
Ensure that sqlite3_blob_reopen() correctly handles short rows. Fix for ticket [e6e962d6b0f06f46e]. check-in: 8cd1a445 user: drh tags: trunk
13:54
Fix SQLITEINT_H macro usage in two extensions. check-in: 0803390c user: drh tags: trunk
04:41
Ensure that sqlite3_blob_reopen() correctly handles short rows. Proposed fix for ticket [e6e962d6b0f06f46e]. Further testing needed. Closed-Leaf check-in: 57d8dad3 user: drh tags: blob_reopen-fix
2017-01-23
21:12
Experimental changes to permit a VFS to directly override the initial page size. Leaf check-in: 64131724 user: mistachkin tags: pagePerSector
19:11
Document the --mmap option in the --help screen for kvtest. Enhance kvtest so that numeric arguments can have suffixes like "K" or "M". Add kvtest to the unix makefiles. check-in: 175bda87 user: drh tags: trunk
18:40
Add the --mmap option to the kvtest utility program. check-in: 4948f7e6 user: drh tags: trunk
16:56
Optimization: Try to avoid unnecessary btree searching when repositioning a cursor to the next row. check-in: ee793d30 user: drh tags: trunk
15:58
Add the missing SQLITE_API symbol to test_delete.c (it is not added automatically as this file is not part of the amalgamation). check-in: 7a4f512d user: dan tags: trunk
07:06
Fix a problem preventing FTS5 from correctly passing the FTS5_TOKENIZE_PREFIX flag to custom tokenizer implementations. check-in: 03c60134 user: dan tags: trunk
2017-01-22
16:34
Fix an uninitialized variable in the command-line shell. check-in: 06b8001a user: drh tags: trunk
02:04
Fixes to documentation comments in the public header file. check-in: 772dcb08 user: mistachkin tags: trunk
00:11
Fix an initialized variable in kvtest. check-in: ed62c5a6 user: drh tags: trunk
2017-01-21
21:47
A better implementation of the moveto-neighbor optimization that checks for nearby rows on adjacent pages. Closed-Leaf check-in: 2c4ecb85 user: drh tags: btree-moveto-neighbor
16:54
B-tree optimization: When seeking on a rowid table that has already been positioned, check to see if the new row happens to be the next row on the same leaf page. That is a reasonably common case, and if it is true it avoids a full binary search. check-in: 8e5cfb20 user: drh tags: btree-moveto-neighbor
16:27
Change sqlite3_blob_reopen() to call sqlite3VdbeExec() directly rather than going through sqlite3_step(). Performance enhancement. check-in: 347df3c1 user: drh tags: trunk
16:21
Fix problems in the previous commit. Leaf check-in: 74ad80eb user: dan tags: trigger-trace
15:58
Add extra (somewhat inefficient) trace callbacks for triggers if SQLITE_TRACE_TRIGGER is defined. check-in: ffda1d1e user: dan tags: trigger-trace
15:55
In the kvtest.c test utility, reuse the buffer into which blobs are read, rather than reallocating it for each row. This is a closer match to how other test programs work, and thus provides a better comparison. check-in: 0d1ad13a user: drh tags: trunk
15:30
A proof-of-concept for running sqlite3_blob_open() without using OP_Column when operating on a pure key/value table. This demo does not include any corrupt database checking. Uses about 3% fewer CPU cycles on a key/value performance test. Leaf check-in: 4cda3b30 user: drh tags: kv-access-opt-demo
14:11
Remove an unnecessary sqlite3_bind_int64() call from sqlite3_blob_open(). Also other minor refactoring of the sqlite3_blob implementation. check-in: 9d197a53 user: drh tags: trunk
2017-01-20
20:43
Minor performance optimization and size reduction to the accessPayload() routine in btree.c. check-in: 264e5c10 user: drh tags: trunk
16:47
Fix a typo in the help message for kvtest. check-in: 8971d98f user: dan tags: trunk
16:46
Add option "--stats" to test program kvtest. Specifying --stats causes kvtest to output information similar to the shell tool option of the same name. check-in: 90291327 user: dan tags: trunk
16:09
Get the "--testset rtree" option working on speedtest1. Add the --rtree, --lookaside, and --clang options to the speed-check.sh script. check-in: 87b640c8 user: drh tags: trunk
00:40
Minor performance optimizations to sqlite3_blob_open() and sqlite3_blob_reopen(). check-in: 52a61967 user: drh tags: trunk
2017-01-19
21:20
If compiled with SQLITE_INLINE_MEMCPY, all memcpy() calls are replaced with in-line code. With that change, cachegrind shows which memcpy() calls are taking the most time. This is a performance-measurement hack only and is not for production use. check-in: 9ed38521 user: drh tags: trunk
18:20
In the 'vtshim' extension, avoid accessing freed memory when handling errors from xCreate/xConnect. check-in: ffd559af user: mistachkin tags: trunk
12:07
Add a prototype of the sqlite3_kv_reset() interface. Leaf check-in: 088c5903 user: drh tags: sqlite3_kv
11:52
Add test cases for the instrumentation on this branch. Fix some OOM handling issues in the same. Leaf check-in: 50ca94b9 user: dan tags: transaction-pages
2017-01-18
23:12
For Windows 8.x and higher, require the SQLITE_WIN32_WIN8_SECTOR_SIZE compile-time option in order to enable sector size determination. Leaf check-in: 47beb55c user: mistachkin tags: winSectorSize
22:47
In the 'windirent' test module, use a macro for the hidden/system attribute checking. check-in: a84a08d0 user: mistachkin tags: trunk
22:19
Remove superfluous option to Tcl 'lsort' in the vtabH test file. check-in: b92cc6e5 user: mistachkin tags: trunk
22:16
Make the vtabH-3.1 test more portable and robust. check-in: d3c91c1f user: mistachkin tags: trunk
22:16
Fix handling of initial hidden and/or system files in the opendir() implementation for Windows. No changes to non-test code. check-in: 26dd42b4 user: mistachkin tags: trunk
20:14
Add temporary code to record and report on the set of b-tree pages read and written by the current transaction. This is likely still buggy. check-in: 2a8f6c89 user: dan tags: transaction-pages
19:54
Begin fleshing out the key/value accessor implementation. This is an incremental check-in. check-in: 02d60e19 user: drh tags: sqlite3_kv
19:36
Improve and update comments. check-in: 2dc16d34 user: mistachkin tags: winSectorSize
19:06
Minimize the requested permissions when opening the volume on Windows 7 and Vista. check-in: 8d429a59 user: mistachkin tags: winSectorSize
17:20
Baseline interface definition for the experimental sqlite3_kv accessor object. check-in: a435841e user: drh tags: sqlite3_kv
01:11
Add runtime version checking for winSectorSize. check-in: cb9d1ab3 user: mistachkin tags: winSectorSize
00:27
When determining sector sizes on Windows 7 and Vista, make sure the target file is on the same volume as corresponding root directory. check-in: de699ead user: mistachkin tags: winSectorSize
2017-01-17
10:41
Fix a problem that could cause a spurious SQLITE_NOMEM error when attempting to resume an RBU operation if the previous client failed right after completing the incremental checkpoint. Also a "cannot vacuum wal db" error that could occur when resuming an RBU vacuum if an error (OOM or IO error) occurs during the incremental checkpoint. check-in: 681d96eb user: dan tags: trunk
00:10
Disable intrinsic functions for Windows using Clang, due to reports of linkage errors. This causes a 0.6% performance reduction. We will want to revisit this change in the future. check-in: 7fd560c6 user: drh tags: trunk
2017-01-16
18:10
Back out check-in [0b3174e0b1364c] and replace it with a better fix for \ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem identified by ticket [7ffd1ca1d2ad4ec]. Add new test cases for both tickets. check-in: 9b64af7b user: drh tags: trunk
16:43
Back out check-in [0b3174e0b1364c] and replace it with a better fix for ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem identified by ticket [7ffd1ca1d2ad4ec]. Closed-Leaf check-in: 06136652 user: drh tags: automatic-index-affinity
16:01
Add test cases for tickets [91e2e8ba6ff2e2] and [7ffd1ca1d2ad4ec]. check-in: 9d0dfe0b user: drh tags: automatic-index-affinity
11:54
An example showing how to improve performance of sqlite3VdbeSerialPut() using the GCC intrinsic function __builtin_bswap64(). Leaf check-in: e42ed9b4 user: drh tags: builtin-bswap64
2017-01-13
22:21
Merge updates from trunk. check-in: 8b42b8e3 user: mistachkin tags: winSectorSize
18:24
Fix a problem preventing resumption of RBU operations after recovering from a process or system failure that occurs during the incremental-checkpoint phase. check-in: 97914266 user: dan tags: trunk
12:53
Fix the build for SQLITE_ENABLE_MEMORY_MANAGEMENT. check-in: 8c85b8fd user: drh tags: trunk
2017-01-12
23:37
Attempt to detect physical sector sizes on Windows Vista and higher. check-in: 6e388423 user: mistachkin tags: winSectorSize
19:10
Remove a branch that is probably unreachable, and which adds no value. check-in: 9acc7238 user: drh tags: trunk
16:21
Fix harmless compiler warnings in the UPDATE code generator. check-in: 385db266 user: drh tags: trunk
16:14
Remove an unnecessary corruption test from the btree balancer. If corruption is present, it will be found harmlessly by later tests. check-in: bddf3956 user: drh tags: trunk
15:19
Test case macros to show that the previous check-in is well tested. Leaf check-in: bd8b977a user: drh tags: extra-testcase-macros
15:11
Improved detection of cells that extend into the reserved space at the end of the page while adjusting overflow page pointers during autovacuum. check-in: 8097712c user: drh tags: trunk
11:52
Remove invalid test case from cursorhints2.test check-in: 163cc1b2 user: drh tags: trunk
11:50
Make sure Tcl_AppendResult() always has a NULL-pointer argument at the end. check-in: c07aef6f user: drh tags: trunk
2017-01-11
21:03
Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. check-in: 7ae6104a user: dan tags: trunk
16:52
Attempt to detect physical sector sizes on Windows 8 and higher. check-in: 381fd34b user: mistachkin tags: winSectorSize
14:15
In the STAT4 computations, ensure that the aAvgEq values do not go negative. check-in: f58f75b5 user: drh tags: trunk