SQLite

Timeline
Login

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

200 most recent check-ins using file test/check.test version 85a84bfc

2022-09-27
17:00
Fix a potential division by zero error in this version of RBU that might occur if an external client checkpoints a wal file created by a suspended RBU process. (Leaf check-in: 73edd93a user: dan tags: branch-3.14)
2017-07-15
10:44
Add new interfaces sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer() used to safely move pointer values through SQL without exposing underlying memory address information. (Leaf check-in: d6a44b35 user: drh tags: branch-3.17)
2017-06-01
16:13
Add test code for LSM to the ext/lsm1/lsm-test directory. (check-in: bb7436e8 user: dan tags: lsm-vtab)
2017-03-31
08:00
Update shell6.test to account for the fact that tests are now run in a separate directory. (check-in: 1e3622de user: dan tags: schemalint)
2017-03-07
14:47
Before beginning an incremental checkpoint in RBU, sync the directory containing the target database file. This ensures that the new directory entry created by renaming the *-oal file to *-wal is synced to disk. Cherrypick of [915a9a28]. (Leaf check-in: 694fe0b2 user: dan tags: version-3.17.0-rbu-fixes)
14:46
Fix another RBU case similar to the previous. This one for systems where the sector-size is larger than the page-size. Cherrypick of [4012bb3a]. (check-in: 59a11b7f user: dan tags: version-3.17.0-rbu-fixes)
14:45
When saving the state of an RBU update in the incremental-checkpoint phase, sync the database file. Otherwise, if a power failure occurs and the RBU update resumed following system recovery, the database may become corrupt. Cherrypick of [edee6a80]. (check-in: 811a5599 user: dan tags: version-3.17.0-rbu-fixes)
2017-02-21
21:24
In sqlite3VdbeHalt(), return as soon as possible if Vdbe.magic!=VDBE_MAGIC_RUN. This makes sqlite3_reset() slightly faster in some cases. (check-in: 80adc0cb user: dan tags: trunk)
17:52
Fix an FTS5 problem that could cause a crash when certain queries were interrupted using sqlite3_interrupt(). (check-in: e400909f user: dan tags: trunk)
15:27
Very small enhancement to dispatch speed for SQL functions. (check-in: 3c3228ed user: drh tags: trunk)
14:04
The VDBE cycle counts for the sqlite3_progress_handler() callback are now cumulative. Leftovers from the previous statement are applied to the next statement. (Leaf check-in: 7a62fc6a user: drh tags: cumulative-progress-count)
13:29
Proof of concept for a "PRAGMA vdbe_cycle_limit=N" command. When N>0, invoke sqlite3_interrupt() whenever any byte code program uses more than N virtual machine cycles. (Leaf check-in: 9626b41e user: drh tags: vdbe_cycle_limit)
2017-02-20
23:32
Correct a harmless typo in the previous check-in. (check-in: 1589db01 user: mistachkin tags: trunk)
19:13
Avoid unsigned integer overflows for SQLITE_WIN32_HEAP_INIT_SIZE when the Win32 heap subsystem is used with very large values of SQLITE_DEFAULT_CACHE_SIZE and/or SQLITE_DEFAULT_PAGE_SIZE. (check-in: 96b6a98e user: mistachkin tags: trunk)
14:30
Small grammar simplification. (check-in: 0d8a868a user: drh tags: trunk)
13:11
Merge fixes from trunk. (check-in: ff213f2e user: drh tags: auto-analyze)
2017-02-18
22:52
Updated comments. No code changes. (check-in: e842ad39 user: drh tags: auto-analyze)
20:05
Add an optimization to OP_Column to speed up sequential OP_Column instructions that read earlier fields from the same cursor. Attempt to reorder OP_Column opcodes so as to take advantage of this. (Leaf check-in: c1adf959 user: dan tags: sort-column-opcodes)
15:58
Add the OP_SqlExec opcode and use it to implement "PRAGMA analyze_as_needed", invoking ANALYZE subcommands as necessary. This simplifies the implementation. (check-in: d386015f user: drh tags: auto-analyze)
13:47
Add the SQLITE_BUG_COMPATIBLE_20160819 compile-time option to omit the error message when an unrecognized argument is provided to the VACUUM command. (check-in: 49181427 user: drh tags: trunk)
02:42
Fix errors in the table resize detection. (check-in: 4229caec user: drh tags: auto-analyze)
02:19
In the analyze_as_needed pragma, avoid running unnecessary OP_LoadAnalysis and OP_Expire opcodes. Make the analyze_as_needed pragma responsive to the schema name. (check-in: 882599a4 user: drh tags: auto-analyze)
2017-02-17
23:52
Fix the #endif location for an #ifndef SQLITE_UNTESTABLE macro in the command-line shell. (check-in: 8cc9d74c user: drh tags: trunk)
21:23
Increase the estimated cost of sorting when sorting wide results sets, to account for the extra storage space and I/O required for the external sort. (Leaf check-in: 38298ef9 user: drh tags: apple-increased-sorting-cost)
19:24
The analyze_as_needed pragma now responds to table size growth and will automatically rerun the analysis after each 10x size increase. (check-in: bfbdd074 user: drh tags: auto-analyze)
16:26
Add the "PRAGMA analyze_as_needed" command. (check-in: e93db237 user: drh tags: auto-analyze)
15:26
Set the TF_StatsUsed flag on tables when the query planner outcome is affected by the sqlite_stat1 data. Also, change the column names of the "PRAGMA stats" command so that they are not keywords. (check-in: fb2b8ae8 user: drh tags: auto-analyze)
13:38
Enhance the Index and Table objects so that they remember if their stats come from the sqlite_stat1 table. Make the "PRAGMA stats" an SQLITE_DEBUG only pragma. Add the flags column to "PRAGMA stats". These are all preliminary steps toward a "PRAGMA analyze_ifneeded;" feature. (check-in: 85026c8e user: drh tags: auto-analyze)
02:07
Merge fixes from trunk. (Leaf check-in: 662e8ccf user: drh tags: increased-sorting-cost)
02:04
Fix a test case that was made to fail by the LIKE optimization enhancement in check-in [158290c0ab] but which went unnoticed because test builds were running with ICU enabled and ICU disables the LIKE optimization. (check-in: 218b2bbb user: drh tags: trunk)
01:43
Enable the ".wheretrace" and ".selecttrace" extensions in the command-line shell when compiled on Windows using DEBUG=3 or higher. Fix a harmless warning in the shell that comes up when compiled this way. (check-in: 8a03be1d user: drh tags: trunk)
2017-02-16
21:29
Increase the estimated cost of sorting when sorting wide results sets, to account for the extra storage space and I/O required for the external sort. (check-in: aa0703e5 user: drh tags: increased-sorting-cost)
20:52
Change the name of WhereInfo.pDistinctSet to pResultSet, since it is now used for more than just DISTINCT processing. (check-in: 9fc5cd50 user: drh tags: trunk)
17:18
Change two MallocZero() calls into MallocRaw() to avoid unnecessary memset(). (check-in: ff5e733c user: drh tags: trunk)
16:26
Fix a comment on a field of the ExprList object. No changes to code. (check-in: bb8e2642 user: drh tags: trunk)
15:57
Increase Table.tabFlags from 8 to 32 bits. (check-in: 7e14044c user: drh tags: trunk)
15:06
Remove two redundant initializations from the virtual table logic. (check-in: 6bd82b95 user: drh tags: trunk)
14:48
Always use the IsVirtual() macro to determine if a Table object is a virtual table. Slightly smaller and faster code. (check-in: 6affb1c8 user: drh tags: trunk)
14:02
Merge recent enhancements from trunk. (check-in: 325ccfa9 user: drh tags: est_count_pragma)
2017-02-15
22:36
Query planner optimization to detect empty tables in a join early and bail out without doing excess work. (check-in: 58797e9b user: drh tags: trunk)
18:30
Minor enhancement to mutex tracing on Win32. (check-in: 830b9235 user: mistachkin tags: trunk)
17:47
simple test cases for carray_asc. (Leaf check-in: 1d4759c1 user: drh tags: carray_asc)
16:11
Add the companion "carray_asc" table-valued function to the carray extension. (check-in: a2b4f60b user: drh tags: carray_asc)
16:04
Bummer. Checked this in as a branch off of the wrong branch.... Was: Add the companion "carray_asc" table-valued function to the carray extension. (Closed-Leaf check-in: 396b9d99 user: drh tags: mistake)
15:11
Remove the CLANG_VERSION macro, since we have learned that version numbers in clang are "marketing" and are inconsistent and unreliable. Builds using clang will still use the GCC_VERSION macro since clang works hard to be gcc compatible. (check-in: 8d3f485d user: drh tags: branch-3.17)
15:09
Remove the CLANG_VERSION macro, since we have learned that version numbers in clang are "marketing" and are inconsistent and unreliable. Builds using clang will still use the GCC_VERSION macro since clang works hard to be gcc compatible. (check-in: 810d2932 user: drh tags: trunk)
04:16
Further reforms to Tcl_*Alloc() usage. (check-in: ee1e6896 user: mistachkin tags: trunk)
01:39
In the blob test code, avoid crashing on low-memory systems by using Tcl_AttemptAlloc(). (check-in: 1d267757 user: mistachkin tags: trunk)
01:02
Make SQLITE_GET_MUTEX_TIME a proper noop on non-Win32/non-POSIX. (Leaf check-in: 4ca2b2f8 user: mistachkin tags: mutexDbg2)
00:52
Another compilation fix for POSIX. (check-in: 82ef47ea user: mistachkin tags: mutexDbg2)
00:45
Make fine time granularity work on POSIX. (check-in: 79057716 user: mistachkin tags: mutexDbg2)
00:02
Compilation fix for POSIX. (check-in: 9964ad24 user: mistachkin tags: mutexDbg2)
2017-02-14
23:58
Experimental enhancements to mutex debugging. (check-in: 80481754 user: mistachkin tags: mutexDbg2)
21:47
Clarification of the help text for the command-line shell. (check-in: ca4f1e49 user: drh tags: trunk)
20:00
Enable the SQLITE_ENABLE_NULL_TRIM option for WITHOUT ROWID tables. (check-in: 54836270 user: drh tags: trunk)
16:30
More realistic lengths of string values in speedtest1 with --testset orm. (check-in: e4731fd6 user: drh tags: trunk)
15:58
Fix a testcase number on the ORM testset of speedtest1. (check-in: 58b2f911 user: drh tags: trunk)
15:57
Add the new "--testset orm" to the speedtest1 utility. (check-in: 1836adc1 user: drh tags: trunk)
2017-02-13
16:17
Merge all changes up through the 3.17.0 release. (check-in: 1913a758 user: drh tags: apple-osx)
16:02
Version 3.17.0 (check-in: ada05cfa user: drh tags: release, version-3.17.0, branch-3.17)
13:35
Change all legacy instances of "#if SQLITE_DEBUG" to "#ifdef SQLITE_DEBUG" for consistency. (check-in: 670f10b2 user: drh tags: trunk)
13:26
Fix typos in using the MSVC_VERSION macro. (check-in: f3b65926 user: drh tags: trunk)
13:20
Avoid a duplication #define in FTS5 (check-in: c447441c user: drh tags: trunk)
11:35
Fix typos in using the MSVC_VERSION macro. (check-in: 25ebadd0 user: drh tags: branch-3.17)
2017-02-11
15:02
Ensure that indexed expressions with collating sequences are handled correctly. Fix for ticket [eb703ba7b50c1a5] backported from trunk. (check-in: b2e49ae3 user: drh tags: branch-3.17)
14:59
Fix indexes on expressions so that they can be actually used with a COLLATE clause. (check-in: e464b919 user: drh tags: trunk)
13:51
Ensure that indexed expressions with collating sequences are handled correctly. Proposed fix for ticket [eb703ba7b50c1a5]. (check-in: 9689d04b user: drh tags: trunk)
2017-02-10
21:40
Bump the version number up to 3.18.0. (check-in: 7520c238 user: drh tags: trunk)
21:37
Enhance the LIKE optimization so that it works for arbitrary expressions on the LHS as long as the pattern on the RHS does not begin with a digit or a minus sign. (check-in: 158290c0 user: drh tags: trunk)
19:38
Add the "," flag to printf(). (check-in: 064445b1 user: drh tags: trunk)
17:38
Version 3.17.0 release candidate (check-in: ad867e87 user: drh tags: branch-3.17)
2017-02-09
17:12
Cleanup the usage of the SQLITE_DISABLE_INTRINSIC compile-time option. Remove the SQLITE_RUNTIME_BYTEORDER compile-time option. Use -DSQLITE_BYTEORDER=0 instead. Fix a bug in R-Tree that occurs when compiling on a known little-endian machine without the use of intrinsic byteswapping functions. (check-in: 798fb9d7 user: drh tags: trunk)
2017-02-08
19:12
Avoid preparing a SELECT statement each time an UPDATE or DELETE by docid is executed against an fts3 table. (check-in: 1afec575 user: dan tags: trunk)
19:10
Avoid preparing a SELECT statement each time an UPDATE or DELETE by docid is executed against an fts3 table. (Leaf check-in: 9962c10a user: dan tags: fts3-seekstmt-cache)
18:13
Typo fixes in comment. No changes to code. (check-in: c09dd5c0 user: mistachkin tags: trunk)
16:55
Merge the 3.17.0beta changes from trunk. (check-in: 92dbd875 user: drh tags: apple-osx)
16:01
Always invoke the xRoundup() method of the memory allocator before calling xMalloc(). (check-in: 77b470b0 user: drh tags: trunk)
12:18
Round up the size of all memory allocations to a multiple of 8 bytes when using the system memory allocator. (check-in: c46e06fa user: drh tags: trunk)
2017-02-07
21:44
When generating the hash on the sqlite_master table in dbselftest, use an ORDER BY clause, since the sqlite_master table is reordered by VACUUM. (check-in: c8bfd99b user: drh tags: trunk)
21:09
MSVC makefile enhancments for several command line tools and the session extensions. (check-in: fc1dfe87 user: mistachkin tags: trunk)
21:00
Fix harmless compiler warnings in dbfuzz. (check-in: 61242267 user: drh tags: trunk)
20:57
Fix harmless compiler warnings in kvtest.c (check-in: db6b3993 user: drh tags: trunk)
20:51
The dbselftest utility now generates hashes in the selftest table with --init. It also accepts multiple database files on the command-line. (check-in: e68829c9 user: drh tags: trunk)
19:36
Omit fts5fault1.test from the inmemory_journal permutation. (check-in: cb1e83f9 user: dan tags: trunk)
19:23
Update a test parameter in malloc5.test to account for the increase in default lookaside buffer size. (check-in: be82d5ae user: dan tags: trunk)
17:36
Add the initial version of the "dbselftest" utility program. (check-in: 1fcac836 user: drh tags: trunk)
16:15
Update an error message in corruptC.test. (check-in: 722e57fe user: dan tags: trunk)
14:45
Fix a build problem affecting non-amalgamation rtree builds. (check-in: bb7f445b user: dan tags: trunk)
14:22
Fix a test case to account for the fact that sqlite3_blob_reopen() now returns SQLITE_IOERR_NOMEM instead of SQLITE_NOMEM if an OOM occurs in the VFS layer. (check-in: e11cc523 user: dan tags: trunk)
13:51
Fix SQLITE_BYTEORDER #defines in R-Tree when compiled separately from the amalgamation. (check-in: a136609c user: drh tags: trunk)
12:58
Make the cellMargin() routine of R-Tree slightly smaller and faster while also fixing a harmless compiler warning. (check-in: 07fe6228 user: drh tags: trunk)
03:44
Back out [ec8ff892ac] which is causing missed OOM errors on some tests. (check-in: 0611770d user: drh tags: trunk)
00:55
Fix a minor typo in a comment in R-Tree. No changes to code. (check-in: f77ee9e9 user: drh tags: trunk)
2017-02-06
16:52
Remove a small amount of unnecessary code from R-Tree. (check-in: e5aea894 user: drh tags: trunk)
15:27
Add the "max-limits" utility program to the tools/ subdirectory. (check-in: c54173b6 user: drh tags: trunk)
07:37
Fix a bug in kvtest causing "init --variance 0" runs to generate single byte blob values only. (check-in: 6b0276f9 user: dan tags: trunk)
01:19
Remove incorrect testcase() macros from R-Tree. (check-in: 853a58a7 user: drh tags: trunk)
2017-02-04
20:15
Simplification to the error handling to extension loading in sqlite3_open(). (check-in: ec8ff892 user: drh tags: trunk)
17:33
Allow sqlite3session_apply() to apply changesets to tables that have been extended using ALTER TABLE ADD COLUMN. (check-in: b20ff81f user: dan tags: trunk)
15:29
Merge recent trunk enhancements. (check-in: 6c3f0902 user: drh tags: apple-osx)
14:30
Merge the latest trunk changes, especially the RTREE enhancement to use sqlite3_blob objects. (Leaf check-in: 61bd2a88 user: drh tags: sqlite3_blob_reset)
14:24
In RTREE, use an sqlite3_blob object rather than an sqlite3_stmt object for reading content out of the %_node shadow table. (check-in: 97ccf3e4 user: drh tags: trunk)
13:12
Close sqlite3_blob objects on xSync rather than waiting until xCommit. (Closed-Leaf check-in: 95ee745f user: drh tags: rtree-blob-agressive-release)
2017-02-03
20:54
Improved performance and stack usage when processing VALUES clauses with a very large number of rows. (check-in: 5706d470 user: drh tags: trunk)
19:16
Avoid a performance problem when very large "VALUES(..), (..), (..)" terms are used in queries. (Closed-Leaf check-in: f5306ad6 user: dan tags: recursive-selectdup)
15:16
Improved tests for the carray() table-valued function. (check-in: 83a099f1 user: drh tags: trunk)
14:44
Modify the sqlite3SelectDup() routine to avoid recursing on Select.pPrior. (check-in: a7674ead user: dan tags: recursive-selectdup)
00:07
Merge in the sqlite3_blob_reset() interface. (Closed-Leaf check-in: e9c94a1f user: drh tags: rtree-sqlite3_blob)
2017-02-02
23:57
Add the sqlite3_blob_reset() interface. Enhance the behavior of sqlite3_blob objects so that they can go active again after encountering an error by rerunning sqlite3_blob_reopen(). More work needed on the documentation. (check-in: 53b77838 user: drh tags: sqlite3_blob_reset)
20:32
Ensure that all cursors have their positions saved prior to rolling back a savepoint. (check-in: 8e03a8e9 user: drh tags: trunk)
19:24
Fix issues in the sha1 extension seen with MSVC. (check-in: 5a0da77c user: mistachkin tags: trunk)
16:30
Remove the unused pReadNode prepared statement from each RTREE object. (check-in: e51dc0ec user: drh tags: rtree-sqlite3_blob)
16:08
Fix a potential uninitialized (though harmless) variable in RTREE. (check-in: a1c74e09 user: drh tags: rtree-sqlite3_blob)
15:35
The sqlite3_blob_close() interface can cause recursive invocations of nodeBlobReset() in RTREE. Make sure that does not cause problems. (check-in: 88333441 user: drh tags: rtree-sqlite3_blob)
14:40
Change RTREE so that the sqlite3_blob object is closed whenever the cursor count drops to zero and there is not a pending write transaction. (check-in: 9bb4eafe user: drh tags: rtree-sqlite3_blob)
02:28
Use the sqlite3_blob interface for reading values from the %_node shadow table in RTREE. This is a work in progress. There are still some minor problems. (check-in: fc4917d7 user: drh tags: rtree-sqlite3_blob)
00:46
This is an experimental patch that ensures that all cursors have their position saved prior to starting a ROLLBACK TO. (Closed-Leaf check-in: 01d97e5b user: drh tags: savepoint-rollback)
2017-02-01
23:06
Fix harmless compiler warnings seen with MSVC. (check-in: 0c66cf0f user: mistachkin tags: trunk)
23:03
Backout the change in [02f6293f27] as it causes MSVC to complain. (check-in: aaae74d0 user: mistachkin tags: trunk)
22:59
Fix C99-style variable declaration issue seen with older versions of MSVC. (check-in: 54d28546 user: mistachkin tags: trunk)
22:43
Fix harmless compiler warnings seen with MSVC. (Closed-Leaf check-in: 997f765b user: mistachkin tags: msvcWarn)
22:32
Add an option to the MSVC makefile to enable treating warnings as errors. (check-in: 6a378c29 user: mistachkin tags: trunk)
17:08
Unwind the RTREE dimension loop inside of rtreeCallbackConstraint(). (check-in: 4854ea9c user: drh tags: trunk)
16:41
Completely unroll the dimension loop inside of cellArea() in RTREE. (check-in: 3c4c0126 user: drh tags: trunk)
15:49
Precompute the nDim2 value in the Rtree object and use that to make loops over coordinates faster. (check-in: f1f3c8cc user: drh tags: trunk)
15:24
Use compiler intrinsic functions (when available) for byteswapping in RTREE. (check-in: 82fcd54a user: drh tags: trunk)
15:19
Fix the build by making the OPFLAG_ISNOOP macro available unconditionally. (check-in: 510933cb user: drh tags: trunk)
14:19
Update the documentation comment in sqlite.h.in for sqlite3_preupdate_hook(). (check-in: 7f857020 user: dan tags: trunk)
14:10
Changes so that the pre-update hook and the sessions module work with WITHOUT ROWID tables. (check-in: 964bdc27 user: dan tags: trunk)
02:25
More RTREE performance optimizations related to decoding values. (check-in: c5395e74 user: drh tags: trunk)
01:34
Improved comments on the statGet() implementation in ANALYZE. No changes to code. (check-in: 9663eea2 user: drh tags: trunk)
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)