/ File History
Login

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

History of src/sqliteInt.h

2019-12-12
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
Add the ability to disable transitive constraints using the sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS) interface. file: [fb4109b7] check-in: [593d67c8] user: drh branch: transitive-constraints, size: 146289
2013-01-16
17:08
Enhance the query planner to exploit transitivity of join constraints in a multi-way join. file: [a6b3f816] check-in: [13171eb5] user: drh branch: transitive-constraints, size: 146221
2013-01-07
17:31
Merge updates from trunk. file: [8829b00e] check-in: [bf90f1fb] user: mistachkin branch: configReadOnly, size: 146195
2013-01-03
22:22
Merge recent trunk changes into the sessions branch. file: [f3f74ba8] check-in: [7e068e39] user: drh branch: sessions, size: 146778
00:45
Now supports result sets of the form "TABLE.*" with nested FROM clauses. file: [e9987037] check-in: [4cf5ed7e] user: drh branch: name-resolution-fix, size: 146124
2013-01-02
12:29
Merge all the latest trunk changes into the name-resolution enhancement branch. file: [2ce2d742] check-in: [a5f4d2b6] user: drh branch: name-resolution-fix, si