SQLite
Timeline
Not logged in

200 most recent timeline items related to "trunk"

2014-10-31
20:11
[6a9bab34ae] Leaf: Add the experimental sqlite3_stmt_scanstatus() API. (user: dan, tags: scanstatus)
15:20
[fef8430f12] Leaf: Merge all recent trunk enhancements into the apple-osx branch. (user: drh, tags: apple-osx)
14:53
[28b044a512] Leaf: Merge recent trunk enhancements, and in particular the improvements to the b-tree balancing logic, into the sessions branch. (user: drh, tags: sessions)
14:46
[67f0d469da] Leaf: Change the command-line shell man-page to use the ".tr" troff directive instead of ".cc" for escaping the initial "." characters in the ".help" output. (user: drh, tags: trunk)
14:26
[a07078b600] Simplify the logic in the cell redistribution loop of balance_nonroot(). Enhance and clarify comments and add assert() statements for additional verification of correctness. (user: drh, tags: trunk)
12:22
[2e838db82e] Simplify the math slightly, and reduce by one the number of loop iterations, for the loop in balance_nonroot() that moves cells between pages. (user: drh, tags: trunk)
10:31
[ea5d56be5f] Add the "varint.c" utility program in the tool directory. (user: drh, tags: trunk)
02:51
[9fc7c88e3f] Remove an unnecessary branch from balance_nonroot(). (user: drh, tags: trunk)
00:05
[69c3924fe8] In the balance_nonroot() routine, protect the values in aPgno[] array from change during the page sort, so that aPgno[] can be used to avoid unnecessary pointer-map updates for auto_vacuum databases. (user: drh, tags: trunk)
2014-10-30
23:14
[67adb44838] Improvements to the wording of some comments. Reinstate an assert() that is only true for non-corrupt database files by adding an "|| CORRUPT_DB" term. (user: drh, tags: trunk)
20:48
[c7d9aa3a1c] Tweaks to comments in btree.c. Minor code changes to enhance testability. (user: drh, tags: trunk)
2014-10-29
18:20
[08a27440f1] Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. (user: drh, tags: trunk)
01:07
[a8f9bd1e89] Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. This is a cherrypick of 3e922208b68563489. (user: drh, tags: branch-3.8.7)
00:58
[24780f8ddc] In the OP_Column opcode, when extracting a field that is past the end of a short record (because the row was originally inserted prior to ALTER TABLE ADD COLUMN) then make sure the output register is fully NULL and does not contain leftover flags (such as MEM_Ephem) from its previous use. Fix for ticket [43107840f1c02]. (user: drh, tags: trunk)
2014-10-28
20:49
[f84af4adcc] Add new test file e_totalchanges.test, containing tests of the sqlite3_total_changes() interface. (user: dan, tags: trunk)
20:35
[96e9917c35] Update the documentation on the sqlite3_randomness() interface to conform to enhancements associated with the SQLITE_ENABLE_API_ARMOR change. (user: drh, tags: trunk)
18:24
[41cdd0c422] Modify the documentation for sqlite3_changes() to make it more testable. Add tests and minor fixes for the same. (user: dan, tags: trunk)
16:50
[8523670d50] Fix a crash that could occur if the WHERE clause of an UPDATE statement on a view that does not feature a column named "rowid" contains a term such as "rowid=?". (user: dan, tags: trunk)
16:19
[95f8ebdbf8] Fix a faulty assert() in the DELETE code generator. (user: drh, tags: trunk)
15:58
[23073a0539] Trivial simplification to the automatic index logic. (user: drh, tags: trunk)
12:35
[1a7e711ed1] Bump the version number to 3.8.8 (user: drh, tags: trunk)
00:56
[30f86eb3f9] Correct the documentation on the maximum size of a scratch allocation. (user: drh, tags: trunk)
2014-10-27
22:06
[7857d27caa] Add special handling for static mutexes in sqlite3_mutex_alloc() when automatic calls to sqlite3_initialize() are enabled. (user: mistachkin, tags: trunk)
20:14
[2b9340c868] Remove a small amount of unnecessary #ifdeffery from random.c. (user: drh, tags: trunk)
19:58
[9588b345d0] Fix compilation issue with MSVC due to a misplaced variable declaration. (user: mistachkin, tags: trunk)
19:42
[d33a1ff3aa] Fix harmless compiler warning in an assert statement. (user: mistachkin, tags: trunk)
19:39
[9646a136e6] Fix a typo in the macro name of an #ifdef (user: drh, tags: trunk)
18:42
[10aaf3b148] Merge latest enhancements, including the SQLITE_ENABLE_API_ARMOR patch, from trunk. (user: drh, tags: apple-osx)
18:34
[ffb9d8144b] Add the SQLITE_ENABLE_API_ARMOR compile-time option for extra API parameter validation. Enhance sqlite3_stricmp(), sqlite3_strnicmp(), and sqlite3_uri_parameter() for improved NULL parameter handling. (user: drh, tags: trunk)
18:21
[637246165a] Fix an unused variable in btree.c:allocateSpace(). (user: drh, tags: trunk)
14:26
[face33bea1] Optimizations aimed at reducing the number of memcpy() operations required by balance_nonroot(). (user: dan, tags: trunk)
11:25
[fc6920b548] Add test file e_wal.test. (user: dan, tags: trunk)
08:02
[1f80f8c136] Leaf: If a free-slot is found within a page, but using that free-slot would fragment the page further and there are already at least 60 fragmented bytes, degragment the page. This matches the behaviour of the trunk. (user: dan, tags: defrag-opt)
07:01
[a13df3013b] Merge trunk with this branch. (user: dan, tags: defrag-opt)
2014-10-25
13:42
[0f08924fe0] Increase the resolution of the second parameter to the likelihood() SQL function (the probability value) so that it can handle probabilities as small as 0.00000001. Formerly, it ran out of precision at 0.001. (user: drh, tags: trunk)
12:28
[b9ad601eab] Do not use virtual (and hence redundant) WHERE-clause terms to restrict the content of a automatic partial index. Show when an automatic partial index is used in the EXPLAIN QUERY PLAN output. (user: drh, tags: trunk)
2014-10-24
19:28
[d95d0313c4] Enhance the automatic index logic so that it creates a partial index when doing so gives the same answer for less work. (user: drh, tags: trunk)
15:26
[401235edf4] Honor a high likelihood() on range constraints. (user: drh, tags: trunk)
14:32
[03d0498d0f] Get the likelihood() functions working on operators like BETWEEN that create virtual terms in the WHERE-clause analysis. (user: drh, tags: trunk)
12:37
[1c220b806d] Closed-Leaf: Fix two problems. Tests now passing. (user: drh, tags: api-armor)
00:35
[c297a84bc6] Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in progress and is not yet completely functional. (user: drh, tags: api-armor)
2014-10-23
17:26
[c6a5b67ae1] Leaf: Add debugging code to count the number of iterations of each loop made as part of statement execution. (user: dan, tags: debug-loopcounters)
01:01
[9762ad0639] Implement sqlite3_create_collation() by invoking sqlite3_create_collation_v2() with a NULL destructor argument. This saves a little space. (user: drh, tags: trunk)
2014-10-22
20:07
[e580470db7] Disable the use of strchrnul() unless specifically enabled by compile-time options. (user: drh, tags: trunk)
19:57
[ca3b00c44e] Change the 0x800 bit of SQLITE_TESTCTRL_OPTIMIZATIONS so that it disables the loading of STAT3 and STAT4 content, not just the using of that content. Change the internal name of that bit to SQLITE_Stat34. (user: drh, tags: trunk)
18:42
[854a54c6c2] Merge latest trunk with this branch. (user: dan, tags: defrag-opt)
16:25
[1a5a5da331] Leaf: The _beginthreadex() / _endthreadex() functions should only be used when compiling with MSVC. (user: mistachkin, tags: msvcThreads)
15:27
[3c933bf95f] Take steps to avoid misestimating range query costs based on STAT4 data due to the roundoff error of converting from integers to LogEst and back to integers. (user: drh, tags: trunk)
02:43
[674848070e] Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. This is a cherry-pick of 3e922208b68563 (user: drh, tags: branch-3.8.6)
2014-10-21
21:56
[3e922208b6] Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. (user: drh, tags: trunk)
18:16
[a27861c28c] Further tuning of the cost estimates for skip-scan loops, especially for cases when skip-scan loops are in competition with regular loops. (user: drh, tags: trunk)
16:01
[ec1e942f08] Add WHERETRACE debugging output to the whereLoopAdjustCost() routine. (user: drh, tags: trunk)
01:05
[f4b22a2620] If a skip-scan is a proper subset of some other scan, then adjust the cost of the skip-scan upward so that it is more costly than the other scan. Such a cost imbalance can arise under STAT4 because of difficulties in getting an accurate estimate for skip-scans. (user: drh, tags: trunk)
2014-10-20
16:34
[d380a6482a] Merge version-3.8.7 changes with this branch. (user: dan, tags: experimental-bulk-update)
2014-10-17
21:35
[19fe4a0a47] Fix a (probably harmless) bug in the CSV output mode of the command-line shell. (user: drh, tags: trunk)
12:11
[aa7bbed10b] Merge the 3.8.7 changes into the apple-osx branch. (user: drh, tags: apple-osx)
11:53
[f4de9e07be] Merge all version 3.8.7 updates from trunk. (user: drh, tags: sessions)
11:24
[e4ab094f8a] Version 3.8.7 (user: drh, tags: trunk, release, version-3.8.7)
2014-10-16
21:39
[06c576c152] Work around MSVC not being able to deduce that a local variable was initialized in a called function. (user: mistachkin, tags: trunk)
18:34
[1418c006e3] Changes to work around Win32 and MSVCRT APIs that are not present on Windows CE 200x. (user: mistachkin, tags: trunk)
11:45
[640345d880] Update the vdbe-compress.tcl script to account for expressions of the form (123>var), where "var" should be replaced with a reference to a union member. (user: dan, tags: trunk)
2014-10-15
19:37
[1b2824f1d1] Merge latest trunk changes with this branch. (user: dan, tags: sessions)
15:28
[3c1e70f4d5] Update releasetest.tcl so that x86-64 runs a superset of the x86 tests. (user: dan, tags: trunk)
14:45
[b3e7b446bd] Fix a problem causing lock5.test to fail in mmap-mode. (user: dan, tags: trunk)
11:55
[9386bfca12] Add a four-byte prefix to the BtShared.pTmpSpace buffer to avoid reading before the beginning of an allocation. (user: drh, tags: trunk)
11:31
[4a7b3fa049] Rearrange an expression in vdbemem.c to avoid a (harmless) reference to a possibly unitialized variable. (user: dan, tags: trunk)
2014-10-14
20:25
[eab8233063] Make sure new sqlite3_vtab objects created by the xCreate() virtual table method are initialized by the system, in accordance with the documentation. (user: drh, tags: trunk)
14:17
[880df7568a] Merge from trunk recent micro-optimizations and the fix for the DESC index GROUP BY ORDER BY bug. (user: drh, tags: apple-osx)
13:41
[83d4114f2a] Merge recent trunk micro-optimizations and the DESC index GROUP BY ORDER BY bug fix into the sessions branch. (user: drh, tags: sessions)
2014-10-13
23:39
[005e5b388a] Optimize a database corruption test inside of the OP_Column opcode. (user: drh, tags: trunk)
20:12
[4b3b65ee5e] Use the padding word in the Mem object as temporary storage for serial_type value in OP_Record, and thus avoid a redundant computation of the serial_type for each column. (user: drh, tags: trunk)
18:09
[d5b7c5a88d] Merge trunk changes into this branch. (user: dan, tags: defrag-opt)
17:42
[04892f8ba6] Three small optimizations to vdbeaux.c. (user: drh, tags: trunk)
16:02
[c2799aece1] Reduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out some of its functions and by avoiding unnecessary calls. (user: drh, tags: trunk)
13:00
[20062f4942] Remove the OPFLAG_CLEARCACHE flag from OP_Column. In its place, change the P3 parameter of OP_SorterData to be the index of the pseudo-table cursor whose record header cache is to be cleared. This gives a small size reduction and performance increase. (user: drh, tags: trunk)
01:23
[b9c695e885] Add the OP_SorterColumns opcode - an experiment in using a special case opcode to decode the Sorter output rather than the generic OP_Column. This might be faster. And with further work, it could eventually eliminate the need for OP_OpenPseudo. (user: drh, tags: OP_SorterColumns)
2014-10-12
22:37
[91384a7d72] Remove the VdbeCursor.lastRowid cache of the current rowid, since maintaining the correct cache value uses more CPU cycles than just recomputing the rowid on the occasions when it is actually needed. Replace it with the VdbeCursor.aOffset field which used to be computed from VdbeCursor.aType when needed. Saves 100 bytes of code space and runs 0.2% faster. (user: drh, tags: trunk)
2014-10-11
23:31
[869c30e45c] Performance optimization and very slight size reduction for OP_Column. (user: drh, tags: trunk)
17:22
[66de15580d] Simplification to the insertCell() routine in btree.c, resulting in a performance boost and a very small size decrease. It turns out that the extra work involved in sometimes avoiding an memcpy() of the first four bytes of a record takes more time than just unconditionally copying those four bytes. (user: drh, tags: trunk)
10:52
[5d29a033b0] Require the SQLITE_ENABLE_RTREE compile-time option in speedtest1.c in order to enable the R-Tree tests. (user: drh, tags: trunk)
02:12
[7a32fdfd4b] Make sure that a GROUP BY that also implements an ORDER BY scans the table in the correct order. Fix for ticket [ba7cbfaedc7e6]. (user: drh, tags: trunk)
01:22
[c5dc83ebde] Remove an unnecessary conditional from the EXPLAIN QUERY PLAN logic. (user: drh, tags: trunk)
2014-10-10
20:52
[2a9573962b] Closed-Leaf: Account for the ASC/DESC properties of ORDER BY expressions when using the same index for GROUP BY and ORDER BY. Candidate fix for [ba7cbfaedc]. (user: dan, tags: experimental)
19:15
[c301245200] Restrict the scope of the explainIndexRange() function in where.c. (user: drh, tags: trunk)
19:10
[8541dfb3bb] Fix a failing test case in index5.test. Also tweak the way cache memory is divided between read-only and dirty pages when using SQLITE_CONFIG_PAGECACHE to reduce IO in some cases. (user: dan, tags: trunk)
18:09
[9ee5686ab3] Changes to enable compiling using VC6. (user: drh, tags: trunk)
17:47
[cf291cbe9f] When using the -config option to releasetest.tcl, default the testing type to "fulltest" if it is not specified on the command line. (user: drh, tags: trunk)
17:44
[d479e32be2] Provide the new "-config CONFIG" option to the test/releasetest.tcl script, which allows one to run a single test configuration selected by name. (user: drh, tags: trunk)
17:20
[daa8314fba] Add the estimated number of output rows to the EXPLAIN QUERY PLAN output if compiled with SQLITE_EXPLAIN_ESTIMATED_ROWS. This feature is off by default for the time being. (user: drh, tags: trunk)
15:47
[beea1efc3a] Simplify the code used to generate the text for EXPLAIN QUERY PLAN. (user: drh, tags: trunk)
15:01
[68e1b4de70] Fix a potential problem in the whereRangeScanEst() routine when STAT4 is active. The problem was introduced by recent enhancements. (user: drh, tags: trunk)
13:08
[177fff3b98] Cause the command-line shell to return non-zero if the final SQL statement is incomplete. (user: drh, tags: trunk)
12:56
[abfef25472] Merge all recent trunk changes. (user: drh, tags: sessions)
2014-10-09
15:08
[49dfee7cd1] Allow FTS tokenizers to choose whether or not to consider the "*" character part of tokens or not. This restores the pre-e21bf7a2ad behaviour. Also fix a problem causing FTS to interpret tokens beginning with "*" characters as EOF. (user: dan, tags: trunk)
14:10
[bae36d5446] Add a test case for the memory leak fixed by the previous check-in. (user: drh, tags: trunk)
14:00
[fb8da82411] Fix a memory leak associated with the FTS4 matchinfo() function. (user: drh, tags: trunk)
11:27
[6fc7207727] Merge the latest trunk enhancements into the apple-osx branch. (user: drh, tags: apple-osx)
2014-10-08
19:33
[42e48fd3a6] Remove an always-true branch in whereRangeScanEst(). Replace it with an assert(). (user: drh, tags: trunk)
15:53
[6483d426c4] Fix up test cases to account for the new SQLITE_LIMIT_WORKER_THREADS limit. (user: drh, tags: trunk)
14:28
[dff0f6422e] Set the connection-specific lastRowid value before calling any SQL function. (user: drh, tags: trunk)
13:34
[e4b43967fd] Ensure that the Pager.pTmpSpace allocation is correct even if an OOM error occurs while reducing the page size. (user: drh, tags: trunk)
11:11
[dedd15f7cd] Remove some temporary code in mallocA.test that was accidentally checked in. (user: dan, tags: trunk)
02:53
[e3fe840052] Fix the STAT4 range scan estimates for DESC indexes. (user: drh, tags: trunk)
00:08
[adcb3fed48] More intuitive labels on ".wheretrace" output. (user: drh, tags: trunk)
2014-10-07
23:02
[f672a380e2] Make sure the sqlite3VdbeMemClearAndResize() routine is never called with a zero size parameter, since a size of zero could lead to either a memory leak or an assertion fault. (user: drh, tags: trunk)
20:09
[e405b9e4a9] Fix the corruptI.test script so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK and with SQLITE_DEFAULT_AUTOVACUUM=1. (user: drh, tags: trunk)
16:59
[13c962b33d] Restrict the scope of the valueToText() routine. (user: drh, tags: trunk)
15:46
[ca5b789e33] Enhance (and fix) the MEMTYPE tags associated with heap memory allocations when SQLITE_MEMDEBUG is used. (user: drh, tags: trunk)
2014-10-06
18:33
[80e1baa5c2] Remove unreachable branches in decodeIntArray() when compiling without STAT3 or STAT4. (user: drh, tags: trunk)
14:37
[3aff9a9cac] Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples. (user: dan, tags: trunk)
12:41
[418f3c9ad2] Fix a harmless compiler warning inside an assert() in FTS4. (user: drh, tags: trunk)
2014-10-04
19:31
[b8f7f19dc0] Tweaks to documentation on sqlite3_open() and sqlite3_bind(). No code changes. (user: drh, tags: trunk)
11:59
[0f8102d71a] Updates to documentation and requirements marks. No code changes. (user: drh, tags: trunk)
10:22
[fc619be057] Closed-Leaf: Add a test to show that the change on this branch is effective. (user: dan, tags: stat4-avgeq)
2014-10-03
19:16
[e6f7f97dbc] Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples under some circumstances. (user: dan, tags: stat4-avgeq)
16:00
[d2fc322728] Add requirements marks on the sqlite3_db_status() interface implementation. Fix a typo in the documentation. Fix the new sqlite3_result_text64() routine so that it works correctly with an encoding parameter of SQLITE_UTF16. (user: drh, tags: trunk)
14:54
[440705b98a] Update to requirements marks related to changes in the memory allocation interface and enhancement of the documentation regarding DEFAULT clauses in CREATE TABLE. (user: drh, tags: trunk)
2014-10-02
21:52
[ffe7573636] Avoid a NULL pointer deference when processing the IS operator if the right-hand side is an illegal "#ID" style variable. Fix for ticket [8c32a33a53092c85a15b] (user: drh, tags: trunk)
2014-10-01
13:17
[07c89940c4] Show the TK_DOT operator in the TreeView debugging output. No changes to production code. (user: drh, tags: trunk)
12:01
[c3c15d20c6] Avoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_READ code. Fix for [e3a290961a6]. (user: dan, tags: trunk)
01:52
[2695772c98] Merge the latest enhancements from trunk. (user: drh, tags: sessions)
01:46
[2078454ac9] Merge the latest enhancements from trunk. (user: drh, tags: apple-osx)
2014-09-30
21:24
[0efc6859d1] Leaf: Draw the TreeView debugging graphs using unicode box-drawing characters. (user: drh, tags: box-character-graph)
19:04
[5ce05757aa] 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. (user: drh, tags: trunk)
17:31
[b6b289182f] 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. (user: drh, tags: trunk)
17:03
[670993eb81] Further enhancements to the "wheretrace" debugging output. (user: drh, tags: trunk)
14:14
[2e375eae47] Enhanced debug output for OR-logic in the query loop optimizer. (user: drh, tags: trunk)
13:46
[92e0b4bd4d] Show tree diagrams of data structures in the debugging output when the 0x100 bit is set on sqlite3WhereTrace or sqlite3SelectTrace. (user: drh, tags: trunk)
12:33
[4ff51325d6] Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(), and sqlite3TreeViewSelect(). (user: drh, tags: trunk)
2014-09-29
18:47
[5e5d6e8680] Leaf: 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 (user: drh, tags: faster-OP_Column)
15:42
[7fb1626866] Fix the header comment in sqlite3VdbeDeletePriorOpcode(). No changes to code. (user: drh, tags: trunk)
15:00
[414f0d6a64] Ensure that the OP_Prev opcode verifies that content has not been deleted out from under the cursor. Fix for ticket [209d31e3161b9e9ff]. (user: drh, tags: trunk)
2014-09-27
19:51
[497367cb57] Merge recent trunk changes (performance enhancements) into the sessions branch. (user: drh, tags: sessions)
05:00
[3edab9957c] Reduce the amount of memcpy() required by defragmentPage(). (user: drh, tags: defrag-opt)
2014-09-26
18:30
[d026f0c944] Add an assert() to verify the last-row-id for the database just prior to calling a SQL function. (user: mistachkin, tags: trunk)
02:41
[83913515830a] 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. (user: drh, tags: trunk)
01:10
[e93aecc090] 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. (user: drh, tags: trunk)
2014-09-25
17:42
[baeb72a356] Minor code reformatting and comment change, to improve clarity. No logic changes. (user: drh, tags: trunk)
13:17
[3467049a17] Simplifications to the SQL function and aggregate calling procedures. (user: drh, tags: trunk)
12:31
[1330c72e17] Simplification to the random rowid picking logic that begins running when the maximum possible rowid has already been used. (user: drh, tags: trunk)
11:08
[6c8924cacc] Still more performance enhancements to the LIKE and GLOB operators. (user: drh, tags: trunk)
03:51
[5ab1023d6c] More performance optimization for the LIKE and GLOB operators. (user: drh, tags: trunk)
02:44
[ef30e0352b] Change that might allow SQLite to build and work using the EBCDIC character set. (user: drh, tags: trunk)
00:56
[b2c89ef49c] Size reduction and performance improvement in the LIKE and GLOB operators. (user: drh, tags: trunk)
2014-09-24
19:47
[99323552c0] 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. (user: drh, tags: trunk)
18:31
[13c746f85d] Small performance and size optimization for btreeUnlockIfUnused(). (user: drh, tags: trunk)
13:20
[1ad2bc1ed4] Do not allow parameters in a DEFAULT clause of a CREATE TABLE statement. Ticket [78c0c8c3c9f7c1]. (user: drh, tags: trunk)
04:38
[c705cf856d] Closed-Leaf: 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. (user: drh, tags: linear-interpolation)
02:05
[f21d217583] Have the clearCell() routine return the cell size to the caller, rather than have the caller make a separate call to cellSizePtr(). (user: drh, tags: trunk)
01:23
[5dd41cdbfe] Shorten all lines of source code in btree.c to at most 80 characters. No logical changes. (user: drh, tags: trunk)
00:59
[8e3375313e] Add the MemPage.noPayload boolean and use it to help cellSizePtr() and btreeParseCellPtr() run faster. (user: drh, tags: trunk)
2014-09-23
23:12
[f480582cca] Remove an unused C-preprocessor macro. No functional changes to the code. (user: drh, tags: trunk)
22:36
[4147f6671e] 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. (user: drh, tags: trunk)
21:25
[bf59df66b3] Simplify the CellInfo structure for a size reduction and performance improvement. (user: drh, tags: trunk)
18:30
[d2962a5f38] Add the "multiplex_truncate" PRAGMA to the multiplexor extension, for querying and setting the truncate flag on a database connection. (user: drh, tags: trunk)
01:40
[ae9a42b268] 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. (user: drh, tags: trunk)
2014-09-22
20:38
[7609744014c] Fix to payload size overflow detection in the cellSizePtr() change of the previous check-in. (user: drh, tags: trunk)
19:51
[bc8bbf3207] Size reduction and substantial performance increase for cellSizePtr(). (user: drh, tags: trunk)
14:30
[41de1643bf] 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. (user: drh, tags: trunk)
03:22
[10a6e51049] Disable shared memory operations using the unix-nolock VFS. (user: drh, tags: trunk)
2014-09-21
23:08
[3967ebe83e] Merge in all recent changes from trunk. (user: drh, tags: apple-osx)
22:49
[6406b77f2c] Merge all recent trunk changes into the sessions branch. (user: drh, tags: sessions)
22:31
[d5880abd63] 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. (user: drh, tags: trunk)
20:31
[9683e001ed] Closed-Leaf: Add test cases for ticket [d11a6e908f]. (user: drh, tags: select-trace)
2014-09-20
18:18
[cbe0cf9ddf] Enable SELECT query planning tracing when compiled with SQLITE_ENABLE_SELECTTRACE and either SQLITE_DEBUG or SQLITE_TEST. (user: drh, tags: select-trace)
00:35
[59e2c9df02] 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. (user: drh, tags: trunk)
00:29
[0fac2c045f] Closed-Leaf: Only enable HAVE_STRCHRNUL by default on linux, as that is the only place it appears to work by default. (user: drh, tags: sqliteIntMacros)
00:02
[35db3e2f35] Revise macro usage in 'sqliteInt.h'. (user: mistachkin, tags: sqliteIntMacros)
2014-09-19
22:44
[544664cadf] Simplify two conditionals and add testcase() macros to the affinity transform logic in the comparison operators. (user: drh, tags: trunk)
22:30
[3b21cf2b28] 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. (user: drh, tags: trunk)
22:01
[e996ca32cb] Tighten the conditions under which applyNumericAffinity() be called and add assert() statements to prove that it is never called otherwise. (user: drh, tags: trunk)
20:13
[3f3ca76aea] 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. (user: drh, tags: trunk)
19:43
[3ab20ba14f] Do not attempt to extend the temp file if VFS version 3 is not supported and hence memory mapped I/O is unavailable. (user: drh, tags: trunk)
19:00
[3db78d6100] Make the "nolock" VFS on unix a version-3 VFS so that the sorter can use memory-mapped I/O. (user: drh, tags: trunk)
16:56
[6199760d13] Remove a local variable from the OP_Column implementation, resulting in a modest size reduction and a performance increase. (user: drh, tags: trunk)
16:13
[24cd32d681] Small size reduction and performance increase for releaseMemArray(). (user: drh, tags: trunk)
16:02
[9b42c3da6b] Updates to comments. No code changes. (user: drh, tags: trunk)
15:28
[36b613ccf0] The OP_Column opcode runs faster and is smaller by manually in-lining the code that persists string values in the output register. (user: drh, tags: trunk)
04:42
[987a7a2119] Add the sqlite3VdbeMemClearAndResize() function. Fix a sorting-index prefilter problem. (user: drh, tags: trunk)
02:01
[72727b68cd] Closed-Leaf: Make sure that the sorting-index pre-filter recognizes that a rowid reference might be sortable. This fixes a performance regression. (user: drh, tags: Cplusplus-comment)
00:43
[5b9b898779] 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. (user: drh, tags: Cplusplus-comment)
2014-09-18
21:25
[9c09ac353d] Add the Mem.szMalloc element to the Mem object and use it to keep track of the size of the Mem.zMalloc allocation. (user: drh, tags: trunk)
18:55
[55879932116d] Correct typos in comments. No changes to code. (user: mistachkin, tags: trunk)
17:52
[4c8c89d7e6] 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. (user: drh, tags: trunk)
16:28
[d7afdcbac2] Performance improvement for affinity transformations on comparison operators. (user: drh, tags: trunk)
14:36
[4ef4c9a7c8] Since numeric affinity is the most common case, check it first. Interchange the NONE and TEXT affinity codes for easier checking of no affinity. (user: drh, tags: trunk)
11:31
[67ea2979d5] Merge latest trunk changes with this branch. (user: dan, tags: experimental-bulk-update)
09:59
[3bd7c1b2fa] Modify an assert() within sqlite3PagerWalFramesize(), a function only ever used by zipvfs, to account for recent zipvfs changes. (user: dan, tags: trunk)
02:20
[5192f964b2] Fix harmless warnings on 32-bit MSVC builds. (user: drh, tags: trunk)
01:50
[ef1aa10b7f] Make sure of the strchrnul() library function on platforms where it is available. (user: drh, tags: trunk)
01:29
[1de558bcb1] 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. (user: drh, tags: trunk)
01:21
[163bfae858] Closed-Leaf: Fix compiler warnings and change the nullMem structure initializer into a format that MSVC can understand. (user: drh, tags: micro-optimizations)
2014-09-16
14:16
[0be3019ed7] 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. (user: drh, tags: micro-optimizations)
13:30
[8fb90da77c] Changes to sqlite3VdbeRecordUnpack() to make it slightly smaller and faster. (user: drh, tags: trunk)
03:24
[20ed2321b0] Performance improvement to the sqlite3MemCompare() routine by factoring out sqlite3BlobCompare(). (user: drh, tags: trunk)
2014-09-15
16:57
[5efafef51d] Merge latest trunk fixes into this branch. (user: dan, tags: experimental-bulk-update)
16:53
[4060efb646] Fix tool/showwal.c so that it handles WAL files that contain 64KiB pages. (user: dan, tags: trunk)
16:50
[dedaa6fb3d] Avoid attempting to call the xFetch() method of an sqlite3_io_methods object with a version number less than 3. (user: dan, tags: trunk)
15:34
[55b8011d5b] Merge latest trunk changes with this branch. (user: dan, tags: experimental-bulk-update)
14:59
[69a6456077] 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. (user: drh, tags: trunk)