SQLite
Timeline
Not logged in

94 check-ins using file tool/lemon.c version e6056373

2017-08-21
02:20
[56d19f9f] Leaf: Remove an unnecessary conditional. (user: drh, tags: trunk)
02:05
[6538ef7b] Minor optimization to sqlite3VdbeMemSetStr(). (user: drh, tags: trunk)
2017-08-19
20:38
[d01d2cff] Space and size optimization to the printf implementation. (user: drh, tags: trunk)
15:50
[2dd36ade] Leaf: Ensure that write-locks on pages are dropped at the end of each write transaction, even if there is still a read transaction open. (user: dan, tags: server-process-edition)
2017-08-18
22:30
[745bc8de] Another size and performance optimization to readDbPage(). This time we eliminate some unnecessary local variables. (user: drh, tags: trunk)
21:14
[ca9e1875] Size and performance optimization the readDbPage() routine in the pager. (user: drh, tags: trunk)
18:55
[abb6e076] Add tests to this branch. (user: dan, tags: server-process-edition)
16:09
[3075cfa0] For the unix VFS, avoid an unnecessary stat() system call prior to opening any file in the common case where there are no unused file descriptors. (user: drh, tags: trunk)
16:04
[66fb9e1c] Do not search for locks to clear when connecting to a db in multi-process mode unless it looks like the previous user of the client-id crashed. (user: dan, tags: server-process-edition)
14:34
[eb1202b5] Combine the OP_CreateTable and OP_CreateIndex opcodes of the bytecode engine into a single OP_CreateBtree opcode. This simplifies the implementation and makes the bytecode programs clearer. (user: drh, tags: trunk)
08:29
[37e19008] Only use indexes on expressions to optimize ORDER BY and GROUP BY if the collation sequence matches. Possible fix for [e20dd54a]. (user: dan, tags: trunk)
2017-08-17
20:53
[a42a438c] Use the __builtin_clzll() function of gcc to improve the performance and reduce the size of the sqlite3LogEst() routine. (user: drh, tags: trunk)
19:32
[a8115f95] Add support for crash recovery in multi-process mode. And add test cases for the same. (user: dan, tags: server-process-edition)
19:23
[264a5e1b] Small optimization in the Expr tree walker. (user: drh, tags: trunk)
18:54
[0367a4d5] Size optimization in the authorizer error message generation logic. (user: drh, tags: trunk)
18:23
[f13682ea] In sqlite3ViewGetColumnNames(), return the number of errors, not an error code. (user: drh, tags: trunk)
18:17
[0712f057] The RTREE extension should return SQLITE_CORRUPT_VTAB, not just SQLITE_CORRUPT when it encounters incorrectly formatted shadow tables. (user: drh, tags: trunk)
14:47
[fb6ca99b] Remove an unnecessary branch from the [be436a7f4587ce517ddc] fix. (user: drh, tags: trunk)
14:12
[2101b420] Add test cases for ticket [be436a7f4587ce517] using virtual table modules fts5 and rtree. (user: dan, tags: trunk)
02:26
[a7bc7752] Defer schema resets when the query planner is running. Proposed fix for ticket [be436a7f4587ce517]. (user: drh, tags: trunk)
2017-08-16
19:20
[f078deb2] Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce the size and improve the performance of OP_Column. (user: drh, tags: trunk)
17:06
[380a7b7a] Update this branch with the latest changes from trunk. (user: dan, tags: server-process-edition)
16:52
[04e0cb57] Enhance this branch to support page-level-locking (without MVCC) for multi-process deployments. (user: dan, tags: server-process-edition)
14:16
[39543903] Remove an unnecessary local variable from OP_Column, for a small size reduction and performance increase. (user: drh, tags: trunk)
11:04
[dc98a92f] Performance improvement in the OP_Column opcode. (user: drh, tags: trunk)
2017-08-15
14:14
[2cf3f3de] Small size and performance improvement in the OP_Column opcode. (user: drh, tags: trunk)
03:46
[373b71d1] Btree optimization: New field BtCursor.pPage that points to the current page, saving a single pointer dereference on each access. (user: drh, tags: trunk)
2017-08-14
23:53
[16969338] Minor size and performance optimization to sqlite3BtreeCloseCursor(). (user: drh, tags: trunk)
18:13
[240d5714] Change the internal btree routine moveToRoot() to return SQLITE_EMPTY if the table is empty or if it has pgnoRoot==0. This simplifies the callers, making them smaller and faster. The SQLITE_EMPTY result code is intercepted and changed into SQLITE_OK before surfacing in an API. (user: drh, tags: trunk)
17:03
[25e92baa] Fix harmless indentation error. (user: drh, tags: trunk)
14:53
[d0da791b] Sometimes a TK_COLUMN Expr node can have Expr.pTab==0 if it is a reference to an expression column in an index on an expression. Fix for ticket [aa98619ad08ddcab]. (user: drh, tags: trunk)
07:16
[8e1b28ed] Remove code for PLL support in wal mode from this branch. (user: dan, tags: server-process-edition)
06:55
[bc2498d6] Update this branch with latest trunk changes. (user: dan, tags: server-process-edition)
01:33
[7e0d3e9c] Properly dequote column names in tables constructed by an aggregate SELECT. (user: drh, tags: trunk)
2017-08-12
18:31
[02174842] Add new test file fts5vocab2.test. (user: dan, tags: trunk)
14:06
[42560723] Leaf: Add a more rigorous test case for the bug fixed by the previous commit on this branch. (user: dan, tags: begin-concurrent)
02:16
[14d262d6] Update the speed-check.sh test script to append log output to the end of the cout-NAME.txt file. (user: drh, tags: trunk)
02:01
[6e52fa5f] Remove the zBase field from the StrAccum object. Resulting code is slightly smaller and faster. (user: drh, tags: trunk)
01:09
[28a5aec1] Size and performance micro-optimization on sqlite3SrcListIndexedBy(). (user: drh, tags: trunk)
2017-08-11
21:16
[38dd9b50] Fix a problem allowing a conflicting transaction to be committed in the case where more than one 32KB shared-memory page has been written to since the transaction was started. (user: dan, tags: begin-concurrent)
20:22
[11054cf5] Add another PAGERTRACE() macro to show when pages are added to Pager.pAllRead. No impact on production builds. (user: drh, tags: begin-concurrent)
19:31
[39f39e3d] Add a PAGERTRACE() macro to log when frames are written into the WAL file. This is for analysis only and is a no-op for production builds. (user: drh, tags: begin-concurrent)
19:16
[47e71695] Merge the latest enhancements from trunk. (user: drh, tags: begin-concurrent)
18:59
[831156a4] Fix compiler warnings that arise if the PAGERTRACE macro is turned on. This changes does not affect production builds. (user: drh, tags: trunk)
18:55
[aa49926d] Improved comments in the header of the LSM1 vtab module. No code changes. (user: drh, tags: trunk)
13:51
[cb0c49cb] New test cases for LSM1. (user: drh, tags: trunk)
12:49
[2164031b] Convert the LSM1 virtual table to be WITHOUT ROWID and get UPDATE and DELETE operations working on it. (user: drh, tags: trunk)
03:47
[9466d952] Simplification to the like optimization logic. Remove unnecessary branches. (user: drh, tags: trunk)
2017-08-10
20:43
[c601d128] Allow WITHOUT ROWID virtual tables to be writable as long as they have exactly one column as their PRIMARY KEY. (user: drh, tags: trunk)
20:36
[34a7bd71] Add the "instance" type to the fts5vocab virtual table module. For direct access to the contents of the fts5 term index. (user: dan, tags: trunk)
19:12
[f38ff718] Closed-Leaf: Fix a typo in csv01.test introduced by the previous commit. (user: dan, tags: writable-vtab-without-rowid)
19:10
[b0e3b88a] Add extra tests to this branch. (user: dan, tags: writable-vtab-without-rowid)
17:53
[6997e00c] Test case for writing to a WITHOUT ROWID virtual table. The TCLVAR virtual table is modified to add a "fullname" column which is the primary key, and to accept update operations against the primary key. (user: drh, tags: writable-vtab-without-rowid)
15:19
[ab9ee4c1] Experimental changes that allow a WITHOUT ROWID virtual table to be writable as long as it has only a single-column PRIMARY KEY. (user: drh, tags: writable-vtab-without-rowid)
03:27
[e49279e6] Add a first draft of the "vtablog" extensions that implements a generic virtual table useful for experimentation using the command-line shell. (user: drh, tags: trunk)
2017-08-09
22:55
[dcdf0913] Preserve the error code from xConnect or xCreate methods in virtual table implementations when they are encountered during parsing. (user: drh, tags: trunk)
20:35
[a6256980] Leaf: Add experimental sqlite3_open_v2() flag SQLITE_OPEN_REUSE_SCHEMA. For sharing identical in-memory schema objects between connections. (user: dan, tags: reuse-schema)
19:27
[94434a25] Various bug fixes for the new LSM1 virtual table design. (user: drh, tags: trunk)
18:40
[313df946] Work toward redesigning the interface to the LSM1 virtual table. (user: drh, tags: trunk)
2017-08-08
21:40
[795eede3] The identifier "vsnprintf" appears to be a reserved word in recent versions of XCode, so avoid using it as a structure field. (user: drh, tags: trunk)
21:30
[f4a4b149] Fix a faulty signed/unsigned character comparison in the LIKE optimization logic. (user: drh, tags: trunk)
20:03
[537e3be2] Enhance the CSV virtual table extension so that it accepts the last row of the CSV file even if the last row omits the closing \n, as long as the last row has a full set of columns. (user: drh, tags: trunk)
2017-08-07
19:12
[b26d7a1c] Avoid casting a value larger than 2^31 to a (size_t) or (SIZE_T) on systems where it is a 32-bit type. (user: dan, tags: trunk)
19:06
[f08d63b4] Leaf: On Windows, avoid casting a value larger than 2^31 to a (SIZE_T) on systems where it is a 32-bit type. (user: mistachkin, tags: mmap-size-limit)
18:54
[4249fcf7] Fix a problem with handling SQLITE_FCNTL_MMAP_SIZE requests with a negative parameter in os_unix.c. (user: dan, tags: mmap-size-limit)
18:27
[7c8b6f1c] Update bigmmap.test to account for builds that use "-DSQLITE_MAX_MMAP_SIZE=<integer-constant>LL". (user: dan, tags: mmap-size-limit)
18:13
[46c3085d] Avoid casting a value larger than 2^31 to a (size_t) on systems where it is a 32-bit type. (user: dan, tags: mmap-size-limit)
17:28
[38f30091] Fix an out-of-order test number. (user: mistachkin, tags: trunk)
17:14
[17447062] Add new test file "bigmmap.test". For testing builds with -DSQLITE_MAX_MMAP_SIZE > 2GB. (user: dan, tags: trunk)
14:15
[17bc7ded] Update this branch with latest trunk changes. (user: dan, tags: server-process-edition)
2017-08-05
16:15
[6ce8b7ca] Fix a segfault in swarmvtab that could occur if there was an error in the SQL statement passed to the constructor. Add other test cases. (user: dan, tags: trunk)
15:49
[422cd9f3] Microoptimization in pcache1.c makes the code slightly smaller and faster. (user: drh, tags: trunk)
15:30
[002a9c7b] Fix memory leak in swarmvtab. (user: dan, tags: trunk)
2017-08-04
20:27
[0f6f6f03] Add the swarm virtual table to the existing union virtual table module. (user: drh, tags: trunk)
20:15
[a94e2f60] Closed-Leaf: Add the optional non-found-callback to the swarm-vtab. (user: drh, tags: union-vtab)
17:39
[0f82d3b9] Add further test cases for swarmvtab. And minor code changes. (user: dan, tags: union-vtab)
16:16
[7ae20eac] Add test cases and associated fixes for swarmvtab. (user: dan, tags: union-vtab)
08:24
[e11e6eb1] Add SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h. (user: dan, tags: trunk)
08:23
[61ab112f] Closed-Leaf: Update script tool/mksqlite3c.tcl to avoid duplicating the SQLITE_API qualifier when copying sqlite3rbu.h into the amalgamation. (user: dan, tags: sqlite3rbu.h-fix)
2017-08-03
20:13
[1f05ad29] Modify swarmvtab to use a separate database connection for each database file. (user: dan, tags: union-vtab)
15:50
[d8637bad] Add SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h. (user: dan, tags: sqlite3rbu.h-fix)
15:43
[7676b39b] Fix some problems in RBU test cases. Also update RBU source code to better handle the trivial case where an RBU update is applied to a database zero pages in size. (user: dan, tags: trunk)
00:29
[654935c7] Optimization to the comparison opcodes in the byte-code engine. (user: drh, tags: trunk)
2017-08-02
22:43
[aea5990e] In the KeyInfo object, refactor the nField and nXField elements into nKeyField and nAllField, which are more useful and run a little faster. (user: drh, tags: trunk)
19:59
[03d94388] Enhance the code in unionvtab.c to also provide the "swarmvtab" virtual table module. There are still several problems on this branch. (user: dan, tags: union-vtab)
19:04
[527974d4] Avoid redundant calls to sqlite3ApiExit() in sqlite3_step(). (user: drh, tags: trunk)
18:28
[bcc6dacb] Only attempt to invoke WAL callbacks when a transaction has committed. (user: drh, tags: trunk)
18:27
[f3c39c29] Minor optimization on clearCell() (user: drh, tags: trunk)
15:50
[49ba54e2] Optimizations associated with error handling in btree cursors. (user: drh, tags: trunk)
12:38
[c45078c0] Remove unused token codes. (user: drh, tags: trunk)
11:36
[cb3742f5] Rearrange some of the added token codes for a very slight size decrease and performance increase. (user: drh, tags: trunk)
11:04
[1cad2926] Rearrange integer token values in the parser and logic in the resolveP2Values() routine for a small size reduction and performance increase. (user: drh, tags: trunk)
03:21
[eef643a3] Show which opcodes are jumps in the comments when generating the opcodes.h header file. (user: drh, tags: trunk)
03:21
[a6e4c5ae] Add the "%token" control to the lemon parser. Not currently used by SQLite. (user: drh, tags: trunk)