SQLite

Timeline
Login

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

200 most recent check-ins using file src/os_win.c version 0a4042ef

2014-10-20
16:24
Have the ota extension perform an incremental checkpoint after generating the wal file. (check-in: 0bf1301a user: dan tags: ota-update)
2014-10-16
11:45
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. (check-in: 640345d8 user: dan tags: trunk)
2014-10-15
20:02
Fix a problem causing sqlite3changeset_concat() to fail to detect attempts to concatenate patchsets which changesets. (check-in: 236704a9 user: dan tags: sessions)
19:37
Merge latest trunk changes with this branch. (check-in: 1b2824f1 user: dan tags: sessions)
15:28
Update releasetest.tcl so that x86-64 runs a superset of the x86 tests. (check-in: 3c1e70f4 user: dan tags: trunk)
14:45
Fix a problem causing lock5.test to fail in mmap-mode. (check-in: b3e7b446 user: dan tags: trunk)
11:55
Add a four-byte prefix to the BtShared.pTmpSpace buffer to avoid reading before the beginning of an allocation. (check-in: 9386bfca user: drh tags: trunk)
11:31
Rearrange an expression in vdbemem.c to avoid a (harmless) reference to a possibly unitialized variable. (check-in: 4a7b3fa0 user: dan tags: trunk)
2014-10-14
20:25
Make sure new sqlite3_vtab objects created by the xCreate() virtual table method are initialized by the system, in accordance with the documentation. (check-in: eab82330 user: drh tags: trunk)
17:27
Fix some code duplication issues on this branch. Add minor optimizations to the new code. (check-in: 58d7793b user: dan tags: defrag-opt)
13:41
Merge recent trunk micro-optimizations and the DESC index GROUP BY ORDER BY bug fix into the sessions branch. (check-in: 83d4114f user: drh tags: sessions)
2014-10-13
23:39
Optimize a database corruption test inside of the OP_Column opcode. (check-in: 005e5b38 user: drh tags: trunk)
20:12
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. (check-in: 4b3b65ee user: drh tags: trunk)
18:09
Merge trunk changes into this branch. (check-in: d5b7c5a8 user: dan tags: defrag-opt)
18:03
Further work on balance_nonroot(). (check-in: 6594f9b4 user: dan tags: defrag-opt)
17:42
Three small optimizations to vdbeaux.c. (check-in: 04892f8b user: drh tags: trunk)
16:02
Reduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out some of its functions and by avoiding unnecessary calls. (check-in: c2799aec user: drh tags: trunk)
13:00
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. (check-in: 20062f49 user: drh tags: trunk)
12:30
Use OP_SorterColumns in aggregate queries. Remove OPFLAG_CLEARCACHE. (Closed-Leaf check-in: 134e65c0 user: drh tags: OP_SorterColumns)
01:23
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. (check-in: b9c695e8 user: drh tags: OP_SorterColumns)
2014-10-12
22:37
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. (check-in: 91384a7d user: drh tags: trunk)
2014-10-11
23:31
Performance optimization and very slight size reduction for OP_Column. (check-in: 869c30e4 user: drh tags: trunk)
20:00
Attempt to further reduce memcpy() in balance_nonroot(). (check-in: fec849dc user: dan tags: defrag-opt)
17:22
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. (check-in: 66de1558 user: drh tags: trunk)
10:52
Require the SQLITE_ENABLE_RTREE compile-time option in speedtest1.c in order to enable the R-Tree tests. (check-in: 5d29a033 user: drh tags: trunk)
02:12
Make sure that a GROUP BY that also implements an ORDER BY scans the table in the correct order. Fix for ticket [ba7cbfaedc7e6]. (check-in: 7a32fdfd user: drh tags: trunk)
01:22
Remove an unnecessary conditional from the EXPLAIN QUERY PLAN logic. (check-in: c5dc83eb user: drh tags: trunk)
2014-10-10
20:52
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]. (Closed-Leaf check-in: 2a957396 user: dan tags: experimental)
19:15
Restrict the scope of the explainIndexRange() function in where.c. (check-in: c3012452 user: drh tags: trunk)
19:10
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. (check-in: 8541dfb3 user: dan tags: trunk)
18:09
Changes to enable compiling using VC6. (check-in: 9ee5686a user: drh tags: trunk)
17:47
When using the -config option to releasetest.tcl, default the testing type to "fulltest" if it is not specified on the command line. (check-in: cf291cbe user: drh tags: trunk)
17:44
Provide the new "-config CONFIG" option to the test/releasetest.tcl script, which allows one to run a single test configuration selected by name. (check-in: d479e32b user: drh tags: trunk)
17:20
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. (check-in: daa8314f user: drh tags: trunk)
15:47
Simplify the code used to generate the text for EXPLAIN QUERY PLAN. (check-in: beea1efc user: drh tags: trunk)
15:01
Fix a potential problem in the whereRangeScanEst() routine when STAT4 is active. The problem was introduced by recent enhancements. (check-in: 68e1b4de user: drh tags: trunk)
13:08
Cause the command-line shell to return non-zero if the final SQL statement is incomplete. (check-in: 177fff3b user: drh tags: trunk)
12:56
Merge all recent trunk changes. (check-in: abfef254 user: drh tags: sessions)
2014-10-09
19:35
Change the balance_nonroot() routine to reduce the amount of memcpy work that takes place. This is a work in progress. (check-in: 29304499 user: dan tags: defrag-opt)
15:08
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. (check-in: 49dfee7c user: dan tags: trunk)
14:10
Add a test case for the memory leak fixed by the previous check-in. (check-in: bae36d54 user: drh tags: trunk)
14:00
Fix a memory leak associated with the FTS4 matchinfo() function. (check-in: fb8da824 user: drh tags: trunk)
2014-10-08
19:33
Remove an always-true branch in whereRangeScanEst(). Replace it with an assert(). (check-in: 42e48fd3 user: drh tags: trunk)
15:53
Fix up test cases to account for the new SQLITE_LIMIT_WORKER_THREADS limit. (check-in: 6483d426 user: drh tags: trunk)
14:28
Set the connection-specific lastRowid value before calling any SQL function. (check-in: dff0f642 user: drh tags: trunk)
13:34
Ensure that the Pager.pTmpSpace allocation is correct even if an OOM error occurs while reducing the page size. (check-in: e4b43967 user: drh tags: trunk)
11:11
Remove some temporary code in mallocA.test that was accidentally checked in. (check-in: dedd15f7 user: dan tags: trunk)
02:53
Fix the STAT4 range scan estimates for DESC indexes. (check-in: e3fe8400 user: drh tags: trunk)
00:08
More intuitive labels on ".wheretrace" output. (check-in: adcb3fed user: drh tags: trunk)
2014-10-07
23:02
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. (check-in: f672a380 user: drh tags: trunk)
20:09
Fix the corruptI.test script so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK and with SQLITE_DEFAULT_AUTOVACUUM=1. (check-in: e405b9e4 user: drh tags: trunk)
16:59
Restrict the scope of the valueToText() routine. (check-in: 13c962b3 user: drh tags: trunk)
15:46
Enhance (and fix) the MEMTYPE tags associated with heap memory allocations when SQLITE_MEMDEBUG is used. (check-in: ca5b789e user: drh tags: trunk)
2014-10-06
18:33
Remove unreachable branches in decodeIntArray() when compiling without STAT3 or STAT4. (check-in: 80e1baa5 user: drh tags: trunk)
14:37
Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples. (check-in: 3aff9a9c user: dan tags: trunk)
12:41
Fix a harmless compiler warning inside an assert() in FTS4. (check-in: 418f3c9a user: drh tags: trunk)
2014-10-04
19:31
Tweaks to documentation on sqlite3_open() and sqlite3_bind(). No code changes. (check-in: b8f7f19d user: drh tags: trunk)
11:59
Updates to documentation and requirements marks. No code changes. (check-in: 0f8102d7 user: drh tags: trunk)
10:22
Add a test to show that the change on this branch is effective. (Closed-Leaf check-in: fc619be0 user: dan tags: stat4-avgeq)
00:07
Avoid leaking Index.aiRowEst memory if an OOM causes a rollback which deletes the index before the aiRowEst deletion code in sqlite3AnalysisLoad() routine has a chance to run. Since the aiRowEst now might be deleted from freeIndex() which does not always have a db pointer, make sure the aiRowEst memory is not held in lookaside. (check-in: efd87ba1 user: drh tags: stat4-avgeq)
2014-10-03
19:29
Fix a division-by-zero error that might occur if the sqlite_stat1 table is corrupt. (check-in: f9c053b2 user: dan tags: stat4-avgeq)
19:16
Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples under some circumstances. (check-in: e6f7f97d user: dan tags: stat4-avgeq)
16:00
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. (check-in: d2fc3227 user: drh tags: trunk)
14:54
Update to requirements marks related to changes in the memory allocation interface and enhancement of the documentation regarding DEFAULT clauses in CREATE TABLE. (check-in: 440705b9 user: drh tags: trunk)
2014-10-02
21:52
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] (check-in: ffe75736 user: drh tags: trunk)
2014-10-01
13:17
Show the TK_DOT operator in the TreeView debugging output. No changes to production code. (check-in: 07c89940 user: drh tags: trunk)
12:01
Avoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_READ code. Fix for [e3a290961a6]. (check-in: c3c15d20 user: dan tags: trunk)
01:52
Merge the latest enhancements from trunk. (check-in: 2695772c user: drh tags: sessions)
2014-09-30
21:24
Draw the TreeView debugging graphs using unicode box-drawing characters. (Closed-Leaf check-in: 0efc6859 user: drh tags: box-character-graph)
19:04
Improvements to the new syntax-tree output routines: Omit the "END SELECT" mark and instead terminate the graph at the last item. Increase the maximum tree depth to 100. (check-in: 5ce05757 user: drh tags: trunk)
17:31
Enable the query planner to deal with WHERE clauses that have OR terms nested within AND terms that are nested within OR terms. Also remove an unused function declaration. (check-in: b6b28918 user: drh tags: trunk)
17:03
Further enhancements to the "wheretrace" debugging output. (check-in: 670993eb user: drh tags: trunk)
14:14
Enhanced debug output for OR-logic in the query loop optimizer. (check-in: 2e375eae user: drh tags: trunk)
13:46
Show tree diagrams of data structures in the debugging output when the 0x100 bit is set on sqlite3WhereTrace or sqlite3SelectTrace. (check-in: 92e0b4bd user: drh tags: trunk)
12:33
Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(), and sqlite3TreeViewSelect(). (check-in: 4ff51325 user: drh tags: trunk)
2014-09-29
18:47
Add the OPFLAG_MULTICOLUMN flag to the OP_Column opcode. Rearrange OP_Column instructions to take advantage of the new flag for a small performance increase (Leaf check-in: 5e5d6e86 user: drh tags: faster-OP_Column)
15:42
Fix the header comment in sqlite3VdbeDeletePriorOpcode(). No changes to code. (check-in: 7fb16268 user: drh tags: trunk)
15:00
Ensure that the OP_Prev opcode verifies that content has not been deleted out from under the cursor. Fix for ticket [209d31e3161b9e9ff]. (check-in: 414f0d6a user: drh tags: trunk)
2014-09-27
20:45
Change the names of the stream interface APIs to be of the form "_strm" instead of "_str". In other words, added an "m" to the end, to try to make it clear that we are talking about a "stream" and not a "string. (check-in: 1f44bfdc user: drh tags: sessions)
19:51
Merge recent trunk changes (performance enhancements) into the sessions branch. (check-in: 497367cb user: drh tags: sessions)
18:18
Fix a segfault in the sessions module that could follow an OOM. (check-in: 09985fa6 user: dan tags: sessions)
16:33
Fix a segfault in the streaming API functions triggered by a very long table name. (check-in: d2642543 user: dan tags: sessions)
12:26
Improve sessions module documentation and comments. Fix some other code issues. (check-in: bfc8bd80 user: dan tags: sessions)
05:00
Reduce the amount of memcpy() required by defragmentPage(). (check-in: 3edab995 user: drh tags: defrag-opt)
2014-09-26
18:30
Add an assert() to verify the last-row-id for the database just prior to calling a SQL function. (check-in: d026f0c9 user: mistachkin tags: trunk)
10:52
Fix a problem with concatenating patchsets containing DELETE and INSERT operations on the same row. (check-in: 4d8537ea user: dan tags: sessions)
02:41
Fix the "PRAGMA integrity_check" command so that it avoids formatting error message context messages until it actually needs to generate an error message. This avoids much formatting, and hence greatly improves the performance of "PRAGMA integrity_check" in the common case when there are no errors. It also makes the code a little smaller. (check-in: 83913515 user: drh tags: trunk)
01:10
If an SQL function makes a recursive call to do an INSERT into the same database, make sure that the last_insert_rowid() for that INSERT is recorded. (check-in: e93aecc0 user: drh tags: trunk)
2014-09-25
20:43
Add streaming version of sqlite3changeset_concat(). (check-in: 88eb6656 user: dan tags: sessions)
17:42
Minor code reformatting and comment change, to improve clarity. No logic changes. (check-in: baeb72a3 user: drh tags: trunk)
14:54
Add streaming version of sqlite3changeset_invert() to sessions module. (check-in: 8ded6a46 user: dan tags: sessions)
13:17
Simplifications to the SQL function and aggregate calling procedures. (check-in: 3467049a user: drh tags: trunk)
12:31
Simplification to the random rowid picking logic that begins running when the maximum possible rowid has already been used. (check-in: 1330c72e user: drh tags: trunk)
11:08
Still more performance enhancements to the LIKE and GLOB operators. (check-in: 6c8924ca user: drh tags: trunk)
03:51
More performance optimization for the LIKE and GLOB operators. (check-in: 5ab1023d user: drh tags: trunk)
02:44
Change that might allow SQLite to build and work using the EBCDIC character set. (check-in: ef30e035 user: drh tags: trunk)
00:56
Size reduction and performance improvement in the LIKE and GLOB operators. (check-in: b2c89ef4 user: drh tags: trunk)
2014-09-24
19:47
Have each open database allocate its pTmpSpace when the first write cursor is opened, rather than on each insert or delete, for a small space savings and performance boost. (check-in: 99323552 user: drh tags: trunk)
18:31
Small performance and size optimization for btreeUnlockIfUnused(). (check-in: 13c746f8 user: drh tags: trunk)
17:13
Add streaming version of sqlite3changeset_apply(). Tests and fixes for the same and sqlite3changeset_start_str(). (check-in: b917fc14 user: dan tags: sessions)
13:20
Do not allow parameters in a DEFAULT clause of a CREATE TABLE statement. Ticket [78c0c8c3c9f7c1]. (check-in: 1ad2bc1e user: drh tags: trunk)
04:38
Experiment using linear interpolation, instead of a strict binary search, when looking for integer-keyed rows on a single b-tree page. The experiment was not successful. The number of key comparisons is reduced by about 15%, but the added complexity of the search logic causes an overall reduction in performance. The patch is saved for historical reference only. (Closed-Leaf check-in: c705cf85 user: drh tags: linear-interpolation)
02:05
Have the clearCell() routine return the cell size to the caller, rather than have the caller make a separate call to cellSizePtr(). (check-in: f21d2175 user: drh tags: trunk)
01:23
Shorten all lines of source code in btree.c to at most 80 characters. No logical changes. (check-in: 5dd41cdb user: drh tags: trunk)
00:59
Add the MemPage.noPayload boolean and use it to help cellSizePtr() and btreeParseCellPtr() run faster. (check-in: 8e337531 user: drh tags: trunk)
2014-09-23
23:12
Remove an unused C-preprocessor macro. No functional changes to the code. (check-in: f480582c user: drh tags: trunk)
22:36
Avoid calling btreeParseCellPtr() from within fillInCell() since most of what btreeParseCellPtr() computes is ignored by fillInCell(). Instead, have fillInCell() compute the values it needs inline. Performance improvement. (check-in: 4147f667 user: drh tags: trunk)
21:25
Simplify the CellInfo structure for a size reduction and performance improvement. (check-in: bf59df66 user: drh tags: trunk)
20:39
Begin adding 'streaming' APIs to sessions module. This is a work in progress. (check-in: 3c7d3d95 user: dan tags: sessions)
18:30
Add the "multiplex_truncate" PRAGMA to the multiplexor extension, for querying and setting the truncate flag on a database connection. (check-in: d2962a5f user: drh tags: trunk)
01:40
Adjust skip-scan cost estimates slightly so that a full table scan is preferred over a skip-scan to a column with only two distinct values. (check-in: ae9a42b2 user: drh tags: trunk)
2014-09-22
20:38
Fix to payload size overflow detection in the cellSizePtr() change of the previous check-in. (check-in: 76097440 user: drh tags: trunk)
19:51
Size reduction and substantial performance increase for cellSizePtr(). (check-in: bc8bbf32 user: drh tags: trunk)
14:30
Tune the query planner to be more aggressive about using automatic indexes on views and subqueries for which there is not opportunity to declare a persistent schema index. (check-in: 41de1643 user: drh tags: trunk)
03:22
Disable shared memory operations using the unix-nolock VFS. (check-in: 10a6e510 user: drh tags: trunk)
2014-09-21
22:49
Merge all recent trunk changes into the sessions branch. (check-in: 6406b77f user: drh tags: sessions)
22:31
Correctly handle an ORDER BY clause on an outer query when applying the compound-subquery flattening optimization. Ticket [d11a6e908f]. Also add the SQLITE_ENABLE_SELECTTRACE option for additional debugging and analysis information about select statement processing. (check-in: d5880abd user: drh tags: trunk)
20:31
Add test cases for ticket [d11a6e908f]. (Closed-Leaf check-in: 9683e001 user: drh tags: select-trace)
17:51
Add the "showauth" extension in ext/misc. (check-in: 28d52c1c user: drh tags: select-trace)
00:27
Improved ".selecttrace" output. (check-in: c0b61f70 user: drh tags: select-trace)
2014-09-20
20:38
Candidate fix for [d11a6e908f]. (check-in: 89398880 user: dan tags: select-trace)
20:24
Fix the SELECTTRACE_ENABLE macro so that it doesn't cause problems for testfixture. Add new SELECTTRACE() calls. (check-in: f1ba68f1 user: drh tags: select-trace)
18:18
Enable SELECT query planning tracing when compiled with SQLITE_ENABLE_SELECTTRACE and either SQLITE_DEBUG or SQLITE_TEST. (check-in: cbe0cf9d user: drh tags: select-trace)
00:35
Fix the usage of the _GNU_SOURCE and _BSD_SOURCE macros in the main internal header file, sqliteInt.h. Set HAVE_STRCHRNUL to 1 by default on Linux only. (check-in: 59e2c9df user: drh tags: trunk)
00:29
Only enable HAVE_STRCHRNUL by default on linux, as that is the only place it appears to work by default. (Closed-Leaf check-in: 0fac2c04 user: drh tags: sqliteIntMacros)
00:02
Revise macro usage in 'sqliteInt.h'. (check-in: 35db3e2f user: mistachkin tags: sqliteIntMacros)
2014-09-19
22:44
Simplify two conditionals and add testcase() macros to the affinity transform logic in the comparison operators. (check-in: 544664ca user: drh tags: trunk)
22:30
Recognize the invariant that a Mem object cannot be MEM_Dyn and have a non-zero szMalloc at the same time. Enforce this with assert()s and exploit it in the sqlite3VdbeMemClearAndResize() routine for a performance increase. (check-in: 3b21cf2b user: drh tags: trunk)
22:01
Tighten the conditions under which applyNumericAffinity() be called and add assert() statements to prove that it is never called otherwise. (check-in: e996ca32 user: drh tags: trunk)
20:13
Fix the affinity on inserts into the ANALYZE tables. Change the affinity characters to be upper case, to make the P5 parameter of comparison operators easier to read. (check-in: 3f3ca76a user: drh tags: trunk)
19:43
Do not attempt to extend the temp file if VFS version 3 is not supported and hence memory mapped I/O is unavailable. (check-in: 3ab20ba1 user: drh tags: trunk)
19:00
Make the "nolock" VFS on unix a version-3 VFS so that the sorter can use memory-mapped I/O. (check-in: 3db78d61 user: drh tags: trunk)
18:08
Add further tests to ota5.test. Add "ota.test", for running all ota tests. (check-in: 95ffdaa5 user: dan tags: ota-update)
16:56
Remove a local variable from the OP_Column implementation, resulting in a modest size reduction and a performance increase. (check-in: 6199760d user: drh tags: trunk)
16:13
Small size reduction and performance increase for releaseMemArray(). (check-in: 24cd32d6 user: drh tags: trunk)
16:02
Updates to comments. No code changes. (check-in: 9b42c3da user: drh tags: trunk)
15:28
The OP_Column opcode runs faster and is smaller by manually in-lining the code that persists string values in the output register. (check-in: 36b613cc user: drh tags: trunk)
15:06
Add extra tests for the ota extension. (check-in: 1e468fe1 user: dan tags: ota-update)
04:42
Add the sqlite3VdbeMemClearAndResize() function. Fix a sorting-index prefilter problem. (check-in: 987a7a21 user: drh tags: trunk)
02:01
Make sure that the sorting-index pre-filter recognizes that a rowid reference might be sortable. This fixes a performance regression. (Closed-Leaf check-in: 72727b68 user: drh tags: Cplusplus-comment)
00:43
Add the sqlite3VdbeMemClearAndResize() interface to be used in place of sqlite3VdbeMemGrow(). A C++ style comment was left in this check-in by mistake, and so it has been moved into a branch to avoid problems in any future bisects on windows. (check-in: 5b9b8987 user: drh tags: Cplusplus-comment)
2014-09-18
21:25
Add the Mem.szMalloc element to the Mem object and use it to keep track of the size of the Mem.zMalloc allocation. (check-in: 9c09ac35 user: drh tags: trunk)
18:55
Correct typos in comments. No changes to code. (check-in: 55879932 user: mistachkin tags: trunk)
17:57
Update the ota extension to support SQLITE_ENABLE_8_3_NAMES builds. (check-in: 718da6de user: dan tags: ota-update)
17:52
Merge the Mem.r value into the MemValue union as Mem.u.r. Hence, a Mem can now store an integer or a real but not both at the same time. Strings are still stored in a separate element Mem.z, for now. (check-in: 4c8c89d7 user: drh tags: trunk)
16:38
Use quotes instead of angle-brackets to include sqlite3.h from sqlite3ota.h. (check-in: fce9c6cc user: dan tags: ota-update)
16:28
Performance improvement for affinity transformations on comparison operators. (check-in: d7afdcba user: drh tags: trunk)
15:57
Remove some c++isms from sqlite3ota.c. (check-in: 0da1862b user: dan tags: ota-update)
15:22
Add new file ext/ota/README.txt, containing notes regarding the implementation of the ota extension. (check-in: 3c6e1cbb user: dan tags: ota-update)
14:48
Add an API to query an ota handle for the total number of key/value operations performed so far. (check-in: e3943fa7 user: dan tags: ota-update)
14:36
Since numeric affinity is the most common case, check it first. Interchange the NONE and TEXT affinity codes for easier checking of no affinity. (check-in: 4ef4c9a7 user: drh tags: trunk)
11:31
Merge latest trunk changes with this branch. (check-in: 67ea2979 user: dan tags: ota-update)
11:15
Fix an ota bug causing attempts to write to tables with more than 8 columns to fail. (check-in: 7da98ca2 user: dan tags: ota-update)
09:59
Modify an assert() within sqlite3PagerWalFramesize(), a function only ever used by zipvfs, to account for recent zipvfs changes. (check-in: 3bd7c1b2 user: dan tags: trunk)
02:20
Fix harmless warnings on 32-bit MSVC builds. (check-in: 5192f964 user: drh tags: trunk)
01:50
Make sure of the strchrnul() library function on platforms where it is available. (check-in: ef1aa10b user: drh tags: trunk)
01:29
Merge micro-optimizations into trunk after fixing the build on MSVC. Performance now shows 7.58% faster than the 3.8.6 release on x64 with gcc 4.8.1 and -Os. (check-in: 1de558bc user: drh tags: trunk)
01:21
Fix compiler warnings and change the nullMem structure initializer into a format that MSVC can understand. (Closed-Leaf check-in: 163bfae8 user: drh tags: micro-optimizations)
2014-09-17
23:37
Performance improvement and slight size reduction to the comparison operators in the VDBE. (check-in: 14052a7d user: drh tags: micro-optimizations)
19:05
Fix an unintialized variable problem in sqlite3ota.c. (check-in: 01268607 user: dan tags: ota-update)
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)
15:20
Add tests and fixes for "PRAGMA ota_mode". (check-in: 39df35c4 user: dan tags: ota-update)
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)
20:02
Clarify the effects of the pager_ota_mode pragma. Add tests and fixes for the same. (check-in: decaccc3 user: dan tags: ota-update)
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
19:34
Remove the experimental sqlite3_transaction_save() and restore() APIs. (check-in: 48d201cd user: dan tags: ota-update)
16:57
Merge latest trunk fixes into this branch. (check-in: 5efafef5 user: dan tags: ota-update)
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)
15:34
Merge latest trunk changes with this branch. (check-in: 55b8011d user: dan tags: ota-update)
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)