Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History of src/sqliteInt.h
2019-12-13
| ||
15:48 | Cleanup and performance enhancements for mini-lookaside. file: [4948c204] check-in: [74805668] user: drh branch: mini-lookaside-take-2, size: 210369 | |
12:14 | Merge fixes from trunk. file: [a036ca4e] check-in: [9c471195] user: drh branch: mini-lookaside-take-2, size: 209059 | |
11:32 | *Remove* the macros, not just comment them out. file: [60d92fad] check-in: [e5dc2939] user: drh branch: trunk, size: 208534 | |
11:31 | Remove unused macros formerly used to define built-in aggregate functions. file: [505a63c6] check-in: [3ef0d44e] user: drh branch: trunk, size: 208916 | |
00:49 | Tie up the loose ends in the ExprList size reduction. file: [344e090a] check-in: [59d0f3af] user: drh branch: exprlist-size-reduction, size: 209435 | |
2019-12-12
| ||
22:11 | Work toward reducing the incremental size of an ExprList object to 24-byte per entry, from 32-bytes (on a 64-bit machine). This helps the new mini-lookaside allocator to run better by avoiding excessive reallocs. The current change mostly works, but still has a few loose ends to tie up. This check-in is merely a snapshot to save my work. file: [5be56f65] check-in: [fdda76cf] user: drh branch: exprlist-size-reduction, size: 209548 | |
20:22 | Change the name of the Expr.a.zName field to zEName, so that it has a name that is distinct from other fields and variables and is hence easier to grep for. file: [ebb8c7e6] check-in: [d3783357] user: drh branch: mini-lookaside-take-2, size: 209247 | |
17:17 | Change the size of a mini-lookaside allocation to a macro (MINI_SZ) rather than a magic number (128). file: [fad2ac9b] check-in: [5e1949bc] user: drh branch: mini-lookaside-take-2, size: 209247 | |
02:50 | More efficient implementation of a lookaside allocator that supports mini (in this case, harcoded to 128B) slots. file: [7965727c] check-in: [b02fdc09] user: numist branch: mini-lookaside-take-2, size: 209173 | |
2019-12-09
| ||
08:13 | Avoid infinite recursion in the ALTER TABLE code when a view contains an unused CTE that references, directly or indirectly, the view itself. file: [1ac4dfde] check-in: [1d2e53a3] user: dan branch: trunk, size: 208910 | |
2019-12-05
| ||
14:31 | Fix a problem in ALTER TABLE that could occur if an index, view or trigger in the schema features an expression of the form ((SELECT ...) IN ()) where the SELECT statement uses a CTE. file: [daef6c0e] check-in: [7e5ad8e0] user: dan branch: trunk, size: 208842 | |
2019-11-16
| ||
14:15 | Do not allow CREATE TABLE or CREATE VIEW of an object with a name that looks like a shadow table name. file: [98bc9562] check-in: [6aef58b6] user: drh branch: defensive-improvements, size: 208849 | |
13:51 | Break out the test for writable shadow tables into a separate subroutine. file: [7bce951a] check-in: [8ad34d36] user: drh branch: defensive-improvements, size: 208702 | |
2019-11-15
| ||
02:52 | Merge the version 3.30.1 changes into the apple-osx branch. file: [4d5c6d23] check-in: [2c8af352] user: drh branch: apple-osx, size: 207192 | |
00:52 | Fix table-valued functions so that they will work as the right table in a LEFT JOIN. Ticket [2ae0c599b735d59e] file: [70facb03] check-in: [2c35d3f6] user: drh branch: trunk, size: 208656 | |
2019-11-14
| ||
13:24 | Ensure that the same subquery does not go through the window-function rewrite more than once, even when that subquery is part of a virtual table constraint that lacks the omit flag. file: [3a1d1680] check-in: [d0bc7db6] user: drh branch: trunk, size: 208620 | |
2019-11-12
| ||
14:43 | Ensure that the main filename and the journal filenames in the pager object are all correctly double-zero terminated. file: [7015c754] check-in: [df51ae19] user: drh branch: trunk, size: 208542 | |
2019-11-09
| ||
15:31 | Change the COLFLAG_NOTAVAIL bitmask so that it fits in the single-byte Walker.eCode field. file: [4edb543e] check-in: [53847f5c] user: drh branch: trunk, size: 208479 | |
2019-11-07
| ||
19:59 | Experimental branch to provide SQLITE_LIMIT_HEAP_K to limit the amount of allocated memory used by each database connection, individually. file: [6b73ae93] check-in: [4ab9dbb9] user: drh branch: limit_heap_k, size: 208549 | |
2019-11-06
| ||
22:19 | Change the way generated columns are computed so that no column is computed inside branch code that might not be taken. Ticket [4fc08501f4e56692] file: [a9afee18] check-in: [9e07b489] user: drh branch: trunk, size: 208479 | |
2019-10-30
| ||
18:50 | Always disallow the use of non-deterministic functions in CHECK constraints, even date/time functions that use the 'now' or similar keywords. Provide improved error messages when this requirement is not met. Ticket [830277d9db6c3ba1] file: [3ab4cce5] check-in: [2978b65e] user: drh branch: trunk, size: 208401 | |
2019-10-24
| ||
20:29 | Fix handling of covering indexes that use virtual columns. file: [5b2d25ba] check-in: [e0f7e321] user: drh branch: generated-columns, size: 208242 | |
2019-10-22
| ||
21:01 | Take the declared column time into account when computing the values for generated columns, and apply appropriate affinity. file: [f8609e5a] check-in: [9e04ba22] user: drh branch: generated-columns, size: 208164 | |
13:01 | New testcase() macros. Fix a problem with INSERT when the IPK is to the right of generated columns. file: [ca968d2d] check-in: [412799fc] user: drh branch: generated-columns, size: 208060 | |
12:02 | Merge changes on trunk into the generated-columns branch. file: [3a498ce5] check-in: [ba123b8c] user: drh branch: generated-columns, size: 207987 | |
00:03 | When flipping ("commuting") a comparison operator, set the new EP_Commuted bit rather than adding extra EP_Collate bits, to single later processing that the order of precedence for COLLATE operators is inverted. Fix for ticket [b47e3627ecaadbde] file: [5e983282] check-in: [90f7c477] user: drh branch: trunk, size: 206009 | |
2019-10-21
| ||
01:04 | Changes to the INSERT logic to make it simpler and faster and so that it works with generated columns and BEFORE triggers. file: [49ade8ae] check-in: [bc368cb0] user: drh branch: generated-columns, size: 207916 | |
2019-10-19
| ||
18:47 | Work toward getting generated columns to work with triggers. Still more work to do in this area. file: [1929d5f8] check-in: [932a3727] user: drh branch: generated-columns, size: 207966 | |
13:29 | Refactor names of column index transformation functions, for clarity. Get generated columns working with ALTER TABLE RENAME COLUMN. file: [7fa93576] check-in: [27ab41c9] user: drh branch: generated-columns, size: 207963 | |
2019-10-18
| ||
22:54 | Use an allocation count and freelist instead of a membership bitfield in the mini lookaside allocator file: [9fb8d158] check-in: [9496b4d3] user: numist branch: 2-size-lookaside, size: 206491 | |
17:42 | Get generated columns working for WITHOUT ROWID tables. file: [9ccea381] check-in: [9f409649] user: drh branch: generated-columns, size: 207246 | |
12:52 | Claw back some performance from the sqlite3ExprGetColumnOfTable() routine. file: [769a3d9f] check-in: [e8426acb] user: drh branch: generated-columns, size: 207134 | |
02:19 | STORED columns can now reference other STORED columns, in any order, as long as there are not loops. file: [aa16ccbb] check-in: [0d236698] user: drh branch: generated-columns, size: 207135 | |
2019-10-17
| ||
18:35 | In the Table object, change the nVCol field to nNVCol - the number of non-virtual columns, as that is the quantity that we need most. file: [67d8d7f2] check-in: [4ad66af0] user: drh branch: generated-columns, size: 207059 | |
17:54 | Some (but not all) INSERT and UPDATE statements now work for STORED columns. file: [8af46452] check-in: [fe7517bf] user: drh branch: generated-columns, size: 207046 | |
2019-10-16
| ||
22:01 | INSERT with named columns for a table with generated columns. file: [ecade7ae] check-in: [64db39f9] user: drh branch: generated-columns, size: 206654 | |
20:05 | ALTER TABLE is able to add a VIRTUAL column. file: [6418b270] check-in: [120c6b78] user: drh branch: generated-columns, size: 206577 | |
19:31 | Simple INSERT and SELECT operations working with VIRTUAL columns. file: [47d43085] check-in: [7f9f90b1] user: drh branch: generated-columns, size: 206511 | |
12:18 | Initial experimental code for generated column support. Non-functional. file: [dcef2c66] check-in: [11d472c1] user: drh branch: generated-columns, size: 206436 | |
2019-10-11
| ||
11:21 | Merge the 3.30.1 changes into reuse-schema. file: [e2331a36] check-in: [eff7cd7f] user: drh branch: reuse-schema-3.30, size: 207101 | |
2019-10-10
| ||
15:48 | Be sure to rewrite column references inside FILTER clauses and window frame definitions when flattening queries. Fix for [1079ad19]. file: [b8cabe8f] check-in: [df2060f3] user: drh branch: branch-3.30, size: 205361 | |
15:17 | Be sure to rewrite column references inside FILTER clauses and window frame definitions when flattening queries. Fix for [1079ad19]. file: [40f81bb5] check-in: [ccba7202] user: dan branch: trunk, size: 205938 | |
2019-10-09
| ||
17:06 | An alternative, experimental lookaside memory allocator that uses two different slot sizes. file: [2ce2d769] check-in: [5ba8cee8] user: sperry branch: 2-size-lookaside, size: 206419 | |
2019-10-05
| ||
17:29 | Have sqlite3.c automatically turn on osinst logging for all connections. file: [b3212ce8] check-in: [eea231f8] user: dan branch: osinst, size: 205425 | |
14:39 | Performance optimization to the lookaside-memory disabling mechanism. file: [b70ac8e3] check-in: [17ce1c49] user: drh branch: trunk, size: 205866 | |
2019-09-30
| ||
16:57 | Merge in the 3.30.0 beta 1 changes. file: [88d98a05] check-in: [06796124] user: drh branch: reuse-schema, size: 207029 | |
16:49 | Merge in the 3.30.0 beta 1 enhancements. file: [c38cb683] check-in: [ebf88726] user: drh branch: begin-concurrent-pnu-wal2, size: 205790 | |
16:43 | Merge version 3.30.0 beta 1 changes from trunk. file: [19a69108] check-in: [ac4b6442] user: drh branch: begin-concurrent-pnu, size: 205792 | |
16:14 | Merge the 3.30.0 beta 1 changes from trunk. file: [1ddec0d8] check-in: [a003818f] user: drh branch: begin-concurrent, size: 205713 | |
16:13 | Merge the 3.30.0 beta 1 changes from trunk. file: [588d1e7a] check-in: [9ce4c791] user: drh branch: apple-osx, size: 207120 | |
2019-09-28
| ||
18:28 | Add missing comment to constant definitions. file: [246740ea] check-in: [661a3789] user: drh branch: trunk, size: 205289 | |
2019-09-27
| ||
15:01 | Fix sqlite3ExprCompare() so that it ignores differences in the Expr.iTable field for IN operators, as otherwise it can lead to false negatives, which is usually harmless, but can cause problems for an assert() in the window function logic. file: [6e47f6e0] check-in: [6a204b19] user: drh branch: trunk, size: 205144 | |
2019-09-23
| ||
12:38 | Omit the sqlite3IntTokens array constant for a code simplification. file: [5fd0a960] check-in: [f907395e] user: drh branch: trunk, size: 205080 | |
2019-09-16
| ||
12:35 | Merge all recent trunk enhancements into the reuse-schema branch. file: [0a25886f] check-in: [27eb2236] user: drh branch: reuse-schema, size: 206859 | |
12:29 | Bring the begin-concurrent-pnu-wal2 branch up to date with all the latest enhancements on trunk. file: [68569c7f] check-in: [15593bf3] user: drh branch: begin-concurrent-pnu-wal2, size: 205620 | |
12:17 | Merge recent trunk enhancements into the begin-concurrent-pnu branch. file: [a6ec75e9] check-in: [54930b7e] user: drh branch: begin-concurrent-pnu, size: 205622 | |
12:08 | Merge recent trunk enhancements into the begin-concurrent branch. file: [9eaaf422] check-in: [93b9ef3f] user: drh branch: begin-concurrent, size: 205543 | |
12:02 | Merge the latest changes from trunk into the apple-osx branch. file: [f9bae4cd] check-in: [a95191de] user: drh branch: apple-osx, size: 206950 | |
2019-09-14
| ||
16:21 | Extra comments on fields of the Window object. file: [4a478f7f] check-in: [3dbed162] user: drh branch: trunk, size: 205119 | |
2019-09-07
| ||
18:20 | Add the SQLITE_SUBTYPE flag, which can be passed to sqlite3_create_function() and similar to indicate to the core that a user function is likely to use sqlite3_result_subtype(). file: [34cc0384] check-in: [6aa438ce] user: dan branch: window-functions-subtype-fix, size: 204939 | |
2019-08-27
| ||
19:59 | Add support for "ORDER BY ... NULLS FIRST" and "ORDER BY ... NULLS LAST". Use this to fix ticket [f8a7060e]. file: [b1fca535] check-in: [94085fb3] user: dan branch: trunk, size: 204846 | |
17:01 | Omit the "x IN (y)" to "x==y" optimization of check-in [e68b427afbc82e20] (and ticket [e39d032577df6942]) as it causes difficult affinity problems as demonstrated by ticket [dbaf8a6820be1ece] and the original assertion fault is no longer a factor due to countless other changes of the previous 5 years. file: [ce52cf59] check-in: [7f5168a7] user: drh branch: trunk, size: 204647 | |
2019-08-26
| ||
20:41 | Merge in recent fixes from trunk. file: [6c14c6f3] check-in: [ad816d01] user: drh branch: nulls-last, size: 204869 | |
14:18 | Improved detection of number of column mismatch for vector assignment in UPDATE statements. Ticket [78acc9d40f0786e8] file: [9a3e2cf3] check-in: [bd4bda73] user: drh branch: trunk, size: 204670 | |
2019-08-23
| ||
21:11 | Attempt to parse the NULLS LAST clause more efficiently. A few cycles were saved, but at the expense of more code. And there is a bug was introduced somewhere. Not worth continuing down this line. file: [f5a9c61f] check-in: [12d2cf88] user: drh branch: dead-end, size: 204881 | |
2019-08-22
| ||
19:35 | Merge fixes from trunk. Also fix a reference to the KeyInfo.aSortOrder field, which should now be KeyInfo.aSortFlags file: [6c5293a3] check-in: [63e625c8] user: drh branch: nulls-last, size: 204794 | |
16:38 | Fix the likely(), unlikely(), and likelihood() functions so that they have no affinity, just like any other function. Ticket [7e07a3dbf5a8cd26] file: [52594e49] check-in: [44578865] user: drh branch: trunk, size: 204595 | |
2019-08-19
| ||
17:26 | Prevent NULLS FIRST/LAST from being used in CREATE INDEX and other statements. file: [84d3b381] check-in: [bb9767a2] user: dan branch: nulls-last, size: 204748 | |
2019-08-17
| ||
15:47 | Merge trunk changes into this branch. file: [ed60d41d] check-in: [db1e6080] user: dan branch: nulls-last, size: 204624 | |
00:53 | The SQLITE_DIRECTONLY flag, when added to sqlite3_create_function() prevents the function from being used inside a trigger or view. file: [b7d612d9] check-in: [de767376] user: drh branch: trunk, size: 204549 | |
2019-08-16
| ||
22:58 | Add the ability to unregister a virtual table module by invoking sqlite3_create_module() with a NULL sqlite3_module pointer. file: [a89fe72e] check-in: [31e34fa3] user: drh branch: trunk, size: 204302 | |
2019-08-15
| ||
21:27 | Add the SQLITE_DBCONFIG_ENABLE_VIEW option, together with a "db config" command in the TCL interface that can access that option as well as all the other sqlite3_db_config() boolean options. file: [d8e878fa] check-in: [61b4bccd] user: drh branch: trunk, size: 204135 | |
20:04 | Provide the SQLITE_DIRECTONLY flag for app-defined functions that prohibits the use of those functions within triggers or views. file: [12e8af40] check-in: [fc745845] user: drh branch: directonly, size: 204298 | |
13:53 | Ensure that SQLite does not attempt to process incompatible window functions in a single scan. Fix for [256741a1]. file: [4875fb44] check-in: [4f5b2d93] user: dan branch: trunk, size: 204051 | |
2019-08-13
| ||
15:22 | Merge latest trunk changes with this branch. file: [47f29149] check-in: [5b4689d8] user: dan branch: reuse-schema, size: 205740 | |
2019-08-12
| ||
16:36 | Experimental implementation of NULLS FIRST/LAST. This branch still has problems - the most significant of which is that ORDER BY clauses with a non-default NULLS FIRST/LAST qualifier can never use an index. file: [f1ee0017] check-in: [07babb0f] user: dan branch: nulls-last, size: 204074 | |
14:17 | Add a TESTCTRL that disables the verification of type, name, and tbl_name in the sqlite_master table. file: [0598c87a] check-in: [48d9b48a] user: drh branch: trunk, size: 203999 | |
00:08 | Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. file: [10b44ee3] check-in: [724f4df9] user: drh branch: trunk, size: 203921 | |
2019-08-08
| ||
16:23 | More legacy STAT3 code removed. file: [9286c237] check-in: [845d2f17] user: drh branch: omit-stat3, size: 203822 | |
15:47 | Fix spurious "no such table: x1" errors in shared-schema mode that could occur when a query that is a join across two or more databases needs to call the xConnect() methods of a virtual table. file: [41365fb2] check-in: [edf45cd7] user: dan branch: reuse-schema, size: 205820 | |
15:24 | Remove support for STAT3. The sqlite_stat3 tables are ignored, if they exist. STAT4 continues to work as it always has, and as it is a superset of STAT3 is the recommended replacement. file: [ffac9a2c] check-in: [1e17ea2f] user: drh branch: omit-stat3, size: 203822 | |
2019-08-06
| ||
14:37 | Use 0x40 (ASCII '@') instead of 0x00 to mean "no affinity" so that columns with no affinity can appear in a zero-terminated string. Use the new SQLITE_AFF_NONE macro for this new magic number. file: [e24c8138] check-in: [e8234f69] user: drh branch: pending, size: 204328 | |
2019-08-05
| ||
19:34 | The second option for [61c853857f40da49]: In this mode, columns of VIEWs and subqueries that are formed by expressions have affinity BLOB rather than affinity none, as has usually been the case for a while. But this mode fixes a couple of corner cases involving query flattening and the push-down optimization where that rule was violated. file: [bd89ac7c] check-in: [470ac8d5] user: drh branch: tkt-61c853-B, size: 204262 | |
19:32 | One of two options on how to address ticket [61c853857f40da49]. In this mode, we back out the documentation change of [07b7749da88d54e5] and change the core to work as it has been documented to work since 2017, rather than how it has actually worked since 2009. file: [6350fc63] check-in: [09cd0c0c] user: drh branch: tkt-61c853-A, size: 204224 | |
18:01 | Refactor field Expr.affinity into Expr.affExpr to avoid confusion with other fields and variables named "affinity" and display affExpr it in sqlite3TreeViewExpr() output. file: [67de1687] check-in: [a29f2a7d] user: drh branch: trunk, size: 204214 | |
2019-08-03
| ||
16:17 | In the ".wheretrace 0x100" debugging mode, show the structure of the main parameters to sqlite3WhereBegin() calls. file: [fdb9fbcd] check-in: [fd598e47] user: drh branch: trunk, size: 204238 | |
2019-08-02
| ||
20:45 | Add the SQLITE_TESTCTRL_PRNG_SEED test control. file: [c4e5e98e] check-in: [3ac57231] user: drh branch: prng-seed-test-control, size: 204157 | |
2019-07-26
| ||
20:54 | Merge latest changes from trunk into this branch. file: [170fa79c] check-in: [7f1e4e4b] user: dan branch: reuse-schema, size: 205888 | |
2019-07-22
| ||
19:01 | Consolidate the removal of Window objects from the Select.pWin list into a single subroutine. file: [12262155] check-in: [e46b2afc] user: drh branch: trunk, size: 204079 | |
16:20 | Remove Window objects from the corresponding Select.pWin list when they are deleted. file: [01af0390] check-in: [d23f3316] user: dan branch: winfunc-in-orderby, size: 204034 | |
2019-07-20
| ||
21:12 | Make sure any window definitions in an ORDER BY clause are removed from the SELECT statement if the ORDER BY clause gets optimized out. file: [4d078408] check-in: [23b11967] user: drh branch: winfunc-in-orderby, size: 204203 | |
2019-07-18
| ||
13:33 | Modify the bits used for special flags on this branch to account for the fact that some of them are now used for other purposes. file: [0854e01a] check-in: [5a8d0f50] user: dan branch: reuse-schema, size: 205307 | |
2019-07-17
| ||
19:57 | Always use the stdlib.h intptr_t type for pointer-integer conversions, when it is available. file: [30dc455d] check-in: [c0d93244] user: drh branch: trunk, size: 203959 | |
2019-07-13
| ||
16:39 | Add support for attaching a FILTER clause to an aggregate function. file: [c13c4abe] check-in: [ee293e5a] user: dan branch: trunk, size: 203959 | |
16:22 | Rework the FILTER clause implementation to share more code with window functions. file: [e989d94d] check-in: [5dac8c38] user: dan branch: filter-clause, size: 203724 | |
2019-07-08
| ||
21:32 | Merge recent trunk enhancements into the reuse-schema branch. file: [99f3523d] check-in: [fae92fee] user: drh branch: reuse-schema, size: 205307 | |
21:25 | Merge enhancments from wal2, which also merges trunk enhancements. file: [ab51b1eb] check-in: [08dcb459] user: drh branch: begin-concurrent-pnu-wal2, size: 203999 | |
21:12 | Merge enhancements from trunk into the begin-concurrent-pnu branch. file: [ad67e043] check-in: [05aa93af] user: drh branch: begin-concurrent-pnu, size: 203999 | |
21:06 | Merge recent trunk enhancements into the begin-concurrent branch. file: [3266cd46] check-in: [7fff0803] user: drh branch: begin-concurrent, size: 203922 | |
20:59 | Merge recent enhancements from trunk into apple-osx. file: [f26ce95f] check-in: [de88ed86] user: drh branch: apple-osx, size: 205329 | |
2019-07-02
| ||
11:56 | Experimental implementation of FILTER clause for aggregate functions. file: [13fa73fd] check-in: [1f1ae2d6] user: dan branch: filter-clause, size: 203659 | |
2019-06-17
| ||
13:56 | Improved interface to double-quoted string literal enabling/disabling. file: [bf65dfa6] check-in: [923cfd53] user: drh branch: new-dbconfig-options, size: 203498 | |
2019-06-14
| ||
21:25 | Add SQLITE_DBCONFIG options LEGACY_ALTER_TABLE, NO_DQS_SCHEMA, and NO_DQS. file: [377ffa32] check-in: [1fad2092] user: drh branch: new-dbconfig-options, size: 203567 | |
2019-06-11
| ||
21:02 | The affinity of the unlikely() function and its cousins should be "none". Ticket [0c620df60bffd9ef] file: [dc9ec3b8] check-in: [614ecb0a] user: drh branch: trunk, size: 203407 | |
10:43 | Add the new sqlite3ExprUnmapAndDelete() function and use it in place of separate calls to sqlite3RenameExprUnmap() and sqlite3ExprDelete(). file: [3f4d665d] check-in: [36ea13e0] user: drh branch: trunk, size: 203391 | |
2019-05-30
| ||
00:46 | Smaller and faster sqlite3IsNaN() implementation makes deserialization of floating point values much faster. file: [73d93952] check-in: [ea748ede] user: drh branch: trunk, size: 203344 | |
2019-05-29
| ||
21:18 | Much faster implementation of applyNumericAffinity() by avoiding some unnecessary calls to sqlite3Atoi64(). file: [0769cc94] check-in: [c1d8a3f6] user: drh branch: trunk, size: 203186 | |
2019-05-24
| ||
13:04 | Merge recent enhancements from trunk. file: [193e2321] check-in: [ff9f3e09] user: drh branch: reuse-schema, size: 204947 | |
2019-05-20
| ||
18:43 | Improvements to the automatic compile-time selection of byte-order, as suggested on the mailing list by Seb Kemper. file: [1ba98b4b] check-in: [b7aad929] user: drh branch: trunk, size: 203138 | |
18:35 | A minor variation on check-in [1685610ef8e0dc] which (hopefully) makes the logic a little easier to follow. Also disallows the use of the double-quoted string hack in the query expression used for VACUUM INTO, which is not strictly required, but moves us toward the goal of disallowing the double-quoted string hack everywhere. file: [edde1d3f] check-in: [3e1b55f3] user: drh branch: trunk, size: 203041 | |
17:14 | Disallow string constants enclosed in double-quotes within new CREATE TABLE and CREATE INDEX statements. It is still possible to enclose column names in double-quotes, and existing database schemas that use double-quotes for strings can still be loaded. This addresses ticket [9b78184b]. file: [4f3edd82] check-in: [1685610e] user: dan branch: trunk, size: 202977 | |
10:36 | Update the sqlite3ExprCompare() routine so that it does not think "? IS NOT TRUE" is the same as "? IS TRUE". Fix for [d3e7f2ba5b3]. file: [dd3fba28] check-in: [99eba69b] user: dan branch: trunk, size: 202897 | |
2019-05-14
| ||
22:25 | Merge all the latest trunk enhancements into the reuse-schema branch. file: [b14459b2] check-in: [018f3199] user: drh branch: reuse-schema, size: 204697 | |
22:07 | Merge the latest trunk and wal2 enhancements. file: [8a0e7b66] check-in: [3deaa6e2] user: drh branch: begin-concurrent-pnu-wal2, size: 203389 | |
21:51 | Merge the latest trunk enhancements into begin-concurrent-pnu. file: [cf93dc66] check-in: [e70878b3] user: drh branch: begin-concurrent-pnu, size: 203389 | |
21:51 | Merge the latest trunk enhancements into begin-concurrent. file: [efaf5232] check-in: [5d3a6e18] user: drh branch: begin-concurrent, size: 203312 | |
19:39 | Merge recent enhancements from trunk into apple-osx. file: [5dec6a10] check-in: [40362d51] user: drh branch: apple-osx, size: 204719 | |
00:43 | Disable index seek optimizations on REINDEX when the order of primary keys in the index differs from the main table. Fix for ticket [bba7b69f9849b5bf11b4]. file: [b78a1f0b] check-in: [f7aadfab] user: drh branch: trunk, size: 202888 | |
2019-05-03
| ||
21:17 | Add the SQLITE_TESTCTRL_RESULT_INTREAL test-control and use it to create the intreal() SQL function in testfixture. Write a few simple tests to prove this all works. TH3 will hold most of the INTREAL tests, probably. file: [443270b8] check-in: [c9838731] user: drh branch: int-real, size: 202814 | |
2019-04-19
| ||
17:26 | Improved optimization of the AND and OR operators. file: [866311ac] check-in: [0fbd154e] user: drh branch: trunk, size: 202736 | |
16:21 | Use macros to determine if an expression is always true or always false. file: [b8d576ae] check-in: [6de980a0] user: drh branch: trunk, size: 202695 | |
13:38 | Streamline the processing of the AND operator. Slightly smaller and faster. file: [3a9497a4] check-in: [7713996a] user: drh branch: trunk, size: 202398 | |
2019-04-15
| ||
15:35 | Merge recent changes from trunk into reuse-schema file: [666517f8] check-in: [5c6c9e7f] user: drh branch: reuse-schema, size: 204209 | |
15:28 | Merge all recent enhancements. file: [eb0bfefc] check-in: [1cd536ec] user: drh branch: begin-concurrent-pnu-wal2, size: 202901 | |
15:07 | Merge the latest enhancements from trunk. file: [1163de23] check-in: [6caaaf21] user: drh branch: begin-concurrent-pnu, size: 202901 | |
14:59 | Merge the latest enhancements from trunk. file: [6bd2d1de] check-in: [7c328e88] user: drh branch: begin-concurrent, size: 202824 | |
14:49 | Bring in the latest enhancements from trunk. file: [5aa3493a] check-in: [378230ae] user: drh branch: apple-osx, size: 204231 | |
2019-04-09
| ||
21:32 | Improved reporting of SQLITE_TOOBIG errors while parsing. file: [d229b6a5] check-in: [ea2d4b65] user: drh branch: trunk, size: 202400 | |
2019-04-04
| ||
21:40 | Merge all the latest changes and enhancements from trunk. file: [93a1f098] check-in: [521d5186] user: drh branch: apple-osx, size: 204191 | |
20:21 | Provide a DBCONFIG to enable or disable virtual tables that match a LIKE pattern. file: [c4f6390b] check-in: [b40a4edc] user: drh branch: disable-vtab, size: 202422 | |
14:00 | Only preserve rowid values for VACUUM INTO. Keep the legacy behavior of renumbering rowids for ordinary VACUUM. file: [f6a114e0] check-in: [13a0ea64] user: drh branch: trunk, size: 202360 | |
2019-04-02
| ||
17:45 | Use a separate bit on db->dbOptFlags to disable the xInverse optimization on window functions, rather than reusing the query-flattener disable bit. file: [b4641800] check-in: [bc0fb1c3] user: drh branch: trunk, size: 202286 | |
00:34 | Merge enhancements from trunk. file: [21566eeb] check-in: [0b35aebb] user: drh branch: apple-osx, size: 204100 | |
2019-03-29
| ||
01:15 | Recover a some of the performance lost by window function alias fix two check-ins back. file: [59b625f8] check-in: [965cbcea] user: drh branch: trunk, size: 202269 | |
2019-03-28
| ||
16:15 | Prevent aliases of window functions expressions from being used as arguments to aggregate or other window functions. file: [15e1fab2] check-in: [1e16d3e8] user: dan branch: trunk, size: 202124 | |
13:03 | Improved TreeView display of Window objects. Change the Window.eType field to Window.eFrmType to avoid confusion with other "eType" values. file: [773a43d2] check-in: [ec2f207d] user: drh branch: trunk, size: 201993 | |
2019-03-26
| ||
14:04 | Use the mutex-free PRNG in this branch, since anybody using this branch is probably interested in high concurrency. file: [45163c96] check-in: [e88fc6d0] user: drh branch: begin-concurrent, size: 202082 | |
13:28 | Bring this branch into closer alignment with begin-concurrent. file: [3a676f6f] check-in: [6433d366] user: drh branch: begin-concurrent-pnu, size: 202159 | |
12:07 | Merge recent enhancements from trunk. file: [92b02dac] check-in: [774d0d52] user: drh branch: begin-concurrent, size: 201732 | |
2019-03-21
| ||
17:13 | Disable the feature on this branch in non-SQLITE_ENABLE_SHARED_SCHEMA builds. file: [0d7cbc24] check-in: [b8e53608] user: dan branch: reuse-schema, size: 203467 | |
2019-03-20
| ||
20:02 | Use the IsReuseSchema() macro more consistently. Also, rename it to IsSharedSchema(). file: [d2b17367] check-in: [c1be211c] user: dan branch: reuse-schema, size: 202873 | |
2019-03-16
| ||
10:15 | In order to identify the first row of each partition, check if the rowid in the ephemeral table is 1 instead of using a dedicated flag register. file: [19641f24] check-in: [f2d5f7a2] user: dan branch: window-functions, size: 201917 | |
2019-03-14
| ||
20:53 | Parse EXCLUDE clauses in window frames. They do not yet work. file: [a8a26cac] check-in: [d03c7533] user: dan branch: window-functions, size: 201865 | |
16:36 | Add things to this branch that will be required to support the EXCLUDE clause. file: [bd6a2cc9] check-in: [7d66cd20] user: dan branch: window-functions, size: 201861 | |
2019-03-13
| ||
17:20 | Avoid allocating excessive registers for the PARTITION BY expressions when processing window functions. file: [67d22d54] check-in: [180be266] user: dan branch: window-functions, size: 201805 | |
2019-03-11
| ||
19:50 | Remove "cache mode" from the window frame code generator. Handle the same cases by editing the window frame specification itself. file: [45d85aa3] check-in: [08126353] user: dan branch: window-functions, size: 201875 | |
2019-03-08
| ||
15:30 | Merge all the latest enhancements from trunk. file: [7a67213d] check-in: [667cce3d] user: drh branch: begin-concurrent-pnu, size: 202159 | |
2019-03-06
| ||
17:12 | Improvements to the way built-in window functions are handled. file: [24a48185] check-in: [e8eee566] user: dan branch: window-functions, size: 201969 | |
2019-03-04
| ||
21:08 | Merge trunk changes into this branch. file: [641932df] check-in: [9b4d561f] user: dan branch: window-functions, size: 201954 | |
21:07 | Support some "ROWS BETWEEN N PRECEDING AND M FOLLOWING" window functions without caching entire partitions. file: [fa802d30] check-in: [e7a91f12] user: dan branch: window-functions, size: 201959 | |
2019-03-01
| ||
18:27 | Merge the latest enhancements from trunk. file: [3e3612cd] check-in: [e64ded7b] user: drh branch: apple-osx, size: 203489 | |
2019-02-25
| ||
18:07 | Merge latest trunk changes into this branch. file: [f285e974] check-in: [5c1cf308] user: dan branch: reuse-schema, size: 202871 | |
2019-02-23
| ||
00:56 | Import from trunk the new fix to ticket [df46dfb631f75694] in which all ephemeral tables used as the RHS of an IN operator be index btrees and never table btrees so that they can always be reused. file: [ea0b5769] check-in: [0e64ac12] user: drh branch: branch-3.27, size: 201538 | |
2019-02-22
| ||
23:29 | Make all ephemeral tables built to hold the RHS of an IN operator be index-btrees, never table-btrees, regardless of whether or not they are used as IN_INDEX_LOOP or IN_INDEX_MEMBERSHIP. That way, the same ephmerial table can be reused for both cases. file: [f253c4ec] check-in: [c2d50df8] user: drh branch: tkt-df46dfb631, size: 201658 | |
2019-02-20
| ||
13:23 | Merge the latest performance enhancements and fixes from trunk. file: [72331eb4] check-in: [be71d1e2] user: drh branch: apple-osx, size: 203494 | |
03:38 | Back off the optimization of check-in [e130319317e76119] slightly so that it only applies to IN operators that are used for membership tests. Proposed fix for ticket [df46dfb631f75694]. file: [54028bcc] check-in: [b5f90bfe] user: drh branch: tkt-df46dfb631, size: 201668 | |
2019-02-19
| ||
18:00 | Improve error messages caused by corrupt database schemas in OPEN_SHARED_SCHEMA mode. file: [420ca17d] check-in: [8ac75b8a] user: dan branch: reuse-schema, size: 202876 | |
2019-02-18
| ||
18:16 | Ensure that creating temp schema items does not cause an OPEN_SHARABLE_SCHEMA connection to load all schemas into memory. file: [ad218b36] check-in: [88cbf54e] user: dan branch: reuse-schema, size: 202883 | |
2019-02-16
| ||
17:27 | Add support for chaining of WINDOW definitions. file: [f44de7fe] check-in: [c155125f] user: dan branch: window-functions, size: 201942 | |
2019-02-15
| ||
19:00 | Fix a problem with eponymous virtual tables and SHARED_SCHEMA databases. Also, after preparing statements that require all database schemas (REINDEX, ANALYZE, CREATE, DROP and some PRAGMA statements), do not allow the database connection to return more than one schema to each schema-pool. file: [2e86c769] check-in: [ecf6251e] user: dan branch: reuse-schema, size: 202862 | |
2019-02-14
| ||
21:04 | Fix SQLITE_DBSTATUS_SCHEMA_USED so that it works with SQLITE_OPEN_SHARED_SCHEMA connections. file: [0238a621] check-in: [d43b3c05] user: dan branch: reuse-schema, size: 202769 | |
18:38 | Change the name of the SQLITE_OPEN_REUSE_SCHEMA flag to SQLITE_OPEN_SHARED_SCHEMA. file: [176ae223] check-in: [7257fcc8] user: dan branch: reuse-schema, size: 202675 | |
2019-02-12
| ||
19:20 | Share schemas between databases attached to the same database handle. file: [6173e47d] check-in: [ea611d7c] user: dan branch: reuse-schema, size: 202674 | |
2019-02-11
| ||
20:13 | Merge latest trunk changes into this branch. file: [2ddea4f7] check-in: [dbedd81b] user: dan branch: reuse-schema, size: 202620 | |
2019-02-09
| ||
17:47 | Fix virtual table support for SQLITE_OPEN_REUSABLE_SCHEMA connections. file: [004eb50c] check-in: [3ca8856a] user: dan branch: reuse-schema, size: 202500 | |
2019-02-08
| ||
19:30 | Add test cases and fix problems on this branch. file: [7cd0076d] check-in: [2b2e9f81] user: dan branch: reuse-schema, size: 202354 | |
14:55 | Give the sqlite3 object a pointer to the current Parse so that if an OOM occurs, it can automatically set the Parse.rc value to SQLITE_NOMEM. This avoids a frequent extra test of db.mallocFailed in the innermost parser loop. file: [8628c582] check-in: [5c663804] user: drh branch: trunk, size: 201663 | |
2019-02-07
| ||
18:49 | Merge the offical 3.27.0 release. file: [c85e80d3] check-in: [62829164] user: drh branch: apple-osx, size: 203374 | |
2019-02-05
| ||
19:51 | Merge latest trunk into this branch. file: [e58c4cad] check-in: [c089cc4f] user: dan branch: reuse-schema, size: 202174 | |
19:15 | Fix memory leaks on this branch. file: [3fa01061] check-in: [e9c5e189] user: dan branch: reuse-schema, size: 200710 | |
2019-02-04
| ||
21:02 | Fix a problem with reloading the schema on this branch. file: [8058f612] check-in: [5dfbef83] user: dan branch: reuse-schema, size: 200706 | |
2019-02-02
| ||
21:02 | Try new approach ensuring that each Schema object is only used by one connection/database at any one time. file: [0bd3db8a] check-in: [9e8e5f52] user: dan branch: reuse-schema, size: 200667 | |
15:59 | Honor key query parameters for SEE on the URI filename for ATTACH and VACUUM INTO. file: [f657e35d] check-in: [2e01096b] user: drh branch: trunk, size: 201543 | |
2019-01-31
| ||
15:38 | Add the SQLITE_CONFIG_MEMDB_MAXSIZE configuration option for configuring the default maximum size of an in-memory database created using sqlite3_deserialize(). This is necessary to make the interface reasonably testable. file: [7899f2f2] check-in: [cb72ee04] user: drh branch: trunk, size: 201391 | |
01:39 | Improvements to "PRAGMA parser_trace=ON": Make it a flag pragma, and then use the flag to show the complete SQL text at the beginning of the parse. file: [40eb4e59] check-in: [507c4353] user: drh branch: trunk, size: 201286 | |
2019-01-30
| ||
18:33 | Detect if two indexes of the same table share a common rootpage while parsing the schema, and throw an error immediately. file: [5e0d8205] check-in: [f21c6f13] user: drh branch: trunk, size: 201215 | |
2019-01-17
| ||
15:47 | Sync up with the latest enhancements on trunk. file: [cef250c3] check-in: [475a179a] user: drh branch: apple-osx, size: 203000 | |
15:40 | Revamp the SrcList allocator routines to be methods of Parse instead of being methods of the "sqlite3" object, so that they can leave better error messages when the SrcList object grows too large. file: [a2330a56] check-in: [df08d472] user: drh branch: trunk, size: 201169 | |
2019-01-11
| ||
13:32 | The keywords TRUE and FALSE should only act as boolean literal values if unquoted. file: [348bc49c] check-in: [5547f39d] user: drh branch: trunk, size: 201173 | |
2019-01-10
| ||
13:56 | Use the new SQLITE_IDXTYPE_IPK values (3) on Index.idxType to indicate the fake INTEGER PRIMARY KEY index used during query planning. file: [829bebd4] check-in: [e22d2f90] user: drh branch: trunk, size: 201077 | |
2019-01-09
| ||
02:02 | Enhance the ALTER TABLE RENAME COLUMN feature so that it works on tables that have redundant UNIQUE and/or PRIMARY KEY constraints. Fix for ticket [bc8d94f0fbd633fd9a051e3] file: [57f7bfa8] check-in: [f09aa324] user: drh branch: trunk, size: 201009 | |
2019-01-05
| ||
21:09 | If the OP_ParseSchema opcode with a non-NULL P4 operand does not parse any rows out of the sqlite_master table, that indicates that the sqlite_master table is corrupt, so raise an SQLITE_CORRUPT error. file: [488f9b86] check-in: [598d7358] user: drh branch: trunk, size: 200876 | |
2019-01-02
| ||
19:46 | Merge changes from begin-concurrent-wal2. Also modify the unix-excl shm-locks on this branch so that it is not an error to attempt to release an EXCLUSIVE lock that is not held. file: [066ad0db] check-in: [86685679] user: dan branch: begin-concurrent-pnu-wal2, size: 201324 | |
16:08 | Merge latest trunk changes into this branch. file: [3e0bcdea] check-in: [5bf212f1] user: dan branch: begin-concurrent, size: 200897 | |
14:34 | Raise an error if the argument to VACUUM INTO is an identifier. file: [a86007d4] check-in: [6c6fb1c6] user: drh branch: trunk, size: 200823 | |
2018-12-31
| ||
18:30 | Merge enhancements and bug fixes from trunk. file: [2ed8b7c8] check-in: [9fb646f2] user: drh branch: reuse-subqueries, size: 200824 | |
2018-12-29
| ||
14:23 | Additional small performance increase and size reduction to the sqlite3VdbeMakeLabel() mechanism. file: [802b760a] check-in: [1bdee199] user: drh branch: trunk, size: 200525 | |
02:26 | A new implementation of sqlite3VdbeMakeLabel() is faster and makes fewer memory allocations by deferring memory allocation until sqlite3VdbeResolveLabel() is called, at which point the code generator has a better idea of how big the relocation table needs to be. The sqlite3VdbeMakeLabel() routine now takes a Parse* parameter instead of Vdbe*. file: [c2ac6a11] check-in: [4a0929ac] user: drh branch: trunk, size: 200503 | |
2018-12-28
| ||
21:40 | Merge performance enhancements and other patches. file: [1da81c69] check-in: [44e1b55a] user: drh branch: factor-out-scalar-subselect, size: 200855 | |
21:32 | Merge performance enhancements from trunk. file: [ac354476] check-in: [0f1b9ff9] user: drh branch: reuse-subqueries, size: 200747 | |
20:14 | Move the nOpAlloc field from Parse into Vdbe to avoid an extra pointer deference on the fast path in sqlite3VdbeAddOp3(). file: [00590d0d] check-in: [8f10efc2] user: drh branch: trunk, size: 200448 | |
2018-12-27
| ||
17:11 | Merge latest wal2 changes with this branch. file: [f0557006] check-in: [ea96001e] user: dan branch: begin-concurrent-wal2, size: 200592 | |
2018-12-26
| ||
15:04 | Here is the beginnings of an effort to factor out the implementation of scalar subqueries to be implemented as subroutines at the end of the main body of bytecode, after the jump back to the OP_Init opcode. This is an incremental check-in that contains only preliminary changes. file: [0e8cc89b] check-in: [50e5f390] user: drh branch: factor-out-scalar-subselect, size: 200925 | |
2018-12-24
| ||
02:34 | Experimental code that tries to put the computation of subqueries inside a subroutine, and reuse that subroutine if the same subquery is evaluated more than once. Current code does not work for CHECK constraints. file: [1b343307] check-in: [6c44838a] user: drh branch: reuse-subqueries, size: 200817 | |
2018-12-23
| ||
21:27 | Split the code generation for the RHS of IN operators and for SELECT and EXISTS expressions into two separate subroutines, because there is now little commonality between those to functions. This is intended to help make the code easier to read and maintain. file: [031e09cf] check-in: [2b6494b1] user: drh branch: trunk, size: 200518 | |
2018-12-21
| ||
19:29 | Add new sqlite3_prepare_v3() flag SQLITE_PREPARE_NO_VTAB, for preparing statements that are not allowed to use any virtual tables. Use this to prevent circular references in triggers on virtual table shadow tables from causing resource leaks. file: [24afd477] check-in: [25666e3d] user: dan branch: prepare-no-vtab, size: 200484 | |
2018-12-18
| ||
17:47 | Merge latest begin-concurrent changes into this branch. file: [05dd8ce0] check-in: [a93ca38b] user: dan branch: begin-concurrent-pnu, size: 200914 | |
2018-12-15
| ||
20:59 | Merge latest wal2 changes into this branch. file: [6b99bba9] check-in: [06bb80ee] user: dan branch: begin-concurrent-wal2, size: 200487 | |
2018-12-10
| ||
20:01 | Further refinements to the sqlite3_normalized_sql() interface. TH3 now gives 100% MC/DC on that interface. file: [3dda7ba0] check-in: [c96bf6cc] user: drh branch: trunk, size: 200413 | |
16:00 | Refactor the sqlite3_normalized_sql() implementation. This is a work-in-progress. There are still issues. file: [369d4774] check-in: [a4c890b0] user: drh branch: normalize-refactor, size: 200418 | |
02:00 | Merge enhancements from trunk. file: [45d1e661] check-in: [b1bbc718] user: drh branch: apple-osx, size: 202355 | |
2018-12-08
| ||
00:43 | Allow the INTO clause of VACUUM to be a text-valued expression. file: [70ce5e14] check-in: [af172b53] user: drh branch: vacuum-into, size: 200524 | |
2018-12-07
| ||
17:28 | Prototype implementation for the VACUUM INTO command. file: [fa86b568] check-in: [036e3320] user: drh branch: vacuum-into, size: 200522 | |
2018-12-06
| ||
20:18 | Experimental changes to (optionally) allow double-quoted strings to be checked against known identifiers. file: [90415629] check-in: [73a6b8c1] user: mistachkin branch: normalize_v4, size: 200601 | |
03:13 | Merge fixes from trunk. file: [c319213f] check-in: [f2083ee4] user: drh branch: begin-concurrent-pnu, size: 201003 | |
02:08 | Merge bug fixes from trunk. file: [d5c31063] check-in: [1e13aaa2] user: drh branch: begin-concurrent, size: 200576 | |
02:01 | Remove the unused pColHash field from the Table object. file: [97adda95] check-in: [3a2c0479] user: drh branch: trunk, size: 200502 | |
00:08 | Merge ALTER TABLE and sqlite3_normalized_sql() bug fixes from trunk. file: [6710aa71] check-in: [3793e5d5] user: drh branch: begin-concurrent-pnu, size: 201098 | |
00:05 | Merge ALTER TABLE and sqlite3_normalized_sql() fixes from trunk. file: [04751835] check-in: [acf10b3f] user: drh branch: begin-concurrent, size: 200671 | |
2018-12-05
| ||
23:45 | The sqlite3_normalized_sql() interface should not be transforming quoted identifier names into wildcards. Fix this, and at the same time simplify the code substantially. file: [8a9a4c1c] check-in: [e8540377] user: drh branch: trunk, size: 200597 | |
18:28 | Merge enhancements and the ALTER TABLE bug fix from trunk. file: [5d9b564f] check-in: [edfc2acf] user: drh branch: apple-osx, size: 202505 | |
17:48 | Simplifications to the sqlite3_normalized_sql() implementation. file: [e96520f2] check-in: [94ea6379] user: drh branch: trunk, size: 200674 | |
13:49 | Merge enhancements from trunk, especially the sqlite3_normalized_sql() enhancement. file: [399dc79d] check-in: [342c9538] user: drh branch: begin-concurrent-pnu, size: 201218 | |
13:44 | Merge enhancements from trunk, especially the enhanced sqlite3_normalized_sql() interface. file: [237ceb16] check-in: [47b73f6b] user: drh branch: begin-concurrent, size: 200791 | |
13:39 | Enhance the sqlite3_normalize_sql() interface so that it works even if the prepared statement was not initially compiled using SQLITE_PREPARE_NORMALIZED. Enhance the ".trace" command in the CLI so that it is able to access the full scope of functionality provided by sqlite3_trace_v2() and in particular so that it is able to show normalized SQL output using the newly enhanced sqlite3_normalize_sql() interface. file: [128f2ef4] check-in: [7da617e9] user: drh branch: trunk, size: 200717 | |
2018-12-04
| ||
14:33 | Performance improvement in sqlite3_step() by creating a new mTrace flag for the legacy xProfile pointer that is set by sqlite3_profile(). file: [f54ee1ef] check-in: [e28584e8] user: drh branch: trunk, size: 200720 | |
01:18 | Attempt to make the parser a little faster by storing the ON and USING clause in a single OnUsing object. file: [1e26dff5] check-in: [6770ed08] user: drh branch: on-using-opt, size: 200869 | |
2018-12-03
| ||
18:24 | Merge in all changes for release 3.26.0. file: [ab9fab2d] check-in: [85fd92c7] user: drh branch: begin-concurrent-pnu, size: 200955 | |
18:15 | Bring up to date with version 3.26.0. file: [dd9a2390] check-in: [f0ddb358] user: drh branch: begin-concurrent, size: 200528 | |
2018-11-30
| ||
16:26 | Merge the mutex-free PRNG change into this branch. file: [ca2d5f03] check-in: [81e626f4] user: dan branch: begin-concurrent-pnu, size: 200647 | |
2018-11-26
| ||
23:35 | Merge recent enhancements from trunk. file: [d740a15b] check-in: [e8c20a88] user: drh branch: apple-osx, size: 202285 | |
18:09 | Do not allow direct access to internal-use SQL functions such as sqlite_rename_column() and sqlite3_rename_table() except when the new SQLITE_TESTCTRL_INTERNAL_FUNCTIONS flag is set. file: [1161f757] check-in: [6e133054] user: drh branch: trunk, size: 200454 | |
07:34 | Merge latest begin-concurrent changes into this branch. file: [b9f89d79] check-in: [76608f75] user: dan branch: begin-concurrent-pnu, size: 200297 | |
07:21 | Merge latest trunk changes into this branch. file: [55a16ddc] check-in: [28a615a2] user: dan branch: begin-concurrent, size: 200220 | |
2018-11-20
| ||
16:02 | Consolidate the two sqlite3SchemaToIndex() routines. file: [a499dea6] check-in: [dfab7170] user: dan branch: reuse-schema1, size: 200825 | |
2018-11-19
| ||
20:41 | Fix a problem with virtual tables in shared schemas. file: [aae85408] check-in: [84be9220] user: dan branch: reuse-schema1, size: 200875 | |
2018-11-17
| ||
18:45 | Merge latest trunk changes into this branch. file: [f677e57f] check-in: [9fdd1868] user: dan branch: reuse-schema1, size: 200787 | |
18:11 | Fix further problems with the feature on this branch. file: [a64587be] check-in: [6d7a7e5f] user: dan branch: reuse-schema1, size: 200720 | |
2018-11-16
| ||
17:04 | Fix further REUSE_SCHEMA issues. file: [86c36aec] check-in: [9780829a] user: dan branch: reuse-schema1, size: 200713 | |
2018-11-15
| ||
21:20 | Fix some problems with the feature on this branch. Many problems remain. file: [47d235a0] check-in: [31b6aee7] user: dan branch: reuse-schema1, size: 200709 | |
2018-11-10
| ||
20:07 | Merge the read-only shadow table and defensive mode enhancments from trunk. file: [e8ef63bf] check-in: [977fc44e] user: drh branch: apple-osx, size: 201977 | |
03:47 | Merge fixes from trunk. file: [c10361d9] check-in: [bf88efce] user: drh branch: read-only-shadow, size: 200146 | |
2018-11-09
| ||
23:45 | Merge fixes from trunk. file: [eab404b6] check-in: [e3e9b85e] user: drh branch: apple-osx, size: 201910 | |
18:44 | Merge latest trunk changes with this branch. file: [925c0379] check-in: [ae88f8e1] user: dan branch: reuse-schema, size: 200396 | |
00:02 | Disable the use of coroutines for subqueries within a query that is the RHS of an IN operator, as the IN operator might be evaluated more than once. Possible fix for [787fa716be3a7f65], unless we can come up with something better. Later: Counter-example found. file: [9d39302a] check-in: [8d663bfa] user: drh branch: tkt787fa716-deadend, size: 200158 | |
2018-11-08
| ||
22:53 | In the treeview.c module, break out the display of SrcList into a separate subroutine, so that it can be invoked while debugging. file: [cad10b3a] check-in: [8c74065f] user: drh branch: trunk, size: 200079 | |
2018-11-06
| ||
13:37 | Add enforcement of read-only on shadow tables. This does not currently work since some virtual tables are attempting to update shadow tables using sqlite3_exec(). file: [91c7a27a] check-in: [f79b47c9] user: drh branch: read-only-shadow, size: 200152 | |
2018-11-05
| ||
23:01 | Initial code to make shadow tables read-only to ordinary SQL. The now xShadowName method is added to the sqlite3_module object and is used to identify potential shadow tables. The SQLITE_PREPARE_SHADOW argument to sqlite3_prepare_v3() is defined. It is designed to permit writing to shadow tables, but is currently an unused placeholder. file: [7a6bbb9a] check-in: [31942b3d] user: drh branch: read-only-shadow, size: 200088 | |
13:53 | Merge recent trunk enhancements. file: [0f41289d] check-in: [62acf7a0] user: drh branch: apple-osx, size: 201739 | |
2018-11-03
| ||
17:31 | Correct the internal logic for SQLITE_DBCONFIG_DEFENSIVE. file: [8aef40f6] check-in: [76094345] user: drh branch: dbconfig-defensive, size: 200021 | |
16:09 | Add the SQLITE_DBCONFIG_DEFENSIVE flag. file: [16a6fe64] check-in: [af3f29d4] user: drh branch: dbconfig-defensive, size: 199984 | |
2018-10-31
| ||
20:52 | Deploy the sqlite3Strlen30NN() function (argument guaranteed to be non-NULL) for a small performance improvement. file: [66ec6304] check-in: [4a6ad519] user: drh branch: trunk, size: 199908 | |
19:01 | Add support for the SQLITE_PREPARE_NORMALIZED flag and the sqlite3_normalized_sql() when compiling with SQLITE_ENABLE_NORMALIZE. Also remove unnecessary whitespace from Makefiles. file: [06d329f1] check-in: [790ea39a] user: drh branch: trunk, size: 199856 | |
01:26 | Merge fixes from trunk, especially rebustness against corrupt database files. file: [3cac41bf] check-in: [4b370c74] user: drh branch: apple-osx, size: 200875 | |
2018-10-30
| ||
16:25 | Split the SQLITE_WriteSchema flag in two flags, WriteSchema and SQLITE_NoSchemaError. Set only WriteSchema on a VACUUM to avoid problems when trying to vacuum a corrupt database. With this change, the size of the flags field on sqlite3 must grow from 32 to 64 bytes. file: [93692315] check-in: [4f987810] user: drh branch: trunk, size: 199044 | |
2018-10-29
| ||
17:53 | Add the sqlite3_normalized_sql() API. file: [be74ca8d] check-in: [592b66e8] user: mistachkin branch: normalized_sql, size: 199672 | |
2018-10-12
| ||
22:02 | Fix the SQLITE_ENABLE_APPLE_SPI compile-time option. file: [8ab71fd5] check-in: [6cb537bd] user: drh branch: apple-osx, size: 200767 | |
2018-10-09
| ||
22:58 | Merge enhancements from trunk. file: [51ba4e3f] check-in: [1b60e7a9] user: drh branch: apple-osx, size: 200055 | |
22:50 | Merge changes for the 3.25.0 release. file: [0cbefd59] check-in: [ddf6a54e] user: drh branch: apple-osx, size: 199787 | |
2018-10-08
| ||
18:58 | Merge latest trunk changes into this branch. file: [cc1062f6] check-in: [2ac72114] user: dan branch: reuse-schema, size: 199253 | |
2018-10-04
| ||
18:17 | The 0x8000 optimization flag associated with SQLITE_TESTCTRL_OPTIMIZATIONS causes a large penalty (200) to be added to all sorting costs, which encourages the query planner avoid using the sorter. This flag can be used in experiments to help come up with a more accurate estimate of the true cost of sorting. file: [00532747] check-in: [857a1b01] user: drh branch: query-planner-debug, size: 199019 | |
2018-10-01
| ||
11:00 | Ensure that the OP_VColumn opcode does set sqlite3_vtab_nochange() unless the OPFLAG_NOCHNG bit is set in P5. Fix for ticket [69d642332d25aa3b7315a6d385] file: [489bda7e] check-in: [31ac8dba] user: drh branch: branch-3.25, size: 198819 | |
2018-09-28
| ||
21:11 | Merge latest begin-concurrent changes into this branch. file: [da33706d] check-in: [6f3dd980] user: dan branch: begin-concurrent-pnu, size: 199087 | |
20:58 | Merge latest trunk into this branch. file: [0512c7fc] check-in: [86750c92] user: dan branch: begin-concurrent, size: 199010 | |
2018-09-27
| ||
20:20 | Ensure that the OP_VColumn opcode does set sqlite3_vtab_nochange() unless the OPFLAG_NOCHNG bit is set in P5. Fix for ticket [69d642332d25aa3b7315a6d385] file: [75d8266b] check-in: [322ab1fc] user: drh branch: trunk, size: 198936 | |
2018-09-24
| ||
20:48 | Add the "PRAGMA legacy_alter_table=ON" command to enable the pre-3.25.0 behavior of ALTER TABLE that does not modify the bodies of triggers or views or the WHERE clause of a partial index. Enable the legacy behavior by default when running the xRename method of virtual tables. file: [10d7835f] check-in: [31dc8b19] user: drh branch: branch-3.25, size: 198745 | |
2018-09-20
| ||
20:15 | Add the "PRAGMA legacy_alter_table=ON" command to enable the pre-3.25.0 behavior of ALTER TABLE that does not modify the bodies of triggers or views or the WHERE clause of a partial index. Enable the legacy behavior by default when running the xRename method of virtual tables. file: [29ac7a59] check-in: [7edd26ed] user: drh branch: trunk, size: 198862 | |
19:02 | Combine the Expr.pTab and Expr.pWin fields into a union named "y". Add a new EP_WinFunc property that is only true if Expr.y.pWin is a valid pointer. This reduces the size of the Expr object by 8 bytes, reduces the overall amount of code, and shaves over 1 million cycles off of the speed test. file: [214e5684] check-in: [ad130bb8] user: drh branch: trunk, size: 198785 | |
08:28 | Add a PRAGMA that restores the legacy ALTER TABLE RENAME TO behaviour. file: [d8a3b17c] check-in: [5acad2e9] user: dan branch: legacy-alter-table, size: 198801 | |
2018-09-19
| ||
20:14 | Reduce the size of Expr to 64-bytes. This works somewhat, but there are test failures. More importantly, the size reduction from 80- to 64-bytes has not lowered the schema memory usage, but it has made the code a little bigger and a little slower. So the initial evidence is that this Expr refactoring experiment is not working... file: [5cf4c8f1] check-in: [24b0f66a] user: drh branch: expr-simplify, size: 199497 | |
14:54 | Reduce the size of Expr from 80 to 72 bytes moving the pRight field inside the "x" union. This is an incremental check-in that still has issues. file: [b8a598f5] check-in: [147c61a6] user: drh branch: expr-simplify, size: 199404 | |
2018-09-18
| ||
21:35 | In the Expr object, the Expr.eX field determines what value is stored in the Expr.x union. This mostly works, but there are issues identified by valgrind. file: [0aed6451] check-in: [8849a463] user: drh branch: expr-simplify, size: 199359 | |
2018-09-15
| ||
21:38 | Optimization: when doing an UPDATE on a table with indexes on an expression, do not update the expression indexes if they do not refer to any of the columns of the table being updated. file: [83ee9b55] check-in: [a71b1016] user: drh branch: trunk, size: 198724 | |
2018-09-12
| ||
08:51 | Fix an invalid pointer comparison triggered by renaming a table column when there are views with explicit column names in the schema. file: [ce34da1a] check-in: [572de7e4] user: dan branch: trunk, size: 198668 | |
2018-09-08
| ||
20:09 | Fix multiple issues with the ORDER BY LIMIT optimization. This is the proposed resolution to ticket [9936b2fa443fec03ff25]. file: [f63f04e3] check-in: [20672012] user: drh branch: trunk, size: 198616 | |
2018-09-06
| ||
16:47 | Fix a problem causing SQLITE_OMIT_VIRTUALTABLE builds to fail. file: [c72e50d8] check-in: [18beabc8] user: dan branch: trunk, size: 198612 | |
2018-09-05
| ||
14:36 | Avoid comparing pointer values after the object that they point to has been deleted. file: [8a75462e] check-in: [2ec7e50c] user: dan branch: alter-table-rename-column, size: 198611 | |
2018-09-01
| ||
15:49 | Merge fixes and enhancements from trunk. file: [5444fef2] check-in: [589186c0] user: drh branch: alter-table-rename-table, size: 198567 | |
2018-08-29
| ||
21:00 | Extend RENAME TABLE to edit triggers and views. Still buggy. file: [83b8d196] check-in: [01308bae] user: dan branch: alter-table-rename-table, size: 198473 | |
20:24 | Also free up the MEM_RowSet bit in the Mem.flags field and have RowSet objects be destroyed using Mem.xDel. This change results in faster code. file: [26e48f0c] check-in: [f48e9feb] user: drh branch: trunk, size: 197165 | |
2018-08-24
| ||
19:04 | Set SQLITE_PTRSIZE to 4 when compiling with xlc on 32-bit AIX. file: [2a670143] check-in: [d158e5b1] user: mistachkin branch: trunk, size: 197155 | |
2018-08-23
| ||
18:56 | Automatically detect when compiling for AArch64 on windows and set SQLITE_BYTEORDER to little-endian to avoid compile-time testing. file: [49620c94] check-in: [ef6729be] user: drh branch: trunk, size: 197093 | |
2018-08-21
| ||
16:32 | Rename internal function sqlite3RenameToken() to sqlite3RenameTokenMap() and sqlite3MoveRenameToken() to sqlite3RenameTokenRemap(). file: [679196cd] check-in: [b9ae9a0a] user: dan branch: alter-table-rename-column, size: 198438 | |
08:29 | Minor changes to function tokenExpr() in order to claw back cycles lost to the rename-column change. file: [df6ea00a] check-in: [47997695] user: dan branch: alter-table-rename-column, size: 198434 | |
2018-08-18
| ||
18:27 | Additional fixes for harmless compiler warnings that are specific to this branch. file: [74f819ee] check-in: [9d8e73bf] user: drh branch: alter-table-rename-column, size: 198433 | |
2018-08-15
| ||
20:28 | Have ALTER TABLE RENAME COLUMN edit trigger programs. Only partly working. file: [78e9b483] check-in: [e272dc2b] user: dan branch: edit-trigger-wrapper, size: 198480 | |
2018-08-14
| ||
20:18 | Have ALTER TABLE RENAME edit column references in CREATE VIEW statements. file: [c3bca346] check-in: [db829dc1] user: dan branch: edit-trigger-wrapper, size: 198486 | |
19:27 | Improved error messages when an ALTER TABLE RENAME COLUMN fails due to a duplicate column name. file: [a7b305c2] check-in: [37d11b8e] user: drh branch: alter-table-rename-column, size: 198488 | |
2018-08-13
| ||
17:14 | Edit the WHEN and UPDATE OF clauses of trigger programs as part of ALTER TABLE RENAME COLUMN. file: [6a5d6511] check-in: [5fdb6b0a] user: dan branch: edit-trigger-wrapper, size: 198300 | |
15:09 | Fix legacy comments on Token. Begin commenting the new ALTER TABLE RENAME COLUMN code. Fix a memory leak in the sqlite_rename_column() SQL function. file: [6cce5956] check-in: [32edc892] user: drh branch: alter-table-rename-column, size: 198302 | |
2018-08-11
| ||
13:40 | Reload the entire schema after renaming a column in order to ensure that the schema for any tables for which parent key definitions were changed are reloaded. file: [170af5be] check-in: [f4497b01] user: dan branch: alter-table-rename-column, size: 198116 | |
2018-08-09
| ||
20:47 | Experimental implementation of ALTER TABLE ... RENAME COLUMN. Still buggy. file: [4c9dc8cf] check-in: [fa0fc01e] user: dan branch: alter-table-rename-column, size: 198073 | |
2018-08-04
| ||
17:15 | Fix comments that were made obsolete by the removal of the column cache. file: [a5d212bb] check-in: [2041231d] user: drh branch: omit-column-cache, size: 197071 | |
16:54 | Remove more column-cache residue: The OP_SetColTab and OP_VerifyColTab opcodes and the associated SQLITE_DEBUG_COLUMNCACHE logic. file: [353f6ec5] check-in: [80236e81] user: drh branch: omit-column-cache, size: 197165 | |
15:53 | Further logic simplifications that flow out of the omission of the column cache. file: [aafcf34d] check-in: [7d9072b0] user: drh branch: omit-column-cache, size: 197503 | |
14:30 | Remove additional traces of the column cache. file: [6cfd4892] check-in: [db6052e9] user: drh branch: omit-column-cache, size: 197570 | |
2018-08-03
| ||
23:04 | Completely remove the column cache logic, which has been a persistent source of bugs for many years. Due to recent enhancements to the performance of the OP_Column opcode, removing the column cache actually makes speed-check.sh run faster. Removing the column cache also saves about 1,800 bytes of code space. file: [31b29c0d] check-in: [3f5f60cd] user: drh branch: omit-column-cache, size: 197790 | |
2018-07-28
| ||
13:37 | An early attempt at refactoring Expr file: [d9e843d0] check-in: [fc90a53d] user: drh branch: expr-simplify-branch1, size: 199249 | |
2018-07-27
| ||
23:33 | Improvements to the parser to increase coverage. Fix the parser so that at least one expresssion is required after PARTITION BY and within the list of expressions on VALUES(). file: [de37aae0] check-in: [02204f8b] user: drh branch: trunk, size: 198531 | |
16:57 | Constant propagation is now restricted to just the WHERE clause. The mechanism is changed to take affinity and collation into account. This seems to give correct answers. But the search for constant propagation costs 4 million cycles in the speed test. file: [fafe020e] check-in: [82c67efb] user: drh branch: propagate-const-opt, size: 198526 | |
2018-07-26
| ||
21:16 | Initial implementation of the WHERE-clause constant propagation optimization. file: [0da0d929] check-in: [2fb82ad8] user: drh branch: propagate-const-opt, size: 198472 | |
2018-07-24
| ||
22:02 | Do not abort running queries due to a CREATE INDEX statement. Allow them to run to completion before being reprepared. Fix for ticket [c694113e50321afdf9]. file: [42747158] check-in: [2bd59333] user: drh branch: trunk, size: 198323 | |
2018-07-12
| ||
19:39 | Merge latest begin-concurrent changes with this branch. file: [24e6aaa2] check-in: [d33527d2] user: dan branch: begin-concurrent-pnu, size: 198469 | |
19:28 | Merge latest trunk changes into this branch. file: [339bc14a] check-in: [6a00a34e] user: dan branch: begin-concurrent, size: 198392 | |
19:14 | Add a test-control to disable the skip-scan optimization. file: [c2ceebe6] check-in: [650a3fe0] user: dan branch: trunk, size: 198318 | |
2018-07-10
| ||
20:50 | Minor comment changes. Add ALWAYS() macros on some unreachable branches in the xStep() methods of built-in window functions. file: [8570eb9e] check-in: [f2057542] user: drh branch: trunk, size: 198262 | |
19:48 | Identify Select objects within a single statement using small sequential integers rather than "0x%p". This is more readable and yields the same result on successive runs. file: [dea40711] check-in: [a7cdc5bc] user: drh branch: trunk, size: 198261 | |
16:04 | Enhancements and improved documentation to the byte-code branch coverage testing logic. Provide new macros that allow the code to specify that some branch instructions can never take the NULL path and that the OP_Jump opcode is only interested in equal/not-equal. The SQLITE_TESTCTRL_VDBE_COVERAGE file control callback now works slightly differently (it provides the callback with a bitmask of the branch action, rather than an integer). file: [7e327654] check-in: [cd2da7e1] user: drh branch: trunk, size: 198433 | |
15:48 | Merge begin-concurrent changes into this branch. file: [66452e03] check-in: [af17432e] user: dan branch: begin-concurrent-pnu, size: 198579 | |
15:45 | Merge latest trunk changes into this branch. file: [1cea90fe] check-in: [e9a3e864] user: dan branch: begin-concurrent, size: 198502 | |
06:32 | Enhance the TreeView mechanism so that it shows the window function data structures as part of the abstract syntax tree. file: [7e24bfe3] check-in: [a2c0e1be] user: drh branch: trunk, size: 198428 | |
2018-06-29
| ||
17:44 | Instead of using a lemon %fallback directive, have the tokenizer try to figure out whether an instance of "WINDOW" should be TK_WINDOW or TK_ID. file: [c14c850b] check-in: [022079cb] user: dan branch: weak-fallback, size: 197368 | |
2018-06-22
| ||
20:51 | Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. file: [74728a0b] check-in: [5f04b016] user: dan branch: exp-window-functions, size: 197336 | |
2018-06-19
| ||
19:01 | OFD locks are now mostly working, but need additional tests. file: [95836c91] check-in: [4f1fb5c9] user: drh branch: ofd-locks, size: 193773 | |
17:13 | Fix a problem with using min() or max() as a window function. file: [a67385b6] check-in: [801074ce] user: dan branch: exp-window-functions, size: 197112 | |
2018-06-18
| ||
20:34 | Fix problems with using window functions in CREATE VIEW statements. file: [6080a69e] check-in: [943bccd2] user: dan branch: exp-window-functions, size: 197107 | |
16:55 | Add new API function sqlite3_create_window_function(), for creating new aggregate window functions. file: [94c8db9e] check-in: [da03fb43] user: dan branch: exp-window-functions, size: 197053 | |
2018-06-14
| ||
19:06 | Fix problem with window functions min() and max() when used with a PARTITION clause and a frame starting point other than "UNBOUNDED PRECEDING". file: [97525ef2] check-in: [43eb1e75] user: dan branch: exp-window-functions, size: 196968 | |
14:30 | Merge latest trunk changes into this branch. file: [f6c6b3b9] check-in: [5cf5f180] user: dan branch: exp-window-functions, size: 196775 | |
2018-06-11
| ||
20:50 | Clarify the relationship between a Window object and its associated Expr. file: [939c1893] check-in: [0cd55e98] user: dan branch: exp-window-functions, size: 196437 | |
17:35 | Add the OP_SetTabCol and OP_VerifyTabCol opcodes, only when compiling with SQLITE_DEBUG, to do run-time verification of the column cache. file: [c8d30471] check-in: [b37614a3] user: drh branch: trunk, size: 193696 | |
2018-06-09
| ||
18:09 | Merge recent trunk changes with this branch. file: [04c732e9] check-in: [c71f2359] user: dan branch: exp-window-functions, size: 196435 | |
01:12 | Compute the bitmask of indexed columns for each index once when the Index objecct is constructed, instead of recomputing it every time it is needed. file: [9332b820] check-in: [d735872e] user: drh branch: trunk, size: 193358 | |
2018-06-08
| ||
20:58 | Add support for the WINDOW clause. file: [8cdd2f8c] check-in: [19c983b5] user: dan branch: exp-window-functions, size: 196369 | |
16:11 | Do not flatten sub-queries that contain window functions. file: [72c13b98] check-in: [236cb75b] user: dan branch: exp-window-functions, size: 196124 | |
11:45 | Fixes to allow group_concat() to be used as a window function. file: [94322676] check-in: [89bbc9ba] user: dan branch: exp-window-functions, size: 196080 | |
2018-06-06
| ||
17:12 | Merge the 3.24.0 changes plus a few subsequent enhancements. file: [8d8f3367] check-in: [be7004a9] user: drh branch: begin-concurrent-pnu, size: 193443 | |
17:03 | Merge changes from trunk, including all the 3.24.0 changes plus some later enhancements. file: [61275d2b] check-in: [d7299bfe] user: drh branch: begin-concurrent, size: 193366 | |
2018-06-04
| ||
14:10 | Merge changes from trunk. file: [96b4eedd] check-in: [95fbac39] user: drh branch: apple-osx, size: 194411 | |
08:28 | Merge latest trunk changes into this branch. file: [7a9f462b] check-in: [83d6416a] user: dan branch: exp-window-functions, size: 196072 | |
2018-06-02
| ||
21:04 | Add support for window functions row_number(), rank(), dense_rank() and percent_rank(). file: [777f048d] check-in: [91c1cb7a] user: dan branch: exp-window-functions, size: 196104 | |
2018-05-30
| ||
20:44 | Allow min() and max() to be used as window functions. file: [daa86b28] check-in: [c16125a8] user: dan branch: exp-window-functions, size: 195803 | |
2018-05-26
| ||
16:00 | Store application-defined function names as lower-case to avoid the need for case conversions before calling xFindFunction on virtual tables. Avoid using lookaside to store the destructors for application defined functions, as lookaside should be reserved for transient allocations. file: [d2bd297d] check-in: [777189ce] user: drh branch: trunk, size: 193292 | |
2018-05-23
| ||
20:55 | Add support for "ROWS BETWEEN <expr> PRECEDING AND <expr> FOLLOWING" window frames. file: [735b0417] check-in: [3a203660] user: dan branch: exp-window-functions, size: 195662 | |
2018-05-21
| ||
19:45 | Begin adding support for more esoteric window frames. file: [a3f0edb2] check-in: [bc4b81d6] user: dan branch: exp-window-functions, size: 195639 | |
2018-05-17
| ||
19:24 | Evaluate multiple window functions in a single pass if they use the same window definition. Add xValue callbacks for other built-in aggregate functions. file: [6b3400a9] check-in: [c9f0f140] user: dan branch: exp-window-functions, size: 195445 | |
2018-05-16
| ||
20:58 | Start of experimental implementation of SQL window functions. Does not yet work. file: [ecb9f7d1] check-in: [3781e520] user: dan branch: exp-window-functions, size: 195369 | |
2018-05-15
| ||
11:55 | Merge latest trunk changes into this branch. file: [1fdcc239] check-in: [72f39efa] user: dan branch: begin-concurrent-pnu, size: 193475 | |
11:45 | Merge latest trunk changes with this branch. file: [b05e12d7] check-in: [ae86cf60] user: dan branch: begin-concurrent, size: 193398 | |
2018-05-14
| ||
17:12 | Experimental syntax enhancement for an "INDEXED" keyword following a FROM-clause subquery that indicates that an automatic index on that subquery is suggested. file: [beb78cf7] check-in: [32b3d110] user: drh branch: exp-indexed-clause, size: 193398 | |
2018-05-09
| ||
13:46 | Make the internal dynamic string interface available to extensions using the new sqlite3_str object and its associated methods. This is mostly just a renaming of internal objects and methods to use external names, through there are a few small wrapper functions. file: [5abdade4] check-in: [87f261f0] user: drh branch: trunk, size: 193324 | |
2018-05-04
| ||
19:33 | Merge recent enhancements from trunk. file: [e8308e4c] check-in: [e17bca2c] user: drh branch: apple-osx, size: 194754 | |
2018-05-03
| ||
23:20 | In ORDER BY LIMIT queries, try to evaluate the ORDER BY terms first, and it it becomes clear that the row will not come in under the LIMIT, then skip evaluation of the other columns. file: [4b98a37f] check-in: [c381f0ea] user: drh branch: trunk, size: 193635 | |
19:47 | Optimizations to the new EQP framework. file: [7fbd839f] check-in: [956fef36] user: drh branch: rework-EQP, size: 193841 | |
2018-05-02
| ||
14:24 | Fix a dangling-else problem that was causing recursive CTEs to malfunction. Begin fixing test cases to work with the new EQP output. file: [40952631] check-in: [82ca44b8] user: drh branch: rework-EQP, size: 193974 | |
00:33 | Begin reengineering the EXPLAIN QUERY PLAN function to provide more intuitive output. file: [337e4fe0] check-in: [70b48a79] user: drh branch: rework-EQP, size: 193979 | |
2018-05-01
| ||
01:18 | The ".selecttrace 0x4000" command causes the AST to be output to stdout as a table with four columns. file: [9aef9530] check-in: [2a75e631] user: drh branch: ast-trace-demo, size: 194294 | |
2018-04-30
| ||
19:32 | Defer loading result column values into registers on an ORDER BY LIMIT until we know that the LIMIT does not exclude the current row. file: [3e354edb] check-in: [ce4ef460] user: drh branch: faster-order-by-limit, size: 193891 | |
2018-04-28
| ||
01:27 | Add the "PRAGMA reset_database=ON|OFF" command. When on, it causes the database to appear to be empty, causing the next transaction to reset it to an empty database. file: [8ac0138e] check-in: [02e1a13c] user: drh branch: reset-database, size: 194097 | |
2018-04-26
| ||
18:01 | Merge latest changes from trunk. Including the "ORDER BY ... LIMIT" optimization. file: [288351b6] check-in: [83a4c9f0] user: dan branch: begin-concurrent-pnu, size: 194181 | |
17:54 | Merge latest changes from trunk. Including the "ORDER BY ... LIMIT" optimization. file: [2947156d] check-in: [d8ae7ba0] user: dan branch: begin-concurrent, size: 194104 | |
2018-04-25
| ||
12:01 | Avoid many unnecessary calls to sqlite3ReadSchema() and sqlite3Init() when the schema is known to be valid already. file: [c1deb023] check-in: [58cf812f] user: drh branch: trunk, size: 194030 | |
2018-04-24
| ||
19:22 | Update this branch with latest changes from trunk. file: [717add42] check-in: [2d8d13e4] user: dan branch: begin-concurrent-pnu, size: 194109 | |
19:21 | Merge latest trunk changes into this branch. file: [14eea4c7] check-in: [b27bd799] user: dan branch: begin-concurrent, size: 194032 | |
2018-04-23
| ||
17:43 | The ".selecttrace 0x2000" command causes just the top-level parse tree to be displayed, after all transformations, and showing the EQP iSelectId at each level. file: [db62bdf0] check-in: [ca34c2dd] user: drh branch: trunk, size: 193958 | |
13:28 | Ensure that there are no bind-parameters or incorrect schema references in the UPSERT portions of an INSERT within a TRIGGER. file: [00c10f89] check-in: [d47a6bdd] user: drh branch: trunk, size: 193898 | |
2018-04-21
| ||
13:51 | Add the %extra_context directive to lemon, as an alternative to %extra_argument. Use this to improve the performance of the parser. file: [e62bf379] check-in: [be47a6f5] user: drh branch: trunk, size: 193898 | |
2018-04-20
| ||
13:18 | Enhance UPSERT so that the UPDATE uses the same set of cursors as the INSERT. file: [6f26888c] check-in: [c37f39d1] user: drh branch: trunk, size: 193898 | |
2018-04-18
| ||
19:56 | Add the "sorter-reference" optimization, allowing SQLite to be configured so that some required values may be loaded from the database after external sorting occurs for SELECT statements with ORDER BY clauses that are not satisfied by database indexes. file: [a5c534cd] check-in: [ef74090a] user: dan branch: trunk, size: 193488 | |
15:33 | Fix the build for SQLITE_OMIT_UPSERT file: [1d4317da] check-in: [32956519] user: drh branch: upsert, size: 193096 | |
2018-04-17
| ||
18:16 | Add some more simple test cases for UPSERT. And a minor fix. file: [36471fde] check-in: [27cd3b2f] user: dan branch: upsert, size: 193092 | |
2018-04-16
| ||
21:12 | Add SQLITE_CONFIG_SORTERREF_SIZE configuration option. file: [ad14bfea] check-in: [b25a7bb7] user: dan branch: sorter-reference, size: 191364 | |
13:00 | Add support for the "excluded.*" names in the UPDATE clause of an upsert. file: [39ba4408] check-in: [0203f34f] user: drh branch: upsert, size: 193096 | |
10:47 | Merge changes from trunk. file: [1e32dd08] check-in: [54d96772] user: drh branch: upsert, size: 192855 | |
10:34 | Reduce the size of the NameContext object by grouping seldom-used fields into a union. file: [155bd93e] check-in: [dba3095f] user: drh branch: trunk, size: 191121 | |
2018-04-14
| ||
18:46 | Experimental change to "SELECT * FROM ... ORDER BY" processing to load some column values from the db after sorting. file: [31a7f214] check-in: [9719cb46] user: dan branch: sorter-reference, size: 191043 | |
2018-04-13
| ||
21:55 | First cut at logic to perform DO UPDATE for rowid tables. file: [0c303b94] check-in: [a9080bc8] user: drh branch: upsert, size: 192706 | |
18:59 | Add infrastructure for doing an UPDATE as part of an UPSERT. Still no actual UPDATE code, however. file: [063ea084] check-in: [6d3017f9] user: drh branch: upsert, size: 192652 | |
15:14 | Get the ON CONFLICT DO NOTHING form of upsert working by mapping it into INSERT OR IGNORE. file: [c1df6147] check-in: [d07f05e9] user: drh branch: upsert, size: 192584 | |
13:06 | Back off of the extended upsert syntax that allows multiple ON CONFLICT clauses. The syntax now is exactly as in PostgreSQL and MySQL. Add support for WHERE clauses on the conflict-target phrase, for partial indexes. file: [97119c8d] check-in: [2c1b1987] user: drh branch: upsert, size: 192520 | |
01:15 | Begin adding upsert logic. This is an incremental check-in. file: [f99a7723] check-in: [80969643] user: drh branch: upsert, size: 192835 | |
2018-04-12
| ||
17:28 | Extend the upsert syntax to allow a WHERE clause on the UPDATE. file: [f828216a] check-in: [e4396c54] user: drh branch: upsert, size: 191959 | |
15:43 | Update the upsert parsing so that it accepts conflict-target labels using the PostgreSQL syntax, and also accepts the MySQL "ON DUPLICATE KEY" syntax. file: [8b21b916] check-in: [c48f64d8] user: drh branch: upsert, size: 191879 | |
13:15 | Add the Upsert object for holding upsert clause information. file: [1c6d9e73] check-in: [d83eaed5] user: drh branch: upsert, size: 191762 | |
2018-04-10
| ||
18:05 | Merge all version 3.23.1 changes and enhancements from trunk. file: [fd7b5647] check-in: [e20fcb51] user: drh branch: apple-osx, size: 192091 | |
2018-04-07
| ||
15:04 | More complete parsing of UPSERT, including UPSERT within a trigger. The sqlite3Insert() logic to actually perform the UPSERT is not yet implemented, however. file: [a1a986e2] check-in: [5cc2a5a3] user: drh branch: upsert, size: 191112 | |
2018-03-28
| ||
15:41 | Update this branch with latest trunk changes. file: [59a8bd11] check-in: [df52e89f] user: dan branch: server-process-edition, size: 191069 | |
2018-03-26
| ||
17:40 | Add infrastructure to support for using F_SETLKW with a timeout on system that support that functionality. Requires SQLITE_ENABLE_SETLK_TIMEOUT. file: [a4837c57] check-in: [2e54a743] user: drh branch: lowlevel-lock-timeout, size: 190972 | |
16:37 | Refactor some internal object element names used by the busy handler, to simplify analysis. file: [bf922890] check-in: [6c40c557] user: drh branch: trunk, size: 190878 | |
2018-03-20
| ||
21:16 | If terms of the WHERE clause require that the right table in a LEFT JOIN not be a null row, then simplify the LEFT JOIN into an ordinary JOIN. file: [54189639] check-in: [5b7abecc] user: drh branch: join-strength-reduction, size: 190857 | |
18:08 | Improvements to the HAVING-to-WHERE optimization. The code uses less space and less CPU, and there is now ".selecttrace" output. file: [7e9deb14] check-in: [5ad668d4] user: drh branch: trunk, size: 190741 | |
14:00 | Merge all recent trunk enchancements, and especially the autoincrement write reduction fix. file: [61d9f90f] check-in: [25790049] user: drh branch: begin-concurrent-pnu, size: 190894 | |
13:52 | Merge all recent enhancements from trunk. file: [29a47356] check-in: [b0c2f760] user: drh branch: begin-concurrent, size: 190817 | |
11:24 | Add the ability to disable the push-down optimization using the 0x1000 bit of SQLITE_TESTCTRL_OPTIMIZATIONS. file: [5c07bbc5] check-in: [eddc35f3] user: drh branch: push-down-disable, size: 190743 | |
2018-03-19
| ||
22:28 | Minor improvements to ".selecttrace". No changes to non-debug code. file: [51d03b44] check-in: [03e541f6] user: drh branch: trunk, size: 190671 | |
2018-03-14
| ||
17:17 | Merge the latest enhancements from trunk. file: [2769d44c] check-in: [a658f80c] user: drh branch: apple-osx, size: 191858 | |
2018-03-06
| ||
21:43 | Improved documentation for sqlite3_serialize() and sqlite3_deserialize(). Change the name of the compile-time option to enable these interfaces from SQLITE_ENABLE_MEMDB to SQLITE_ENABLE_DESERIALIZE. file: [2ef60a6d] check-in: [f07e97ae] user: drh branch: memdb, size: 190739 | |
2018-03-02
| ||
18:26 | Merge latest changes from begin-concurrent into this branch. file: [d947d57d] check-in: [8ade94ba] user: dan branch: begin-concurrent-pnu, size: 190745 | |
17:40 | Merge latest trunk changes into this branch. file: [51c1a706] check-in: [36801eff] user: dan branch: begin-concurrent, size: 190668 | |
2018-03-01
| ||
13:44 | Merge the latest enhancements from trunk. file: [574a0dd6] check-in: [c8083de1] user: drh branch: memdb, size: 190733 | |
2018-02-27
| ||
14:49 | Clean up comments and variable names prior to merge. file: [6c321e40] check-in: [6445519e] user: drh branch: is-true-operator, size: 190594 | |
2018-02-26
| ||
21:26 | Code simplifications. New test cases. file: [ce6d2c08] check-in: [57508518] user: drh branch: is-true-operator, size: 190596 | |
20:15 | Get the "DEFAULT true" and "DEFAULT false" phrases working correctly in CREATE TABLE. file: [a6856d3d] check-in: [8002f87d] user: drh branch: is-true-operator, size: 190620 | |
18:49 | Refactor for correct NULL handling in the IS TRUE, IS FALSE, IS NOT TRUE, and IS NOT FALSE operators. file: [d3806462] check-in: [cf2abd59] user: drh branch: is-true-operator, size: 190583 | |
2018-02-12
| ||
20:27 | When compiling with VDBE_PROFILE, add the sqlite3NProfileCnt global variable which can be used to measure per-opcode values other than elapse time, if non-zero. file: [fd8943e9] check-in: [d44d5936] user: drh branch: trunk, size: 190517 | |
2018-01-29
| ||
16:22 | Ensure the "unique-not-null" flag is set for automatic indexes on columns declared with "col UNIQUE NOT NULL" (where the NOT NULL comes after the UNIQUE). file: [119e2407] check-in: [8767f7b8] user: dan branch: trunk, size: 190448 | |
2018-01-24
| ||
15:02 | Merge changes from trunk. file: [fc800ea6] check-in: [6ef3de81] user: drh branch: memdb, size: 190509 | |
2018-01-15
| ||
21:59 | Merge the enhancements associated with the first 3.22.0 beta. file: [eb9c5d56] check-in: [c9d2ec51] user: drh branch: apple-osx, size: 191489 | |
2018-01-12
| ||
23:18 | Improved comments. Slightly tighter implementation, but no big changes. file: [9c703155] check-in: [a1b3f285] user: drh branch: sqlite3_value_nochange, size: 190370 | |
2018-01-03
| ||
23:54 | Fix compiler warnings on Windows. file: [315d863d] check-in: [512b8e40] user: drh branch: memdb, size: 190431 | |
19:03 | Replace sqlite3_memdb_config() with sqlite3_deserialize(). Remove the "db memdb" command from the TCL interface, replacing it with "db serialize" and "db deserialize". file: [713ee4be] check-in: [2f6e9df9] user: drh branch: memdb, size: 190431 | |
01:28 | Add support for the "memdb" VFS and the sqlite3_memdb_ptr() and sqlite3_memdb_config() interfaces, to enable an SQLite database to be manipulated as an in-memory object. file: [2567341e] check-in: [fb2ac2d2] user: drh branch: memdb, size: 190355 | |
2017-12-29
| ||
15:04 | Change the function name to sqlite_unsupported_offset(X). Only enable the function if compiled with -DSQLITE_ENABLE_OFFSET_SQL_FUNC. The makefiles add that definition to shell builds. file: [fd8702c6] check-in: [7a7f826e] user: drh branch: location-function, size: 190292 | |
13:35 | Merge recent enhancements from trunk. file: [623712d1] check-in: [6251e438] user: drh branch: location-function, size: 190287 | |
2017-12-27
| ||
20:38 | Show the text of individual statements within a trigger, as they execute, as comments in the output from sqlite3_trace() and sqlite3_trace_v2(). file: [39465544] check-in: [fe3d2b97] user: drh branch: span-refactor, size: 190216 | |
19:43 | Add and use the internal sqlite3DbSpanDup() interface. file: [707e078d] check-in: [a8e1545c] user: drh branch: span-refactor, size: 189934 | |
19:27 | Merge recent enhancements from trunk. file: [d7054a71] check-in: [76373091] user: drh branch: span-refactor, size: 189876 | |
2017-12-26
| ||
18:04 | Add support for measuring and reporting coverage of the parser state machine using the SQLITE_TESTCTRL_PARSER_COVERAGE test-control. file: [26bf7cc7] check-in: [1253a872] user: drh branch: lemon-improvements, size: 190246 | |
2017-12-24
| ||
00:18 | Remove the ExprSpan object. Instead, keep track of the test of subphrases in the parse using the "scanpt" non-terminal. file: [124be5e9] check-in: [3eab7bdc] user: drh branch: span-refactor, size: 189809 | |
2017-12-22
| ||
00:52 | Modify the new sqlite3_vtab_collation() interface so that it takes a pointer to the sqlite3_index_info object passed into xBestIndex rather than an sqlite3 connection pointer, which the xBestIndex method might not have access to. file: [003b7843] check-in: [5c1fe666] user: drh branch: trunk, size: 190179 | |
2017-12-21
| ||
18:23 | Change the name of SQLITE_DBCONFIG_FULL_EQP to be SQLITE_DBCONFIG_TRIGGER_EQP (which we can do without breaking compatibility because the former name has not yet appeared in an official release) and streamline its implementation. file: [392de8f6] check-in: [fffc7685] user: drh branch: trunk, size: 190240 | |
2017-12-16
| ||
20:20 | Add an experimental location(X) SQL function that attempt to return the location of the payload within the database for the record that contains column X. location(X) returns NULL if X is not an ordinary table column or if SQLite cannot figure out the location because it is using a covering index. file: [3aca1201] check-in: [51be9558] user: drh branch: location-function, size: 190300 | |
19:16 | Merge latest trunk changes into this branch. file: [4d6580ab] check-in: [d5b597b5] user: dan branch: schemalint, size: 190229 | |
2017-12-12
| ||
18:17 | Merge latest begin-concurrent changes into this branch. file: [5d3e33fc] check-in: [3fde0b4d] user: dan branch: begin-concurrent-pnu, size: 190025 | |
2017-12-08
| ||
19:37 | The query planner tries to avoids using indexes that use unknown collating functions. file: [55b8e7da] check-in: [02013fc1] user: drh branch: trunk, size: 190093 | |
2017-11-29
| ||
16:16 | Merge latest trunk changes into this branch. file: [b7eee7a1] check-in: [373fa21b] user: dan branch: schemalint, size: 190158 | |
2017-11-28
| ||
08:08 | Merge latest trunk changes, including the SQLITE_ENABLE_MULTITHREADED_CHECKS feature, into this branch. file: [0b11f808] check-in: [1fd10349] user: dan branch: apple-osx, size: 191141 | |
2017-11-25
| ||
21:09 | Fix builds with both SQLITE_ENABLE_MULTITHREADED_CHECKS and SQLITE_THREADSAFE=0 defined. file: [4c910d9c] check-in: [7d0b12fc] user: dan branch: multithreaded-checks, size: 190022 | |
17:51 | Add experimental feature to detect threading bugs in apps that use SQLITE_CONFIG_MULTITHREADED. Enabled at compile time using SQLITE_ENABLE_MULTITHREADED_CHECKS. file: [6b084f4b] check-in: [a66886ac] user: dan branch: multithreaded-checks, size: 189985 | |
2017-11-18
| ||
17:30 | Enhance the log messages produced in some cases if database corruption is encountered by an SQLITE_DEBUG build. file: [9b26fbab] check-in: [23a31280] user: dan branch: sqlite-corrupt-page, size: 189837 | |
2017-11-16
| ||
19:17 | Merge the latest changes, and the stmtvtab1.test fix, from trunk. file: [c4e36ef2] check-in: [85247880] user: drh branch: apple-osx, size: 190891 | |
2017-11-14
| ||
23:48 | In the parse tree, combine LIMIT and OFFSET into a single expression rooted on a TK_LIMIT node, for a small code size reduction and performance increase, and a reduction in code complexity. file: [fb297e4b] check-in: [3925facd] user: drh branch: trunk, size: 189772 | |
20:06 | Merge changes from trunk. This fixes the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. file: [83bee2a7] check-in: [d90e5f34] user: dan branch: begin-concurrent, size: 189948 | |
20:00 | Merge all changes from trunk prior to the read-only WAL enhancement. file: [29a73df2] check-in: [1754faef] user: drh branch: apple-osx, size: 190993 | |
18:26 | Fix the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. This is a modified cherrypick of [dae4a97a]. file: [3b807b71] check-in: [b2679d3b] user: dan branch: branch-3.8.9, size: 166728 | |
2017-11-10
| ||
20:13 | Omit some extra code from non-SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds. file: [abd4e64b] check-in: [72be33f9] user: dan branch: update-delete-limit-fix, size: 189874 | |
2017-11-09
| ||
19:53 | Add SQLITE_ENABLE_UPDATE_DELETE_LIMIT for views and WITHOUT ROWID tables. file: [821479be] check-in: [584b88aa] user: dan branch: update-delete-limit-fix, size: 190049 | |
2017-11-06
| ||
20:02 | Merge latest trunk changes into this branch. file: [8f695112] check-in: [7f217eda] user: dan branch: begin-concurrent, size: 189881 | |
2017-11-01
| ||
19:30 | Fix the SQLITE_NoopUpdate #define so that it occurs under the correct conditions. file: [5bea474f] check-in: [bdf791f9] user: drh branch: begin-concurrent-pnu, size: 189346 | |
2017-10-28
| ||
20:51 | Reactivate query flattening when the result set of the outer query has no function calls or subqueries. This is a partial reversal of check-in [c9104b59]. Co-routines are still preferred if the outer query has a complex result set, but for simple results sets, query flattening is used. Check-in [4464f40ccd7] is completely backed out due to this change. file: [f5377feb] check-in: [d17ef7d1] user: drh branch: trunk, size: 189807 | |
2017-10-24
| ||
19:12 | Merge all enhancements and fixes from the 3.21.0 release. file: [fe1c3625] check-in: [13be3a44] user: drh branch: apple-osx, size: 190707 | |
2017-10-11
| ||
20:26 | Merge latest trunk changes with this branch. file: [f7e05ec1] check-in: [2719cf5c] user: dan branch: schemalint, size: 189617 | |
20:10 | Change some internal details to bring this branch closer to the code on trunk. file: [c4d3d390] check-in: [58e42cfd] user: dan branch: schemalint, size: 187548 | |
13:48 | Initial implementation of the "sqlite_dbpage" virtual table. Currently it is read-only and has a place-holder xBestIndex. file: [6f93fd6f] check-in: [c2c1d656] user: drh branch: dbpage, size: 189588 | |
2017-10-03
| ||
18:35 | Do not enable SELECT tracing with -DSQLITE_DEBUG. Require the -DSQLITE_ENABLE_SELECTTRACE compile-time option to enable SELECT tracing. file: [c07bc88e] check-in: [f5c39583] user: drh branch: trunk, size: 189481 | |
2017-10-02
| ||
21:29 | Add the OK_IF_ALWAYS_TRUE() and OK_IF_ALWAYS_FALSE() macros for marking conditionals that improve performance but do not change the outcome. file: [50a50983] check-in: [6035c9b2] user: drh branch: trunk, size: 189506 | |
2017-09-30
| ||
10:50 | Make sure the SQLITE_Stat34 optimization switch is always 0x800, a value which is hard-coded in the TH3 test suite. file: [99e4beeb] check-in: [6aed4ea3] user: drh branch: prefer-coroutine-sort-subquery, size: 189033 | |
2017-09-29
| ||
22:13 | Always render a subquery that is not part of a join as a co-routine. file: [d51b1b54] check-in: [6b1651d7] user: drh branch: prefer-coroutine-sort-subquery, size: 188956 | |
2017-09-28
| ||
01:58 | Add new routines to simplify dealing with collating sequences in expressions: sqlite3ExprNNCollSeq() and sqlite3ExprCollSeqMatch(). file: [954fed87] check-in: [490e488e] user: drh branch: trunk, size: 189105 | |
2017-09-22
| ||
20:18 | Merge in all the trunk enhancements of the previous 7 months. The LIKE optimization has stopped working when there is an ESCAPE - that problem will be addressed in a subsequent check-in. file: [8943d3b3] check-in: [8d2a1cca] user: drh branch: est_count_pragma, size: 188991 | |
10:49 | Merge latest trunk changes into this branch. file: [6027f4fb] check-in: [307b802e] user: dan branch: begin-concurrent, size: 189071 | |
2017-09-18
| ||
08:51 | Merge latest trunk changes with this branch. file: [cfcfc423] check-in: [2e573350] user: dan branch: shared-mapping-hack, size: 189347 | |
2017-09-17
| ||
19:45 | Do not make the assumption (as check-in [4da49a95c0f07] incorrectly did) that the ExprList returned by sqlite3ExprListDup() would never be passed into sqlite3ExprListAppend(). Include a new test case that shows this sometimes does happen. file: [12aa1f62] check-in: [29227d00] user: drh branch: trunk, size: 188997 | |
2017-09-15
| ||
15:17 | Optimization to the ExprList object to make it slightly smaller and faster. file: [386e5b49] check-in: [4da49a95] user: drh branch: trunk, size: 189105 | |
2017-09-13
| ||
18:38 | Experimental sqlite3_stmt_retryable() interface. file: [0568e9b1] check-in: [ebada072] user: drh branch: sqlite3_stmt_retryable, size: 189112 | |
2017-09-12
| ||
23:58 | Remove use of the rand_s() function (added by [139081bef9f63c3e]) as it appears to cause issues with some third-party DLLs. file: [2272cd09] check-in: [3a2793aa] user: mistachkin branch: trunk, size: 189058 | |
20:09 | Add the highly-experimental "PRAGMA noop_update=TRUE" command. file: [dc8a0325] check-in: [afe45271] user: drh branch: begin-concurrent-pnu, size: 189346 | |
18:49 | Add the highly-experimental "PRAGMA noop_update=TRUE" command. file: [71981419] check-in: [de2e3717] user: drh branch: pragma-noop-update, size: 189299 | |
2017-09-09
| ||
08:03 | Use a mutex-free PRNG for the random() and randomblob() SQL functions and for the randomness used during checkpoint operations. file: [63e64c24] check-in: [e63d1a7c] user: drh branch: mutex-free-randomness, size: 189572 | |
06:10 | Merge trunk enhancements file: [aed4df71] check-in: [6a0b9d9d] user: drh branch: apple-osx, size: 190341 | |
2017-09-04
| ||
00:33 | Proposed fix for ticket [b899b6042f97f5] file: [f9ae3609] check-in: [c7f9f47b] user: drh branch: trunk, size: 189222 | |
2017-08-29
| ||
20:21 | Faster memory allocation from lookaside by not trying to keep track of the number of outstanding allocations, and rather computing that value only when requested. file: [60295f5f] check-in: [a06263f1] user: drh branch: trunk, size: 189177 | |
2017-08-28
| ||
17:26 | Remove the rarely-used scratch memory allocator. This makes the code smaller, faster, and easier to maintain. In place of the scratch allocator, add the SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite that large memory allocations should be avoided. file: [2725fdc0] check-in: [cc440400] user: drh branch: begin-concurrent-branch-3.19, size: 188648 | |
17:19 | Merge recent enhancements from trunk. file: [7a7f342f] check-in: [d53108e7] user: drh branch: begin-concurrent, size: 189202 | |
15:51 | Remove the rarely-used scratch memory allocator. This makes the code smaller, faster, and easier to maintain. In place of the scratch allocator, add the SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite that large memory allocations should be avoided. file: [9a283ecf] check-in: [54b00024] user: drh branch: trunk, size: 189128 | |
2017-08-18
| ||
14:34 | 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. file: [bc0792db] check-in: [eb1202b5] user: drh branch: trunk, size: 189366 | |
2017-08-17
| ||
02:26 | Defer schema resets when the query planner is running. Proposed fix for ticket [be436a7f4587ce517]. file: [6dddca4e] check-in: [a7bc7752] user: drh branch: trunk, size: 189366 | |
2017-08-16
| ||
17:06 | Update this branch with the latest changes from trunk. file: [b95aa371] check-in: [380a7b7a] user: dan branch: server-process-edition, size: 189309 | |
2017-08-14
| ||
14:53 | 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]. file: [854a122f] check-in: [d0da791b] user: drh branch: trunk, size: 189212 | |
06:55 | Update this branch with latest trunk changes. file: [eaa2c5e5] check-in: [bc2498d6] user: dan branch: server-process-edition, size: 189226 | |
2017-08-12
| ||
02:01 | Remove the zBase field from the StrAccum object. Resulting code is slightly smaller and faster. file: [5e3c160c] check-in: [6e52fa5f] user: drh branch: trunk, size: 189129 | |
2017-08-11
| ||
19:16 | Merge the latest enhancements from trunk. file: [0eccf839] check-in: [47e71695] user: drh branch: begin-concurrent, size: 189269 | |
2017-08-09
| ||
20:35 | Add experimental sqlite3_open_v2() flag SQLITE_OPEN_REUSE_SCHEMA. For sharing identical in-memory schema objects between connections. file: [21a575b6] check-in: [a6256980] user: dan branch: reuse-schema, size: 189512 | |
2017-08-07
| ||
14:15 | Update this branch with latest trunk changes. file: [eed0fc43] check-in: [17bc7ded] user: dan branch: server-process-edition, size: 189292 | |
2017-08-02
| ||
22:43 | In the KeyInfo object, refactor the nField and nXField elements into nKeyField and nAllField, which are more useful and run a little faster. file: [07e4d3c8] check-in: [aea5990e] user: drh branch: trunk, size: 189195 | |
2017-08-01
| ||
14:16 | Take advantage of atomic-write capabilities in the F2FS filesystem when the database is stored on such a filesystem. This is a compile-time option activated using SQLITE_ENABLE_BATCH_ATOMIC_WRITE. file: [fe648fe5] check-in: [24190b22] user: drh branch: trunk, size: 189195 | |
13:54 | Merge recent enhancements from trunk. file: [513bd573] check-in: [aafe1fec] user: drh branch: begin-concurrent, size: 188848 | |
2017-07-29
| ||
17:10 | Merge latest trunk changes with this branch. file: [c4012772] check-in: [b42c8779] user: dan branch: server-process-edition, size: 188871 | |
2017-07-28
| ||
02:02 | Backport of all batch-atomic-write changes through check-in [67bad7fb9b] file: [40785f84] check-in: [def55027] user: drh branch: batch-atomic-write-3.19, size: 187833 | |
2017-07-26
| ||
19:59 | Add the new sqlite3.mDbFlags field. Factor out bits of sqlite3.flags that do not interact with PRAGMA statements into sqlite3.mDbFlags. file: [a1b8df42] check-in: [3808a00f] user: drh branch: trunk, size: 188774 | |
10:04 | Fix a comment on the UnpackedRecord.r1 and UnpackedRecord.r2 fields. No changes to code. file: [3bbfdcff] check-in: [622b1089] user: drh branch: trunk, size: 188821 | |
2017-07-24
| ||
19:43 | Update this branch with latest changes from trunk. file: [a2b43c6e] check-in: [d0719ad7] user: dan branch: server-process-edition, size: 188918 | |
14:44 | Compiler warning fix associated with date/time functions. file: [bd6be75b] check-in: [a98f07d9] user: drh branch: trunk, size: 188821 | |
2017-07-22
| ||
16:32 | Keep batch-atomic-writes turned on for journal_mode=MEMORY, but turn them off for synchronous=OFF. Refuse to compile with both SQLITE_MMAP_READWRITE and SQLITE_ENABLE_BATCH_ATOMIC_WRITE. Fix up some comments in the commit logic. file: [3cbbcb67] check-in: [2e80e19e] user: drh branch: batch-atomic-write, size: 189233 | |
2017-07-20
| ||
21:00 | Split SQLITE_ENABLE_ATOMIC_WRITE into two options - the original and SQLITE_ENABLE_BATCH_ATOMIC_WRITE. file: [437217b5] check-in: [7eb9bf2c] user: dan branch: batch-atomic-write, size: 188866 | |
17:47 | Merge all the latest trunk enhancements. file: [6536c0b9] check-in: [213c61cb] user: drh branch: begin-concurrent, size: 188886 | |
13:17 | Combine the Parse.ckBase and Parse.iSelfTab fields into just Parse.iSelfTab. This fixes a problem with date/time functions in check-constraints. Add some test cases for date/time functions in index expressions and check constraints. file: [96197a18] check-in: [22eda098] user: drh branch: index-on-date-func, size: 188812 | |
2017-07-19
| ||
18:54 | Merge latest trunk changes with this branch. file: [73847b09] check-in: [be0df0a6] user: dan branch: server-process-edition, size: 188351 | |
17:12 | Create "pure" versions of the date/time functions that omit the 'now' feature and are therefore deterministic and usable in an index. file: [9b57e058] check-in: [55791928] user: drh branch: pure-date-functions, size: 188802 | |
2017-07-17
| ||
20:21 | Merge all the latest fixes and enhancements from trunk. file: [eb2f6934] check-in: [e181225d] user: drh branch: apple-osx, size: 189373 | |
2017-07-12
| ||
17:08 | The EP_Resolved flag on the Expr object is not required for correctness nor performance, so remove it. file: [0ba730cd] check-in: [54f55d3b] user: drh branch: trunk, size: 188254 | |
12:19 | Compile cleanly with SQLITE_OMIT_UTF16. file: [23e96647] check-in: [783100b8] user: drh branch: trunk, size: 188270 | |
2017-07-11
| ||
18:11 | Fix harmless compiler warnings in the core. file: [c9cc8299] check-in: [55e93f25] user: drh branch: trunk, size: 188204 | |
2017-07-10
| ||
14:33 | When testing non-indexed WHERE constraints, test those that involve correlated sub-queries last of all. This increases the chances of not having to run the sub-query at all. file: [44398832] check-in: [1f9c1f35] user: dan branch: defer-where-subqueries, size: 188155 | |
2017-07-08
| ||
20:46 | Support read-only MVCC transactions in server-mode. Started using "BEGIN READONLY". file: [908c37c3] check-in: [5a043aa8] user: dan branch: server-process-edition, size: 188254 | |
18:27 | Disable compiler intrinsics when using the Intel C Compiler. file: [881e0094] check-in: [dbb59f61] user: drh branch: icc-fix, size: 188176 | |
2017-07-07
| ||
22:58 | Merge in all the latest trunk enhancements. file: [0697bcea] check-in: [7f48f6ab] user: drh branch: apple-osx, size: 189276 | |
16:40 | Merge latest trunk changes with this branch. file: [e6e01598] check-in: [216c757f] user: dan branch: server-process-edition, size: 188177 | |
2017-07-06
| ||
01:28 | Slightly more compact implementation of the byte-code generator for the COMMIT and ROLLBACK commands. file: [7a7cd6f6] check-in: [4da663d9] user: drh branch: trunk, size: 188157 | |
2017-07-05
| ||
14:54 | Add the count-of-view optimization when compiled using SQLITE_COUNTOFVIEW_OPTIMIZATION. file: [3b055fff] check-in: [b7ae4b87] user: drh branch: branch-3.8.9, size: 166661 | |
2017-07-04
| ||
19:34 | Add the count-of-view optimization when compiled using SQLITE_COUNTOFVIEW_OPTIMIZATION. file: [35b98ec4] check-in: [d1ba2002] user: drh branch: trunk, size: 188197 | |
2017-06-28
| ||
18:07 | Merge the in the latest enhancements from trunk. file: [37f1a9a3] check-in: [8f63c586] user: drh branch: partial-index-variables, size: 188121 | |
17:29 | Instead of the new sqlite3_prepare_v3() interface, provide the SQLITE_DBCONFIG_PREPARE_FLAGS interface which sets the flags on the single next call to sqlite3_prepare_v2() or its cousins. file: [a03afe12] check-in: [942c3ef8] user: drh branch: dbconfig-prepare-flags, size: 188181 | |
2017-06-27
| ||
16:48 | Merge latest trunk changes with this branch. file: [7230b8d4] check-in: [2b095406] user: dan branch: apple-osx, size: 188985 | |
2017-06-26
| ||
13:57 | Add the SQLITE_DBCONFIG_ENABLE_QPSG option to activate the query planner stability guarantee. This involves refactoring the sqlite3.flags bitvector to carve out a free bit to use. file: [62009349] check-in: [7076e828] user: drh branch: enable-QPSG, size: 188107 | |
2017-06-24
| ||
18:10 | Consider the values bound to SQL variables when determining whether or not a partial index may be used. file: [770fd49c] check-in: [7b59c353] user: dan branch: partial-index-variables, size: 187880 | |
16:35 | Make sure the config.h header is included by ctime.c, if that header exists. file: [34a54fb4] check-in: [c2ea6293] user: drh branch: trunk, size: 187866 | |
2017-06-23
| ||
21:05 | Merge all recent trunk enhancements into the apple-osx branch. file: [6ce241ba] check-in: [53b14a38] user: drh branch: apple-osx, size: 188926 | |
2017-06-17
| ||
17:29 | Ensure that the value of the THREADSAFE symbol is always included when reporting compile time options, even if it was not explicitly configured. file: [17e9bce5] check-in: [95141c64] user: dan branch: ctime-refactor, size: 187807 | |
2017-06-16
| ||
19:51 | Rework the code in ctime.c a bit to report on more compile time options. And to only output configuration options passed in to SQLite, not the default values of #define symbols set automatically. Also generate the large array in ctime.c using new script tool/mkctime.tcl, instead of entering it manually. file: [bdbc175a] check-in: [bc1951d6] user: dan branch: ctime-refactor, size: 187734 | |
2017-06-07
| ||
22:32 | In SQLITE_DEBUG mode, attempt to log the page number of the database that contained the problem when SQLITE_CORRUPT errors are seen. file: [f9095560] check-in: [e39795d7] user: drh branch: trunk, size: 187685 | |
2017-05-31
| ||
02:58 | Avoid unnecessary memory zeroing during expression list allocation. file: [82800fc1] check-in: [de28e651] user: drh branch: trunk, size: 187512 | |
00:49 | Size and performance optimizations to sqlite3ResolveExprNames(). file: [4faf6f25] check-in: [af8c0fed] user: drh branch: trunk, size: 187512 | |
2017-05-29
| ||
14:26 | Optimizations to the Walker object and its methods to make the code a little smaller and to help it run a little faster. file: [80c485ad] check-in: [6854a34e] user: drh branch: trunk, size: 187533 | |
2017-05-15
| ||
17:34 | Merge the latest changes from trunk. file: [b7e590bc] check-in: [14ea8400] user: drh branch: begin-concurrent, size: 187486 | |
2017-05-11
| ||
18:49 | Merge recent enhancements from trunk. file: [f6dd60be] check-in: [b55c0f14] user: drh branch: apple-osx, size: 188531 | |
2017-05-06
| ||
16:04 | Update this branch with latest trunk changes. file: [50a6bec0] check-in: [ed6bad67] user: dan branch: server-edition, size: 187432 | |
2017-05-02
| ||
19:45 | Merge the latest enhancements from trunk. file: [a8be6c63] check-in: [a7dcf6a7] user: drh branch: schemalint, size: 187553 | |
2017-04-29
| ||
20:53 | Automatically transfer terms from the HAVING clause to the WHERE clause of an aggregate query in cases where the result of evaluating the term depends only one one or more of the GROUP BY expressions (and on no other inputs). file: [aea3aa1b] check-in: [5375a3ce] user: dan branch: having-where-optimization, size: 187412 | |
2017-04-26
| ||
20:45 | Experimental implementation of pessimistic page-level locking based on rollback mode. file: [88b07d07] check-in: [64ecf7c7] user: dan branch: server-edition, size: 187232 | |
2017-04-24
| ||
16:14 | Bring in all the latest enhancements from trunk. file: [e053650a] check-in: [031feebc] user: drh branch: apple-osx, size: 188331 | |
2017-04-17
| ||
17:03 | Add support for analyzing trigger programs to the sqlite3_expert code. file: [0e520ab4] check-in: [159e8022] user: dan branch: schemalint, size: 187353 | |
2017-04-15
| ||
14:30 | Add header comment for sqlite3_vtab_collation(). file: [bd00872a] check-in: [d238694c] user: dan branch: schemalint, size: 187279 | |
2017-04-14
| ||
19:41 | Modify the code in ext/expert/ to use the vtab interface instead of sqlite3_whereinfo_hook(). Remove sqlite3_whereinfo_hook(). file: [8ac5d9b9] check-in: [3bb65850] user: dan branch: schemalint, size: 187279 | |
2017-04-13
| ||
01:19 | Forward port the skip-ahead-distinct branch which was abandoned for some reason that I do not recall. This port should have been achived by a merge of trunk into the previous head of skip-ahead-distinct, but that did not work. So I had to manually "rebase" the changes. file: [f0b6ed4d] check-in: [132339a1] user: drh branch: skip-ahead-distinct, size: 187280 | |
2017-04-11
| ||
19:00 | Update this branch with latest trunk changes. file: [5bcafb7c] check-in: [0f66a093] user: dan branch: schemalint, size: 187335 | |
2017-04-08
| ||
19:00 | Merge latest trunk with this branch. file: [36eec086] check-in: [e051e8f2] user: dan branch: schemalint, size: 187251 | |
00:25 | Merge the latest trunk changes. file: [46dc79e5] check-in: [dd16439e] user: drh branch: apple-osx, size: 188247 | |
2017-04-07
| ||
19:41 | Proof of concept for the ability to use the expression columns in an index on expressions in place of equivalent expressions in the result set or in the WHERE clause. This check-in compiles but is mostly untested. file: [9affb53b] check-in: [a52ef2ad] user: drh branch: covering-index-on-expr, size: 187212 | |
2017-04-05
| ||
12:39 | Split off sqlite3DbFreeNN() from sqlite3DbFree() and use it in cases where we know that the argument to be freed is never NULL. file: [6cf244eb] check-in: [ad90e8bb] user: drh branch: trunk, size: 187128 | |
11:32 | Combine the ExprList_item objects and the ExprList wrapper into a single memory allocation, for improved performance and reduced footprint. file: [c5e83040] check-in: [2b6560ad] user: drh branch: trunk, size: 187089 | |
2017-04-04
| ||
04:23 | Add the sqlite3_whereinfo_hook() API - an experimental API replacing the DBCONFIG_WHEREINFO hack on this branch. file: [9af1569a] check-in: [a54aef35] user: dan branch: schemalint, size: 187155 | |
2017-03-31
| ||
11:20 | Merge latest trunk into this branch. file: [22a0a101] check-in: [cb721d0b] user: dan branch: schemalint, size: 187145 | |
2017-03-30
| ||
20:35 | Merge changes from the 3.18.0 release. file: [df8fa773] check-in: [785c37d9] user: drh branch: begin-concurrent, size: 187106 | |
20:26 | Merge all changes from the 3.18.0 release. file: [0c3e3daa] check-in: [ed28f15e] user: drh branch: apple-osx, size: 188151 | |
2017-03-25
| ||
18:03 | Make the default value for SQLITE_DEFAULT_SYNCHRONOUS a simple integer literal, so that it does not show up goofy in the output of "PRAGMA compile_options;". file: [a530e5ba] check-in: [833ab321] user: drh branch: trunk, size: 187032 | |
2017-03-24
| ||
15:09 | Merge all recent enhancements from trunk. file: [33e415da] check-in: [fd5676fe] user: drh branch: begin-concurrent, size: 187131 | |
2017-03-06
| ||
20:00 | Merge all pending 3.18 enhancements from trunk. file: [85eba6f1] check-in: [1650c3f4] user: drh branch: apple-osx, size: 188176 | |
2017-02-23
| ||
00:58 | Do a single OP_Expire at the very end of "PRAGMA optimize", and omit the OP_Expire on ANALYZE commands invoked by the pragma. file: [df268ce1] check-in: [188300a3] user: drh branch: auto-analyze, size: 187057 | |
2017-02-22
| ||
19:49 | Merge integrity_check and other improvements from trunk. file: [bdc181e3] check-in: [fe073905] user: drh branch: auto-analyze, size: 186982 | |
15:11 | Fix integrity_check so that it verifies NOT NULL constraints even for tables that have no indexes. Enhance quick_check so that it verifies NOT NULL and CHECK constraints. file: [a23e18ae] check-in: [5264844b] user: drh branch: integrity-check-improvements, size: 186726 | |
2017-02-21
| ||
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. file: [15f78048] check-in: [7a62fc6a] user: drh branch: cumulative-progress-count, size: 186706 | |
2017-02-18
| ||
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. file: [e30c0669] check-in: [c1adf959] user: dan branch: sort-column-opcodes, size: 186672 | |
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. file: [87857c2b] check-in: [d386015f] user: drh branch: auto-analyze, size: 186909 | |
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. file: [70abfa92] check-in: [882599a4] user: drh branch: auto-analyze, size: 186954 | |
2017-02-17
| ||
19:24 | The analyze_as_needed pragma now responds to table size growth and will automatically rerun the analysis after each 10x size increase. file: [60c38b84] check-in: [bfbdd074] user: drh branch: auto-analyze, size: 186914 | |
16:26 | Add the "PRAGMA analyze_as_needed" command. file: [85706e09] check-in: [e93db237] user: drh branch: auto-analyze, size: 186988 | |
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. file: [5d50606d] check-in: [fb2b8ae8] user: drh branch: auto-analyze, size: 186983 | |
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. file: [54bc2085] check-in: [85026c8e] user: drh branch: auto-analyze, size: 186738 | |
2017-02-16
| ||
16:26 | Fix a comment on a field of the ExprList object. No changes to code. file: [46fe8e5a] check-in: [bb8e2642] user: drh branch: trunk, size: 186637 | |
15:57 | Increase Table.tabFlags from 8 to 32 bits. file: [edd1ffa2] check-in: [7e14044c] user: drh branch: trunk, size: 186626 | |
14:48 | Always use the IsVirtual() macro to determine if a Table object is a virtual table. Slightly smaller and faster code. file: [b4a3871b] check-in: [6affb1c8] user: drh branch: trunk, size: 186626 | |
14:02 | Merge recent enhancements from trunk. file: [1c9c5116] check-in: [325ccfa9] user: drh branch: est_count_pragma, size: 186658 | |
2017-02-15
| ||
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. file: [2e3a6638] check-in: [8d3f485d] user: drh branch: branch-3.17, size: 186617 | |
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. file: [4f85005b] check-in: [810d2932] user: drh branch: trunk, size: 186664 | |
01:02 | Make SQLITE_GET_MUTEX_TIME a proper noop on non-Win32/non-POSIX. file: [96b7be01] check-in: [4ca2b2f8] user: mistachkin branch: mutexDbg2, size: 188845 | |
00:45 | Make fine time granularity work on POSIX. file: [09592c9e] check-in: [79057716] user: mistachkin branch: mutexDbg2, size: 188797 | |
00:02 | Compilation fix for POSIX. file: [62ec0dc5] check-in: [9964ad24] user: mistachkin branch: mutexDbg2, size: 188627 | |
2017-02-14
| ||
23:58 | Experimental enhancements to mutex debugging. file: [b8c2e9ea] check-in: [80481754] user: mistachkin branch: mutexDbg2, size: 188626 | |
2017-02-13
| ||
16:17 | Merge all changes up through the 3.17.0 release. file: [8f2b51c4] check-in: [1913a758] user: drh branch: apple-osx, size: 187571 | |
2017-02-11
| ||
14:59 | Fix indexes on expressions so that they can be actually used with a COLLATE clause. file: [c3f878dc] check-in: [e464b919] user: drh branch: trunk, size: 186499 | |
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. file: [4dc66ec1] check-in: [798fb9d7] user: drh branch: trunk, size: 186452 | |
2017-02-04
| ||
15:29 | Merge recent trunk enhancements. file: [feb051fd] check-in: [6c3f0902] user: drh branch: apple-osx, size: 187203 | |
2017-02-01
| ||
15:19 | Fix the build by making the OPFLAG_ISNOOP macro available unconditionally. file: [3724c48e] check-in: [510933cb] user: drh branch: trunk, size: 186084 | |
2017-01-30
| ||
11:38 | Fix building with SQLITE_OMIT_FOREIGN_KEY defined. file: [6f29b234] check-in: [e93d2c49] user: dan branch: trunk, size: 186127 | |
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. file: [fd681579] check-in: [4fe879d4] user: drh branch: trunk, size: 186085 | |
19:45 | Avoid redundant table b-tree cursor seeks in UPDATE statements that use the two-pass strategy. file: [c246370f] check-in: [dc555b10] user: dan branch: trunk, size: 186046 | |
2017-01-27
| ||
16:39 | Merge all recent trunk enhancements into the apple-osx branch. file: [da2cbced] check-in: [0e14fe1b] user: drh branch: apple-osx, size: 187155 | |
16:24 | Merge all recent enhancements from trunk. file: [10fbede4] check-in: [fe86ff54] user: drh branch: est_count_pragma, size: 186030 | |
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. file: [341ce9e5] check-in: [4801bd59] user: drh branch: trunk, size: 186036 | |
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. file: [dc587b07] check-in: [118ded40] user: drh branch: trim-nulls, size: 185953 | |
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. file: [525c061a] check-in: [9ed38521] user: drh branch: trunk, size: 185910 | |
2017-01-18
| ||
20:14 | Add temporary code to record and report on the set of b-tree pages read and written by the current transaction. This is likely still buggy. file: [7a4cf01e] check-in: [2a8f6c89] user: dan branch: transaction-pages, size: 185529 | |
2017-01-17
| ||
00:10 | Disable intrinsic functions for Windows using Clang, due to reports of linkage errors. This causes a 0.6% performance reduction. We will want to revisit this change in the future. file: [ce3e07c7] check-in: [7fd560c6] user: drh branch: trunk, size: 185416 | |
2017-01-10
| ||
20:04 | Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. file: [bec6274d] check-in: [46db23cc] user: dan branch: onepass-update, size: 185390 | |
2017-01-09
| ||
06:33 | Upgrade this branch to 3.16 plus the various fixes that appeared after its release. file: [0081f4d9] check-in: [d0e212d0] user: dan branch: begin-concurrent, size: 185462 | |
2017-01-07
| ||
00:42 | This hack illustrates how to use the VDBE_PROFILE mechanism to show which bytecode operators are using resources other than time. In this case, the number of loops through the binary search code in sqlite3BtreeMovetoUnpacked() is measured, for the purpose of helping to identify unnecessary btree searches. file: [44a74e42] check-in: [746b1836] user: drh branch: vdbe-aux-perf, size: 185420 | |
2017-01-04
| ||
04:10 | Clean up the implementation of constant function factorization. file: [9fdfb878] check-in: [2ab997e4] user: drh branch: factor-constant-funcs, size: 185388 | |
01:07 | Attempt to factor out constant functions from the interior of table scans, since functions can often be expensive to compute. file: [ba08d9eb] check-in: [62e9270a] user: drh branch: factor-constant-funcs, size: 185392 | |
2017-01-03
| ||
21:50 | Back out the use of __sync_fetch_and_sub() as it does not appear to work. file: [f3450b70] check-in: [4c2efd42] user: drh branch: gnu-safe-math, size: 185393 | |
21:03 | Fix a typo in a comment. file: [7bfbca79] check-in: [ae087123] user: drh branch: gnu-safe-math, size: 185657 | |
20:20 | Merge changes from the 3.16.1 release file: [25ec8251] check-in: [dcbec226] user: drh branch: apple-osx, size: 185989 | |
20:01 | Use the CLANG_VERSION macro to control clang-specific features. file: [898cfcd9] check-in: [f8ebeec2] user: drh branch: gnu-safe-math, size: 185655 | |
18:05 | Use the GCC built-in __sync_fetch_and_sub() to make the sqlite3StatusDown() routine atomic, and thereby avoid some mutexing. file: [ae113e82] check-in: [f69ce75b] user: drh branch: gnu-safe-math, size: 185413 | |
14:30 | Merge all the latest changes from trunk. file: [2c22eae7] check-in: [c27cd8a8] user: drh branch: affinity-sql-func, size: 185156 | |
2017-01-02
| ||
18:40 | Change SQLITE_DEFAULT_PCACHE_INITSZ from 100 to 20, which is experimentally determined to be slightly faster. file: [943ba949] check-in: [12d9493c] user: drh branch: trunk, size: 185085 | |
18:19 | Avoid unnecessary calls to sqlite3BtreeEnterAll() and sqlite3BtreeLeaveAll() when no btree is using shared-cache. file: [888327a4] check-in: [cfb31582] user: drh branch: trunk, size: 184941 | |
2016-12-26
| ||
00:18 | Add the built-in affinity() SQL function. file: [5a4ac95a] check-in: [57e40e1c] user: drh branch: affinity-sql-func, size: 184941 | |
2016-12-23
| ||
03:59 | Use the VList object to replace Parse.azVar for tracking the mapping between SQL parameter names and parameter numbers. There is a performance improvement, though there are still a few hiccups in the current code. file: [2075e22d] check-in: [68ecafa1] user: drh branch: VList, size: 184870 | |
2016-12-16
| ||
21:29 | Merge recent enhancements from trunk, and especially the pragma-as-vtab change. file: [0d51585f] check-in: [4b1e7804] user: drh branch: apple-osx, size: 185536 | |
16:49 | Experimental merge of the est_count_pragma and the pragma-as-vtab branches. file: [9f4111b5] check-in: [4b73ee33] user: drh branch: est-count-pragma-vtab, size: 184411 | |
15:57 | Merge recent trunk enhancements. file: [d4b1e6a6] check-in: [74a0ca1f] user: drh branch: est_count_pragma, size: 184173 | |
2016-12-15
| ||
20:59 | Code to automatically create eponymous virtual tables for read-only pragmas. Compiles, but does not yet work. file: [adbe8040] check-in: [988a61e8] user: drh branch: pragma-as-vtab, size: 184417 | |
2016-12-14
| ||
14:07 | Refactor the Table.nRef field as Table.nTabRef for easier grepping. file: [657a892d] check-in: [9cae4c2e] user: drh branch: trunk, size: 184179 | |
13:54 | Increase the size of the reference count on Table objects to 32 bits. file: [69345b35] check-in: [d08b72c3] user: drh branch: trunk, size: 184179 | |
2016-12-12
| ||
16:15 | Merge all the latest performance enhancements from trunk. file: [26afd41d] check-in: [a24f805b] user: drh branch: apple-osx, size: 185298 | |
12:58 | Merge recent enhancements from trunk. file: [43422c74] check-in: [dc006e08] user: drh branch: est_count_pragma, size: 184173 | |
2016-12-07
| ||
15:49 | Rename the SQLITE_OMIT_BUILTIN_TEST compile-time option to SQLITE_UNTESTABLE. file: [9d0834b9] check-in: [f3608187] user: drh branch: trunk, size: 184179 | |
15:38 | Prevent the flattening or where-term push-down optimizations from obscuring misuses of SQL row values that can lead to crashes or assert() failures. file: [33b14fb2] check-in: [433d16ff] user: dan branch: trunk, size: 184228 | |
13:49 | Always honor the sqlite3.dbOptFlags bitmask, regardless of compile-time options. Continuing fix for ticket [da78413751863]. file: [18115875] check-in: [afab1663] user: drh branch: trunk, size: 184185 | |
2016-12-06
| ||
22:47 | Performance improvement and size reduction in the Expr node allocator function sqlite3PExpr(). file: [bdfd9282] check-in: [2a81763e] user: drh branch: trunk, size: 184315 | |
2016-11-30
| ||
16:39 | Merge all the latest changes from trunk. file: [6fc449b9] check-in: [7ca58a07] user: drh branch: est_count_pragma, size: 184323 | |
2016-11-26
| ||
20:44 | Merge all recent trunk changes, and especially the new sqlite3_snapshot_recover() interface. file: [2f3bf6ad] check-in: [41a3af54] user: drh branch: apple-osx, size: 185448 | |
2016-11-23
| ||
20:44 | Fix a potential use-after-free error during parsing of malformed CREATE TABLE statement. file: [9fbddc79] check-in: [0f956597] user: drh branch: branch-3.15, size: 184175 | |
2016-11-14
| ||
20:08 | Fix a potential use-after-free error during parsing of malformed CREATE TABLE statement. file: [c471d791] check-in: [c5dbc599] user: drh branch: trunk, size: 184329 | |
2016-11-10
| ||
20:14 | Avoid storing redundant fields in sorter records when the sort-key and data have fields in common (as in "SELECT a FROM t1 ORDER BY 1"). file: [603953fa] check-in: [0af62fdb] user: dan branch: sorter-opt, size: 184309 | |
2016-11-04
| ||
19:09 | Merge recent trunk changes, including all the fixes that appeared in version 3.15.1. file: [d8f69b33] check-in: [0e5ffd91] user: drh branch: apple-osx, size: 185354 | |
2016-10-31
| ||
16:16 | Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for disabling SQLite's default checkpoint-on-close behaviour. file: [37628fe3] check-in: [093d2fc2] user: dan branch: no-ckpt-on-close, size: 184235 | |
2016-10-20
| ||
18:20 | Add the ability for the PRAGMA statement to accept multiple arguments. Currently all arguments other than the first are ignored. file: [cf6393ad] check-in: [fd81d8a4] user: drh branch: multi-arg-pragma, size: 184149 | |
2016-10-03
| ||
15:28 | Avoid unnecessary strlen() calls in sqlite3ExprAssignVarNumber() by passing in the token length from the parser. file: [8d241c2c] check-in: [d15ae2e5] user: drh branch: trunk, size: 184155 | |
2016-10-01
| ||
21:43 | Rearrange fields in the Parse object to reduce the amount of initialization required. file: [5748a35f] check-in: [361940b4] user: drh branch: trunk, size: 184150 | |
2016-09-30
| ||
22:24 | Avoid initializing the column-cache section of the Parse object, since entries in the cache will be initialized as they are used, and avoiding the initial memset() saves many CPU cycles. file: [16f22a87] check-in: [63cf7eaf] user: drh branch: trunk, size: 184061 | |
19:14 | Another simplification to the Parse object. file: [dea74ebe] check-in: [c1419727] user: drh branch: trunk, size: 183415 | |
18:35 | Remove unnecessary fields from the Parse object. file: [8bf4d8ac] check-in: [814e41da] user: drh branch: trunk, size: 183486 | |
2016-09-29
| ||
19:50 | Remove the peep-hole optimization of removing OP_Close opcodes that come before OP_Halt, as the extra work of removing those opcodes uses more cycles than just running them. file: [2599e8cc] check-in: [984a96d7] user: drh branch: trunk, size: 183619 | |
2016-09-28
| ||
16:15 | Merge recent enhancements from trunk. file: [0b39c63b] check-in: [06014163] user: drh branch: apple-osx, size: 184812 | |
2016-09-23
| ||
21:36 | Add the EP_Leaf flag bit to the Expr.flags field to indicate Expr nodes that do not have substructure. Use that bit to avoid unnecessary recursion. file: [1137559f] check-in: [8a6ea455] user: drh branch: trunk, size: 183693 | |
2016-09-22
| ||
18:53 | Remove the internal sqlite3CodeOnce() interface, replacing it with a direct call to sqlite3VdbeAddOp0(v,OP_Once). Slightly smaller and faster. file: [e7c39dc1] check-in: [c3774c6a] user: drh branch: trunk, size: 183616 | |
2016-09-18
| ||
16:08 | Revise the implementation of OP_Once so that it is smaller, faster, and uses less memory. This also fixes an obscure bug introduced 3 days ago by check-in [5990a1bdb4a073]. file: [1abb4501] check-in: [6bf5ba10] user: drh branch: trunk, size: 183646 | |
2016-09-16
| ||
17:50 | Merge recent changes from trunk. file: [8a856df8] check-in: [e3d9efa2] user: drh branch: apple-osx, size: 184759 | |
2016-09-14
| ||
01:43 | Backport the ORDER BY LIMIT optimization to version 3.8.9. file: [81198400] check-in: [db361482] user: drh branch: branch-3.8.9, size: 166585 | |
2016-09-07
| ||
18:20 | Merge recent enhancements from trunk. file: [ec1a08e3] check-in: [00759af0] user: drh branch: apple-osx, size: 183992 | |
2016-09-05
| ||
09:44 | Fix a crash that could occur under certain circumstances if the vectors on either side of a comparison operator were of a different size. file: [e7afbfaa] check-in: [42670935] user: dan branch: rowvalue, size: 183694 | |
2016-08-26
| ||
13:19 | Allow ROWID values in indexed vector comparisons. file: [c9e010a7] check-in: [b0cc6be4] user: drh branch: rowvalue, size: 183640 | |
2016-08-20
| ||
00:51 | Add support for vector assignments in the SET clause of an UPDATE statement. file: [db8aa0c8] check-in: [f320d47d] user: drh branch: rowvalue, size: 183595 | |
00:07 | Change the way TK_SELECT_COLUMN is handled so that the subquery is only generated once even if part of the vector comparison is used for indexing and the other part is now. This change also is a pathway to vector assignment in UPDATE statements. file: [84f32ad3] check-in: [d8feea7d] user: drh branch: rowvalue, size: 183528 | |
2016-08-19
| ||
15:41 | Merge recent enhancements from trunk. file: [02b7f4bd] check-in: [b1787236] user: drh branch: rowvalue, size: 183327 | |
14:20 | Add the capability to VACUUM an attached database by specifying the schema name as an argument to the VACUUM command. Since version 2.0, VACUUM has accepted an argument which was silently ignored. Now it has meaning. file: [15309974] check-in: [29d63059] user: drh branch: vacuum-attached-db, size: 182873 | |
2016-08-18
| ||
17:55 | Display VECTOR expressions in .wheretrace and .selecttrace debugging output. file: [f4079dcc] check-in: [157347e2] user: drh branch: rowvalue, size: 183315 | |
15:21 | Merge recent enhancements from trunk. file: [1b51d9e1] check-in: [4768a106] user: drh branch: rowvalue, size: 183238 | |
14:33 | Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. file: [f81e279d] check-in: [92a22f01] user: drh branch: zDbSName, size: 182861 | |
2016-08-13
| ||
10:02 | Attempt to simplify the logic and generated code for vector comparisons. Basic comparison operators are working, but there are many indexing test failures still to be worked through. file: [98d9ccfa] check-in: [dfc028cf] user: drh branch: vector-compare, size: 183209 | |
2016-08-11
| ||
19:12 | Merge version 3.14 plus some subsequent patches (including the page-cache performance patch) from trunk. file: [cf506e20] check-in: [d9f8918c] user: drh branch: begin-concurrent, size: 182906 | |
2016-08-09
| ||
11:44 | Add another timer on pcache1TruncateUnsafe(). file: [c5d6a3bd] check-in: [42ce53f6] user: drh branch: debug, size: 165583 | |
01:21 | Refocus the timer on the pager_end_transaction() routine. file: [6422d7d1] check-in: [9d4eb6e4] user: drh branch: debug, size: 165502 | |
2016-08-04
| ||
14:08 | Add extra logging calls to this branch. file: [2821f805] check-in: [491f1ef3] user: dan branch: debug, size: 165480 | |
09:13 | Merge the ORDER BY LIMIT fix, and other enhancements, from trunk. file: [843e15ad] check-in: [bf5a9542] user: drh branch: apple-osx, size: 183951 | |
2016-08-03
| ||
16:14 | Fix stat4-based cost estimates for vector range constraints. file: [a1cf00af] check-in: [18af74ab] user: dan branch: rowvalue, size: 183145 | |
2016-08-02
| ||
17:45 | Fix SQLITE_OMIT_SUBQUERY builds. file: [9d662380] check-in: [339f85f4] user: dan branch: rowvalue, size: 183041 | |
2016-07-30
| ||
17:59 | Merge latest trunk with this branch. file: [ccfffd24] check-in: [63ae02d0] user: dan branch: rowvalue, size: 182955 | |
16:39 | Remove the EP_Vector expression flag. file: [618346a0] check-in: [e9d9c6d4] user: dan branch: rowvalue, size: 182770 | |
2016-07-29
| ||
18:12 | Change the way "(a, b) = (SELECT *)" expressions are handled in where.c if there is an index on one of the columns only. file: [65473a83] check-in: [4dfebff2] user: dan branch: rowvalue, size: 182799 | |
17:36 | Using the header file 'intrin.h' requires MSVC 2005 or later. file: [d6f221a5] check-in: [9fae75c0] user: mistachkin branch: trunk, size: 182832 | |
16:32 | Turn memory status off by default. file: [3726a8b4] check-in: [ea3c7162] user: drh branch: debug, size: 164762 | |
2016-07-28
| ||
18:42 | Merge recent trunk fixes. file: [5fa89170] check-in: [97657445] user: drh branch: apple-osx, size: 183766 | |
17:11 | Make sure the SQLITE_TCLAPI macro is always defined and use it for all callback functions that must interface with the Tcl C API. file: [14516943] check-in: [f2f1323c] user: mistachkin branch: callbackConv, size: 182832 | |
13:59 | Merge latest trunk changes into this branch. file: [65cf752e] check-in: [9685880f] user: dan branch: rowvalue, size: 182761 | |
2016-07-27
| ||
19:33 | Fix some problems with multi-column IN(SELECT...) processing. file: [9a6af878] check-in: [719a3b20] user: dan branch: rowvalue, size: 182622 | |
18:27 | When estimating the cost of an index scan, factor in the cost savings of being able to use the index to evaluate some WHERE clause terms without having to do a table lookup. file: [d25c18c1] check-in: [a59b5622] user: drh branch: improved-index-scan, size: 182647 | |
2016-07-26
| ||
18:15 | Merge latest trunk changes into this branch. file: [a78e5308] check-in: [d4f3d52c] user: dan branch: rowvalue, size: 182693 | |
2016-07-25
| ||
17:31 | Merge 3.14 alpha changes from trunk. file: [6e4e0265] check-in: [e98cefb1] user: drh branch: apple-osx, size: 183627 | |
11:57 | If both MEMSYS3 and MEMSYS5 are enabled, than automatically disable MEMSYS3. file: [49081cea] check-in: [ccc22e14] user: drh branch: trunk, size: 182508 | |
2016-07-23
| ||
20:24 | Allow vector IN(SELECT ...) expressions to use an index if either all the indexed columns are declared NOT NULL or if there is no difference between the expression evaluating to 0 and NULL (as in a WHERE clause). file: [c4877fb0] check-in: [e2fd6f49] user: dan branch: rowvalue, size: 182245 | |
2016-07-14
| ||
01:09 | Add the sqlite3_expanded_sql() interface. Refinements to the sqlite3_trace_v2() interface to make it more useful. file: [48cd97eb] check-in: [99ee7ee5] user: drh branch: sqlite3_trace_v2, size: 182378 | |
2016-07-13
| ||
22:55 | First cut at implementing the new sqlite3_trace_v2() interface. file: [5b8a3e1d] check-in: [cb0062fe] user: drh branch: sqlite3_trace_v2, size: 182377 | |
2016-07-09
| ||
20:23 | Add some support for using row value constructors in certain parts of SQL expressions. There are many bugs on this branch. file: [dd2dd1d8] check-in: [b2204215] user: dan branch: rowvalue, size: 182239 | |
16:14 | Fix various internal #defines to conform to new C-language naming restrictions, specifically that private-use macros names must not begin with "_". file: [dcf43b8a] check-in: [5471aca0] user: drh branch: trunk, size: 182060 | |
2016-06-16
| ||
11:16 | Fix a typo in a comment on the SrcList object. file: [2ac73e9f] check-in: [48b555c4] user: drh branch: trunk, size: 182066 | |
2016-06-15
| ||
10:21 | Merge changes from trunk. file: [87671d1b] check-in: [0f707d15] user: drh branch: apple-osx, size: 183184 | |
2016-06-10
| ||
22:49 | Enhance "PRAGMA table_info" to that it provides information about eponymous virtual tables. file: [b425bb60] check-in: [53a1e5d5] user: drh branch: trunk, size: 182065 | |
2016-05-31
| ||
21:18 | An experimental branch with code that allows virtual tables to be declared as WITHOUT ROWID tables. This might be useful for virtual tables that model external data sources that do not have a convenient way of computing a unique rowid. The current check-in almost works, but there are still serious issues. file: [801e2a56] check-in: [49638f18] user: drh branch: without-rowid-vtab, size: 182011 | |
2016-05-23
| ||
02:57 | Merge changes from trunk. file: [ece2cdea] check-in: [815cc2bb] user: drh branch: apple-osx, size: 183128 | |
2016-05-19
| ||
22:40 | Appears to work now. Needs test cases, more comments, and code optimization. file: [09621b4b] check-in: [990fe50c] user: drh branch: orderby-limit, size: 182009 | |
22:13 | In a query with both ORDER BY and LIMIT, if the inner loop satisfies the ORDER BY then try to cut short each invocation of the inner loop once the LIMIT has been satisfied. This check-in is a partial implementation only. file: [863cf0d4] check-in: [852d1eda] user: drh branch: orderby-limit, size: 181996 | |
19:31 | Fixup comments on wctrlFlags value definitions. file: [19de316b] check-in: [58b516e8] user: drh branch: trunk, size: 181950 | |
18:56 | Clean up the WHERE_* macros used for the wctrlFlags parameter on the sqlite3WhereBegin() interface, freeing up some bits to be used for other things. file: [36ad4f5a] check-in: [d0130584] user: drh branch: trunk, size: 181880 | |
2016-05-18
| ||
21:01 | Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface. file: [7c600fe8] check-in: [915416d1] user: drh branch: trunk, size: 181924 | |
2016-05-16
| ||
13:37 | Merge recent fixes from trunk. file: [39f288c1] check-in: [0d9b82af] user: drh branch: apple-osx, size: 183048 | |
2016-05-12
| ||
19:17 | Disable ALWAYS and NEVER when compiled with SQLITE_MUTATION_TEST. file: [4fe51e4e] check-in: [24d9fbc1] user: drh branch: trunk, size: 181929 | |
2016-05-09
| ||
19:58 | Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface. file: [47a90c85] check-in: [da94a6e0] user: drh branch: dev, size: 181891 | |
2016-05-06
| ||
16:49 | For DELETE operations, make sure that seeks on the main table are not deferred, since if they are and none of the indexes reference columns of the table, the seek might never occur until the OP_Delete opcode, which is too late. Fix for ticket [16c9801ceba49]. file: [8ec74171] check-in: [93a2bace] user: drh branch: trunk, size: 181896 | |
16:06 | In the WHERE generator, when building code for a DELETE operation, make sure that seeks to the main table are not deferred. This is a better fix for the [16c9801ceba49] bug than the previous. file: [4ab5884a] check-in: [150dd09e] user: drh branch: ticket-16c9801ce, size: 181890 | |
2016-05-04
| ||
14:45 | Only disable the one-pass DELETE optimization if the WHERE clause contains a correlated subquery. Uncorrelated subqueries are allowed. This is a refinement of check-in [3f221f592a9a1] that is the fix for ticket [dc6ebeda9396087]. file: [c8483dd7] check-in: [aae38969] user: drh branch: trunk, size: 181819 | |
2016-04-29
| ||
16:01 | Merge the latest enhancements from trunk. file: [e6ac0d8f] check-in: [91e5c07e] user: drh branch: begin-concurrent, size: 181822 | |
15:52 | Merge enhancements from trunk, and in particular the TEMP file deferred I/O enhancements. file: [981577d9] check-in: [81b76901] user: drh branch: apple-osx, size: 182867 | |
2016-04-28
| ||
20:11 | Comment changes only: Add several optimization marks in rowset.c. Add a header comment that explains what the various special comments mean. file: [f4a53f35] check-in: [8cdbe89a] user: drh branch: trunk, size: 181748 | |
2016-04-21
| ||
15:44 | Merge the latest changes from trunk. file: [a8883a34] check-in: [8183fa68] user: drh branch: skip-ahead-distinct, size: 180579 | |
15:35 | Merge all recent enhancements from trunk. file: [02f1f63a] check-in: [a15c49ae] user: drh branch: apple-osx, size: 181630 | |
01:30 | Revert sqlite3_enable_load_extension() to its original long-standing behavior. Add SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION which will enable only the C-API and leave the SQL function disabled. file: [ec538389] check-in: [b2ae5bfa] user: drh branch: load-ext-security, size: 180511 | |
2016-04-20
| ||
12:16 | Merge all recent enhancements from trunk. file: [0d9f2243] check-in: [1f709fbf] user: drh branch: begin-concurrent, size: 180504 | |
2016-04-15
| ||
22:03 | Add the SQLITE_SkipAhead optimization setting file: [9b062514] check-in: [87703b76] user: drh branch: skip-ahead-distinct, size: 180498 | |
2016-04-14
| ||
16:40 | Add the SF_HasAgg constant (currently unused). Also enhance the comments on many other constant definitions to detail constraints on their values. file: [49cd2b5c] check-in: [7b7a69d0] user: drh branch: trunk, size: 180430 | |
2016-04-11
| ||
19:01 | Performance optimization to sqlite3Dequote() and its callers. file: [b3744b29] check-in: [9efe2265] user: drh branch: trunk, size: 179104 | |
18:15 | Performance optimizations in the column cache of the code generator, and especially the sqlite3ExprCacheRemove() routine. file: [e4a32298] check-in: [e35b345c] user: drh branch: trunk, size: 178960 | |
01:06 | Factor out the common operation of setting the Expr.x.pSelect field of an Expr object into a subroutine. file: [8a3ca584] check-in: [6a5cceee] user: drh branch: trunk, size: 178898 | |
2016-04-07
| ||
21:29 | Carry table column types through into VIEW definitions, where possible. file: [c4dbe726] check-in: [3360ab09] user: drh branch: branch-3.12.0, size: 178298 | |
2016-04-05
| ||
20:59 | Carry table column types through into VIEW definitions, where possible. file: [292fbc9d] check-in: [fb555c3c] user: drh branch: trunk, size: 178846 | |
17:59 | Merge updates from trunk. file: [8da202a3] check-in: [00990020] user: mistachkin branch: winCeLocalTime, size: 179102 | |
17:50 | Add the SQLITE_DBCONFIG_REQUIRE_TXN argument for sqlite3_dbconfig() which when set requires an explicit transaction before updating the database. file: [f0814546] check-in: [b7570ac1] user: drh branch: require-write-txn, size: 178849 | |
2016-03-30
| ||
15:30 | Simplifications and clarification to update callback handling in the OP_Delete and OP_Insert opcodes. file: [594bf31a] check-in: [47887ef8] user: drh branch: trunk, size: 178778 | |
2016-03-29
| ||
10:36 | Merge 3.12.0 changes. file: [d5699c84] check-in: [d7381eff] user: drh branch: begin-concurrent, size: 178304 | |
10:30 | Merge 3.12.0 changes. file: [a859dcc9] check-in: [eef55744] user: drh branch: apple-osx, size: 179349 | |
2016-03-24
| ||
14:34 | Merge the beta changes into sessions. file: [410bd070] check-in: [beb5ea14] user: drh branch: sessions, size: 178884 | |
2016-03-22
| ||
20:05 | The sqlite3_column_decltype() routine should return NULL, not an empty string, if the column has no declared type. file: [3a68b489] check-in: [605eba4a] user: drh branch: trunk, size: 178230 | |
14:37 | Create the "uptr" typedef (the same as uintptr_t when available) and use it to cast pointers before comparison. file: [cb02015e] check-in: [2484cc0c] user: drh branch: trunk, size: 178160 | |
2016-03-21
| ||
22:28 | Fix harmless compiler warnings. file: [47847a91] check-in: [25d776e4] user: drh branch: trunk, size: 178071 | |
15:54 | Merge all recent changes from trunk. file: [a5e25cd7] check-in: [8ee7d346] user: drh branch: begin-concurrent, size: 178105 | |
15:32 | Merge 3.12.0 beta changes from trunk. file: [f5cebbea] check-in: [3296a0ce] user: drh branch: sessions, size: 178685 | |
14:52 | Merge the sqlite3_system_errno() change from trunk. file: [ac21545e] check-in: [063f1b37] user: drh branch: apple-osx, size: 179150 | |
10:49 | Merge updates from trunk. file: [4eb80a9b] check-in: [86ab8643] user: drh branch: sqlite_system_errno, size: 178031 | |
2016-03-19
| ||
00:40 | Fix a VDBE register allocation bug exposed by recent enhancements to PRAGMA integrity_check. file: [d671225a] check-in: [c73b5b9c] user: drh branch: apple-osx, size: 179038 | |
00:35 | Fix a register allocation bug in the VDBE code generator for PRAGMA integrity_check; file: [751ced73] check-in: [88439a86] user: drh branch: trunk, size: 177919 | |
2016-03-17
| ||
18:41 | An alternative method of encoding the wildcard in "SELECT *". This is an experiment. file: [8435a8b2] check-in: [41335d88] user: drh branch: select-wildcard, size: 177979 | |
16:01 | Experimental implementation of the sqlite3_system_errno() interface. file: [5256653c] check-in: [6782c87b] user: drh branch: sqlite_system_errno, size: 177961 | |
2016-03-16
| ||
19:34 | Merge the latest enhancements from trunk. file: [636044ff] check-in: [a7978ab6] user: drh branch: begin-concurrent, size: 177923 | |
01:16 | Merge all recent enhancements from trunk. file: [a8838eed] check-in: [6a7ee04b] user: drh branch: sessions, size: 178503 | |
2016-03-15
| ||
12:45 | Merge updates from trunk - FTS5 fixes and enhancemenets to the tests scripts so that they work with SEE. file: [f6275437] check-in: [f41a7361] user: drh branch: apple-osx, size: 178968 | |
09:42 | Update this branch with latest trunk changes. file: [8c95b358] check-in: [249cd361] user: dan branch: schemalint, size: 177962 | |
2016-03-09
| ||
13:39 | Automatically disable SQLITE_ENABLE_EXPLAIN_COMMENTS if SQLITE_OMIT_EXPLAIN is defined. file: [84c673f2] check-in: [8d4b6b2b] user: drh branch: trunk, size: 177849 | |
08:08 | Merge latest trunk changes with this branch. file: [dc193eb8] check-in: [59caca43] user: dan branch: schemalint, size: 177807 | |
2016-03-08
| ||
16:35 | Merge changes from trunk, especially the SQLITE_DEFAULT_SYNCHRONOUS enhancements. file: [8c9346a7] check-in: [29741941] user: drh branch: apple-osx, size: 178813 | |
16:07 | Drop support for SQLITE_EXTRA_DURABLE. The new SQLITE_DEFAULT_SYNCHRONOUS compile-time option is a more general replacement. file: [24e2eed3] check-in: [f6d3156b] user: drh branch: trunk, size: 177694 | |
15:30 | Make the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS values zero-based to agree with PRAGMA synchronous. file: [b017fbf4] check-in: [592d2104] user: drh branch: default-synchronous, size: 177409 | |
14:40 | Add compile-time options SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS used to specify the default synchronous settings for all database connections. file: [fa49759a] check-in: [1fefa967] user: drh branch: default-synchronous, size: 176824 | |
14:01 | Merge coverage improvements and comment fixes from trunk. file: [16201931] check-in: [58023bfc] user: drh branch: apple-osx, size: 178217 | |
01:32 | Add the ALLBITS macro as a shorthand for "(Bitmask)(-1)". file: [4c7b8501] check-in: [91bd619d] user: drh branch: trunk, size: 176502 | |
2016-03-07
| ||
20:48 | Merge recent enhancements from trunk. file: [e7468e1b] check-in: [84f09f00] user: drh branch: apple-osx, size: 178182 | |
17:49 | Merge the virtual table query planner enhancement, the RTREE cost estimate fix, and the statement journal spill delay enhancement from trunk. file: [cd85b90d] check-in: [17fd8f3c] user: drh branch: sessions, size: 177121 | |
17:37 | Add the SQLITE_CONFIG_STMTJRNL_SPILL option for sqlite3_config(). file: [8c32c1f4] check-in: [b6c42024] user: drh branch: trunk, size: 176467 | |
2016-03-05
| ||
14:00 | Fix an incorrect #ifdef on sqlite3LogEstToInt(). file: [2ce28b3c] check-in: [dca7b233] user: drh branch: trunk, size: 176388 | |
2016-03-04
| ||
18:45 | Merge changes from trunk. file: [7d1257c1] check-in: [5294c977] user: drh branch: analyze-worst-case, size: 176761 | |
16:42 | Merge recent enhancements from trunk. Default page size is 4096. Writes to statement journals are avoided. file: [b0e28df3] check-in: [456df336] user: drh branch: sessions, size: 177040 | |
14:57 | Merge recent enhancements from trunk, and especially the changes that reduce the heap-memory footprint of schemas, and defer opening and writing to statement journals. file: [22d2238d] check-in: [2f0c195c] user: drh branch: apple-osx, size: 178101 | |
00:13 | Get in-memory subjournals working for builds without SQLITE_ENABLE_ATOMIC_WRITE. file: [8a4810fa] check-in: [b5378dce] user: drh branch: memjournal-exp, size: 176386 | |
2016-03-03
| ||
21:29 | Merge the latest updates from trunk. file: [57da6fd6] check-in: [55c00f71] user: drh branch: memjournal-exp, size: 176450 | |
2016-02-29
| ||
21:27 | The ANALYZE command automatically appends "noskipscan" to sqlite_stat1 entries that have large worst-case repeat estimates but small average repeat estimates. file: [e05c48a2] check-in: [6326ba58] user: drh branch: analyze-worst-case, size: 176922 | |
15:53 | Reduce the amount of heap required to store many schemas by storing each column datatype appended to the column name, rather than as a separate allocation. file: [8aa9992c] check-in: [842b2116] user: drh branch: schema-storage, size: 176558 | |
2016-02-27
| ||
23:25 | Update the parser so that it pulls out the column name and type all in one go, rather than using separate reductions. file: [01b43972] check-in: [ad3ffe2e] user: drh branch: schema-storage, size: 176547 | |
21:16 | Eliminate the need for the Column.zDflt (using Column.pDflt instead) to reduce the amount of memory needed to hold the schema. file: [bcfbf478] check-in: [d8c94a46] user: drh branch: trunk, size: 176582 | |
20:14 | Extend the code in memjournal.c so that it subsumes the role of journal.c. And (untested) can flush journal or statement journal files to disk after they grow to a specified size. file: [3c4ed7e5] check-in: [e0b0b431] user: dan branch: memjournal-exp, size: 176534 | |
17:16 | Experimental "PRAGMA onconflict=FAIL" statement to change the default ON CONFLICT algorithm to something other than ABORT. file: [eed05203] check-in: [3a0c347c] user: drh branch: pragma-onconflict, size: 176717 | |
2016-02-26
| ||
16:14 | Merge all recent enhancements from trunk, and in particular the SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER change. file: [a8c20484] check-in: [4fb4aee8] user: drh branch: apple-osx, size: 178357 | |
15:38 | Provide the new SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER option to sqlite3_db_config() that can be used to activate the two-argument version of fts3_tokenizer() for a specific database connection at run-time. file: [63c0e1b5] check-in: [374b5108] user: drh branch: trunk, size: 176642 | |
2016-02-25
| ||
21:19 | Change the "PRAGMA stats" command to report size values in LogEst units. The eliminates the need for sqlite3LogEstToInt() unless non-standard compile-time options are used, so leave it out except in those cases. file: [b9ac8b9c] check-in: [832c237f] user: drh branch: trunk, size: 176569 | |
18:54 | Merge all the latest changes from trunk. file: [73f110a7] check-in: [b8659004] user: drh branch: sessions, size: 177080 | |
16:04 | Take the LIMIT clause into account when estimating the cost of sorting. file: [5a87bccd] check-in: [d491745c] user: drh branch: planner-improvements, size: 176426 | |
2016-02-24
| ||
19:57 | Change a char* to const char* in order to suppress some harmless compiler warnings. file: [5200682f] check-in: [56f62e34] user: drh branch: trunk, size: 176270 | |
2016-02-23
| ||
16:28 | Add the SQLITE_BITMASK_TYPE compile-time option. file: [1a2f11f9] check-in: [0064a8c7] user: drh branch: trunk, size: 176270 | |
2016-02-18
| ||
01:36 | Merge recent performance enhancements and the enhanced API_ARMOR from trunk. file: [15f5a21b] check-in: [b7fa0fb3] user: drh branch: apple-osx, size: 177904 | |
2016-02-15
| ||
22:01 | Revise compiler checks for the rand_s() function. file: [47f61c35] check-in: [287f508d] user: mistachkin branch: trunk, size: 176189 | |
18:15 | Add the SQLITE_NOMEM_BKPT macro to enhance the ability to debug OOM errors. Only effective with compiling with SQLITE_DEBUG. file: [e2ed86c6] check-in: [9b345476] user: drh branch: trunk, size: 176121 | |
17:44 | Merge version 3.11.0 file: [125f2cbd] check-in: [c393ddc7] user: drh branch: begin-concurrent, size: 175521 | |
00:34 | Improvements to the application-defined function mechanism so that it is more compact and runs faster, especially when the application defines thousands of new SQL functions. file: [ddd4a48f] check-in: [3201fbcc] user: drh branch: many-app-functions, size: 175810 | |
2016-02-13
| ||
23:43 | Enhance ability to debug out-of-memory errors. file: [11685b0c] check-in: [6a9c4a3e] user: mistachkin branch: noMemBkpt, size: 175627 | |
17:35 | Merge changes from the 3.11.0 release candidate. file: [d96632a5] check-in: [d198a6db] user: drh branch: apple-osx, size: 177162 | |
14:07 | Merge the changes for the 3.11.0 release candidate from trunk. file: [a6127f26] check-in: [4d7a802e] user: drh branch: sessions, size: 176101 | |
2016-02-11
| ||
22:41 | Automatically disable FTS3 and FTS4 when building with SQLITE_OMIT_VIRTUALTABLE. file: [04ca5b3c] check-in: [0beb32d2] user: drh branch: trunk, size: 175447 | |
21:01 | Experimental integration of schemalint functionality with the shell tool. Does not work yet. file: [a1d0d961] check-in: [ed49f297] user: dan branch: schemalint, size: 175370 | |
2016-02-10
| ||
16:52 | Omit unnecessary CHECK constraints in UPDATE statements, when none of the columns referenced in the CHECK constraint are modified. file: [eb200196] check-in: [02fbdbc7] user: drh branch: trunk, size: 175290 | |
16:03 | Omit NOT NULL checks on unchanging columns in an UPDATE. file: [8eff197a] check-in: [6a3aaedf] user: drh branch: trunk, size: 175213 | |
2016-02-09
| ||
16:09 | Code simplification: ALTER TABLE ADD COLUMN always upgrades the file_format to 4 if is not there already. No need to upgrade to only 2 or 3 since format 4 has now been supported for over 10 years. file: [b1850d30] check-in: [e1d8ec85] user: drh branch: trunk, size: 175208 | |
2016-02-05
| ||
14:34 | Merge PRAGMA synchronous=EXTRA and OOM performance enhancements from trunk. file: [19ed64cd] check-in: [332c8036] user: drh branch: begin-concurrent, size: 175331 | |
14:29 | Merge OOM handling optimizations and PRAGMA synchronous=EXTRA as well as other enhancements from trunk. file: [ab8b7a5e] check-in: [201fcbee] user: drh branch: apple-osx, size: 176972 | |
14:15 | Merge enhancements from trunk. file: [f58219ec] check-in: [a533608c] user: drh branch: sessions, size: 175911 | |
13:38 | Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority cases where db is guaranteed to be not NULL. file: [3aeaff96] check-in: [0a802e96] user: drh branch: oom-handling, size: 175257 | |
01:55 | Improvements to the way that OOM errors are processed. file: [e251b755] check-in: [c3ef0347] user: drh branch: oom-handling, size: 175214 | |
2016-02-03
| ||
19:20 | Add "PRAGMA synchronous=EXTRA" which syncs the directory containing the rollback journal when the rollback journal is deleted in order to commit a transaction in DELETE mode. file: [bf8c17fb] check-in: [af924018] user: drh branch: trunk, size: 175017 | |
01:55 | Enhance the internal sqlite3VdbeAddOpList() interface to automatically update jump destinations. Use this feature to simplify the AUTOINCREMENT code generator. file: [ed6f7508] check-in: [ae8b9d2e] user: drh branch: trunk, size: 175017 | |
2016-02-02
| ||
02:53 | Merge recent enhancements from trunk. file: [02cef8cd] check-in: [347f6a80] user: drh branch: begin-concurrent, size: 175091 | |
02:30 | Merge recent enhancements from trunk. file: [d402565f] check-in: [e6a4a163] user: drh branch: apple-osx, size: 176732 | |
02:22 | Merge all recent enhancements from trunk. file: [c44a27bb] check-in: [f3f92001] user: drh branch: sessions, size: 175671 | |
00:59 | Add the SQLITE_DBCONFIG_REQUIRE_WRITE_TXN connection setting, which if enabled requires all write operations to be enclosed within BEGIN ... COMMIT. file: [df7ef315] check-in: [7453790c] user: drh branch: require-write-txn, size: 175234 | |
2016-01-30
| ||
13:32 | Add the BTREE_FORDELETE and BTREE_AUXDELETE flags to the b-tree layer interface and use them. Add assert() statement to verify that they are correct. file: [2f80b9b1] check-in: [85c46704] user: drh branch: trunk, size: 175017 | |
12:50 | Simplification and size reduction to the printf logic. Remove the bFlags parameter from sqlite3VXPrintf() and sqlite3XPrintf(). Use sqlite3XPrintf() instead of sqlite3_snprintf() for rendering P4 values in EXPLAIN output. file: [5b552cc0] check-in: [0bdb41c4] user: drh branch: trunk, size: 174775 | |
2016-01-27
| ||
16:26 | Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to better reflect its purpose. file: [12ec5445] check-in: [1d3bf6be] user: drh branch: fordelete-assert, size: 174797 | |
2016-01-26
| ||
23:32 | Merge all recent trunk enhancements. file: [0faffdee] check-in: [9a71d56d] user: drh branch: btree-fordelete-flag, size: 174797 | |
15:23 | Change the automatic index mechanism so that it avoids creating transient indexes on columns that are known to have low cardinality. file: [13058a77] check-in: [12ef3a8f] user: drh branch: autoindex-planning, size: 174629 | |
2016-01-23
| ||
01:54 | Cleanup localtime() support for Windows CE. file: [ba1dd2b2] check-in: [39759a55] user: mistachkin branch: winCeLocalTime, size: 174879 | |
2016-01-22
| ||
17:48 | Add the sqlite3TokenInit() utility function. file: [74e10a74] check-in: [73231753] user: drh branch: trunk, size: 174555 | |
2016-01-21
| ||
17:06 | Add a new hint bit on the flags parameter of sqlite3BtreeDelete(). The new BTREE_IDXDELETE bit indicates that the call is to delete an index entry corresponding to a table row that has already been deleted. file: [46e0bac7] check-in: [ac2cbadd] user: drh branch: btree-fordelete-flag, size: 174760 | |
15:55 | Improved comments on the FORDELETE hint. No logic changes. file: [04033285] check-in: [a3cec529] user: drh branch: trunk, size: 174518 | |
2016-01-20
| ||
12:18 | Merge recent enhancements from trunk. file: [d2bf936b] check-in: [5520f600] user: drh branch: begin-concurrent, size: 174591 | |
11:40 | Merge all recent enhancements from trunk. file: [90deb667] check-in: [3ed49691] user: drh branch: apple-osx, size: 176232 | |
11:33 | Merge recent enhancements from trunk. file: [cf3ca8ec] check-in: [327af5f6] user: drh branch: sessions, size: 175171 | |
02:21 | Remove an unnecessary memset() from the symbol name resolver. file: [8c1debff] check-in: [da527dda] user: drh branch: trunk, size: 174517 | |
01:48 | During compilation, transfer the azVar[0..nzVar-1] array from Parse to Vdbe rather than copying it. Smaller and faster code. file: [9c506d4b] check-in: [80dd495f] user: drh branch: trunk, size: 174517 | |
2016-01-18
| ||
00:20 | Fix a problem with SQLITE_TEST_REALLOC_STRESS. file: [8fbaf9dc] check-in: [0aaf3feb] user: drh branch: trunk, size: 174517 | |
2016-01-14
| ||
22:19 | Combine the xFunc and xStep pointers of the FuncDef object into a single pointer xSFunc. file: [028d1f88] check-in: [0d1b3d7d] user: drh branch: trunk, size: 173927 | |
15:46 | Merge the latest enhancements and fixes from trunk. file: [98ad874d] check-in: [fccc5f20] user: dan branch: begin-concurrent, size: 174104 | |
2016-01-11
| ||
13:10 | Merge recent enhancements, and especially the WAL overwrite change, from trunk. file: [09f70fe7] check-in: [c4a858b2] user: drh branch: sessions, size: 174684 | |
12:49 | Merge enhancements from trunk, and in particular the WAL overwrite feature. file: [da2c7b0d] check-in: [79125ec9] user: drh branch: apple-osx, size: 175745 | |
2016-01-08
| ||
17:28 | Remove an obsolete #ifdef related to iOS support. file: [b8ccd34a] check-in: [e9a51d2a] user: drh branch: trunk, size: 174030 | |
2016-01-07
| ||
17:09 | Small performance and size optimization spotted while working on the shared-cache problem. file: [987b46b1] check-in: [828958ff] user: drh branch: trunk, size: 174125 | |
2016-01-06
| ||
15:49 | Merge changes for version 3.10.0. file: [17f1f082] check-in: [e1d2ffc0] user: drh branch: begin-concurrent, size: 174235 | |
14:35 | Merge all version 3.10.0 updates. file: [3b529e6a] check-in: [77c28c2b] user: drh branch: apple-osx, size: 175876 | |
2016-01-04
| ||
19:02 | Merge in last-minute patches for the 3.10.0 beta. file: [961c4451] check-in: [c785cd78] user: drh branch: sessions, size: 174815 | |
12:07 | A new approach to very large sqlite3_mprintf() strings: Back out the [d655a665] check-in and instead make the size fields in StrAccum unsigned. Strings generated by sqlite3_mprintf() can now be as large as 2^31-1 bytes. file: [f97614d4] check-in: [7adb789f] user: drh branch: trunk, size: 174161 | |
2016-01-01
| ||
16:42 | Remember the size of the Vdbe.aOp[] array in bytes, to avoid unnecessary calls to sqlite3_msize(). file: [30f7e895] check-in: [3e852804] user: drh branch: trunk, size: 174161 | |
14:14 | Merge recent trunk enhancements. file: [fbda10e3] check-in: [6bea792c] user: drh branch: begin-concurrent, size: 174159 | |
13:31 | Merge all recent trunk enhancements. file: [35e07d7c] check-in: [5b700f31] user: drh branch: apple-osx, size: 175800 | |
13:25 | Merge the latest enhancements from trunk. file: [583ec5b5] check-in: [c0be246a] user: drh branch: sessions, size: 174739 | |
2015-12-31
| ||
15:34 | Fix harmless compiler warnings associated with SQLITE_ENABLE_HIDDEN_COLUMNS. file: [92f83ab4] check-in: [9c392c10] user: drh branch: trunk, size: 174085 | |
04:34 | Small size and performance optimization to the VDBE comparison opcodes. file: [d68c05b6] check-in: [7a0b9413] user: drh branch: trunk, size: 173979 | |
2015-12-30
| ||
16:51 | Changes to the way that the default BINARY collating sequence is recorded result in a slightly smaller and slightly faster executable. More work could be done to make this cleaner. file: [526c8514] check-in: [2081d757] user: drh branch: trunk, size: 173963 | |
2015-12-24
| ||
14:53 | Avoid a harmless compiler warning on systems where the byteorder cannot be determined at compile-time. file: [6e0c1082] check-in: [7c7b7f26] user: drh branch: trunk, size: 173925 | |
2015-12-21
| ||
15:22 | Ensure that the Expr objects that describe indexed expressions are not modified by code generation. Fix for an assert() problem found by Jon Metzman using AFL. file: [5a2770eb] check-in: [34073ce8] user: drh branch: trunk, size: 173918 | |
2015-12-16
| ||
19:55 | Merge recent enhancements from trunk. file: [175d7f7b] check-in: [cb22efaf] user: drh branch: begin-concurrent, size: 173946 | |
19:47 | Merge recent enhancements from trunk. file: [109deba7] check-in: [f6c9273c] user: drh branch: sessions, size: 174526 | |
2015-12-12
| ||
17:31 | Add further tests for the changes on this branch. Also fix a memory-leak that could follow a malloc failure. file: [dd30e0e6] check-in: [21526012] user: dan branch: onepass-delete-or, size: 174048 | |
2015-12-11
| ||
13:59 | Merge recent changes from trunk. Also remove unused variables to permit compiling with -Werror. file: [e93e1440] check-in: [57b700ba] user: drh branch: onepass-delete-or, size: 173998 | |
12:53 | Merge recent trunk enhancements, and in particular the snapshot interface. file: [8cde6452] check-in: [7e7b2406] user: drh branch: apple-osx, size: 175587 | |
2015-12-10
| ||
17:59 | Move pointer range comparisons into a macro, where they can be dealt with in a more portable way. file: [beb4a63b] check-in: [05bc4f92] user: drh branch: trunk, size: 173872 | |
15:09 | Move pointer range comparisons into a macro, where they can be dealt with in a more portable way. file: [d9b64d12] check-in: [ad3124c8] user: drh branch: stdint.h, size: 173872 | |
2015-12-09
| ||
08:13 | Merge latest trunk with this branch. file: [e638ac90] check-in: [dc236f11] user: dan branch: onepass-delete-or, size: 173485 | |
2015-12-08
| ||
19:50 | Experimental optimization for DELETE statements with WHERE clauses that qualify for the OR-optimization. file: [8014a4a0] check-in: [d52376df] user: dan branch: onepass-delete-or, size: 173424 | |
16:08 | Avoid doing comparisons with pointers that might have been previously been passed to realloc() and/or free(). file: [5caacf37] check-in: [f20396ad] user: drh branch: trunk, size: 173359 | |
2015-12-02
| ||
20:40 | Merge recent enhancements from trunk. file: [0bf17099] check-in: [d1a1278d] user: drh branch: sessions, size: 173952 | |
20:22 | Merge all recent trunk enhancements, especially the unix VFS changes. file: [753af298] check-in: [e1fb33c7] user: drh branch: apple-osx, size: 175013 | |
2015-11-20
| ||
13:49 | Merge all the latest enhancements and fixes from trunk. file: [f298ca1b] check-in: [41c8b8e3] user: drh branch: begin-concurrent, size: 173372 | |
13:17 | Enhancements to a comment in sqliteInt.h. No changes to code. file: [64256d19] check-in: [5446ae64] user: drh branch: trunk, size: 173298 | |
2015-11-19
| ||
19:48 | Merge the latest enhancements from trunk. file: [ed4a27c9] check-in: [2c9e5436] user: drh branch: apple-osx, size: 174942 | |
19:40 | Merge the latest enhancements from trunk. file: [d85782b8] check-in: [7d6cfc79] user: drh branch: sessions, size: 173881 | |
18:11 | Fix problems with the way the IsHiddenColumn() macro is defined. file: [25d0792e] check-in: [126b998c] user: drh branch: trunk, size: 173227 | |
17:55 | When manifesting a view as part of an DELETE or UPDATE, be sure to include the hidden columns in the manifestation. file: [d8dc20e7] check-in: [28df5dc4] user: drh branch: trunk, size: 173252 | |
16:46 | Fix problems with INSERT INTO ... SELECT ... statements that write to tables with __hidden__ columns. file: [921678cb] check-in: [59bd0ec7] user: dan branch: trunk, size: 173178 | |
13:53 | Only support the magic "__hidden__" column name prefix interpretation when compiled with SQLITE_ENABLE_HIDDEN_COLUMNS. file: [33906755] check-in: [5490646b] user: drh branch: hidden-columns-in-tables, size: 173170 | |
2015-11-13
| ||
02:13 | Merge fixes from trunk. file: [649e4e7d] check-in: [f9060b2a] user: drh branch: apple-osx, size: 174210 | |
2015-11-12
| ||
23:48 | Update the SQLLOG logic so that to builds in accordance with the instructions in the header comment. file: [1b8c1b37] check-in: [ee6f2fee] user: drh branch: trunk, size: 172495 | |
21:55 | Import the test_sqllog.c enhancements from trunk. file: [40ca51b6] check-in: [178da339] user: drh branch: apple-osx, size: 174425 | |
20:12 | Add support for the SQLITE_SQLLOG_CONDITIONAL environment variable to the logging code in test_sqllog.c. When defined, logging is only performed if the "<database>-sqllog" file is present in the file system when the main database is opened. file: [ebd88d3a] check-in: [cab8126b] user: dan branch: trunk, size: 172710 | |
16:51 | Merge the latest enhancements from trunk, and in particular the "PRAGMA cache_spill=N" change. file: [26cd3386] check-in: [e72331c7] user: drh branch: apple-osx, size: 174211 | |
2015-11-07
| ||
17:48 | Proposed fix for an infinite loop bug in the WITH clause semantic analysis logic. file: [bc6d2446] check-in: [028475cb] user: drh branch: infinite-with-loop-bug, size: 172496 | |
15:19 | Enhance TreeView to show WITH clauses. Add an assert to detect the infinite loop behavior when certain kinds of errors occur on a nested WITH clause. file: [a6cddd46] check-in: [2040d88e] user: drh branch: infinite-with-loop-bug, size: 172492 | |
01:57 | Merge recent enhancements and fixes from trunk. file: [2f6f0e90] check-in: [5429f99b] user: drh branch: apple-osx, size: 174151 | |
01:33 | Merge recent enhancements and bug fixes from trunk. file: [a02b33a3] check-in: [78bc42e6] user: drh branch: sessions, size: 173090 | |
2015-11-05
| ||
22:30 | Improvements and simplifications to the equality seek logic. Tests are adjusted so that they all pass now. file: [12ff325b] check-in: [997ce6c9] user: drh branch: seekeq-experiment, size: 172436 | |
20:25 | The top of an index equality loop normally starts with OP_SeekGE and OP_IdxGT. This check-in adds a flag to OP_SeekGE such that it fails immediately if the key is not equal, then jumps over the OP_IdxGT, saving a call to the key comparison functions. Consider this check-in a proof-of-concept. It needs improvement before going on trunk. Some tests fail, but only because they new use fewer key comparisons than expected (which is a good thing!). file: [8769e43c] check-in: [32e31b9b] user: drh branch: seekeq-experiment, size: 171402 | |
2015-10-30
| ||
17:17 | Merge the sqlite3_db_cacheflush() enhancements and other changes from trunk. file: [00b72ce9] check-in: [f2cde4cf] user: drh branch: begin-concurrent, size: 171403 | |
16:50 | Merge all the latest enhancements from trunk. file: [b2e72eaa] check-in: [395a153f] user: drh branch: sessions, size: 171983 | |
16:23 | Merge latest trunk changes, including sqlite3_db_cacheflush(), with this branch. file: [72eeb2eb] check-in: [6e4306ef] user: dan branch: apple-osx, size: 173044 | |
2015-10-26
| ||
20:50 | Merge latest trunk changes, including the SQLITE_IOERR_AUTH error code, with this branch. file: [f97de130] check-in: [bc195e1c] user: dan branch: apple-osx, size: 172773 | |
20:11 | Merge the BTREE_FORDELETE enhancement with this branch. file: [b1e72ffe] check-in: [20da0849] user: dan branch: cursor-hints, size: 171329 | |
2015-10-22
| ||
20:54 | Modifications to pass a flag to internal routine sqlite3BtreeCursor() when a cursor that is used solely for deleting b-tree entries, or for obtaining the components of keys to delete from other b-trees, is opened. file: [835fce87] check-in: [cdc92919] user: dan branch: btree-fordelete-flag, size: 171058 | |
2015-10-16
| ||
20:55 | Merge the 3.9.1 updates from trunk. file: [b015def4] check-in: [bf866e6c] user: drh branch: begin-concurrent, size: 171051 | |
20:53 | Merge recent enhancements from trunk. Version now 3.9.1. file: [af76837c] check-in: [26fa091d] user: drh branch: cursor-hints, size: 171248 | |
03:34 | Whenever two or more OP_Column opcodes on the same cursor occur in succession, try to reordering them so that the one that extracts the right-most column is first, so that it will warm up the row cache for all those that follow. This gives a small performance boost. file: [5332b071] check-in: [08e8f04d] user: drh branch: reorder-column-opcodes, size: 171048 | |
2015-10-15
| ||
21:12 | Merge updates from trunk. file: [2d824647] check-in: [a447cf90] user: mistachkin branch: mutexInitSimpleCmpSwap, size: 171415 | |
19:21 | Enhance the use of the column cache for UPDATE statements, making them more efficient for the case where a column is modified to be an expression of other unmodified columns. file: [1ad779ee] check-in: [871e091d] user: drh branch: trunk, size: 170977 | |
15:28 | Change sqlite3StatusSet() into sqlite3StatusHighwater() so that only the highwater mark is recorded. This gives a small size reduction and performance improvement. file: [1d888049] check-in: [6422d223] user: drh branch: trunk, size: 170910 | |
07:44 | Merge in the 3.9.0 changes from trunk. file: [dfc94932] check-in: [5c3a2a6e] user: drh branch: begin-concurrent, size: 170978 | |
2015-10-14
| ||
20:09 | Merge in all the 3.9.0 updates from trunk. file: [d2d529e3] check-in: [29444149] user: drh branch: cursor-hints, size: 171175 | |
2015-10-09
| ||
17:28 | Merge all changes through the first 3.9.0 beta from trunk. file: [530f13b4] check-in: [1ccae39b] user: drh branch: apple-osx, size: 172619 | |
2015-10-08
| ||
14:55 | Merge the 3.8.12 beta changes from trunk. file: [4150e72a] check-in: [35b1b8d4] user: drh branch: sessions, size: 171558 | |
2015-10-06
| ||
01:44 | Adjustments to sqlite3MemoryBarrier() when compiling with MSVC and/or WinCE. file: [e21cc96b] check-in: [3168326e] user: mistachkin branch: trunk, size: 170904 | |
2015-09-30
| ||
14:50 | Merge recent enhancements from trunk, and especially the fix for ticket [1b266395d6bc10]. file: [a6edcbab] check-in: [b2face9a] user: drh branch: sessions, size: 171515 | |
2015-09-29
| ||
17:20 | Use symbolic names XN_ROWID and XN_EXPR in place of the (-1) and (-2) magic numbers in Index.aiColumn[]. Add asserts to help verify that Index.aiColumn[] is always used correctly. Fix one place in FK processing where Index.aiColumn[] was not being used correctly. file: [681f38fc] check-in: [7d272aa6] user: drh branch: trunk, size: 170861 | |
13:25 | Create the sqlite3IsToplevel(Parse*) interface to check to see if a top-level VDBE is being coded (versus a trigger) and use that interface. file: [b6516bb2] check-in: [59662cd2] user: drh branch: vtab-onepass, size: 170597 | |
2015-09-28
| ||
23:45 | Avoid unnecessary cursors and seeking when running a DELETE against a WITHOUT ROWID table. file: [9773cdb9] check-in: [70ec88b2] user: drh branch: delete-without-rowid-opt, size: 170579 | |
2015-09-25
| ||
16:29 | Disable the SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS mechanism and replace it with SQLITE_TESTCTRL_BENIGN_MALLOC_CTRL, which gives better control. file: [ca695ea3] check-in: [2c57b2f3] user: drh branch: malloc-testing, size: 170580 | |
2015-09-23
| ||
16:24 | Simplify thread-safety of mutex initialization. file: [2e5280bf] check-in: [da0587c5] user: mistachkin branch: mutexInitSimpleCmpSwap, size: 170953 | |
15:54 | Merge updates from trunk. file: [ed65bcb0] check-in: [6b85f8cd] user: mistachkin branch: mutexInitCmpSwap, size: 170916 | |
2015-09-15
| ||
19:16 | Merge enhancements from trunk. file: [c5302961] check-in: [fc4d1de8] user: drh branch: begin-concurrent, size: 170589 | |
17:31 | Merge enhancements from trunk. file: [b108aac9] check-in: [66fe0683] user: drh branch: cursor-hints, size: 170786 | |
17:20 | Merge trunk enhancements into the apple-osx branch. file: [c53f35e3] check-in: [f12b8a0f] user: drh branch: apple-osx, size: 172230 | |
15:55 | Merge the latest trunk enhancements with this branch. file: [211b8080] check-in: [b7469c44] user: dan branch: sessions, size: 171169 | |
2015-09-14
| ||
14:45 | Use symbolic names ONEPASS_OFF, ONEPASS_SINGLE, and ONEPASS_MULTI for the various modes of the one-pass optimization. file: [5afc6e50] check-in: [16e56bda] user: drh branch: trunk, size: 170515 | |
10:47 | Merge the latest trunk enhancements. file: [6376e8f5] check-in: [22ce9218] user: drh branch: sessions, size: 170858 | |
2015-09-12
| ||
19:26 | Experimental change to use a single-pass approach for DELETE statements on non-virtual tables that do not fire triggers or require foriegn-key processing. file: [91bf09de] check-in: [eaeb2b80] user: dan branch: onepass-delete, size: 170295 | |
18:57 | Import common changes from the mutex initialization branch. file: [b3e590f3] check-in: [334720c0] user: mistachkin branch: trunk, size: 170204 | |
2015-09-11
| ||
05:06 | Enhance mutex initialization to prevent possible race conditions between sqlite3_initialize() and sqlite3_config(). Also, re-check sqlite3GlobalConfig.isInit after the mutex subsystem has been initialized. file: [d7b2c309] check-in: [f6a8f577] user: mistachkin branch: mutexInitCmpSwap, size: 170605 | |
2015-09-10
| ||
04:17 | Attempt to declare sqlite3MemoryBarrier() correctly for all possible build configurations. file: [788dc0ea] check-in: [da8a288f] user: drh branch: trunk, size: 170205 | |
2015-09-07
| ||
20:22 | Merge parser enhancements and other improvements and bug fixes from trunk. file: [56a36236] check-in: [9cf3e51b] user: drh branch: begin-concurrent, size: 170170 | |
2015-09-06
| ||
02:51 | Add a memory barrier to the mutex initialization logic, try to work around an issue reported by WebKit. file: [dba8add0] check-in: [11a9a786] user: drh branch: trunk, size: 170096 | |
2015-09-05
| ||
22:36 | Omit all use of Expr nodes for TK_AS, as those nodes no longer served a useful purpose and in fact interferred with the query planner. file: [ad550474] check-in: [7ab0b258] user: drh branch: trunk, size: 170061 | |
2015-09-01
| ||
18:52 | Merge recent enhancements from trunk. file: [5dda67f9] check-in: [cb772366] user: drh branch: sessions, size: 169795 | |
18:31 | Merge enhancements from trunk. file: [c452759f] check-in: [29570a60] user: drh branch: cursor-hints, size: 169412 | |
13:17 | Rename SQLITE_FUNC_VARYING to SQLITE_FUNC_SLOCHNG - a more descriptive name for what that bit means. file: [e7e92112] check-in: [ff5137a6] user: drh branch: index-expr, size: 169989 | |
2015-08-31
| ||
21:16 | Not only date/time functions, but also functions like sqlite_version() and changes() need to be prohibited from use inside of indexes. file: [fde5d96c] check-in: [48713130] user: drh branch: index-expr, size: 169911 | |
17:34 | Make the distinction between truly deterministic functions and date/time functions which only return the same answer for a single query. Only truly deterministic functions are allowed in indexes. Add new expression index test cases. file: [332ae4f7] check-in: [c77554b5] user: drh branch: index-expr, size: 169816 | |
2015-08-28
| ||
09:27 | Merge latest trunk changes with this branch. file: [8657f11e] check-in: [57bc0194] user: dan branch: begin-concurrent, size: 169215 | |
02:12 | Merge trunk enhancements into the apple-osx branch. Most tests works, but there are yet a few issues to be resolved. file: [680a0371] check-in: [da864658] user: drh branch: apple-osx, size: 170856 | |
2015-08-26
| ||
18:04 | Merge enhancements from trunk. file: [340fc115] check-in: [ec6ddb3d] user: drh branch: index-expr, size: 169345 | |
14:01 | Evaluate expressions only once when the same expression is used in both the result set and in the ORDER BY clause. file: [cac6c31a] check-in: [c2f3bbad] user: drh branch: trunk, size: 169141 | |
11:40 | Refactor With.a.zErr into With.a.zCteErr. No logic changes. file: [d76e7c90] check-in: [58ba7363] user: drh branch: trunk, size: 169066 | |
2015-08-25
| ||
19:42 | Move sqlite3IndexColumnAffinity() inside of SQLITE_ENABLE_STAT3_OR_STAT4. file: [424a2020] check-in: [b3732a4e] user: drh branch: trunk, size: 169066 | |
19:24 | Merge trunk enhancements. file: [fd8c4823] check-in: [e8b02902] user: drh branch: index-expr, size: 169326 | |
19:20 | Use the sqlite3IndexColumnAffinity() routine to quickly and correctly find the affinity of an index column. file: [fdf60b24] check-in: [1ee089a7] user: drh branch: trunk, size: 169122 | |
16:57 | Add code to maintain indexes with expression arguments across DELETE, INSERT, and UPDATE statements. Legacy tests pass, but the new code paths are still largely untested. The query planner currently makes no effort to use expression indexes. file: [5fe81432] check-in: [efaabdb7] user: drh branch: index-expr, size: 169269 | |
11:16 | Merge latest trunk changes with this branch. file: [0b77fa98] check-in: [3e7d6dd6] user: dan branch: begin-concurrent, size: 169139 | |
00:27 | Changes toward being able to process indexes on expressions. Not there yet - this check-in is just movement in that direction. Some tests are failing. file: [5e2ce123] check-in: [0ad0f8d7] user: drh branch: index-expr, size: 169142 | |
2015-08-24
| ||
20:21 | Enhances the parser so that it accepts arbitrary expressions for the arguments of an index, though the code generator still rejects everything other than simple column names. The sqlite3RestrictColumnListSyntax() routine is removed since that feature is now handled by the parser. file: [edbcd0c0] check-in: [bed42116] user: drh branch: trunk, size: 169065 | |
19:56 | Change "BEGIN UNLOCKED" to "BEGIN CONCURRENT". file: [54c3393f] check-in: [ba1ab858] user: dan branch: begin-concurrent, size: 168913 | |
17:42 | Enhance the CREATE VIEW syntax so that the names of columns of the view can be specified after the view name. file: [79a8e76b] check-in: [d794b34d] user: drh branch: trunk, size: 169199 | |
15:39 | Disallow the use of COLLATE clauses and the ASC and DESC keywords within foreign key constraints and in the argument list to common table expressions. file: [17416918] check-in: [83cbc4d8] user: drh branch: trunk, size: 169083 | |
2015-08-21
| ||
16:22 | Merge trunk changes with this branch. file: [d4963f5f] check-in: [deaf3b18] user: dan branch: begin-concurrent, size: 168911 | |
2015-08-20
| ||
23:54 | Merge recent trunk enhancements, include table-valued functions. file: [198917e2] check-in: [e9196d56] user: drh branch: sessions, size: 169493 | |
23:45 | Merge recent enhancements from trunk, including table-valued expressions. file: [58bae1ab] check-in: [b9927c87] user: drh branch: cursor-hints, size: 169110 | |
2015-08-19
| ||
17:11 | A list of arguments following a table name translates into equality constraints against hidden columns in that table. file: [89e68539] check-in: [40e12cfe] user: drh branch: table-valued-functions, size: 168839 | |
15:20 | Minor refactor of the SrcList object so that it is able to hold the argument list to a table-valued-function in the FROM clause. file: [9fae37f6] check-in: [b9193761] user: drh branch: table-valued-functions, size: 168723 | |
02:32 | Initial implementation of eponymous virtual table instances. file: [683b4802] check-in: [c1f43a77] user: drh branch: table-valued-functions, size: 168443 | |
2015-08-14
| ||
18:50 | Fix the cursor hint mechanism so that it does the right thing for indexed lookups. file: [cbd6d166] check-in: [581e3d49] user: drh branch: cursor-hints, size: 168483 | |
2015-08-13
| ||
21:38 | Fix a harmless compiler warning. file: [ea5885ac] check-in: [608ab4ac] user: drh branch: cursor-hints, size: 168405 | |
20:07 | Merge in all the trunk changes from the previous year. This breaks the cursor-hint mechanism, but provides a baseline for trouble-shooting. file: [b12cb9c5] check-in: [82a7a61b] user: drh branch: cursor-hints, size: 168364 | |
2015-08-10
| ||
20:22 | Add the sqlite3_experimental_log_open() interface. This is for diagnostic use only and is not intended to ever go on trunk. file: [e1a5cfe6] check-in: [ac5d2e9d] user: drh branch: experimentalIoLog, size: 168627 | |
2015-07-29
| ||
21:47 | Add SQLITE_DISABLE_INTRINSIC define to disable use of intrinsic functions (e.g. for certain older compilers and/or platforms). file: [9401d7d9] check-in: [f0075d73] user: mistachkin branch: trunk, size: 168212 | |
2015-07-27
| ||
19:31 | Add an experimental "BEGIN UNLOCKED" command. file: [f14033fa] check-in: [80794216] user: dan branch: begin-concurrent, size: 168161 | |
2015-07-24
| ||
22:21 | Merge test improvements and minor fixes from trunk. file: [d6389d19] check-in: [0298a9a7] user: drh branch: sessions, size: 168743 | |
20:43 | For Windows CE, a different header is required for the byteswap intrinsics. file: [81f45894] check-in: [2d572b8c] user: mistachkin branch: trunk, size: 168089 | |
2015-07-23
| ||
21:59 | Merge all changes in the latest 3.8.11 beta into the sessions branch. Changes include the rename of OTA to RBU, the WITHOUT-ROWID-OR-Skipscan fix, and improvements to pcache1. file: [cdc9b0c2] check-in: [7f0ee770] user: drh branch: sessions, size: 168690 | |
2015-07-15
| ||
23:15 | Enable memory-mapped I/O on FreeBSD and DragonFly. file: [c67d0a13] check-in: [2cdd6479] user: drh branch: trunk, size: 168036 | |
2015-07-14
| ||
21:56 | Skip trying to include 'intrin.h' when compiling for WinCE with MSVC. file: [61e6e8e6] check-in: [6db90ca2] user: mistachkin branch: trunk, size: 167978 | |
15:39 | Merge trunk changes, including the addition of FTS5 and pcache1 performance enhancements. file: [f5d9aa5d] check-in: [db4cbefb] user: drh branch: sessions, size: 168608 | |
2015-07-07
| ||
21:14 | Add a compile-time constant for configuring the default pagecache setup. file: [d8d420d6] check-in: [ad5fdfba] user: drh branch: pcache-bulk-local, size: 167954 | |
2015-07-02
| ||
18:47 | Merge in the latest enhancements from trunks, especially the use of _byteswap_ulong() and similar intrinsics on MSVC. file: [b4089310] check-in: [85ca4409] user: drh branch: sessions, size: 168222 | |
2015-06-30
| ||
17:28 | Make use of the _byteswap_ushort() and _byteswap_ulong() compiler intrinsics for MSVC, when available. file: [bc2cb175] check-in: [fe144dd7] user: mistachkin branch: trunk, size: 167568 | |
16:29 | Merge all the latest enhancements from trunk. This merge include FTS5 and a number of notable performance enhancements. file: [2c8f1aad] check-in: [39936b33] user: drh branch: sessions, size: 167952 | |
14:01 | Only use __builtin_bswap16() with GCC 4.8 and later. file: [cf643b5a] check-in: [ce8177e3] user: drh branch: bswap-functions, size: 167298 | |
2015-06-29
| ||
14:11 | Simplifications and performance improvement in pager_write(). file: [89768198] check-in: [ab7aeeea] user: drh branch: trunk, size: 167093 | |
2015-06-25
| ||
15:44 | Merge all the latest enhancements from trunk. file: [dc4d9615] check-in: [924f4712] user: drh branch: sessions, size: 167703 | |
2015-06-23
| ||
12:19 | Test that the left and right sides of a compound SELECT operator have the same number of expressions in the expanded expression list before beginning to generate code. file: [d5df694b] check-in: [4df852ce] user: dan branch: trunk, size: 167049 | |
2015-06-17
| ||
18:18 | Merge all recent enhancements and fixes from trunk. file: [152c1a4c] check-in: [199bfb67] user: drh branch: sessions, size: 167639 | |
2015-06-15
| ||
14:43 | Fix harmless compiler warnings. file: [95b99b28] check-in: [b0badb99] user: drh branch: trunk, size: 166985 | |
2015-06-11
| ||
18:01 | Merge recent trunk enhancements and fixes. file: [eb4d0375] check-in: [c39cb0e2] user: drh branch: sessions, size: 167472 | |
17:58 | Merge trunk fixes. file: [e389c788] check-in: [1df8cbbe] user: drh branch: view-optimization, size: 166994 | |
13:58 | When generating code for partial indexes, be sure not to modify the index condition expression in the schema. file: [8f095bfe] check-in: [e63d01c6] user: drh branch: trunk, size: 166818 | |
2015-06-10
| ||
17:20 | Resolve FROM-clause subqueries after query planning instead of before. Greatly reduce the estimated cost of automatic indexes for VIEWs and ephemeral tables since performance problems there cannot be mitigated via a CREATE INDEX. file: [b9957d1f] check-in: [a1eaf171] user: drh branch: view-optimization, size: 166941 | |
2015-06-08
| ||
22:59 | Code refactoring to try to shift FROM-clause subquery manifesting until after the query planner runs. Except this does not currently work because the query planner needs an estimated of the number of rows in the manifested table. Work in progress. file: [4cc3db36] check-in: [cabf2187] user: drh branch: view-optimization, size: 166862 | |
15:08 | Factor out the TreeView parse tree printing module into a separate file. file: [4c6731ce] check-in: [c32ce54c] user: drh branch: view-optimization, size: 166765 | |
2015-06-04
| ||
12:08 | Change the name of SrcList.a[].zIndex to the more descriptive SrcList.a[0].zIndexedBy. file: [851cc2ee] check-in: [6a9cf063] user: drh branch: trunk, size: 166963 | |
2015-06-02
| ||
16:09 | Add the built-in affinity() SQL function. This turns out to be not as useful as originally envisioned, so abandon it on a branch. file: [98c49cbd] check-in: [80889306] user: drh branch: affinity-func, size: 167044 | |
15:32 | Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. file: [bcf51f6e] check-in: [bce3f041] user: drh branch: blob-affinity-rename, size: 166963 | |
2015-06-01
| ||
17:32 | Break out the query flattener into a separate source-code file. file: [76b6ada9] check-in: [e3fa8b93] user: drh branch: flattener-in-new-file, size: 167707 | |
2015-05-29
| ||
19:04 | Import recent enhancements from trunk. file: [7f3d18ce] check-in: [54bec164] user: drh branch: sessions, size: 167617 | |
01:35 | Using "SELECT ALL" instead of just "SELECT" on a query that uses a single unflattenable subquery or view in its FROM clause will force the subquery to be manifested into a temporary table rather than run incrementally using a co-routine. This is a stop-gap means of controlling the decision to manifest while we try to work out a better to make that decision automatically. file: [bc8496de] check-in: [a29e117d] user: drh branch: trunk, size: 166963 | |
2015-05-27
| ||
15:10 | Disallow the use of "rowid" in CTEs - it has never worked correctly and it makes no sense, so we might as well make it an explicit error. Also: add the PRAGMA cell_size_check=ON command. file: [bf823932] check-in: [19e2cebc] user: drh branch: trunk, size: 166897 | |
13:06 | CTEs have never had working rowids. So disallow the use of the "rowid" column within CTEs. file: [01d0b874] check-in: [0055df04] user: drh branch: no-rowid-in-cte, size: 166818 | |
03:46 | Add the "PRAGMA cell_size_check=ON" command. file: [a45d51a1] check-in: [2ead43f0] user: drh branch: cell-size-check-pragma, size: 166764 | |
2015-05-26
| ||
11:53 | Fix a problem with ignoring UNIQUE constraints on WITHOUT ROWID tables rendered redundant by the PRIMARY KEY. file: [26484793] check-in: [3b936913] user: dan branch: trunk, size: 166685 | |
2015-05-21
| ||
17:24 | Prevent a virtual table from being destroyed while it is in use. Also: replace Vdbe.inVtabMethod with sqlite3.nVDestroy. Simplify the EXPLAIN output for P4.pVtab to only show the sqlite3_vtab pointer. Cherrypick of [cbeb9a1aed8c]. file: [9ff3e112] check-in: [b3bb660a] user: dan branch: branch-3.8.6, size: 161102 | |
02:20 | Ensure that tables names are dequoted exactly once by the trigger logic. Cherrypick [59e92bd9521f1e8] and [9d887b92f8086961e]. file: [ce9a4d64] check-in: [9e3f64a4] user: drh branch: branch-3.7.11, size: 141979 | |
2015-05-20
| ||
20:30 | Ensure that tables names are dequoted exactly once by the trigger and FK logic. Cherrypick of [59e92bd9521f] and [9d887b92f808]. file: [978e6e01] check-in: [bd357739] user: dan branch: branch-3.8.6, size: 161024 | |
19:34 | Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances. Cherrypick of [eddc05e7bb31]. file: [10038993] check-in: [fc1a4f29] user: dan branch: branch-3.8.6, size: 161088 | |
2015-05-19
| ||
22:42 | Merge recent trunk changes, include the R-Tree enhancement that allows 8-byte BLOB arguments to geometry functions, and the fix for the TEXT affinity problem that could cause corrupt indexes. file: [88f58e88] check-in: [0a0de8b7] user: drh branch: sessions, size: 166897 | |
2015-05-15
| ||
04:13 | Simplifications to error message processing. Fix a possible problem in error message formatting when vacuuming a database with a corrupt schema. file: [88738d94] check-in: [56ef98a0] user: drh branch: trunk, size: 166243 | |
2015-05-14
| ||
15:17 | Merge in the IS-operator enhancements and other recent changes from trunk. file: [5f764318] check-in: [4f922944] user: drh branch: sessions, size: 166957 | |
2015-05-12
| ||
23:28 | Improve API armor integration. Fix harmless compiler warnings. file: [51bf2dcd] check-in: [fbf29b45] user: mistachkin branch: get-trace, size: 166315 | |
2015-05-11
| ||
11:59 | Revamp the way the DBSTAT virtual table is registered. file: [c9f77bd0] check-in: [4e652015] user: drh branch: trunk, size: 166303 | |
2015-05-05
| ||
17:12 | Merge all trunk enhancements and fixes into the sessions branch. file: [15960c3f] check-in: [de7083cf] user: drh branch: sessions, size: 166849 | |
2015-05-02
| ||
18:25 | Add the SQLITE_LIMIT_PRINTF_WIDTH setting for sqlite3_limit() and associated logic for preventing DOS attacks using printf() with oversized widths or precisions. file: [42f804c1] check-in: [f8b15979] user: drh branch: limit-printf-width, size: 166193 | |
11:45 | Cleanup of the sqlite3StrAccumInit() function. No functionality changes. file: [20d9c59f] check-in: [7952c322] user: drh branch: trunk, size: 166195 | |
2015-05-01
| ||
15:25 | Remove obselete comment text from the description of the Table object. No changes to code. file: [82cb9dc7] check-in: [6566b72a] user: drh branch: trunk, size: 166242 | |
2015-04-29
| ||
00:35 | Improved support for OSTRACE on Windows. file: [d6b2e99b] check-in: [ca43812b] user: drh branch: trunk, size: 167714 | |
2015-04-28
| ||
23:34 | Revise when the sqlite3ErrName() function is defined. file: [5a4e0ae0] check-in: [9e593fb3] user: mistachkin branch: winTest, size: 167348 | |
2015-04-23
| ||
13:49 | Merge the latest trunk enhancements and fixes into the sessions branch. file: [205ef3fb] check-in: [4e5f17d1] user: drh branch: sessions, size: 167553 | |
2015-04-22
| ||
14:41 | Prototype for an sqlite3_db_log() interface. file: [823549bb] check-in: [658e20f5] user: drh branch: sqlite3_db_log, size: 167035 | |
2015-04-21
| ||
16:38 | Ensure that tables names are dequoted exactly once by the trigger logic. file: [8abcea12] check-in: [9d887b92] user: dan branch: trunk, size: 166899 | |
2015-04-20
| ||
01:32 | Merge all recent trunk enhancements and fixes into the sessions branch. file: [a146261a] check-in: [b8ef1cde] user: drh branch: sessions, size: 167617 | |
01:25 | Merge all recent trunk enhancements and fixes into the apple-osx branch. file: [892e58b8] check-in: [74b7bf17] user: drh branch: apple-osx, size: 168678 | |
2015-04-19
| ||
18:32 | Bring comments on the INSERT code generator up-to-date. Fix the INSERT code generator so that it correctly handles inserts from a SELECT into a virtual table with non-terminal hidden columns. file: [3a1fccc2] check-in: [4ac81fac] user: drh branch: trunk, size: 166963 | |
2015-04-16
| ||
16:27 | Restore SQLITE_FORCE_OS_TRACE to the MSVC makefile, which was removed during a merge. file: [1b6087a8] check-in: [c37f4d49] user: mistachkin branch: winTest, size: 166950 | |
14:13 | Improvements to the way VALUES clauses are parsed. file: [af228df2] check-in: [ec5a493a] user: drh branch: trunk, size: 166538 | |
03:56 | Move OSTRACE defines so they are visible to all source files that need them. file: [0c588120] check-in: [72485c97] user: mistachkin branch: winTest, size: 166950 | |
03:37 | Make sure the sqlite3DebugPrintf() function is defined for OSTRACE as well. file: [2aa91b5b] check-in: [ae5af704] user: mistachkin branch: winTest, size: 166544 | |
03:24 | Merge updates from trunk. Make OSTRACE changes work on Linux. file: [2c4f9e8a] check-in: [cd154266] user: mistachkin branch: winTest, size: 166535 | |
2015-04-13
| ||
23:11 | Merge all recent trunk enhances into the apple-osx branch. file: [92d2e292] check-in: [e709d3b4] user: drh branch: apple-osx, size: 168248 | |
2015-04-12
| ||
01:33 | Merge all recent trunk enhancements into the sessions branch. file: [f415bc20] check-in: [5f14f34f] user: drh branch: sessions, size: 167187 | |
2015-04-10
| ||
08:28 | Update this branch with the latest changes from sorter-opt. file: [6ee18690] check-in: [08c0b19b] user: dan branch: insert-select-opt, size: 166541 | |
08:20 | Update this branch with latest trunk changes. file: [90b7bfd8] check-in: [60be9c1c] user: dan branch: sorter-opt, size: 166533 | |
2015-04-08
| ||
12:47 | Merge in all version 3.8.9 changes from trunk. file: [160114e3] check-in: [30121870] user: drh branch: apple-osx, size: 168178 | |
2015-04-06
| ||
12:08 | Merge obscure problem fixes from trunk. file: [19c0a189] check-in: [271c110b] user: drh branch: sessions, size: 167117 | |
2015-04-04
| ||
16:43 | Fix a problem with resolving ORDER BY clauses that feature COLLATE clauses attached to compound SELECT statements. file: [107b02ed] check-in: [427b50fb] user: dan branch: compound-order-by-fix, size: 166463 | |
2015-04-01
| ||
18:22 | Merge latest trunk changes with this branch. file: [c0437537] check-in: [4621b2ee] user: dan branch: sorter-opt, size: 166455 | |
18:20 | When vacuuming an index that uses no collations other than BINARY, assume that the order of index entries will not be changed by the VACUUM. file: [df0ee354] check-in: [e403460b] user: dan branch: sorter-opt, size: 166431 | |
2015-03-31
| ||
19:06 | Build fixes for OSTRACE enhancements. file: [75e86ef5] check-in: [f79c236f] user: mistachkin branch: winTest, size: 166470 | |
17:45 | Testing enhancements on Windows. file: [b54a3815] check-in: [9cc70eee] user: mistachkin branch: winTest, size: 166451 | |
00:10 | Merge all recent trunk enhancements and fixes into the sessions branch. file: [e974c4f9] check-in: [df94e61f] user: drh branch: sessions, size: 167039 | |
2015-03-30
| ||
23:52 | Merge the latest trunk enhancements, and especially the fix for the infinite loop on a DROP TABLE in a corrupt database, into the apple-osx branch. file: [f0fb2d8e] check-in: [4d42bf5e] user: drh branch: apple-osx, size: 168100 | |
2015-03-27
| ||
00:21 | Using MSVC, get the sqlite3IoTrace variable working with the USE_STDCALL and/or DYNAMIC_SHELL options. file: [d02d2b85] check-in: [fe976c91] user: mistachkin branch: trunk, size: 166385 | |
2015-03-24
| ||
19:43 | Update this branch with latest trunk changes. file: [c6226843] check-in: [3ccd64ef] user: dan branch: insert-select-opt, size: 166369 | |
19:02 | Merge all recent trunk enhancements into the sessions branch. file: [d2804bd5] check-in: [54aaa6f2] user: drh branch: sessions, size: 167015 | |
18:49 | Merge the latest trunk enhancements into the apple-osx branch. file: [e3d6df19] check-in: [a2bd81e5] user: drh branch: apple-osx, size: 168076 | |
12:51 | Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter. file: [bedf1591] check-in: [9faefb96] user: drh branch: nVDestroy, size: 166361 | |
2015-03-23
| ||
18:52 | Add the SQLITE_PTRSIZE macro. Use it to help sqlite3_status() run faster on 32-bit systems. file: [e22a2bfb] check-in: [c742bd60] user: drh branch: status64, size: 166283 | |
17:25 | Add the sqlite3_status64() interface. Make the new interface and the legacy sqlite3_status() both atomic and threadsafe. Check threadsafety using assert()s. file: [de9d20aa] check-in: [1ce8e8fa] user: drh branch: status64, size: 165887 | |
2015-03-21
| ||
17:00 | Merge all recent trunk enhancements and especially the blocking WAL-lock fix into the apple-osx branch. file: [70be3eae] check-in: [9f1f8b33] user: drh branch: apple-osx, size: 167426 | |
07:16 | Merge recent trunk changes with this branch. file: [b536f3d7] check-in: [35eef4dd] user: dan branch: insert-select-opt, size: 165719 | |
2015-03-20
| ||
20:30 | Where possible insert the set of new keys for each index in sorted order within "INSERT INTO ... SELECT" statements. file: [07402857] check-in: [0a7f2051] user: dan branch: insert-select-opt, size: 165641 | |
14:57 | Provide the BTREE_SEEK_EQ hint to the b-tree layer. file: [f2300529] check-in: [e750830f] user: drh branch: seek-eq, size: 165711 | |
08:43 | Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances. file: [0f36b72d] check-in: [eddc05e7] user: dan branch: trunk, size: 165633 | |
2015-03-09
| ||
13:18 | Merge recent trunk enhancements into the apple-osx branch. file: [f54cc2f5] check-in: [5e04eec8] user: drh branch: apple-osx, size: 167343 | |
13:07 | Merge recent trunk enhancements into the sessions branch. file: [9c62b8df] check-in: [68c8937e] user: drh branch: sessions, size: 166282 | |
2015-03-02
| ||
22:06 | Changes so that the amalgamation and the command-line shell build without modifications on VxWorks 7. Still gives a few compiler warnings, and still mostly untested on that platform. file: [fae682c2] check-in: [7d92f1f1] user: drh branch: trunk, size: 165628 | |
17:25 | Ensure that automatic indexes are *not* considered when doing the the subqueries of the OR-optimization. file: [14e1648f] check-in: [17890292] user: drh branch: trunk, size: 165571 | |
2015-02-21
| ||
15:13 | Merge all recent trunk changes into the sessions branch. file: [1e1c0809] check-in: [f36bb5fa] user: drh branch: sessions, size: 166217 | |
2015-02-13
| ||
12:13 | Merge all recent trunk fixes and enhancements into the apple-osx branch. file: [399d2187] check-in: [b2449d67] user: drh branch: apple-osx, size: 167278 | |
2015-02-09
| ||
16:09 | Propagate the COLLATE operator upward through function calls. Initial fix for ticket [ca0d20b6cdddec5e8]. file: [57a405ae] check-in: [c053448a] user: drh branch: tkt-2f7170d7, size: 165563 | |
15:21 | Disable the query flattener for aggregate subqueries if the parent query uses other subqueries in its result set or WHERE clause or ORDER BY clause. Preliminary fix for ticket [2f7170d73bf9abf8]. However it still contains a defect similar to the COLLATE problem of [ca0d20b6cddd]. file: [b7b14a15] check-in: [0b7d65e3] user: drh branch: tkt-2f7170d7, size: 165606 | |
14:07 | Rename the internal "EP_Constant" bitmask to a less misleading "EP_ConstFunc". file: [436c02d0] check-in: [4ef7cece] user: drh branch: trunk, size: 165349 | |
2015-02-06
| ||
16:03 | Merge all recent trunk enhancements into the apple-osx branch. file: [82a4ddf7] check-in: [44711921] user: drh branch: apple-osx, size: 167043 | |
15:40 | Merge all the latest enhancements from trunk. file: [bb33187b] check-in: [ae7eef11] user: drh branch: sessions, size: 165982 | |
2015-02-03
| ||
15:56 | Remove "PRAGMA ota_mode". file: [57f8f450] check-in: [1c111447] user: dan branch: ota-update, size: 165328 | |
2015-01-30
| ||
21:00 | Merge the SQLITE_TESTCTRL_IMPOSTER changes from trunk. file: [66180aa8] check-in: [3ed6eb2f] user: drh branch: ota-update, size: 165475 | |
20:59 | Change SQLITE_TESTCTRL_INITMODE to SQLITE_TESTCTRL_IMPOSTER. Revise the order of parameters. Give it the ability to reset the schema parse table so that imposter tables can be erased. file: [c4e05f74] check-in: [42d56017] user: drh branch: trunk, size: 165328 | |
2015-01-29
| ||
02:26 | Experimental sqlite_db_config() setting to disable writing to all btrees except for one btree with a particular root page. file: [d70bca4e] check-in: [23054110] user: drh branch: one-writable-btree, size: 165585 | |
2015-01-28
| ||
12:00 | Merge in all changes from trunk. file: [25b73f7e] check-in: [17c69be8] user: drh branch: ota-update, size: 165410 | |
2015-01-16
| ||
12:24 | Merge the 3.8.8 release changes from trunk. file: [b20f54ab] check-in: [518621f8] user: drh branch: apple-osx, size: 166978 | |
2015-01-14
| ||
17:16 | Merge trunk 3.8.8 beta changes into the sessions branch file: [ab9ee44b] check-in: [0ba12454] user: drh branch: sessions, size: 165917 | |
2015-01-12
| ||
18:52 | Merge updates from trunk. file: [eaf21029] check-in: [ca5f2c54] user: mistachkin branch: msvcW4, size: 165263 | |
18:02 | Work in progress on fixing harmless compiler warnings when using -W4 and MSVC. file: [f25fe9df] check-in: [856dd245] user: mistachkin branch: msvcW4, size: 165261 | |
2015-01-10
| ||
16:49 | Improvements to compile-time-option hygiene. Use "#if OPTION" instead of "#ifdef OPTION" in cases where that makes sense, so that -DOPTION=0 will work. Add the "Have-Not" configuration in releasetest.tcl which disables all of the "HAVE_component" compile-time options. file: [8cdd8439] check-in: [9e92a5ed] user: drh branch: trunk, size: 164977 | |
2015-01-08
| ||
20:06 | Merge recent enhancements from trunk, including test scripts enhancements and the removal of limits on the number of terms in a VALUES clause. file: [892f2d3b] check-in: [5a2dec55] user: drh branch: sessions, size: 165629 | |
19:55 | Merge the testing enhancements and the unlimited VALUES enhancement from trunk. file: [8f8bc296] check-in: [cc780842] user: drh branch: apple-osx, size: 166690 | |
2015-01-05
| ||
19:16 | Handle compound-select statements originating from VALUES clauses as a special case that does not use recursion. file: [5d5716d8] check-in: [9ce9e43a] user: drh branch: many-VALUEs, size: 164975 | |
2015-01-02
| ||
19:17 | Merge the latest changes from trunk into the apple-osx branch. file: [b04caf7c] check-in: [df3cdf9f] user: drh branch: apple-osx, size: 166663 | |
15:55 | Add the SQLITE_CONFIG_PMASZ start-time option. file: [3e007985] check-in: [acb0d1e8] user: drh branch: trunk, size: 164948 | |
2014-12-16
| ||
01:05 | Merge threading fixes from trunk into the sessions branch. file: [69c302a3] check-in: [9817a286] user: drh branch: sessions, size: 165536 | |
00:29 | Merge latest fixes and enhancements from trunk into apple-osx. file: [5d511f0b] check-in: [2c1d8dda] user: drh branch: apple-osx, size: 166597 | |
2014-12-12
| ||
23:17 | Add extra tests to threadtest4.c. Fix a benign data race accessing the text encoding using ENC(db). file: [d36da9a0] check-in: [d7bb7ea4] user: drh branch: trunk, size: 164882 | |
00:20 | Fix a bug in the threadtest4.c program. Remove the keyinfo cache as it provides minimal performance improvements, and then only at SQL preparation time, not at runtime, and it has problems with data races in shared-cache mode. We might later add the keyinfo cache back but only enable it when shared-cache mode is off. file: [073d54f7] check-in: [b7489f94] user: drh branch: threadtest4, size: 164788 | |
2014-12-08
| ||
07:50 | Update this branch with latest trunk changes. file: [9d7b1d5a] check-in: [69a312ad] user: dan branch: ota-update, size: 165009 | |
2014-12-05
| ||
14:36 | Add code to check the validity of CollSeq objects during runtime. This code was not able to detect anomalies such as came up as a result of ticket [e4a18565a36884b00edf66541f38c693827968ab] so it is put into a branch for historical reference, with the intent of leaving it out of trunk. file: [ef42a051] check-in: [68b23c3d] user: drh branch: collseq-checking, size: 164936 | |
2014-12-04
| ||
23:42 | Import from trunk support for SQLITE_CHECKPOINT_TRUNCATE and fixes for a couple of obscure bugs. file: [be4da0e0] check-in: [463ad971] user: drh branch: apple-osx, size: 166577 | |
23:35 | Incorporate the SQLITE_CHECKPOINT_TRUNCATE enhancement and a couple of obscure bug fixes from trunk. file: [aff67183] check-in: [34ffa3b3] user: drh branch: sessions, size: 165516 | |
16:29 | If a table is the right operand of a LEFT JOIN, then any column of that table can be NULL even if that column has a NOT NULL constraint. Fix for ticket [6f2222d550f5b0ee7ed]. file: [474a00de] check-in: [5a80957b] user: drh branch: branch-3.8.7, size: 164582 | |
16:27 | If a table is the right operand of a LEFT JOIN, then any column of that table can be NULL even if that column has a NOT NULL constraint. Fix for ticket [6f2222d550f5b0ee7ed]. file: [28049b80] check-in: [6f6fcbe4] user: drh branch: trunk, size: 164862 | |
2014-12-02
| ||
16:38 | Merge all recent enhancements and bug fixes from trunk into the apple-osx branch. file: [67297342] check-in: [43c4ba26] user: drh branch: apple-osx, size: 166500 | |
16:31 | Merge all recent fixes and enhancements from trunk into sessions. file: [4ad823ef] check-in: [2617d937] user: drh branch: sessions, size: 165439 | |
2014-11-22
| ||
09:09 | Add SQLITE_ENABLE_OTA pre-processor directives so that this branch may be compiled with or without OTA. file: [32d7bece] check-in: [600cefdd] user: dan branch: ota-update, size: 164932 | |
2014-11-21
| ||
14:37 | Merge latest trunk changes with this branch. file: [d96b5f3e] check-in: [7ef44c5b] user: dan branch: ota-update, size: 164854 | |
2014-11-18
| ||
21:27 | Merge recent trunk enhancements. file: [f9240915] check-in: [ccb601f6] user: drh branch: apple-osx, size: 166431 | |
21:20 | Merge recent trunk enhancements, including the read-after-ROLLBACK change and the addition of sqlite3_stmt_scanstatus() support, as well as various minor bug fixes. file: [29e71a74] check-in: [f09055f3] user: drh branch: sessions, size: 165370 | |
2014-11-15
| ||
19:08 | Adding the "noskipscan" token to an sqlite_stat1.stat field prevents an index for being used with the skip-scan algorithm. file: [c9e95b8f] check-in: [00fe0950] user: drh branch: noskipscan-token, size: 164785 | |
2014-11-12
| ||
14:12 | Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. file: [c97db3c4] check-in: [839a6df9] user: drh branch: branch-3.8.7, size: 164505 | |
2014-11-07
| ||
14:37 | Fix another harmless comment typo. file: [71b0bf1a] check-in: [b45bc80b] user: drh branch: trunk, size: 164716 | |
2014-11-01
| ||
18:32 | Add requirements marks and make minor tweaks to documentation. file: [8f67ca79] check-in: [49188b2b] user: drh branch: trunk, size: 164716 | |
2014-10-31
| ||
15:20 | Merge all recent trunk enhancements into the apple-osx branch. file: [b156fa7c] check-in: [fef8430f] user: drh branch: apple-osx, size: 166481 | |
14:53 | Merge recent trunk enhancements, and in particular the improvements to the b-tree balancing logic, into the sessions branch. file: [339f3f8b] check-in: [28b044a5] user: drh branch: sessions, size: 165420 | |
2014-10-29
| ||
18:20 | Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. file: [4f86ac64] check-in: [08a27440] user: drh branch: trunk, size: 164766 | |
2014-10-27
| ||
18:42 | Merge latest enhancements, including the SQLITE_ENABLE_API_ARMOR patch, from trunk. file: [327b70f8] check-in: [10aaf3b1] user: drh branch: apple-osx, size: 166477 | |
2014-10-25
| ||
13:42 | 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. file: [90519c3b] check-in: [0f08924f] user: drh branch: trunk, size: 164762 | |
2014-10-24
| ||
19:28 | Enhance the automatic index logic so that it creates a partial index when doing so gives the same answer for less work. UPDATE: This change introduced a bug described by ticket [2326c258d02ead33]. file: [123b28f3] check-in: [d95d0313] user: drh branch: trunk, size: 164757 | |
2014-10-22
| ||
19:57 | 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. file: [6e9e1256] check-in: [ca3b00c4] user: drh branch: trunk, size: 164575 | |
15:27 | 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. file: [d6d423b0] check-in: [3c933bf9] user: drh branch: trunk, size: 164578 | |
2014-10-20
| ||
16:34 | Merge version-3.8.7 changes with this branch. file: [cf72fe02] check-in: [d380a648] user: dan branch: ota-update, size: 164570 | |
2014-10-14
| ||
14:17 | Merge from trunk recent micro-optimizations and the fix for the DESC index GROUP BY ORDER BY bug. file: [0c5e6587] check-in: [880df756] user: drh branch: apple-osx, size: 166216 | |
13:41 | Merge recent trunk micro-optimizations and the DESC index GROUP BY ORDER BY bug fix into the sessions branch. file: [f712b324] check-in: [83d4114f] user: drh branch: sessions, size: 165155 | |
2014-10-13
| ||
12:30 | Use OP_SorterColumns in aggregate queries. Remove OPFLAG_CLEARCACHE. file: [f7812f74] check-in: [134e65c0] user: drh branch: OP_SorterColumns, size: 164501 | |
2014-10-10
| ||
18:09 | Changes to enable compiling using VC6. file: [c417a25e] check-in: [9ee5686a] user: drh branch: trunk, size: 164582 | |
12:56 | Merge all recent trunk changes. file: [eaacd377] check-in: [abfef254] user: drh branch: sessions, size: 165218 | |
2014-10-09
| ||
11:27 | Merge the latest trunk enhancements into the apple-osx branch. file: [17ad00f1] check-in: [6fc72077] user: drh branch: apple-osx, size: 166279 | |
2014-10-07
| ||
15:46 | Enhance (and fix) the MEMTYPE tags associated with heap memory allocations when SQLITE_MEMDEBUG is used. file: [6ac5e34a] check-in: [ca5b789e] user: drh branch: trunk, size: 164564 | |
2014-10-03
| ||
19:16 | Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples under some circumstances. file: [3e4bd1b2] check-in: [e6f7f97d] user: dan branch: stat4-avgeq, size: 164640 | |
2014-10-01
| ||
01:52 | Merge the latest enhancements from trunk. file: [c0e679f9] check-in: [2695772c] user: drh branch: sessions, size: 165219 | |
01:46 | Merge the latest enhancements from trunk. file: [15966870] check-in: [2078454a] user: drh branch: apple-osx, size: 166280 | |
2014-09-30
| ||
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. file: [5a430c54] check-in: [5ce05757] user: drh branch: trunk, size: 164565 | |
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. file: [254797e6] check-in: [b6b28918] user: drh branch: trunk, size: 164558 | |
12:33 | Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(), and sqlite3TreeViewSelect(). file: [8242d047] check-in: [4ff51325] user: drh branch: trunk, size: 164615 | |
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 file: [ba443d9a] check-in: [5e5d6e86] user: drh branch: faster-OP_Column, size: 164463 | |
2014-09-27
| ||
19:51 | Merge recent trunk changes (performance enhancements) into the sessions branch. file: [219f6e93] check-in: [497367cb] user: drh branch: sessions, size: 165044 | |
2014-09-25
| ||
02:44 | Change that might allow SQLite to build and work using the EBCDIC character set. file: [5e09fe04] check-in: [ef30e035] user: drh branch: trunk, size: 164390 | |
2014-09-24
| ||
13:20 | Do not allow parameters in a DEFAULT clause of a CREATE TABLE statement. Ticket [78c0c8c3c9f7c1]. file: [ca777ba0] check-in: [1ad2bc1e] user: drh branch: trunk, size: 164288 | |
2014-09-21
| ||
23:08 | Merge in all recent changes from trunk. file: [f607f57c] check-in: [3967ebe8] user: drh branch: apple-osx, size: 165999 | |
22:49 | Merge all recent trunk changes into the sessions branch. file: [35f074de] check-in: [6406b77f] user: drh branch: sessions, size: 164938 | |
00:27 | Improved ".selecttrace" output. file: [5ecde219] check-in: [c0b61f70] user: drh branch: select-trace, size: 164284 | |
2014-09-20
| ||
20:24 | Fix the SELECTTRACE_ENABLE macro so that it doesn't cause problems for testfixture. Add new SELECTTRACE() calls. file: [10209068] check-in: [f1ba68f1] user: drh branch: select-trace, size: 164090 | |
18:18 | Enable SELECT query planning tracing when compiled with SQLITE_ENABLE_SELECTTRACE and either SQLITE_DEBUG or SQLITE_TEST. file: [59b0796c] check-in: [cbe0cf9d] user: drh branch: select-trace, size: 164122 | |
00:02 | Revise macro usage in 'sqliteInt.h'. file: [6fd801ca] check-in: [35db3e2f] user: mistachkin branch: sqliteIntMacros, size: 163617 | |
2014-09-19
| ||
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. file: [686e6a49] check-in: [3f3ca76a] user: drh branch: trunk, size: 163590 | |
2014-09-18
| ||
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. file: [9bb8f655] check-in: [4ef4c9a7] user: drh branch: trunk, size: 163590 | |
2014-09-15
| ||
15:34 | Merge latest trunk changes with this branch. file: [3210f8bd] check-in: [55b8011d] user: dan branch: ota-update, size: 163630 | |
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. file: [0803e900] check-in: [0bdf1a08] user: drh branch: trunk, size: 163561 | |
2014-09-12
| ||
04:28 | Fix a problem with parser memory allocation on 32-bit systems. file: [e9030816] check-in: [2f69a1fa] user: drh branch: trunk, size: 163091 | |
2014-09-11
| ||
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. file: [0f6bd5c2] check-in: [7e4978c0] user: drh branch: trunk, size: 163094 | |
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. file: [c208bf79] check-in: [842c6da8] user: drh branch: user-auth, size: 163094 | |
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. file: [cb44c24e] check-in: [596e728b] user: drh branch: user-auth, size: 163058 | |
2014-09-10
| ||
19:01 | Add the ".user" shell command and implement the sqlite3_user_add() routine. Incremental check-in. The code compiles but does not work. file: [fdc23ef0] check-in: [a0455f9d] user: drh branch: user-auth, size: 162769 | |
17:34 | Further ideas on user authentication. Not yet working code. file: [10a1f056] check-in: [c8171ecd] user: drh branch: user-auth, size: 162707 | |
2014-09-09
| ||
17:27 | Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_texte64(), sqlite3_result_blob64(), and sqlite3_result_texte64(). Internal memory allocation routines also now use 64-bit unsigned length parameters for safety. Also add the sqlite3_msize() interface. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. file: [0a9083f9] check-in: [94954850] user: drh branch: 64-bit-lengths, size: 161578 | |
14:47 | Non-working preliminary implementation attempts on user authentication. file: [883f905f] check-in: [8440f093] user: drh branch: user-auth, size: 162860 | |
2014-09-08
| ||
15:04 | Merge support for large files on Android from trunk. file: [4d6c5c87] check-in: [c2885c6b] user: drh branch: sessions, size: 162232 | |
2014-09-06
| ||
16:39 | Fix typos in comments. No code changes. file: [4d1b0488] check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 161578 | |
01:35 | Query planner heuristic update: When doing a full table scan on a table that has an equality constraint on an unindexed column, do not allow the estimated number of output rows to be greater than half the total number of rows in the table. file: [dbc9a498] check-in: [73954f93] user: drh branch: trunk, size: 161575 | |
2014-09-02
| ||
19:59 | Add an experimental extension for applying bulk updates to databases. file: [7c090825] check-in: [2954ab50] user: dan branch: ota-update, size: 161725 | |
15:57 | Merge the latest trunk changes into the apple-osx branch. file: [439ad3b9] check-in: [696dc935] user: drh branch: apple-osx, size: 163371 | |
15:49 | Merge the latest trunk changes, including the multi-threaded sorter, into the sessions branch. file: [465b40eb] check-in: [d4cce2c7] user: drh branch: sessions, size: 162310 | |
2014-08-29
| ||
19:06 | Disable worker threads when SQLITE_THREADSAFE=0. Set the default compile-time maximum number of worker threads to 8 and honor the SQLITE_DEFAULT_WORKER_THREADS compile-time constant (which defaults to 0). file: [6244ee90] check-in: [33fa0410] user: drh branch: threads, size: 161656 | |
16:20 | Add SQLITE_LIMIT_WORKER_THREADS for controlling the maximum number of worker threads. file: [e539938b] check-in: [1b598c68] user: drh branch: threads, size: 161632 | |
2014-08-26
| ||
02:15 | Merge recent performance enhancements and the CAST operator enhancements into the sessions branch. file: [2ecc10cd] check-in: [08ae974a] user: drh branch: sessions, size: 161381 | |
02:02 | Merge recent performance enhancements and the CAST operator enhancements into the apple-osx branch. file: [de747e3e] check-in: [5c273111] user: drh branch: apple-osx, size: 162387 | |
2014-08-25
| ||
23:44 | Remove the SQLITE_CONFIG_WORKER_THREADS configuration parameter. The number of worker threads in the sorter is now determined only by the PRAGMA threads=N setting. file: [43419afa] check-in: [e3305d4b] user: drh branch: threads, size: 161702 | |
15:13 | Query or change the maximum number of worker threads allowed on each database connection separately using the "PRAGMA threads" command. file: [d8eb2d4d] check-in: [29c5e8a7] user: drh branch: threads, size: 161739 | |
13:27 | Merge the recent performance enhancements implemented on trunk into the threads branch. file: [80d0bb05] check-in: [dfdc900f] user: drh branch: threads, size: 161668 | |
2014-08-22
| ||
18:48 | Performance enhancement in sqlite3PutVarint(). file: [d8a9be2a] check-in: [a929be55] user: drh branch: trunk, size: 160727 | |
18:00 | Split the sqlite3Error() routine into sqlite3Error() and sqlite3ErrorWithMsg(), for a slight size reduction and performance increase. file: [937869c4] check-in: [cf561d1f] user: drh branch: trunk, size: 161393 | |
14:34 | Get the sqlite3VdbeSerialGet() routine to run faster by avoiding the use of local variables. file: [99bd20e5] check-in: [8267d821] user: drh branch: experimental, size: 161353 | |
2014-08-15
| ||
22:37 | Aborted merge. file: [f67d4b28] check-in: [c8ade949] user: numist branch: obsolete, size: 161465 | |
2014-08-06
| ||
02:03 | Merge all recent changes from trunk. file: [b500ee46] check-in: [a353a851] user: drh branch: threads, size: 162024 | |
01:51 | Merge 3.8.6 beta changes in from trunk. file: [e8916c78] check-in: [b2e01080] user: drh branch: apple-osx, size: 162743 | |
01:25 | Merge the latest 3.8.6 beta changes from trunk. file: [d60dbbad] check-in: [68a6d5e2] user: drh branch: sessions, size: 161737 | |
2014-08-05
| ||
19:16 | Add the ability to evaluate IN operators as a sequence of comparisons as an alternative to the long-standing algorithm of building a lookup table. Use the new implementation in circumstances where it is likely to be faster, such as when the RHS of the IN changes between successive evaluations. file: [641f8fbb] check-in: [95286821] user: drh branch: trunk, size: 161083 | |
11:04 | Rename the internal Schema.flags field to Schema.schemaFlags. file: [85c03bee] check-in: [5ae80b3c] user: drh branch: trunk, size: 160937 | |
2014-08-01
| ||
15:34 | The idea of coding IN operator with a short list on the RHS as an OR expression turns out to be helpful. If the list is of length 1 or 2, the OR expression is very slightly faster, but the ephemeral table approach is clearly better for all list lengths greater than 2. Better to keep the code simple. file: [5cee19f3] check-in: [e13175d3] user: drh branch: IN-operator-improvements, size: 160913 | |
14:46 | Begin making changes to the IN operator in an attempt to make it run faster and to make the code easier to understand. file: [17ece600] check-in: [ee0fd6aa] user: drh branch: IN-operator-improvements, size: 161059 | |
2014-07-31
| ||
22:59 | Refactoring: Change "pIndex->onError!=OE_None" to use a macro: "IsUniqueIndex(pIndex)". Easier to understand that way. file: [3b17ba74] check-in: [e75b26ee] user: drh branch: trunk, size: 160503 | |
2014-07-30
| ||
11:49 | Merge all recent trunk changes, and especially the R-Tree IN operator fix of ticket [d2889096e7bdeac]. file: [cf62c8e9] check-in: [654c6c65] user: drh branch: apple-osx, size: 162061 | |
2014-07-29
| ||
12:40 | Merge recent trunk changes, and especially the fix for the R-Tree problem described in ticket [d2889096e7bdeac6]. file: [56c7fe56] check-in: [8f1beead] user: drh branch: sessions, size: 161055 | |
00:23 | Fix the build on windows. file: [9c1e5b96] check-in: [2773a5f9] user: drh branch: threads, size: 161342 | |
2014-07-28
| ||
15:01 | Merge recent trunk changes into the threads branch. file: [f2b28ce0] check-in: [163c247b] user: drh branch: threads, size: 161435 | |
2014-07-25
| ||
21:35 | Try to fix harmless compiler warnings reported by Fortify. file: [068e42f4] check-in: [e0fa6fdc] user: drh branch: trunk, size: 160401 | |
2014-07-24
| ||
16:54 | Merge all recent trunk changes into the threads branch. file: [7d3b81b0] check-in: [77068589] user: drh branch: threads, size: 161436 | |
16:43 | Merge recent trunk changes into the apple-osx branch. file: [ea8283fb] check-in: [3810dc62] user: drh branch: apple-osx, size: 162062 | |
16:23 | Merge recent trunk changes into the sessions branch. file: [83f438c5] check-in: [a9db017e] user: drh branch: sessions, size: 161056 | |
12:19 | Add support for hexadecimal integer literals in the parser. file: [152134c6] check-in: [f8f79f28] user: drh branch: trunk, size: 160402 | |
2014-07-23
| ||
23:57 | Add experimental "costmult" logic. Only enabled when compiled with -DSQLITE_ENABLE_COSTMULT. file: [deee99a6] check-in: [729ece40] user: drh branch: trunk, size: 160357 | |
14:52 | Remove a surplus function prototype. #ifdef code that is not used when hex integers are omitted at compile time. file: [e8ff8fdb] check-in: [a5b383e0] user: drh branch: hex-literal, size: 160299 | |
13:40 | Change the hex literal processing so that only the SQL parser understands hex literals. Casting and coercing string literals into numeric values does not understand hexadecimal integers. This preserves backwards compatibility. Also: Throw an error on any hex literal that is too big to fit into 64 bits. file: [783e77ab] check-in: [6c6f0de5] user: drh branch: hex-literal, size: 160338 | |
2014-07-22
| ||
20:02 | Add the OP_ReopenIdx opcode that works like OP_OpenRead except that it becomes a no-op if the cursor is already open on the same index. Update the OR-optimization logic to make use of OP_ReopenIdx in order to avoid unnecessary cursor open requests sent to the B-Tree layer. file: [b72a0932] check-in: [77f412ca] user: drh branch: trunk, size: 160254 | |
00:40 | For the OR-optimization, avoid generating OP_OpenRead opcodes that reopen exactly the same index. file: [0991b31a] check-in: [b67a6e33] user: drh branch: trunk, size: 160266 | |
2014-07-21
| ||
15:44 | Allow the SQLITE_MAX_ATTACHED compile-time option to be larger than 62. The default limit on the number of attached databases remains 10. file: [5dbcdcf8] check-in: [1a817ae2] user: drh branch: trunk, size: 160186 | |
2014-06-30
| ||
20:25 | Merge the latest trunk changes into the threads branch. file: [54cf6813] check-in: [ae23a65e] user: drh branch: threads, size: 160634 | |
20:02 | Merge the latest trunk enhancements into the sessions branch. file: [19dc3767] check-in: [a5d94eab] user: drh branch: sessions, size: 160254 | |
19:57 | Merge the latest trunk changes into the apple-osx branch. file: [d8e721af] check-in: [f426876f] user: drh branch: apple-osx, size: 161260 | |
2014-06-26
| ||
20:21 | Attempt to use sqlite_stat4 data to estimate the number of rows visited by a range query that uses a skip-scan. This code is largely untested. file: [e88614d7] check-in: [01dc8102] user: dan branch: stat4-skipscan, size: 159600 | |
2014-05-29
| ||
20:36 | Merge trunk changes into the apple-osx branch. file: [6b40bb90] check-in: [b9fad449] user: drh branch: apple-osx, size: 161119 | |
20:29 | Merge trunk changes into the sessions branch. file: [b9260ccf] check-in: [9f18e78f] user: drh branch: sessions, size: 160113 | |
20:24 | Merge changes from the trunk into the threads branch. file: [00cd3cf7] check-in: [416cb091] user: drh branch: threads, size: 160493 | |
2014-05-27
| ||
18:18 | Change the name of the Index.autoIndex field to Index.idxType and provide symbolic names for the various values of that field rather than using magic numbers. file: [fccdc735] check-in: [d16e575d] user: drh branch: trunk, size: 159459 | |
2014-05-20
| ||
00:27 | Merge all recent trunk changes into the apple-osx branch. file: [43694557] check-in: [23722be4] user: drh branch: apple-osx, size: 160725 | |
00:20 | Merge recent trunk changes into the sessions branch. file: [01c7555d] check-in: [2d33afe0] user: drh branch: sessions, size: 159719 | |
2014-05-19
| ||
15:16 | Changes to help ensure that a multiplication does not overflow when computing the number of bytes needed for a memory allocation, and cause a malfunction. No problems existing problems were discovered. However, these changes should help to ensure that no problems arise in the future. file: [2b247d6b] check-in: [17349a49] user: drh branch: safer-malloc, size: 159065 | |
2014-05-16
| ||
14:27 | Merge all recent changes from trunk, and especially the new sqlite3FaultSim() interface. file: [7bda339d] check-in: [43fcbd91] user: drh branch: threads, size: 160099 | |
14:17 | Repurpose the SQLITE_TESTCTRL_FAULT_INSTALL test-control to register a callback to be invoked by sqlite3FaultSim(). That test-control has been unused since 2008-06-20 and was never used in any official release. file: [1977f442] check-in: [0d43a7ad] user: drh branch: trunk, size: 159065 | |
2014-05-08
| ||
23:01 | Initial attempt to merge in all trunk changes over the previous 1.5 years. This check-in compiles but there are compiler warnings and "make test" segfaults after only running a few test modules. file: [53c0b5cd] check-in: [9411d7dc] user: drh branch: apple-osx, size: 160502 | |
2014-05-06
| ||
15:28 | Experimental changes that reduce the size of Expr objects from 72 to 64 bytes each on x64 and from 48 to 44 bytes each on x32. file: [23b03ab0] check-in: [8ad0a123] user: drh branch: smaller-expr, size: 159101 | |
2014-05-05
| ||
22:49 | Add the "omit_check_constraints" pragma that causes the check constraint expressions to be omitted from the parse tree. file: [cf88022a] check-in: [f1a4bf01] user: drh branch: reduce-schema-size, size: 158921 | |
19:57 | Try to reduce the amount of memory used to hold the schema when PRAGMA ignore_check_constraints is active. file: [b1707e26] check-in: [35a9f3f1] user: drh branch: reduce-schema-size, size: 158842 | |
2014-05-03
| ||
11:22 | Add the SQLITE_DEFAULT_WORKER_THREADS compile-time option. Fix a NULL-pointer dereference that can occur following OOM. file: [85100312] check-in: [e0dea89b] user: drh branch: threads, size: 159876 | |
2014-05-02
| ||
18:05 | Merge orderby-planning with this branch. file: [76bd7ba5] check-in: [d9549de3] user: dan branch: threads, size: 159624 | |
2014-04-30
| ||
13:19 | Fix long-standing typos in comments. file: [b2947801] check-in: [b9f91317] user: drh branch: experimental-costs, size: 158842 | |
2014-04-28
| ||
18:02 | Merge all recent trunk enhancements and fixes into the sessions branch. file: [76b4d4f0] check-in: [e158812c] user: drh branch: sessions, size: 159498 | |
2014-04-25
| ||
20:22 | If the user provides likelihood() data for a WHERE clause term used as part of an index key, have the planner use it when calculating the expected number of rows visited by the loop. file: [63656cfa] check-in: [c51efaa5] user: dan branch: experimental-costs, size: 158844 | |
15:01 | Store values loaded from the stat1 table as logarithmic values in memory. file: [bad694fd] check-in: [1bd74c49] user: dan branch: experimental-costs, size: 158938 | |
2014-04-23
| ||
12:57 | Merge all recent trunk changes into the threads branch. file: [cc6486a5] check-in: [e2c9f71a] user: drh branch: threads, size: 159626 | |
2014-04-21
| ||
13:21 | Avoid discarding an ORDER BY clause in the case where an identical GROUP BY clauses uses an index to group, but not sort, the rows. Fix for [b75a9ca6b0]. file: [03e2f60c] check-in: [de9a490f] user: dan branch: trunk, size: 158844 | |
2014-04-18
| ||
12:38 | Merge recent trunk changes into the threads branch. file: [788c9b7d] check-in: [8729aa3e] user: drh branch: threads, size: 159513 | |
01:10 | Merge recent trunk changes into sessions. file: [8697c8e8] check-in: [95e77efe] user: drh branch: sessions, size: 159385 | |
00:49 | Add the SQLITE_RUNTIME_BYTEORDER compile-time option to force SQLite to check the processor byte-order at run-time. Add additional compile-time byte order checks for ARM, PPC, and SPARC. file: [d3ca0bdd] check-in: [2c536387] user: drh branch: trunk, size: 158731 | |
00:06 | Add the SQLITE_TESTCTRL_BYTEORDER test control to interrogate SQLite's notion of the processor byte order and whether the byte order is known at compile-time or determined at run-time. file: [35a265ef] check-in: [9c696196] user: drh branch: trunk, size: 158122 | |
2014-04-13
| ||
19:28 | Remove the unused second argument from sqlite3ExprCachePop(). Add an ALWAYS() on an always-true conditional in sqlite3VdbeResolveLabel(). file: [dadd17db] check-in: [ab23abf3] user: drh branch: trunk, size: 157934 | |
19:15 | Make sure column cache elements are cleared correctly when jumping over code for key generation in a partial index. Fix for ticket [2ea3e9fe6379fc3f6]. file: [97df117e] check-in: [3122b836] user: drh branch: trunk, size: 157939 | |
2014-04-10
| ||
02:24 | Modify the OR-clause handling so that it can safely deal with OR-clause with 17 or more terms. Fix for ticket [10fb063b1179be53ea0b53bb]. file: [9b136147] check-in: [a67b5312] user: drh branch: trunk, size: 157894 | |
2014-04-04
| ||
22:44 | Fix harmless compiler warnings. file: [533154bf] check-in: [e54dded2] user: drh branch: threads, size: 158675 | |
2014-04-03
| ||
16:35 | Merge all recent changes from trunk, including the fix for the OP_SCopy-vs-OP_Copy problem. file: [2ce2e12b] check-in: [9515c834] user: drh branch: sessions, size: 158547 | |
16:25 | Fix an integer overflow problem in the sorter. file: [78c89401] check-in: [9d3351b8] user: dan branch: threads, size: 158636 | |
2014-04-01
| ||
10:19 | Fix a problem with OOM handling in the sorter code. file: [3ed0fedb] check-in: [59cd5229] user: dan branch: threads, size: 158557 | |
2014-03-31
| ||
19:57 | Add the SQLITE_MAX_WORKER_THREADS compile time option. And the SQLITE_CONFIG_WORKER_THREADS sqlite3_config() switch. file: [7f42c279] check-in: [2774710d] user: dan branch: threads, size: 158545 | |
2014-03-28
| ||
19:18 | Merge latest changes from orderby-planning branch. file: [3f5190a4] check-in: [4c7fb542] user: dan branch: threads, size: 158167 | |
03:12 | Enhance the sqlite3VdbeRecordCompare() routines so that if they encounter database corruption, they will set the UnpackedRecord.isCorrupt field and return 0. The sqlite3BtreeMovetoUnpacked() routine detects this and returns SQLITE_CORRUPT, causing the corruption to be reported back to the top-level. file: [cc9582a9] check-in: [7fa85eaa] user: drh branch: trunk, size: 157893 | |
2014-03-26
| ||
19:43 | Merge in fixes (including the corrupt-database crash fix) and performance enhancements from trunk. file: [b0fa7a8b] check-in: [fc8ca1a8] user: drh branch: sessions, size: 158479 | |
2014-03-25
| ||
13:17 | Merge all fixes and enhancements from trunk. file: [fb667a3d] check-in: [b415dfb6] user: drh branch: threads, size: 158099 | |
2014-03-24
| ||
16:30 | Remove unused variables Parse.nColCache and Parse.iColCache. file: [afbf39e9] check-in: [4d7551ce] user: dan branch: trunk, size: 157825 | |
2014-03-21
| ||
20:58 | Add the ability to use indices for the first few terms of an ORDER BY clause, then sort in batches to handle the later terms. file: [1e16bac1] check-in: [fa06a6fe] user: drh branch: trunk, size: 157953 | |
19:56 | Change the names of SRT_DistTable and SRT_Table used by CTE to more meaningful SRT_DistFifo and SRT_Fifo, respectively. Simplify the IgnorableOrderby() macro in the process. file: [76b1cf08] check-in: [45d8cc67] user: drh branch: trunk, size: 158043 | |
19:27 | Avoid leaking memory in an obscure case where the flattener adds an ORDER BY clause to the recursive part of a recursive query. file: [828f61d3] check-in: [1f413aca] user: dan branch: trunk, size: 157859 | |
2014-03-20
| ||
20:56 | Merge trunk fixes for "x IN (?)" handling. file: [dc37150a] check-in: [eca35871] user: drh branch: orderby-planning, size: 157745 | |
17:03 | The "x IN (?)" optimization in check-ins [2ff3b25f40] and [e68b427afb] is incorrect, as demonstrated by the in4-5.1 test case in this check-in. The "COLLATE binary" that was being added to the RHS of IN was overriding the implicit collating sequence of the LHS. This change defines the EP_Generic expression node property that blocks all affinity or collating sequence information in the expression subtree and adds that property to the expression taken from RHS of the IN operator. file: [42acfa3d] check-in: [2ea4a9f7] user: drh branch: trunk, size: 157835 | |
15:14 | Fix harmless compiler warnings. file: [db6d7cf6] check-in: [b1435f26] user: drh branch: trunk, size: 157792 | |
2014-03-19
| ||
14:10 | First attempt at getting block-sort to work. This is an incremental check-in. There are many problems still to be worked out. file: [03f7d4de] check-in: [59742dd4] user: drh branch: orderby-planning, size: 157696 | |
2014-03-13
| ||
15:41 | Merge latest trunk changes into this branch. file: [5b4df322] check-in: [d17231b6] user: dan branch: threads, size: 158060 | |
2014-03-06
| ||
13:48 | Merge the latest 3.8.4 tweaks from trunk. file: [00c7411f] check-in: [1ed463d9] user: drh branch: sessions, size: 158440 | |
00:28 | Better support for MinGW 4.x. file: [fa7161b3] check-in: [170e0585] user: mistachkin branch: trunk, size: 157786 | |
2014-03-05
| ||
23:12 | Merge compiler-warning fixes from trunk. file: [d24228c0] check-in: [a1f2b042] user: drh branch: sessions, size: 156979 | |
15:52 | Count the number of elements in a SrcList object using an "int" rather than a "u8", to avoid overflows and to work around an issue in the C compiler on AIX. file: [7497e95a] check-in: [eee2a13f] user: drh branch: trunk, size: 156325 | |
2014-03-04
| ||
14:34 | Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. file: [9c34060f] check-in: [7f51ad97] user: drh branch: sessions, size: 156977 | |
00:15 | Do not assume that 'char' is signed. Make it explicit. file: [bf529055] check-in: [979da752] user: drh branch: broken-on-arm, size: 156323 | |
2014-03-01
| ||
19:44 | Remove the vdbeRecordCompareLargeHeader function. Fix some other details. file: [b06500d3] check-in: [3861e853] user: dan branch: experimental, size: 156323 | |
2014-02-27
| ||
20:52 | Merge in latest trunk changes. file: [843e23d4] check-in: [8f30b095] user: dan branch: experimental, size: 156079 | |
20:44 | Further changes to sqlite3VdbeRecordCompare(). file: [7b42e02c] check-in: [57089374] user: dan branch: experimental, size: 156151 | |
2014-02-26
| ||
19:05 | Only run the OP_OpenRead opcodes for a correlated subquery once, on the initial iteration. Keep the cursor open for subsequent runs. This was suppose to be a performance enhancement, but it is difficult to come up with a query where is makes a significant difference. Hence, the change is getting parked in a branch. file: [036e187f] check-in: [3ad687b7] user: drh branch: open-only-once, size: 156397 | |
2014-02-25
| ||
21:55 | Do not allow temporary registers to be in use across an OP_Yield within a co-routine. Fix for ticket [8c63ff0eca81a9132d8]. file: [46dfbe0b] check-in: [97a8c973] user: drh branch: trunk, size: 156259 | |
21:01 | Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. file: [6d868994] check-in: [85206e0b] user: dan branch: experimental, size: 156131 | |
14:52 | QNX requires that _FILE_OFFSET_BITS be set prior to any system #include. file: [6725dc99] check-in: [953cdd6a] user: drh branch: trunk, size: 156331 | |
2014-02-19
| ||
14:20 | Add the SQLITE_NOTNULL P5 code for comparison operations - really a composite of SQLITE_NULLEQ and SQLITE_JUMPIFNULL. This flag indicates that NULL operands are not possible and raises and assert() if NULL operands are seen. Also omit an unnecessary scan of the sqlite_sequence table when writing into an AUTOINCREMENT table. file: [616f8a22] check-in: [d2c047f3] user: drh branch: trunk, size: 156237 | |
2014-02-18
| ||
03:07 | Add VdbeCoverage() and VdbeCoverageIf() macros for improved VDBE coverage testing. file: [22111056] check-in: [b92d31a9] user: drh branch: trunk, size: 155904 | |
2014-02-17
| ||
22:40 | Add logic to do test coverage measurements on the VDBE code. file: [004bd505] check-in: [ce184c7b] user: drh branch: insert-optimization, size: 155966 | |
14:59 | Avoid unnecessary calls to applyAffinity() during INSERT and UPDATE operations, especially for table that have indices and tables for which all columns have affinity "NONE". file: [c5ba0868] check-in: [35b4d6e9] user: drh branch: insert-optimization, size: 155627 | |
2014-02-16
| ||
19:20 | Use the modern MinGW major version macro, not the deprecated one. file: [168f311a] check-in: [057c16ee] user: mistachkin branch: mingw4x, size: 157023 | |
01:55 | Enhance the code generator for INSERT INTO ... SELECT so that the SELECT generates output directly in the registers that INSERT INTO will be using, in many cases, and OP_SCopy operations can thus be avoided. file: [82aa6a9b] check-in: [aa2d8b0e] user: drh branch: insert-optimization, size: 155627 | |
2014-02-14
| ||
23:35 | Better support for MinGW 4.x. file: [bc5e9c7e] check-in: [e1472307] user: mistachkin branch: mingw4x, size: 157027 | |
2014-02-11
| ||
04:30 | Sync the latest trunk changes, and in particular the STAT4 IS NOT NULL fix. file: [2c9a421d] check-in: [b0067926] user: drh branch: sessions, size: 156283 | |
2014-02-09
| ||
18:02 | Use the WITH clause to help resolve names for SELECT statements on the left of a compound query. Proposed fix for ticket [31a19d11b97088296a]. file: [5b1f4e30] check-in: [67bfd59d] user: drh branch: trunk, size: 155629 | |
2014-02-08
| ||
23:20 | Do away with the "multi-register pseudo-table" abstration. Instead, just use an OP_SCopy to load results directory from the result registers of the co-routine. file: [edee30d5] check-in: [1e64dd78] user: drh branch: trunk, size: 155643 | |
01:40 | Change the OP_Trace opcode to OP_Init and give it the ability to jump to the initialization code at the bottom of the program, thus avoiding the need for an extra OP_Goto. file: [ab719053] check-in: [192dea97] user: drh branch: trunk, size: 155573 | |
2014-02-07
| ||
19:33 | Fix redundant definitions of _LARGE_FILE and _LARGEFILE_SOURCE. file: [d3dd8e37] check-in: [4043d879] user: drh branch: trunk, size: 155652 | |
2014-02-06
| ||
03:31 | Use OpenHash instead of OpenEphemeral for the RHS of IN operators if the result is not needed for sorting. file: [29b97acb] check-in: [715fac77] user: drh branch: subquery-codegen-refactor, size: 155298 | |
2014-02-05
| ||
19:10 | Separate out the code generators for the RHS of an IN operator and for SELECT/EXISTS expressions. file: [3f3b1f59] check-in: [61c34ba7] user: drh branch: subquery-codegen-refactor, size: 155293 | |
2014-02-04
| ||
20:46 | Remove the SF_Materialize flag from the SELECT object as it does not accomplish anything useful. file: [fdab572b] check-in: [65d5dcdd] user: drh branch: trunk, size: 155346 | |
15:55 | Rearrange fields in the Parse object for a tighter packing, resulting in an 8% size reduction on x64. file: [ee8b7647] check-in: [3e1a3f68] user: drh branch: trunk, size: 155368 | |
2014-01-28
| ||
18:06 | Bring in the latest updates from trunk. file: [5bec5e94] check-in: [7b5f3773] user: drh branch: sessions, size: 155714 | |
2014-01-24
| ||
22:58 | Fixes for various clang warnings. file: [22c8f711] check-in: [87bf6063] user: drh branch: trunk, size: 155060 | |
14:05 | Bring in all the latest trunk changes, including the Common Table Expressions implementation. file: [e4d4b5db] check-in: [9b43e559] user: drh branch: sessions, size: 155668 | |
2014-01-22
| ||
17:28 | Get ORDER BY working for recursive queries. file: [87a90ad4] check-in: [37b343b0] user: drh branch: cte-via-queue, size: 155014 | |
13:35 | Add new SelectDest codes, SRT_Queue and SRT_DistQueue in anticipation of adding ORDER BY support on recursive queries. Factor out the recursive query code generator into a separate procedure. file: [16c73326] check-in: [3eb5f9f8] user: drh branch: cte-via-queue, size: 154926 | |
00:23 | Remove an unnecessary parameter from selectInnerLoop(). Clean up comments. file: [73074ee5] check-in: [5e6c4a55] user: drh branch: cte-via-queue, size: 154368 | |
2014-01-21
| ||
01:13 | Fix a couple comment typos and one overly long line. No functional changes. file: [bd0ae728] check-in: [c57deced] user: mistachkin branch: level-pseudocolumn, size: 152075 | |
00:19 | Add support for the LEVEL pseudo-column in the recursive part of a common table expression. LEVEL has the value of 1 on the first iteration and successively larger integer values of subsequent iterations. It cannot have a table qualifier. Actual columns named "level" can still be accessed by including the table name qualifier. file: [d5a534b3] check-in: [cc1cb321] user: drh branch: level-pseudocolumn, size: 152076 | |
2014-01-20
| ||
14:58 | Remove an unused #define and add an assert(), both associated with WITH logic. file: [99fd6285] check-in: [a06235e0] user: drh branch: trunk, size: 151790 | |
2014-01-17
| ||
14:59 | Fix some problems to do with WITH clauses and name resolution. file: [9600eeb4] check-in: [6a549187] user: dan branch: common-table-expr, size: 151862 | |
2014-01-16
| ||
21:02 | Improve the error messages used to report illegal recursive cte references. file: [d49c0bea] check-in: [54eee9fe] user: dan branch: common-table-expr, size: 151772 | |
18:34 | Allow only a single recursive reference in a recursive CTE. Also require that this reference is not part of a sub-query. file: [b30bd950] check-in: [a296b733] user: dan branch: common-table-expr, size: 151823 | |
2014-01-15
| ||
19:42 | Fixes so that SQLITE_OMIT_CTE builds work. file: [6db445ce] check-in: [3908e2ea] user: dan branch: common-table-expr, size: 151891 | |
18:35 | Further comments on WITH-clause processing routines in select.c. file: [d9199145] check-in: [c948384d] user: drh branch: common-table-expr, size: 151860 | |
18:12 | When resolving names, consider a reference to a recursive CTE column as equivalent to a reference to the outermost name-context. This ensures that correlated sub-queries are correctly identified as such. file: [31bcde51] check-in: [61be2da0] user: dan branch: common-table-expr, size: 151661 | |
00:24 | Merge recent fixes from trunk. Cherrypick of [c43b59dac1], [a221aa82bb], [e1eba1fb09], and [1e131094b5]. file: [2f72428c] check-in: [c697d2f8] user: mistachkin branch: branch-3.8.2, size: 149619 | |
2014-01-14
| ||
20:14 | Add code to handle recursive CTEs. file: [fc7b2516] check-in: [a5c2a54a] user: dan branch: common-table-expr, size: 151587 | |
2014-01-13
| ||
15:12 | Add code to handle non-recursive CTEs in the same way as SQL views. file: [a350bcf6] check-in: [a26f399b] user: dan branch: common-table-expr, size: 151343 | |
2014-01-11
| ||
19:19 | Update the parser so that sub-queries and CTEs may have WITH clauses. file: [2710b3a6] check-in: [704d3931] user: dan branch: common-table-expr, size: 150973 | |
13:22 | Parse common table expressions. But do not do anything with them (yet). file: [bb093076] check-in: [da98b720] user: drh branch: common-table-expr, size: 150510 | |
2014-01-10
| ||
20:46 | Allow a VALUES clause to be used any place that a SELECT statement can be used. file: [0c65967b] check-in: [c9ea7d19] user: drh branch: trunk, size: 150387 | |
2014-01-04
| ||
19:27 | Avoid redundant register loads during index key generation when doing a DELETE or INTEGRITY_CHECK on a table with multiple indices. file: [672ef78e] check-in: [8f6e6149] user: drh branch: trunk, size: 150434 | |
16:49 | Omit OP_Close operations that occur immediately prior to OP_Halt and which cannot be jumped over. file: [40fa66cb] check-in: [874b7e99] user: drh branch: trunk, size: 150423 | |
2014-01-02
| ||
19:35 | Avoid unnecessary affinity transformations when building indices using data from a table. file: [a77cb6c7] check-in: [10d85135] user: drh branch: trunk, size: 150349 | |
2014-01-01
| ||
14:00 | Enhance sqlite3_randomness(N,P) such that it resets the internal PRNG if N is less than 1. Subsequent calls to sqlite3_randomness() will reinitialize the internal PRNG by calling the xRandomness() method of the default VFS. file: [62664868] check-in: [a221aa82] user: drh branch: trunk, size: 150353 | |
2013-12-24
| ||
12:09 | Merge the latest trunk changes into the sessions branch. file: [edf19afa] check-in: [cfd110bf] user: drh branch: sessions, size: 151041 | |
2013-12-23
| ||
19:09 | Move elements of the Vdbe object that are only used during statement preparation out into the Parse object. file: [fdb8c1e4] check-in: [c289a253] user: drh branch: trunk, size: 150387 | |
2013-12-21
| ||
17:07 | Avoid compiler warnings by only enabling sqlite3ErrName() when SQLITE_TEST is defined. file: [49c7a122] check-in: [862228e5] user: drh branch: trunk, size: 150212 | |
2013-12-20
| ||
13:11 | Simplify the accumulator reset for aggregate query processing so that it uses a single multi-register OP_Null rather than a separate OP_Null for each register. file: [d0815177] check-in: [2c7fd9b0] user: drh branch: trunk, size: 150276 | |
2013-12-17
| ||
15:03 | Add the printf() SQL function. file: [b7e9da87] check-in: [6db7052e] user: drh branch: printf-sql-function, size: 150196 | |
2013-12-14
| ||
18:24 | Merge in all recent preformance enhancements from trunk. file: [8c7d6a7f] check-in: [32477642] user: drh branch: sessions, size: 150403 | |
2013-12-13
| ||
16:23 | Simplication and optimization of error message handling. file: [3c1c14a5] check-in: [9d347f54] user: drh branch: trunk, size: 149749 | |
2013-12-09
| ||
19:03 | Performance optimizations for sqlite3VXPrintf(). file: [c59b756b] check-in: [9227ad48] user: drh branch: trunk, size: 149707 | |
2013-12-07
| ||
23:35 | Do not allow cursor hints to use expressions containing subqueries. This change fixes the problem seen in the previous check-in. file: [ccf72d12] check-in: [bfefc575] user: drh branch: cursor-hints, size: 149805 | |
20:39 | If the SQLITE_ENABLE_CURSOR_HINTS macro is defined, then invoke the sqlite3BtreeCursorHint() interface to provide hints to the storage engine about rows that need not be returned. Hints can be disabled using SQLITE_TESTCTRL_OPTIMIZATIONS with SQLITE_CursorHints (0x2000). Cursor hints are not used by the built-in storage engine of SQLite but might be useful to applications that provide their own storage engine. The current code is work-in-progrss and contains bugs. file: [081102b2] check-in: [3a9bec52] user: drh branch: cursor-hints, size: 149724 | |
2013-12-02
| ||
21:58 | Merge all recent 3.8.2 beta changes from trunk. file: [f4056513] check-in: [67c34ccf] user: drh branch: sessions, size: 150307 | |
2013-11-29
| ||
15:39 | Change the name of the CORRUPTIBLE macro to CORRUPT_DB. file: [f3a5d663] check-in: [f865be10] user: drh branch: trunk, size: 149653 | |
15:06 | Add a new sqlite3_test_control() that indicates that database files are always well-formed. Use this during testing to enable assert() statements that prove conditions that are always true for well-formed databases. file: [c26e4cde] check-in: [15e4f63d] user: drh branch: trunk, size: 149540 | |
2013-11-26
| ||
18:00 | Merge in performance enhancements from trunk. file: [dad3dff9] check-in: [fc9ae839] user: drh branch: sessions, size: 149610 | |
2013-11-21
| ||
21:23 | Do not reuse factored constants that might have had their encodings changed. file: [9d586cb3] check-in: [487f2036] user: drh branch: trunk, size: 148956 | |
20:48 | Fix the code generator to honor turning off constant expression factoring. file: [5cf2c563] check-in: [88262266] user: drh branch: trunk, size: 148886 | |
16:08 | When one or more arguments to a function are constants, try to factor out just those arguments into initialization code. file: [8cd0bb5b] check-in: [50d350ab] user: drh branch: trunk, size: 148633 | |
14:33 | Add the ability to factor constant functions out of inner loops. But do not factor out non-constant functions, like random(). file: [300dbe24] check-in: [1b0f779e] user: drh branch: trunk, size: 148453 | |
2013-11-16
| ||
20:13 | Enhance the DELETE logic so that it can make use of WHERE_ONEPASS_DESIRED for rowid tables. file: [03b91c6b] check-in: [8f479a72] user: drh branch: optimize-delete, size: 147954 | |
2013-11-15
| ||
18:15 | Changes to make the new constant expression factoring logic more general and more testable. file: [e16eb6e6] check-in: [d10fb49a] user: drh branch: expr-codegen-enhancement, size: 147949 | |
15:52 | Improvements to the Expr comparison routine to make it more general. Improvements to unary-minus code generation so that it can make use of a global constant register with a zero value. file: [11b0dd04] check-in: [835be656] user: drh branch: expr-codegen-enhancement, size: 147823 | |
01:10 | Rework the logic that factors constant expressions out of inner loops, making it both simpler and faster. file: [c5dfd52f] check-in: [8dc5c76c] user: drh branch: expr-codegen-enhancement, size: 147863 | |
2013-11-14
| ||
19:18 | Merge the skip-scan optimization into the sessions branch. file: [a14cf068] check-in: [7596d1bf] user: drh branch: sessions, size: 148480 | |
2013-11-13
| ||
17:58 | Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify some of the other debugging logic. file: [2ec1d712] check-in: [8ce33f4c] user: drh branch: trunk, size: 147826 | |
2013-11-11
| ||
22:55 | Merge in the WITHOUT ROWID changes. A few tests are failing now. They will be fixed in a follow-on check-in. file: [4d218f44] check-in: [5addd123] user: drh branch: sessions, size: 148407 | |
2013-11-08
| ||
16:54 | Performance improvement: Avoid unnecessary seeks on REPLACE INTO for a WITHOUT ROWID table. file: [3da1940a] check-in: [fd11afa5] user: drh branch: trunk, size: 147753 | |
15:19 | Performance improvements: Avoid unnecessary seeks when doing a single-row UPDATE on a WITHOUT ROWID table. file: [b4311956] check-in: [6f187a0f] user: drh branch: trunk, size: 147750 | |
2013-11-06
| ||
19:59 | Reference count the KeyInfo object. Cache a copy of an appropriate KeyInfo for each index in the Index object, and reuse that one copy as much as possible. file: [360c8a48] check-in: [defd5205] user: drh branch: omit-rowid, size: 147744 | |
2013-11-05
| ||
13:33 | Standardize the error messages generated by constraint failures to a format of "$TYPE constraint failed: $DETAIL". This involves many changes to the expected output of test cases. file: [765c3941] check-in: [54b22192] user: drh branch: omit-rowid, size: 147456 | |
2013-11-03
| ||
02:27 | Improved comments on foreign key logic. file: [0d272caa] check-in: [1315d910] user: drh branch: omit-rowid, size: 147352 | |
2013-11-02
| ||
14:37 | Store the root page of the PRIMARY KEY index for a WITHOUT ROWID table in the sqlite_master entry for the main table and omit the sqlite_master entry for the PRIMARY KEY. file: [7cc1b328] check-in: [b7544bb2] user: drh branch: omit-rowid, size: 147025 | |
2013-11-01
| ||
17:08 | Change the interface to sqlite3GenerateConstraintChecks() for improved lucidity and to fix issues in dealing with UPDATEs for WITHOUT ROWID tables. Make sure iDataCur and iIdxCur are initialized when processing DELETEs of a VIEW. UPDATE processing distinguishes between changes to ROWID and PRIMARY KEY. file: [bc4588b0] check-in: [c525ac56] user: drh branch: omit-rowid, size: 147007 | |
01:45 | A couple of bug fixes. file: [69c16a6a] check-in: [cdf00248] user: drh branch: omit-rowid, size: 147009 | |
2013-10-31
| ||
12:13 | Moving UPDATE towards the iDataCur/iIdxCur representation. Still not working for WITHOUT ROWID, though. file: [41c5b67e] check-in: [deacbd21] user: drh branch: omit-rowid, size: 147009 | |
11:15 | Refactor the INSERT, DELETE, and UPDATE code generators to distinguish between the "data cursor" and the "first index cursor", which are no longer consecutive in the case of a WITHOUT ROWID table. file: [c41205f3] check-in: [1adfca60] user: drh branch: omit-rowid, size: 147062 | |
2013-10-30
| ||
20:22 | Continue working to get UPDATE operational for WITHOUT ROWID tables. Fix PRAGMA integrity_check so that it works on WITHOUT ROWID tables. file: [f8fc23b5] check-in: [0d4fea74] user: drh branch: omit-rowid, size: 147045 | |
02:37 | Merge EXPLAIN enhancements from trunk. file: [03e64593] check-in: [2fcac056] user: drh branch: omit-rowid, size: 146993 | |
02:28 | Add the SQLITE_ENABLE_EXPLAIN_COMMENTS compile-time option to enable extra commentary in the EXPLAIN output. Formerly, this was only available with SQLITE_DEBUG. file: [6eff1bbd] check-in: [e1a89b56] user: drh branch: trunk, size: 146399 | |
2013-10-26
| ||
13:36 | Replace the OP_IsUnique opcode with OP_NoConflict. This code simplification might be useful to move onto trunk even if this branch is never merged. file: [2653257a] check-in: [e6650e16] user: drh branch: omit-rowid, size: 146796 | |
2013-10-25
| ||
14:46 | Basic DELETE operations now working on WITHOUT ROWID tables. file: [674cee67] check-in: [9eafafa3] user: drh branch: omit-rowid, size: 146925 | |
2013-10-24
| ||
19:48 | Update the interface to the sqlite3GenerateRowDelete() utility so that it is able to handle WITHOUT ROWID tables. The implementation still needs to be completed. file: [a0834a45] check-in: [85daf517] user: drh branch: omit-rowid, size: 146920 | |
2013-10-23
| ||
22:23 | Construct secondary indices on WITHOUT ROWID tables. file: [62dee86c] check-in: [2c028ddc] user: drh branch: omit-rowid, size: 146925 | |
13:30 | Some inserts and queries working for multi-column primary keys and WITHOUT ROWID. file: [dc7c57e1] check-in: [b21d831b] user: drh branch: omit-rowid, size: 146847 | |
01:57 | Some simple inserts and queries working on WITHOUT ROWID tables. file: [7cde2773] check-in: [3f8016de] user: drh branch: omit-rowid, size: 146781 | |
00:32 | Build internal data structures appropriately for WITHOUT ROWID tables. file: [a60fca7b] check-in: [35a36060] user: drh branch: omit-rowid, size: 146617 | |
2013-10-22
| ||
18:01 | The Index object now has nKeyCol and nColumn. nColumn is the total number of columns and nKeyCol is the number of key columns. Currently these always differ by one. Refactor aiColumn[] to be of type i16 instead of int. file: [b365e0f5] check-in: [a106ce86] user: drh branch: omit-rowid, size: 146403 | |
14:28 | Add a procedure to handle the messy details of allocating an Index object from the heap. file: [bf4e57f3] check-in: [45efc94f] user: drh branch: omit-rowid, size: 146344 | |
2013-10-21
| ||
23:55 | Minor refactoring of the PRIMARY KEY parsing logic to facilitate enhancements. file: [86649319] check-in: [4e69dd5f] user: drh branch: omit-rowid, size: 146405 | |
02:14 | Simplification of the syntax: Merely append "WITHOUT rowid" to the end of the table definition. file: [426774ce] check-in: [131cc6e1] user: drh branch: omit-rowid, size: 146284 | |
2013-10-19
| ||
23:31 | Experimental changes toward "index only" tables. Add the ability to specify options on CREATE TABLE statements using the WITH clause modeled after PostgreSQL and SQL Server. Only the "omit_rowid" option is currently recognized and that option is currently a no-op. file: [64409173] check-in: [0248ec5e] user: drh branch: omit-rowid, size: 146296 | |
2013-10-15
| ||
14:10 | Merge the latest trunk changes into the sessions branch. This merge should fix the build for WinRT. file: [cc58deab] check-in: [e111e4ed] user: drh branch: sessions, size: 146856 | |
2013-10-14
| ||
15:41 | Fix for building with SQLITE_OMIT_FOREIGN_KEY. file: [4dd81a25] check-in: [b8b5f6c8] user: dan branch: trunk, size: 146202 | |
2013-10-11
| ||
13:27 | Make sure the sqlite3.h file occurs at the very top of the sqlite3.c amalgamation. file: [eeebd252] check-in: [03593817] user: drh branch: trunk, size: 146200 | |
2013-10-10
| ||
20:13 | Synchronize with the trunk. file: [8605554b] check-in: [136445ba] user: drh branch: sessions, size: 146854 | |
2013-10-07
| ||
16:53 | Try to remember statistics from ANALYZE using LogEst instead of u64. file: [a5fa87b5] check-in: [8e78557a] user: drh branch: log-stats, size: 146188 | |
2013-10-05
| ||
19:18 | Completely remove the iScanRatio field. The PRAGMA index_list(TABLE) command shows the estimated row size in the forth column. It also generates a row for the table with an index name of NULL. The query planner still does not take row size estimates into account - that is the next step. file: [5dbfc960] check-in: [8b4aa0c7] user: drh branch: row-size-est, size: 146200 | |
18:16 | Begin an experimental refactoring to estimate the average number of bytes in table and index rows and to use that information in query planner. Begin by renaming WhereCost to LogEst and making that type and its conversion routines available outside of where.c. file: [75a6f6b2] check-in: [66c4a251] user: drh branch: row-size-est, size: 146270 | |
2013-10-04
| ||
15:30 | Improved estimates of the relative speed of index scans based on declared datatypes of columns in the table. Add "r" column to PRAGMA index_info, showing the estimated relative scan rate. file: [da0e92df] check-in: [07462bb6] user: drh branch: index-scan-rate, size: 144927 | |
2013-10-03
| ||
19:21 | Experimental branch allowing different postulated scan rates for each index. file: [c32d524f] check-in: [d59d97b0] user: drh branch: index-scan-rate, size: 144858 | |
15:39 | The sqlite3FixInit() routine cannot fail. So change the return type from "int" to "void". file: [50f51427] check-in: [500c5932] user: drh branch: trunk, size: 144788 | |
12:29 | Return an error if an attempt is made to create a trigger with an SQL variable embedded within it. If such a variable reference is found within a trigger definition loaded from the sqlite_master table, silently replace it with a NULL. file: [d759d22c] check-in: [f35f6ae3] user: dan branch: trunk, size: 144787 | |
2013-09-16
| ||
12:57 | The date and time functions use the exact same notion of "now" for every invocation within the same call to sqlite3_step(). file: [18c7f80e] check-in: [daf6ba41] user: drh branch: trunk, size: 144724 | |
2013-09-12
| ||
23:42 | Refactor the ExprSetIrreducible() macro into ExprSetVVAProperty(*,EP_NoReduce). This is a naming change only. The logic is the same. file: [89603429] check-in: [695aee46] user: drh branch: unlikely-func, size: 144668 | |
17:29 | Merge in the Expr.flags expansion to 32-bits. Use an extra bit to help optimize the sqlite3ExprSkipCollate() routine. file: [5d368cb0] check-in: [4c84d1b4] user: drh branch: unlikely-func, size: 144757 | |
16:50 | Increase the number of bits available in Expr.flags. Other tweaks aimed at making expression processing more robust. file: [e4cb0c87] check-in: [579a5125] user: drh branch: expr-tuning, size: 144524 | |
01:33 | Remove two obsolete fields from the sqlite3 object. file: [600a1da8] check-in: [117fa5fb] user: drh branch: trunk, size: 144689 | |
2013-09-07
| ||
00:29 | Continuing refinements of the logic to take WHERE clause terms not used for indexing into account when computing the number of output rows from each table. file: [ac21b3ae] check-in: [b65dc534] user: drh branch: unlikely-func, size: 145010 | |
2013-09-06
| ||
15:23 | Initial implementation of the unlikely() SQL function used as a hint to the query planner. file: [fd9005fa] check-in: [036fc37a] user: drh branch: unlikely-func, size: 144929 | |
13:10 | Combine the FuncDef.iPrefEnc and FuncDef.flags fields into a single new FuncDef.funcFlags field. file: [32e959db] check-in: [97b10e66] user: drh branch: trunk, size: 144850 | |
2013-09-05
| ||
18:40 | When preparing an UPDATE statement, avoid generating VDBE code for those foreign key related actions and constraint checks that may be seen to be unnecessary by considering the subset of table columns potentially modified by the UPDATE. file: [a083fc4e] check-in: [e940b5de] user: dan branch: trunk, size: 144781 | |
2013-08-29
| ||
15:08 | Merge from trunk: (1) Recent bug fixes (2) STAT4 support (3) win32-longpath support. file: [7806162e] check-in: [e7ebc8f7] user: drh branch: sessions, size: 145401 | |
2013-08-27
| ||
23:15 | Adjust ANALYZE for improved test coverage. Use the SQLITE_ENABLE_STAT3_OR_STAT4 macro (created in sqliteInt.h) to conditionally include code, instead of a boolean specifying both macros separately. file: [600086a5] check-in: [67a9a392] user: drh branch: trunk, size: 144747 | |
20:16 | Reduce the amount of code run and memory used for ANALYZE in the common case where neither STAT3 and STAT4 are enabled. file: [97b1005b] check-in: [9d1424c9] user: drh branch: trunk, size: 144371 | |
2013-08-26
| ||
23:18 | Merge the STAT4 capability into trunk. file: [f3636620] check-in: [a32af0ab] user: drh branch: trunk, size: 144299 | |
2013-08-22
| ||
15:07 | Merge in minor bug fixes and performance tweaks from trunk leading up to the version 3.8.0 release. file: [93fe5b4c] check-in: [831492dc] user: drh branch: sessions, size: 145000 | |
2013-08-21
| ||
21:12 | Simplification to the StrAccum object and the sqlite3StrAccumAppend() method that also results in slightly better performance. file: [124e4b19] check-in: [700dbbea] user: drh branch: trunk, size: 144346 | |
17:35 | If a virtual table xSync() returns an error message, copy it into a buffer allocated by sqlite3DbMalloc() before transfering it to Vdbe.zErrMsg. file: [e4ae9edb] check-in: [854ba304] user: dan branch: trunk, size: 144374 | |
2013-08-19
| ||
12:49 | Merge in all the latest updates and enhancements from trunk. file: [a24a7f54] check-in: [67587a33] user: drh branch: sessions, size: 144975 | |
2013-08-16
| ||
20:42 | Add the cache_spill pragma. file: [eae58298] check-in: [cdb181c0] user: drh branch: cache_spill, size: 144321 | |
12:26 | Merge recent trunk changes into the STAT4 branch. file: [85cc7975] check-in: [c69b512a] user: drh branch: sqlite_stat4, size: 144202 | |
2013-08-15
| ||
20:24 | Bare identifiers in ORDER BY clauses bind more tightly to output column name, but identifiers in expressions bind more tightly to input column names. This is a compromise between SQL92 and SQL99 behavior and is what PostgreSQL and MS-SQL do. Ticket [f617ea3125e9c]. file: [b2a4e9a8] check-in: [c78b357c] user: drh branch: trunk, size: 144249 | |
14:27 | Clarification and typo fixes in comments related to name resolution. No changes to code. file: [ac5de156] check-in: [f30abdf9] user: drh branch: trunk, size: 144395 | |
2013-08-12
| ||
20:14 | If ENABLE_STAT3 is defined but ENABLE_STAT4 is not, have ANALYZE create and populate the sqlite_stat3 table instead of sqlite_stat4. file: [35ee1445] check-in: [cca8bf43] user: dan branch: sqlite_stat4, size: 144347 | |
16:34 | Re-enable reading from the sqlite_stat3 table (as well as sqlite_stat4). file: [646063fc] check-in: [6d45078e] user: dan branch: sqlite_stat4, size: 144239 | |
2013-08-07
| ||
19:46 | Replace variable Index.avgEq (average number of rows in keys for which there is no sample in sqlite_stat4) with vector Index.aAvgEq. file: [0ff47977] check-in: [7b70b419] user: dan branch: sqlite_stat4, size: 144203 | |
18:42 | Merge latest trunk changes with this branch. file: [dfb02189] check-in: [08f74c45] user: dan branch: sqlite_stat4, size: 144208 | |
15:57 | Remove the unused sqlite3Utf8to16() utility function. file: [42adcd08] check-in: [9159b43e] user: drh branch: sqlite_stat4, size: 143839 | |
15:52 | When estimating the number of rows scanned using data from the sqlite_stat4 table, avoid allocating UnpackedRecord and KeyInfo structures until they are definitely required. file: [f56ec862] check-in: [353950a5] user: dan branch: sqlite_stat4, size: 143931 | |
2013-08-06
| ||
20:01 | When possible, use the multi-column samples in sqlite_stat4 to estimate the number of index rows scanned by a query plan. file: [31057687] check-in: [2973f5ca] user: dan branch: sqlite_stat4, size: 143988 | |
14:52 | Merge in the latest changes from trunk. file: [1f9abddf] check-in: [69d5bed0] user: drh branch: sessions, size: 145048 | |
2013-08-05
| ||
22:05 | Performance optimization: Avoid calling convertCompoundSelecctToSubquery() on queries that do not use the UNION, EXCEPT, or INTERSECT operators. file: [def0e436] check-in: [c589b2fe] user: drh branch: trunk, size: 144394 | |
19:11 | Factor all KeyInfo object allocations into a single function: sqlite3KeyInfoAlloc(). Always allocate enough space so that sqlite3VdbeRecordCompare() can avoid checking boundaries and hence run faster. file: [abae976c] check-in: [7301bedd] user: drh branch: trunk, size: 144236 | |
2013-08-03
| ||
20:24 | Begin adding experimental sqlite_stat4 table. This commit is buggy. file: [37e2952c] check-in: [2beea303] user: dan branch: sqlite_stat4, size: 143804 | |
2013-08-02
| ||
20:44 | Merge in the latest trunk changes, including partial indexes, the MAX_PATH fix in os_win.c, and the sqlite3_cancel_auto_extension() API. file: [717511de] check-in: [7e1acb39] user: drh branch: sessions, size: 144679 | |
2013-08-01
| ||
13:04 | Fill out an initial implementation of the sqlite3ExprImpliesExpr() function. file: [7c6ad474] check-in: [8e07aa2a] user: drh branch: partial-indices, size: 144025 | |
03:36 | Test cases and bug fixes for the partial index logic. file: [b39d5663] check-in: [6b73ae7c] user: drh branch: partial-indices, size: 144015 | |
01:14 | Add the logic to keep partial indices up to date through DML statements and when new partial indices are created. This new logic is untested except to verify that it does not interfere with full indices. file: [b69d7bac] check-in: [fb9044d1] user: drh branch: partial-indices, size: 144021 | |
2013-07-31
| ||
23:22 | Add logic to the query planner to only use partial indices if the WHERE clause constrains the search to rows covered by the partial index. This is just infrastructure. The key routine, sqlite3ExprImpliesExpr(), is currently a no-op so that partial indices will never be used. file: [911e2fe9] check-in: [8ca3eac1] user: drh branch: partial-indices, size: 143947 | |
19:05 | Resolve names in CREATE INDEX WHERE clauses and detect errors. Disallow expressions that contain variables, subqueries, or functions. The expression is still not used for anything, however. still unused. file: [ffe632c1] check-in: [f2aa7842] user: drh branch: partial-indices, size: 143900 | |
18:12 | Here begins an experimental branch for exploring the idea of a partial index. This check-in is able to parse a WHERE clause on a CREATE INDEX statement, but does not actually do anythingn with that WHERE clause yet. file: [c99f22c5] check-in: [6794b2dc] user: drh branch: partial-indices, size: 143756 | |
2013-07-29
| ||
15:54 | Comment and preprocessor macro cleanup. file: [89b52c05] check-in: [c0809b5e] user: drh branch: trunk, size: 143683 | |
2013-07-11
| ||
15:31 | Merge recent trunk changes (such as the query_only PRAGMA, the defer_foreign_keys PRAGMA, and the SQLITE_DBSTATUS_DEFERRED_FKS parameter to sqlite3_db_status()) into the sessions branch. file: [b25c57bb] check-in: [8dfc0b78] user: drh branch: sessions, size: 144671 | |
15:22 | Add the experimental "query_only" pragma. file: [6d3115f7] check-in: [6557c407] user: drh branch: trunk, size: 144017 | |
15:03 | Add the "defer_foreign_keys" pragma and the SQLITE_DBSTATUS_DEFERRED_FKS value for sqlite3_db_status(). This is a cherry-pick of a sequence of five checkins in the sessions branch between [1d44e5d3c2] and [d39e65fe70]. file: [074f5cdf] check-in: [527121ac] user: drh branch: trunk, size: 143943 | |
12:19 | Rename the SQLITE_DeferForeignKeys macro to shorter SQLITE_DeferFKs. Move the "defer_foreign_keys" pragma into the flagPragma() routine. file: [62b11aa8] check-in: [3a2ab74c] user: drh branch: sessions, size: 144597 | |
2013-07-10
| ||
18:14 | Fix harmless compiler warnings in the progress callback logic. file: [df1a9214] check-in: [908141d5] user: drh branch: trunk, size: 143726 | |
13:33 | Experimental "PRAGMA query_only=BOOLEAN" statement that is able to turn write capabilities on and off. file: [2819a1e4] check-in: [ece960c4] user: drh branch: query_only, size: 143799 | |
2013-07-09
| ||
13:05 | Pull in all the latest changes from trunk. file: [a83b0cef] check-in: [af3ca4c6] user: drh branch: sessions, size: 144567 | |
2013-07-03
| ||
19:53 | Experimental change to the handling of foreign key constraint violations when applying a changeset: all foreign keys, immediate and deferred, are deferred until the end of the transaction (or sub-transaction) opened by the sqlite3changeset_apply(). A single call to the conflict-handler (if any) is made if any FK constraint violations are still present in the database at this point. The conflict-handler may choose to rollback the changeset or to apply it, constraint violations and all. file: [5a005fde] check-in: [1d44e5d3] user: dan branch: sessions, size: 144414 | |
2013-06-28
| ||
17:29 | Add a bit to the SQLITE_TESTCTRL_OPTIMIZATIONS option for sqlite3_file_control() that will disable the use of SQLITE_STAT3 information in the query planner. file: [e461e0f9] check-in: [60c19b86] user: drh branch: trunk, size: 143726 | |
01:24 | Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted. file: [15f1a7e5] check-in: [59f98c5c] user: drh branch: trunk, size: 143654 | |
2013-06-27
| ||
23:54 | Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes "nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and "nVdbeExec". file: [d73fc173] check-in: [14f79696] user: drh branch: trunk, size: 143648 | |
17:40 | Make sure that sqlite3_stmt_readonly reports false for PRAGMA journal_mode and PRAGMA wal_checkpoint. Ticket [a589ec069e3]. Also keep track of whether a prepared statement does no reading or writing. file: [e8d5ed8a] check-in: [1937fd8e] user: drh branch: trunk, size: 143650 | |
2013-06-26
| ||
13:31 | Bring the sessions branch up-to-date with all the latest trunk changes. file: [e92a2e1b] check-in: [086a1272] user: drh branch: sessions, size: 144227 | |
2013-06-22
| ||
15:44 | Add the ability to disable the omit-join-table optimization for testing purposes. file: [e6f069b0] check-in: [d929df9b] user: drh branch: omit-join-table-opt, size: 143573 | |
2013-06-21
| ||
18:32 | Merge updates from trunk. file: [c3279fe5] check-in: [fa2a91e6] user: mistachkin branch: toTypeFuncs, size: 147887 | |
00:35 | Modify the query planner interface so that it always passes in the result set. This is the first step toward adding an optimization that will omit tables from a join that do not contribute to the result. file: [cabeb040] check-in: [2c2577e6] user: drh branch: omit-join-table-opt, size: 143500 | |
2013-06-13
| ||
15:16 | Make the MIN() and MAX() macros available in sqliteInt.h. Add TUNING comments to the NGQP and adjust costs slightly. file: [82a0f3e7] check-in: [3a72af2a] user: drh branch: nextgen-query-plan-exp, size: 143424 | |
2013-06-11
| ||
18:59 | Improved processing of DISTINCT. file: [026a52f3] check-in: [ba897100] user: drh branch: nextgen-query-plan-exp, size: 143290 | |
13:30 | Fix the Parse.nQueryLoop state variable to work with NGQP. file: [f2e51444] check-in: [f1cac24f] user: drh branch: nextgen-query-plan-exp, size: 143222 | |
2013-06-10
| ||
20:46 | Fix some minor issues with logarithmic cost in NGQP. file: [4284f3a9] check-in: [69cf8772] user: drh branch: nextgen-query-plan-logcost, size: 143215 | |
2013-06-05
| ||
23:39 | Move the definitions of the WhereLevel and WhereInfo objects out of sqliteInt.h and into where.c. This will facilitate future refactoring of the internal query planner data structures. file: [7b85b09d] check-in: [1574653b] user: drh branch: nextgen-query-plan-exp, size: 143218 | |
2013-06-04
| ||
12:42 | Refactor the ORDER BY optimizer in the NGQP so that it is easier to maintain and so that it can support optimizing out GROUP BY and DISTINCT clauses. file: [259d999a] check-in: [e605c468] user: drh branch: nextgen-query-plan-exp, size: 146713 | |
2013-05-31
| ||
15:50 | Remove the definitions of objects that are no longer used: WhereCost, WherePlan, and WhereBestIdx. file: [3ddccdf8] check-in: [816f8add] user: drh branch: nextgen-query-plan-exp, size: 146566 | |
2013-05-30
| ||
17:43 | Cut over the NGQP query planner. Remove lots of legacy code. This check-in compiles but does not work. The test suite gets incorrect answers and crashes. file: [c386fb7c] check-in: [001539df] user: drh branch: nextgen-query-plan-exp, size: 147749 | |
11:48 | Merge recent trunk changes into the NGQP branch. file: [55f43f10] check-in: [aebe1f26] user: drh branch: nextgen-query-plan-exp, size: 148264 | |
2013-05-28
| ||
17:25 | Remove the obsolete and unused sqlite3.inTrans field. file: [46fb17f6] check-in: [c3381cd4] user: drh branch: trunk, size: 147862 | |
12:11 | Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. file: [e8306784] check-in: [a0d5cc93] user: drh branch: trunk, size: 147940 | |
2013-05-27
| ||
17:59 | Update the NGQP to record which loops need be run in reverse order to satisfy ORDER BY clauses. file: [9e12a56e] check-in: [211f7a53] user: drh branch: nextgen-query-plan-exp, size: 148341 | |
2013-05-24
| ||
13:55 | Merge the latest trunk changes into the NGQP branch. file: [0b0ba16c] check-in: [7c8f992c] user: drh branch: nextgen-query-plan-exp, size: 148264 | |
12:47 | Set _XOPEN_SOURCE to 600 so that fchmod() will (hopefully) work on FreeBSD. file: [ba610d80] check-in: [61a10452] user: drh branch: trunk, size: 147939 | |
2013-05-21
| ||
15:52 | Work toward improving the NGQP's ability to optimize out ORDER BY clauses. file: [3b89d451] check-in: [67367f1e] user: drh branch: nextgen-query-plan-exp, size: 148655 | |
2013-05-15
| ||
08:00 | Merge updates from trunk. file: [8ed1fae1] check-in: [6fbad957] user: mistachkin branch: toTypeFuncs, size: 148355 | |
2013-05-14
| ||
15:31 | First attempt to get ORDER BY optimization working in NGQP. file: [b9b6a2e9] check-in: [9fe20292] user: drh branch: nextgen-query-plan-exp, size: 148657 | |
2013-05-10
| ||
02:11 | Merge in the latest trunk changes. file: [fab5580c] check-in: [5ed31c82] user: drh branch: nextgen-query-plan-exp, size: 148657 | |
02:00 | Free up bits of wsFlags for reuse. Install the ORDER BY optimization infrastructure for the NGQP. file: [b4411cfc] check-in: [82d50e19] user: drh branch: nextgen-query-plan-exp, size: 148525 | |
2013-05-09
| ||
23:40 | Merge trunk changes into the sessions branch. file: [2b53aa18] check-in: [512f8a1e] user: drh branch: sessions, size: 148984 | |
2013-05-08
| ||
03:05 | Add the NGQP solver. file: [aee09cf5] check-in: [5d37587c] user: drh branch: nextgen-query-plan-exp, size: 148327 | |
2013-05-03
| ||
18:29 | Merge all recent trunk changes into the sessions branch. file: [4b768ec5] check-in: [3879ab1b] user: drh branch: sessions, size: 148852 | |
2013-05-02
| ||
00:15 | Begin inserting some experimental code for the next generation query planner. file: [0d76a0aa] check-in: [ccaf4c3f] user: drh branch: nextgen-query-plan-exp, size: 148262 | |
2013-04-30
| ||
07:58 | Add the #ifdefs for sqlite3ErrName() to sqliteInt.h as well. file: [4cc782c9] check-in: [400fc4c3] user: mistachkin branch: winOsTrace, size: 148330 | |
2013-04-28
| ||
01:44 | Initial work on reforming usage of OSTRACE by the Windows VFS. file: [1a2b576d] check-in: [b347b5d1] user: mistachkin branch: winOsTrace, size: 148231 | |
2013-04-26
| ||
12:08 | Reduce the default SQLITE_MAX_MMAP_SIZE slightly so that it fits in a signed 32-bit integer. file: [de835c58] check-in: [460752b8] user: drh branch: trunk, size: 148198 | |
2013-04-25
| ||
00:57 | Make sure the affinity and datatype of sub-subqueries are initialized prior to subqueries as the latter relies on the former. file: [3585ea1b] check-in: [39b4e6ff] user: drh branch: trunk, size: 148180 | |
2013-04-22
| ||
23:59 | Merge the latest trunk changes into the sessions branch. file: [a9f727c0] check-in: [6994826c] user: drh branch: sessions, size: 148764 | |
2013-04-16
| ||
18:24 | Omit sqlite3_compileoption_used() entries that are not explicitly stated on the compiler command-line, except keep SQLITE_THREADSAFE around so that there is always at least one compilation option. file: [2a83cfec] check-in: [109d6767] user: drh branch: trunk, size: 148110 | |
2013-04-15
| ||
17:03 | Refactoring the mmap interface. The controlling pragma is now "mmap_size" instead of "mmap_limit". Also change SQLITE_CONFIG_MMAP_LIMIT and SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and SQLITE_FCNTL_MMAP_SIZE, respecctively. The default mmap_size is now always 0, meaning that memory mapped I/O is off by default. There is a new compile-time option SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size. Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic and causes it to be omitted from the build. An extra argument is added to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we know that it does not work, meaning that it cannot be turned on by mistake on those platforms. file: [9933ad95] check-in: [ea1404a1] user: drh branch: trunk, size: 147914 | |
2013-04-13
| ||
19:59 | Only consider AS names from the result set as candidates for resolving identifiers in the WHERE clause if there are no other matches. In the ORDER BY clause, AS names take priority over any column names. Candidate fix for ticket [2500cdb9be]. file: [7580edf7] check-in: [ad53924d] user: drh branch: tkt-2500cdb9be, size: 146963 | |
2013-04-08
| ||
20:47 | Disable the use of memory-mapped I/O if the SQLITE_DISABLE_MMAP macro is defined. Automatically define this macro for OpenBSD and QNX. Other systems are likely to be added to the disabled list over time. file: [1c517a89] check-in: [8a4314a3] user: drh branch: trunk, size: 146817 | |
2013-04-01
| ||
22:38 | Add the SQLITE_CONFIG_MMAP_LIMIT configuration option for overriding the SQLITE_DEFAULT_MMAP_LIMIT compile-time setting. Enhance "PRAGMA mmap_limit" so that without a specific database name, it sets the limit on all database files and changes the default for any future databases that might be added using ATTACH. file: [1664dc5a] check-in: [78141d0a] user: drh branch: experimental-mmap, size: 146641 | |
2013-03-19
| ||
19:28 | Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size". file: [2c3d830a] check-in: [6183f1bd] user: dan branch: experimental-mmap, size: 146558 | |
2013-03-13
| ||
20:52 | Merge updates from trunk. file: [d86179b5] check-in: [d63fa039] user: mistachkin branch: toTypeFuncs, size: 146524 | |
06:34 | Merge latest trunk changes into this branch. file: [a0a6b155] check-in: [d6cd3c78] user: dan branch: sessions, size: 147153 | |
2013-03-12
| ||
20:38 | Fix the ORDER BY optimization with IN constraints when the RHS of the IN constraint is a descending index. file: [0f8f05ee] check-in: [62316eba] user: drh branch: desc-orderby-fix-1, size: 146499 | |
18:34 | A proposed fix for the DESC ORDER BY bug of ticket [4dd95f6943fbd18]. Seems to work, but lots more testing is needed prior to moving to trunk. file: [e390bfaf] check-in: [614a038a] user: drh branch: desc-orderby-fix-1, size: 146533 | |
11:38 | Merge recent changes to trunk into sessions branch. file: [8515d149] check-in: [62adb0e0] user: dan branch: sessions, size: 147118 | |
09:07 | Increase strictness of the new experimental functions and add more tests. file: [4d3c88ac] check-in: [05c4463e] user: mistachkin branch: toTypeFuncs, size: 146410 | |
2013-03-11
| ||
13:37 | Define _BSD_SOURCE when building on OpenBSD. This is required for fchmod(). file: [59477c6d] check-in: [f9027cb4] user: dan branch: trunk, size: 146464 | |
2013-03-06
| ||
02:12 | Merge all the latest trunk changes into the sessions branch. file: [4b854bf7] check-in: [d69d2190] user: drh branch: sessions, size: 147039 | |
2013-02-19
| ||
18:34 | Truncate over-length source lines in sqliteInt.h to 80 characters or less. file: [601c887f] check-in: [d71abab0] user: drh branch: trunk, size: 146385 | |
2013-02-13
| ||
13:42 | Enhancements to the query planner to make use of indices for ORDER BY even when IN constraints are in the WHERE clause. Add extended error codes for all SQLITE_CONSTRAINT errors. file: [61a59586] check-in: [7e14dc73] user: drh branch: sessions, size: 147051 | |
01:00 | Allow an index to be used for sorting even if prior terms of the index are constrained by IN operators. file: [758285f1] check-in: [2cef8b68] user: drh branch: trunk, size: 146397 | |
2013-02-09
| ||
13:58 | Add extended error codes for constraint errors. file: [8e01aa31] check-in: [54611046] user: drh branch: constraint-error-codes, size: 146321 | |
2013-02-08
| ||
18:48 | Loop through the elements on the RHS of an IN operator in reverse order when the ORDER BY clauses specifies DESC. file: [c1e7fe13] check-in: [f78395c8] user: drh branch: IN-with-ORDERBY, size: 146392 | |
2013-01-29
| ||
19:14 | New debugging pragmas: PRAGMA vdbe_debug=ON is short-hand for the sql_trace, vdbe_listing, and vdbe_trace pragmas. PRAGMA vdbe_debug enables tracing of sqlite3VdbeAddOp() calls. None of this is active unless compiled with SQLITE_DEBUG. file: [62674855] check-in: [ae565ff3] user: drh branch: trunk, size: 146316 | |
2013-01-25
| ||
02:10 | Enhancements to the query planner to exploit transitive relationships in the WHERE clause, and other minor changes to bring the sessions branch into alignment with the trunk. file: [aa928258] check-in: [82d3d1ae] user: drh branch: sessions, size: 146943 | |
2013-01-17
| ||
16:43 |