/ File History
Login

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

History of src/vdbemem.c

2019-09-17
03:16
Fix the instr() SQL function so that it makes a copy of its argument before changing the datatype, since the datatype affects processing. Also fix the sqlite3_value_text() routine so that it always works even for values obtained form sqlite3_value_dup(). Ticket [587791f92620090e] file: [d8e10d17] check-in: [3fb40f51] user: drh branch: trunk, size: 62173
2019-08-08
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: [920285c3] check-in: [1e17ea2f] user: drh branch: omit-stat3, size: 62001
2019-07-09
23:35
Add the "LL" suffix on a pair of larger integer literals, for compatibility with older C compilers. file: [f6f277d1] check-in: [6f328c35] user: drh branch: trunk, size: 63623
2019-06-12
20:51
As a special case, casting '-0.0' into numeric should yield 0. Fix for ticket [674385aeba91c774]. file: [9ee3c037] check-in: [491f0f9b] user: drh branch: trunk, size: 63619
2019-06-11
16:06
Off-by-one error in the CAST to NUMERIC logic. file: [c970d2b4] check-in: [25b89630] user: drh branch: trunk, size: 63525
2019-06-10
18:33
Make sure a CAST to "NUMERIC" results in an integer if the value can be losslessly expressed as an integer, as the documentation requires. Ticket [dd6bffbfb6e61db9]. file: [44ef1a12] check-in: [c0c90961] user: drh branch: trunk, size: 63524
2019-06-07
22:26
When casting string values into numeric and the string has a prefix that looks like a number but total string is not a well-formed number, then take extra care that the result is either integer or real depending on what the prefix looks like. Fix for tickets [e8bedb2a184001] and [4c2d7639f076aa]. file: [be520020] check-in: [67a68af5] user: drh branch: trunk, size: 63609
2019-05-29
21:18
Much faster implementation of applyNumericAffinity() by avoiding some unnecessary calls to sqlite3Atoi64(). file: [5ecfa992] check-in: [c1d8a3f6] user: drh branch: trunk, size: 63520
2019-05-16
11:47
Fix a harmless use-of-initialized-value fault in the assert() logic added by check-in [d612fb7873cf59d] file: [e9a0aa2f] check-in: [3dac9072] user: drh branch: trunk, size: 63527
01:22
Make sure the OP_Concat opcode always correctly zero-terminates a UTF16 string, even if the input strings are ill-formed. This is a followup to check-in [3a16ddf91f0c9c516a7] that fixes a case the previous check-in missed. Also add assert()s to prove correct zero termination. file: [14618670] check-in: [d612fb78] user: drh branch: trunk, size: 63527
2019-05-04
01:41
In the sqlite3_value or Mem object, make the MEM_IntReal type completely independent from MEM_Int and MEM_Real. This helps avoid problems when inserting non-float values into a "REAL" column. file: [b76b42ac] check-in: [5a8a23ee] user: drh branch: trunk, size: 62937
01:29
New testcase macros to ensure that MEM_IntReal is fully tested. file: [81dc93a8] check-in: [8b8ef445] user: drh branch: int-real, size: 62684
2019-05-03
19:34
Ensure that UTF16 strings are properly zero-terminated before returning them in an sqlite3_value_text16() request, even if the string is invalid UTF16 because it was formed from an arbitrary and/or odd-length BLOB. file: [42a33c8f] check-in: [3a16ddf9] user: drh branch: trunk, size: 62172
2019-05-02
21:36
Make MEM_IntReal a completely independent type, meaning a floating point value stored as an integer. This fixes a problem with arithmetic within arguments to string functions on indexes of expressions. But it is a big change and needs lots of new testcase() macros for MC/DC and so it is initially put on this branch. file: [e102c625] check-in: [dba836e3] user: drh branch: int-real, size: 62267
2019-05-01
18:59
When values have real affinity and are converted into strings for CHECK constraints or index expressions, do the conversions into a real-number format even if the values are stored as integers for efficiency. This appears to fix ticket [ae0f637bddc5290b446]. file: [df36fd36] check-in: [5997d075] user: drh branch: trunk, size: 61919
2019-04-18
19:21
Minor simplification of NULL value handling for STAT4. file: [dd2ee492] check-in: [5718a9d5] user: mistachkin branch: nullStat4, size: 61801
2019-04-10
13:24
Further refinement of the sqlite3VdbeMEmExpandBlob() fix of check-in [df58774e994bd] to prevent a reference to an unused variable - problem discovered by Valgrind. file: [8e688976] check-in: [09435b57] user: drh branch: trunk, size: 61802
2019-04-09
21:32
Improved reporting of SQLITE_TOOBIG errors while parsing. file: [85a35a9b] check-in: [ea2d4b65] user: drh branch: trunk, size: 61786
2019-04-07
18:21
Make the testcase() macro added in the previous check-in reachable for testing. file: [6690c982] check-in: [80704a16] user: drh branch: trunk, size: 61754
18:04
Fix a faulty assert() in the sqlite3VdbeMemExpandBlob() routine. file: [340bf04f] check-in: [df58774e] user: drh branch: trunk, size: 61744
2019-04-01
20:57
Performance improvement on the OP_Variable opcode. file: [6d67403d] check-in: [1dc7993b] user: drh branch: value_frombind, size: 61642
2019-02-08
17:28
Further simplifications to sqlite3VdbeMemSetStr(). file: [3e89e087] check-in: [1d212957] user: drh branch: trunk, size: 61629
15:59
Change the sqlite3VdbeMemGrow() routine so that it no longer guarantees a minimum size of 32 bytes. That minimum is no longer required, and without the extra check for the minimum size, the routine runs faster. file: [8facf8d2] check-in: [5c499da8] user: drh branch: trunk, size: 61691
2019-02-04
21:10
Early detection of implausibly sized records to avoid unnecessary large memory allocations. file: [3173f027] check-in: [2c8769c6] user: drh branch: trunk, size: 61724
2019-01-25
17:26
Fix a segfault that could follow an OOM when querying a table that has one or more columns with default values "true" or "false". file: [8d170e38] check-in: [202f9919] user: dan branch: trunk, size: 61636
2019-01-23
20:31
Fix an assert() in vdbemem.c that could fire if the database was corrupt. file: [fdf49ecf] check-in: [a70958cd] user: dan branch: trunk, size: 61613
2018-12-19
16:03
Add interfaces sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer() used to safely move pointer values through SQL without exposing underlying memory address information. Cherrypick from commit [8201f4e1] on branch-3.18. file: [dcd74d94] check-in: [4cb67252] user: dan branch: branch-3.9, size: 55935
2018-12-14
21:58
Experimental support for new sqlite3_bind_blob() and sqlite3_bind_text() interfaces that take an extra void* argument that is passed into the destructor in front of the object that is to be destroyed. file: [a6b69d1f] check-in: [33a1924e] user: drh branch: custom-destructors, size: 61911
2018-10-31
20:52
Deploy the sqlite3Strlen30NN() function (argument guaranteed to be non-NULL) for a small performance improvement. file: [7b3305bc] check-in: [4a6ad519] user: drh branch: trunk, size: 61599
2018-08-29
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: [81329ab7] check-in: [f48e9feb] user: drh branch: trunk, size: 61573
18:47
Free up the MEM_Frame bit in Mem.flags object. Store VdbeFrame objects as MEM_Blob with a special Mem.xDel pointer instead. file: [9a9aa426] check-in: [62db5fd4] user: drh branch: trunk, size: 61499
2018-08-17
21:14
Fix harmless compiler warnings only seen with STAT4 enabled. file: [0dc99941] check-in: [6f5e84ba] user: mistachkin branch: trunk, size: 61659
2018-08-04
16:54
Remove more column-cache residue: The OP_SetColTab and OP_VerifyColTab opcodes and the associated SQLITE_DEBUG_COLUMNCACHE logic. file: [720df42a] check-in: [80236e81] user: drh branch: omit-column-cache, size: 61659
2018-07-05
21:22
Use separate opcodes, OP_AggValue and OP_AggInverse, for the new callbacks associated with Window Functions, for improved readability of EXPLAIN output. file: [a699a1d7] check-in: [fa653805] user: drh branch: trunk, size: 61884
2018-06-22
20:51
Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. file: [87b48c0b] check-in: [5f04b016] user: dan branch: exp-window-functions, size: 61853
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: [b8f3bb3b] check-in: [43eb1e75] user: dan branch: exp-window-functions, size: 61786
14:30
Merge latest trunk changes into this branch. file: [7301d5c4] check-in: [5cf5f180] user: dan branch: exp-window-functions, size: 61519
2018-06-12
13:52
Improvements to SCopy correctness tracking when SQLITE_DEBUG is enabled. file: [e042161c] check-in: [b2973f23] user: drh branch: trunk, size: 61020
2018-06-11
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: [613cbbcc] check-in: [b37614a3] user: drh branch: trunk, size: 61002
13:10
Strengthen the sqlite3VdbeMemAboutToChange() run-time verification mechanism to better detect missed calls to AboutToChange(). file: [8f5cd241] check-in: [793e9422] user: drh branch: trunk, size: 60777
2018-06-04
08:28
Merge latest trunk changes into this branch. file: [d80b04b4] check-in: [83d6416a] user: dan branch: exp-window-functions, size: 60443
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: [80332340] check-in: [777189ce] user: drh branch: trunk, size: 59944
2018-05-16
20:58
Start of experimental implementation of SQL window functions. Does not yet work. file: [a4b93903] check-in: [3781e520] user: dan branch: exp-window-functions, size: 60450
2018-04-18
11:35
Enhance ALTER TABLE ADD COLUMN to support "DEFAULT true" and "DEFAULT false". file: [0cbe9b95] check-in: [594ebc69] user: drh branch: trunk, size: 59951
2018-02-26
15:27
Always interpret non-zero floating-point values as true even if their integer part is zero. Fix for ticket [36fae083b450e3af857a459e20]. file: [414e28d3] check-in: [a983fa85] user: drh branch: trunk, size: 59817
2018-02-01
15:57
New assert() statements to help ensure that no other errors similar to [343634942dd54ab57b7] ever appear in the code. file: [21c1d00f] check-in: [5a70af1e] user: drh branch: trunk, size: 59495
2018-01-23
17:33
Work around a problem with GCC on 32-bit machines that cause the CAST operator to generate a floating-point result for strings that could be represented as very large integers. file: [943e4188] check-in: [1b027319] user: drh branch: trunk, size: 57873
2018-01-12
21:00
Add the experimental sqlite3_value_nochange() interface usable by xUpdate methods of virtual tables to see if a column has actually changed values. file: [7548dd5a] check-in: [8b7be15e] user: drh branch: sqlite3_value_nochange, size: 57362
2017-12-13
23:47
In valueFromExpr() only generate a OOM fault if there have been no prior faults. file: [8478f7fb] check-in: [3765aaf7] user: drh branch: trunk, size: 57371
2017-12-06
20:50
Fix an unreachable branch in cases when SQLITE_ENABLE_STAT4 is not defined. file: [3e8c795e] check-in: [6a55bd67] user: drh branch: trunk, size: 57285
2017-11-27
17:56
Fix a faulty NEVER assert() that could fail for SQLITE_ENABLE_STAT4 builds that use foreign keys. file: [6e608237] check-in: [465350e5] user: dan branch: trunk, size: 57182
2017-10-31
03:40
Remove unnecessary NEVER() and ALWAYS() conditionals. file: [2ef9e66b] check-in: [1c80c75d] user: drh branch: trunk, size: 57189
2017-09-22
12:52
Partial backout of check-in [e0af9a904076]. It turns out we do need some extra space at the end of the record blob as an overrun area to use when decoding a maliciously malformed record. file: [5c1533bf] check-in: [403b88a8] user: drh branch: trunk, size: 57246
2017-09-21
01:04
Revert one performance improvement changes from check-in [3b3e32d4cd07] as it was causing a reference to an uninitialized value. file: [043f9fdb] check-in: [f8b1c64d] user: drh branch: trunk, size: 57163
2017-09-20
18:47
Size and performance optimization on sqlite3VdbeMemGrow(). file: [9496f08e] check-in: [4b3f7eac] user: drh branch: trunk, size: 57163
18:07
The BLOB returned by sqlite3VdbeMemFromBtree() does not need to be zero-terminated. file: [4996dd14] check-in: [e0af9a90] user: drh branch: trunk, size: 57159
17:49
Small size and performance optimization in the bytecode engine. file: [01802952] check-in: [3b3e32d4] user: drh branch: trunk, size: 57220
10:47
Improved resolution of large integer values in "CAST(x AS NUMERIC)". file: [08f89979] check-in: [7f2bd4ff] user: drh branch: trunk, size: 57336
2017-08-21
02:05
Minor optimization to sqlite3VdbeMemSetStr(). file: [2f9d672a] check-in: [6538ef7b] user: drh branch: trunk, size: 57184
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: [b7fac205] check-in: [aea5990e] user: drh branch: trunk, size: 57175
2017-07-27
15:53
Improved implementation of the destructor on pointer-passing interfaces. file: [9ca28549] check-in: [601ad679] user: drh branch: pointer-with-destructor, size: 57217
03:48
Add a destructor argument to sqlite3_bind_pointer() and sqlite3_result_pointer(). file: [9d1dde67] check-in: [3d9e841f] user: drh branch: pointer-with-destructor, size: 56094
2017-07-17
11:39
Improve the sqlite3_result_pointer() interface so that it cannot be faked using sqlite3_result_null() and sqlite3_result_subtype(). file: [fe8fce1c] check-in: [c13264d5] user: drh branch: pointer-types, size: 56008
00:40
Add an experimental "pointer type" parameter to sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer(). The pointer type is a string that must compare equal using strcmp() or else the pointer comes through as a NULL. file: [cdc72bb3] check-in: [211cce04] user: drh branch: pointer-types, size: 55988
2017-07-15
10:44
Add new interfaces sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer() used to safely move pointer values through SQL without exposing underlying memory address information. file: [dee85e44] check-in: [d6a44b35] user: drh branch: branch-3.17, size: 55622
2017-06-30
23:09
Add APIs for binding pointers that can be used by app-defined functions. file: [78dfccca] check-in: [d9f4a831] user: drh branch: bind-pointer, size: 55913
2017-06-26
14:46
Make sure sqlite3VdbeSetVarmask() is never invoked when QPSG is enabled. file: [8d78df62] check-in: [ebcfa73e] user: drh branch: enable-QPSG, size: 55632
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: [dc204ad3] check-in: [7076e828] user: drh branch: enable-QPSG, size: 55627
2017-06-13
04:31
Fix the processing of double-negatives in WHERE clause constraints with STAT4. Ticket [cfa2c908f2182] file: [94b17d85] check-in: [35b34bdf] user: drh branch: trunk, size: 55630
2017-04-17
20:50
Do not allow a Mem object to be both NULL and some other type at the same time. file: [2c70f8f5] check-in: [e698db19] user: drh branch: trunk, size: 55632
2017-04-11
12:20
Add an ALWAYS() around an unreachable condition in sqlite3VdbeMemGrow(). file: [3122f5a2] check-in: [0f3eb61f] user: drh branch: trunk, size: 55476
2017-04-10
20:27
Slightly smaller and faster sqlite3VdbeMemGrow(). file: [934f9bce] check-in: [efd1702a] user: drh branch: trunk, size: 55468
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: [8bb4dd22] check-in: [ad90e8bb] user: drh branch: trunk, size: 55530
2017-04-01
11:59
Faster implementation for sqlite3VdbeIntValue() and sqlite3VdbeRealValue(). file: [bbd8f5fd] check-in: [8698df60] user: drh branch: trunk, size: 55514
2017-01-05
07:58
Ensure that the sqlite3_value_text() interface returns a buffer that is long enough to hold the complete string plus the zero terminator even when the input is a zeroblob. Fix for a problem detected by OSS-Fuzz. file: [3b5a9a5b] check-in: [2dc7eeb5] user: drh branch: trunk, size: 55341
2016-12-09
00:15
Fix an obscure problem in range estimation with STAT4. file: [d3fd85b7] check-in: [1f16c9a7] user: drh branch: trunk, size: 55304
2016-11-25
19:18
Refactor the sqlite3BtreeKey() and sqlite3BtreeData() internal interfaces into sqlite3BtreePayload() and sqlite3BtreePayloadChecked(), respectively. This is a continuation of the optimization started by check-in [2d831074cf]. The result is a slightly smaller and faster binary. file: [1af2f14a] check-in: [49ebc219] user: drh branch: trunk, size: 55270
2016-10-05
15:02
Do not set MEM_Blob unless the appropriate fields of the Mem object have been correctly initialized. file: [fcdd73a2] check-in: [a596b7c6] user: drh branch: trunk, size: 55568
2016-09-30
17:46
Avoid unnecessary Mem initializations when generating a new sqlite3_stmt object. file: [1c330522] check-in: [47ae1cda] user: drh branch: trunk, size: 55540
2016-09-29
19:27
Size and performance optimization to sqlite3ValueFromExpr() file: [1b8d5b77] check-in: [945f82bc] user: drh branch: trunk, size: 55521
2016-09-20
01:46
Further performance enhancements in zeroblob() handling. file: [07874c2a] check-in: [21b0e3b7] user: drh branch: trunk, size: 55545
01:19
Avoid unnecessary calls to ExpandBlob() for smaller and faster code. file: [813e7847] check-in: [5e196fd1] user: drh branch: trunk, size: 55575
2016-09-10
19:51
Changes to give a warning-free build with SQLITE_OMIT_INCRBLOB and SQLITE_OMIT_SHARED_CACHE. file: [357caac1] check-in: [711c5917] user: drh branch: trunk, size: 55542
2016-09-09
20:23
Remove an unnecessary call to sqlite3VdbeMemExpandBlob() when casting to text. file: [1f28b306] check-in: [19e2e595] user: drh branch: trunk, size: 55536
2016-08-20
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: [e67dc6d8] check-in: [d8feea7d] user: drh branch: rowvalue, size: 55605
2016-08-03
16:14
Fix stat4-based cost estimates for vector range constraints. file: [77d65059] check-in: [18af74ab] user: dan branch: rowvalue, size: 55602
2016-06-04
20:37
Change the sqlite3BtreeKeySize() interface into sqlite3BtreeIntegerKey() and make it only work for table btrees. Change sqlite3BtreeDataSize() into sqlite3BtreePayloadSize() and make it work for all btrees. Combine sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() into a single sqlite3BtreePayloadFetch() routine. These changes seem to make the b-tree interface more rational and they reduce both binary size and CPU usage. file: [1ecaa5ee] check-in: [bef35e18] user: drh branch: btree-refactor, size: 55125
2016-03-21
15:32
Merge 3.12.0 beta changes from trunk. file: [5cfef60e] check-in: [3296a0ce] user: drh branch: sessions, size: 55210
2016-03-19
23:32
Change the Vdbe.aMem array so that it is zero-based instead of one-based. file: [fe76c1f8] check-in: [e07b0c47] user: drh branch: zero-base-aMem, size: 55421
2016-03-04
16:42
Merge recent enhancements from trunk. Default page size is 4096. Writes to statement journals are avoided. file: [0bcc4af4] check-in: [456df336] user: drh branch: sessions, size: 55215
2016-02-27
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: [9b0cb32c] check-in: [d8c94a46] user: drh branch: trunk, size: 55426
2016-02-25
18:54
Merge all the latest changes from trunk. file: [c2a7c2ec] check-in: [b8659004] user: drh branch: sessions, size: 55200
2016-02-15
18:15
Add the SQLITE_NOMEM_BKPT macro to enhance the ability to debug OOM errors. Only effective with compiling with SQLITE_DEBUG. file: [be8381ed] check-in: [9b345476] user: drh branch: trunk, size: 55411
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: [e0dbb7bb] check-in: [3201fbcc] user: drh branch: many-app-functions, size: 55356
2016-02-13
23:43
Enhance ability to debug out-of-memory errors. file: [8ffbf660] check-in: [6a9c4a3e] user: mistachkin branch: noMemBkpt, size: 55703
2016-02-05
14:15
Merge enhancements from trunk. file: [36e27791] check-in: [a533608c] user: drh branch: sessions, size: 55437
13:38
Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority cases where db is guaranteed to be not NULL. file: [68fcfac3] check-in: [0a802e96] user: drh branch: oom-handling, size: 55648
01:55
Improvements to the way that OOM errors are processed. file: [9a673633] check-in: [c3ef0347] user: drh branch: oom-handling, size: 55617
2016-01-30
14:53
Take care to clear the subtype on VDBE registers when the value of the register is overwritten with new content. file: [e0a3c364] check-in: [ec653cbc] user: drh branch: clear-subtype-fail, size: 55682
2016-01-20
11:33
Merge recent enhancements from trunk. file: [6c962ee0] check-in: [327af5f6] user: drh branch: sessions, size: 55407
2016-01-14
22:19
Combine the xFunc and xStep pointers of the FuncDef object into a single pointer xSFunc. file: [b9181e77] check-in: [0d1b3d7d] user: drh branch: trunk, size: 55618
2015-10-30
16:50
Merge all the latest enhancements from trunk. file: [25b6cfd6] check-in: [395a153f] user: drh branch: sessions, size: 55406
2015-10-16
14:54
Have the sqlite3VdbeSerialType() function go ahead and compute the serial length as well, since it is always needed. This avoids unnecessary calls to sqlite3VdbeSerialTypeLen(). file: [fdd1578e] check-in: [2ad72be1] user: drh branch: trunk, size: 55617
2015-09-14
10:47
Merge the latest trunk enhancements. file: [28ab8455] check-in: [22ce9218] user: drh branch: sessions, size: 55443
2015-09-05
19:07
Get STAT4 range scan estimates work again when the bounds are determined by date/time functions. file: [19b3036a] check-in: [d2761357] user: drh branch: trunk, size: 55654
2015-06-30
16:29
Merge all the latest enhancements from trunk. This merge include FTS5 and a number of notable performance enhancements. file: [6c9e261d] check-in: [39936b33] user: drh branch: sessions, size: 55401
2015-06-25
23:52
Optimization to sqlite3_value_bytes() for the common case that does not require a data transformation. file: [ae38a0d3] check-in: [8d79f3a1] user: drh branch: trunk, size: 55612
15:44
Merge all the latest enhancements from trunk. file: [9b6436ec] check-in: [924f4712] user: drh branch: sessions, size: 55022
2015-06-17
23:28
Performance improvement in sqlite3VdbeMemShallowCopy() for the common case where the receiver does not require prior resource deallocation. file: [4e947cd3] check-in: [d718ea36] user: drh branch: trunk, size: 55233
18:18
Merge all recent enhancements and fixes from trunk. file: [05e4f930] check-in: [199bfb67] user: drh branch: sessions, size: 54813
01:31
Optimizations to two VDBE accessory routines for a 0.2% performance increase. file: [15c5ca36] check-in: [66d033b9] user: drh branch: trunk, size: 55024
2015-06-11
18:01
Merge recent trunk enhancements and fixes. file: [794bba18] check-in: [c39cb0e2] user: drh branch: sessions, size: 54367
2015-06-02
15:32
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. file: [67b302dc] check-in: [bce3f041] user: drh branch: blob-affinity-rename, size: 54578
2015-05-22
19:55
Fix minor issues with the sqlite3_value_dup() interface. file: [21f91692] check-in: [95edcf50] user: drh branch: value-dup, size: 54578
2015-05-20
22:01
Add the sqlite3_value_dup() and sqlite3_value_free() interfaces and use those to add the sqlite3_rtree_query_info.apSqlParam field to the query callback in R-Tree. file: [c704f0f2] check-in: [2007391c] user: drh branch: sessions-value-dup, size: 54367
21:28
Add the sqlite3_value_dup() and sqlite3_value_free() interfaces. Use these interfaces to enhance R-Tree to add the sqlite3_rtree_query_info.apSqlParam field. file: [e87e076b] check-in: [a7ee40c4] user: drh branch: value-dup, size: 54399
2015-05-05
17:12
Merge all trunk enhancements and fixes into the sessions branch. file: [eda55a13] check-in: [de7083cf] user: drh branch: sessions, size: 54475
2015-04-28
14:00
Fix sqlite3VdbeMakeWritable() to always clear the MEM_Ephem flag. Change the OP_Move opcode to always deephemeralize moved content. file: [7bfbeef0] check-in: [fbb06727] user: drh branch: trunk, size: 54507
2015-04-23
13:49
Merge the latest trunk enhancements and fixes into the sessions branch. file: [6a4802a9] check-in: [4e5f17d1] user: drh branch: sessions, size: 54448
2015-04-20
13:59
Fix an obscure memory leak in sqlite3Stat4ProbeFree() file: [b5256445] check-in: [c72abbe2] user: drh branch: trunk, size: 54480
2015-03-17
18:54
Merge all recent trunk enhancements into the sessions branch. file: [149e5856] check-in: [1d1c57c3] user: drh branch: sessions, size: 54474
2015-03-16
13:48
Use #ifdef to omit code that is only used for STAT3 and STAT4. file: [c0dc8128] check-in: [f2c9c5b5] user: drh branch: trunk, size: 54506
2015-03-13
08:31
Extra tests for commit [0f250957]. file: [78aef62d] check-in: [5aa522dc] user: dan branch: trunk, size: 54463
2015-03-12
21:02
Always disallow functions as the DEFAULT of a column. Add assert()s and file: [d52fa9f3] check-in: [a991bb1a] user: drh branch: stat4-function, size: 54396
18:38
If an error occurs in the compile-time evaluation of an application-defined function, then propagate back out the exact error code, not just the generic SQLITE_ERROR. file: [981fa5ac] check-in: [93f42586] user: drh branch: stat4-function, size: 54132
06:46
The valueFromFunction() routine is better able to handle OOM errors. Omit unreachable branches. file: [ba461e1a] check-in: [8fb6bd9b] user: drh branch: stat4-function, size: 54090
2015-03-11
20:59
Allow the default value for columns added using ALTER TABLE ADD COLUMN to be a function in existing schemas loaded from disk. But prevent this version of SQLite from being used to create such a column. file: [85dd9cb7] check-in: [ff868e22] user: dan branch: stat4-function, size: 54077
20:06
Allow the query planner to evaluate deterministic scalar SQL functions used in WHERE constraints if all arguments are SQL literals in order to compare the results with sqlite_stat4 sample data. file: [8572106e] check-in: [b7f1fc26] user: dan branch: stat4-function, size: 54881
2014-10-15
19:37
Merge latest trunk changes with this branch. file: [96e41193] check-in: [1b2824f1] user: dan branch: sessions, size: 50454
11:31
Rearrange an expression in vdbemem.c to avoid a (harmless) reference to a possibly unitialized variable. file: [31d8eabb] check-in: [4a7b3fa0] user: dan branch: trunk, size: 50486
2014-10-10
12:56
Merge all recent trunk changes. file: [1731e1db] check-in: [abfef254] user: drh branch: sessions, size: 50454
2014-10-07
23:02
Make sure the sqlite3VdbeMemClearAndResize() routine is never called with a zero size parameter, since a size of zero could lead to either a memory leak or an assertion fault. file: [481327f5] check-in: [f672a380] user: drh branch: trunk, size: 50486
16:59
Restrict the scope of the valueToText() routine. file: [ee0c60af] check-in: [13c962b3] user: drh branch: trunk, size: 50148
2014-09-21
22:49
Merge all recent trunk changes into the sessions branch. file: [5096fe50] check-in: [6406b77f] user: drh branch: sessions, size: 50109
2014-09-19
22:30
Recognize the invariant that a Mem object cannot be MEM_Dyn and have a non-zero szMalloc at the same time. Enforce this with assert()s and exploit it in the sqlite3VdbeMemClearAndResize() routine for a performance increase. file: [1e105dac] check-in: [3b21cf2b] user: drh branch: trunk, size: 50141
04:42
Add the sqlite3VdbeMemClearAndResize() function. Fix a sorting-index prefilter problem. file: [5cd96373] check-in: [987a7a21] user: drh branch: trunk, size: 50113
00:43
Add the sqlite3VdbeMemClearAndResize() interface to be used in place of sqlite3VdbeMemGrow(). A C++ style comment was left in this check-in by mistake, and so it has been moved into a branch to avoid problems in any future bisects on windows. file: [0678ba62] check-in: [5b9b8987] user: drh branch: Cplusplus-comment, size: 50352
2014-09-18
21:25
Add the Mem.szMalloc element to the Mem object and use it to keep track of the size of the Mem.zMalloc allocation. file: [3aea3831] check-in: [9c09ac35] user: drh branch: trunk, size: 49289
17:52
Merge the Mem.r value into the MemValue union as Mem.u.r. Hence, a Mem can now store an integer or a real but not both at the same time. Strings are still stored in a separate element Mem.z, for now. file: [1907e24a] check-in: [4c8c89d7] user: drh branch: trunk, size: 48752
2014-09-17
16:41
In the Mem object, stop requiring that Mem.xDel be NULL when the MEM_Dyn bit is clear. Also reduce the amount of initialization of Mem objects. All for a small size reduction and performance increase. file: [8b5e1083] check-in: [fdddb477] user: drh branch: micro-optimizations, size: 48591
14:52
Improved interface to the Mem object handling. Small size reduction and performance increase. file: [cf552a40] check-in: [4e437844] user: drh branch: micro-optimizations, size: 48534
2014-09-16
21:54
Continuing cleanup of memory register memory allocation handling. file: [9615c9ab] check-in: [2598aedc] user: drh branch: micro-optimizations, size: 48189
20:05
Make sure registers are cleared properly prior to being used to store the result of an OP_Column operator. file: [18556fc6] check-in: [78fb8838] user: drh branch: micro-optimizations, size: 48237
18:22
Simplification of the OP_Column logic for the case of rows with overflow. file: [8abc122c] check-in: [f7367803] user: drh branch: micro-optimizations, size: 47806
14:16
Reorder the elements of the Mem object for a small size reduction and performance improvement. Moved into a branch because MSVC is unable to handle named structure initializer on nullMem. file: [4d1e1398] check-in: [0be3019e] user: drh branch: micro-optimizations, size: 47618
2014-09-06
16:39
Fix typos in comments. No code changes. file: [dc36ea9f] check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 47554
2014-08-27
14:14
In the sqlite3_context object, keep a pointer to the result value rather than storing the result value in the sqlite3_context object and using memcpy() to move the value back into its register after the function returns. This runs faster and saves over 500 bytes of code space. file: [921d5468] check-in: [6c1ee3e3] user: drh branch: trunk, size: 47549
03:28
Factor out the exception paths from sqlite3ValueToText() into a separate function so that the main routine is much faster for the common case of no required type or encoding conversions. file: [9fc61d08] check-in: [1624916c] user: drh branch: trunk, size: 47121
00:50
Performance enhancement in sqlite3VdbeMemNulTerminate(). file: [39cde2d8] check-in: [f94cacc3] user: drh branch: trunk, size: 46474
2014-08-25
21:11
Minor changes to the CAST logic to make it more testable. file: [4e08ea08] check-in: [1ad70ec5] user: drh branch: trunk, size: 46155
20:11
Allow CAST expressions and unary "+" operators to be used in the DEFAULT argument of an ALTER TABLE ADD COLUMN and to be understand on the RHS of range constraints interpreted by STAT3/4. This involves a rewrite of the implementation of the CAST operator. file: [5b5e296a] check-in: [91d8a8d0] user: drh branch: trunk, size: 46169
11:20
Change the name of the VdbeMemRelease() macro to VdbeMemReleaseExtern() to more accurately reflect what it does. Performance enhancement to the sqlite3VdbeMemRelease() function. file: [4c9d686d] check-in: [3ca5846d] user: drh branch: trunk, size: 44375
2014-08-23
17:21
Performance optimization in the applyAffinity() logic inside the VDBE. file: [f2e16288] check-in: [25f2246b] user: drh branch: trunk, size: 43828
2014-08-22
18:48
Performance enhancement in sqlite3PutVarint(). file: [4a64659e] check-in: [a929be55] user: drh branch: trunk, size: 43727
2014-06-28
16:06
Add header comments on new routines. Rework the sqlite3Stat4Column() routine so that is (in theory) able to deal with corrupt samples. file: [d90a1e8a] check-in: [ef5cdf94] user: drh branch: stat4-skipscan, size: 43732
15:26
Fix a problem with using stat4 samples of type text when estimating the rows visited by a range-query/skip-scan loop. file: [8228bc32] check-in: [dfb09db6] user: dan branch: stat4-skipscan, size: 42157
2014-06-27
20:14
Fix a couple of problems in estimating the number of rows visited by a range query that uses a skip-scan. file: [3f191d41] check-in: [219736f5] user: dan branch: stat4-skipscan, size: 42132
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: [8f28cb5b] check-in: [01dc8102] user: dan branch: stat4-skipscan, size: 42131
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: [c996131a] check-in: [17349a49] user: drh branch: safer-malloc, size: 39933
2014-03-05
01:29
Experimental simplification of memory flags/type handling. file: [6fc77594] check-in: [bac2820e] user: mistachkin branch: noMemType, size: 39875
2014-03-04
21:00
Fix a problem with "DEFAULT (-(-9223372036854775808))" clauses in ALTER TABLE ... ADD COLUMN commands. file: [ba5cbafd] check-in: [e072cb3e] user: dan branch: trunk, size: 40274
18:06
Fix a potential memory use-after-free problem following an OOM error. file: [1b1ca620] check-in: [767ccb1f] user: drh branch: trunk, size: 40272
13:18
Improve clarity of presentation in the sqlite3VdbeMemFromBtree() routine. file: [10b250f0] check-in: [9830c343] user: drh branch: trunk, size: 40253
2014-03-03
14:45
Merge latest trunk changes. file: [2d7918e4] check-in: [e00ed717] user: dan branch: experimental, size: 40225
2014-03-01
18:13
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be used to free the string or blob. Add tighter invariant checks on Mem. file: [868a498a] check-in: [44e1c337] user: drh branch: enhanced-mem-check, size: 43746
16:24
Factor the Mem invariant checker into a separate procedure (rather than a macro) so that it can be more easily extended. file: [8c84ec05] check-in: [354699d5] user: drh branch: enhanced-mem-check, size: 43196
14:45
Add extra assert() statements trying to catch a Mem object in an inconsistent state. file: [7db45356] check-in: [4aeb3ae4] user: drh branch: enhanced-mem-check, size: 42694
2014-02-28
18:39
Update some test cases that deal with corrupt databases. file: [93fc3f13] check-in: [3a09f560] user: dan branch: experimental, size: 39327
2014-02-25
21:01
Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. file: [25cc4872] check-in: [85206e0b] user: dan branch: experimental, size: 39374
2014-02-10
03:21
Faster and smaller implementation of sqlite3_value_type(). file: [06603e8e] check-in: [5708bc24] user: drh branch: trunk, size: 42848
2014-02-07
13:20
Add the OP_Undef and OP_IsUndef opcodes. With these, use the first register in the result register range as the flag to indicate EOF on an INSERT from a SELECT, rather than allocating a separate boolean register for that task. file: [c0bcc02d] check-in: [6fb74485] user: drh branch: coroutine-refactor, size: 42878
2014-01-24
22:58
Fixes for various clang warnings. file: [23cdc14e] check-in: [87bf6063] user: drh branch: trunk, size: 42876
2013-12-13
16:23
Simplication and optimization of error message handling. file: [0e69351b] check-in: [9d347f54] user: drh branch: trunk, size: 42887
2013-12-11
11:00
Fix harmless compiler warnings. file: [ac71e169] check-in: [a7e5fcd6] user: drh branch: trunk, size: 42806
2013-12-10
21:38
Avoid unnecessary calls to sqlite3VdbeSerialType() from within sqlite3VdbeSerialPut(). file: [dedc9ee0] check-in: [079c04a5] user: drh branch: trunk, size: 42819
19:49
Simplify and improve the performance of the sqlite3VdbeMemGrow() routine. file: [a381254c] check-in: [48ecf187] user: drh branch: trunk, size: 42810
2013-12-09
23:17
Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut() helper function. file: [2293b663] check-in: [7277a769] user: drh branch: trunk, size: 42915
03:07
Avoid unnecessary (no-op) calls to sqlite3DbFree() from sqlite3VdbeMemRelease(). file: [f12d087d] check-in: [2d6dd7c2] user: drh branch: trunk, size: 42921
2013-12-03
19:16
Fix a possible (and probably harmless) uninitialized variable in STAT3/4. file: [20e349d2] check-in: [33ad4f91] user: drh branch: trunk, size: 42844
18:26
Fix an alignment problem in the stat3/stat4 code affecting 32-bit platforms. file: [d9811b08] check-in: [14f9bc79] user: dan branch: trunk, size: 42910
02:52
Change some unreachable test conditions to NEVER(). file: [fed9357c] check-in: [7d99858b] user: drh branch: trunk, size: 42866
2013-11-26
15:45
Change the REAL-to-INTEGER casting behavior so that if the REAL value is greater than 9223372036854775807.0 then it is cast to the latest possible integer, 9223372036854775807. This is sensible and the way most platforms work in hardware. The former behavior was that oversize REALs would be cast to the smallest possible integer, -9223372036854775808, which is the way Intel hardware works. file: [af650c20] check-in: [6f53fc71] user: drh branch: trunk, size: 43155
2013-11-21
21:59
Changes some offset and amount parameters from "int" to "u32" to avoid harmless signed/unsigned comparison warnings. file: [cd02a6ad] check-in: [4e8c5d07] user: drh branch: trunk, size: 44025
19:05
Remove a test from sqlite3VdbeMemFromBtree() which was unnecessary, and after the recent OP_Column refactoring, unreachable. file: [4f227e2e] check-in: [23667f3b] user: drh branch: trunk, size: 44020
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: [cc529bbf] check-in: [defd5205] user: drh branch: omit-rowid, size: 44048
2013-11-04
22:04
Add the index7.test script for testing partial indices with WITHOUT ROWID tables. Fix bugs in ANALYZE located by that script. file: [c84e2bc3] check-in: [79befe3a] user: drh branch: omit-rowid, size: 44035
2013-11-01
22:02
Size KeyInfo objects so that IdxInserts always compare the correct number of fields. file: [e62206af] check-in: [302a8139] user: drh branch: omit-rowid, size: 44035
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: [6087553f] check-in: [a106ce86] user: drh branch: omit-rowid, size: 43991
2013-10-14
13:21
Make subroutines sampleCopy() and valueFromExpr() have file scope. file: [649933ba] check-in: [1660efbe] user: drh branch: trunk, size: 43991
2013-10-11
15:05
Fix various harmless compiler warnings. Change the "warnings.sh" script to work with STAT4 instead of STAT3. file: [28730af7] check-in: [7df06684] user: drh branch: trunk, size: 43984
2013-09-04
15:15
The sqlite3Stat4ProbeSetValue() routine should always return results using the database encoding. file: [817ce21a] check-in: [eb216632] user: drh branch: trunk, size: 43883
2013-08-31
17:21
Fix a problem causing SQLite not to use stat4 or stat3 data to analyze constraints of the form "column = expr COLLATE collation" (those with an explicit COLLATE on the non-column side of the comparison operator). file: [75ad7fd8] check-in: [1e86d81d] user: dan branch: trunk, size: 43912
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: [4511e1d2] check-in: [67a9a392] user: drh branch: trunk, size: 43831
2013-08-26
23:18
Merge the STAT4 capability into trunk. file: [1bec36bf] check-in: [a32af0ab] user: drh branch: trunk, size: 43824
2013-08-21
19:13
Update sqlite3MemCompare() to try common cases first, for a modest speed improvement. file: [61d5ddb8] check-in: [b25bac79] user: drh branch: trunk, size: 35480
2013-08-16
17:18
In sqlite3Stat4ProbeSetValue() change a local variable name iVar to iBindVar to avoid confusion with iVal, and fix a place where the name was actually confused. file: [466784a5] check-in: [91733bc4] user: drh branch: sqlite_stat4, size: 43937
14:49
Fix valueFromExpr() so that it returns SQLITE_NOMEM following an OOM when changing text encodings. Also fix some asserts to accommodate OOM errors. file: [374c2c80] check-in: [dc1ccd09] user: drh branch: sqlite_stat4, size: 43922
2013-08-15
18:43
Fix a crash that can occur following an OOM fault. file: [c08dd810] check-in: [9f80b268] user: dan branch: sqlite_stat4, size: 43902
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: [7ec9a78d] check-in: [cca8bf43] user: dan branch: sqlite_stat4, size: 44052
2013-08-10
19:08
Add the rowid field to the end of sample records stored in the sqlite_stat4 table. file: [b16ba7b3] check-in: [3a5e8ab7] user: dan branch: sqlite_stat4, size: 42241
2013-08-08
12:21
Fix a segfault in "ALTER TABLE t1 ADD COLUMN b DEFAULT (-+1)". Also an assert() failure that could occur if SQLITE_ENABLE_STAT4 were not defined. file: [4aff02f5] check-in: [9fec3e38] user: dan branch: sqlite_stat4, size: 42106
2013-08-07
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: [f0512045] check-in: [353950a5] user: dan branch: sqlite_stat4, size: 42085
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: [83f9b6e6] check-in: [2973f5ca] user: dan branch: sqlite_stat4, size: 38551
2013-08-03
20:24
Begin adding experimental sqlite_stat4 table. This commit is buggy. file: [69c6d1c3] check-in: [2beea303] user: dan branch: sqlite_stat4, size: 35593
2013-03-07
06:42
Fix two compilation issues, one warning and one error, that occur only when SQLITE_OMIT_UTF16 is defined. file: [833005f1] check-in: [10ace06b] user: mistachkin branch: trunk, size: 35593
2012-03-31
09:59
Fix a bug in the EXPLAIN code for listing trigger programs that was causing an out-of-bounds read. file: [cb55e84b] check-in: [c9342ca5] user: dan branch: trunk, size: 35560
2012-02-10
01:25
Fix a boundary case for the integer affinity routine for non-x86 processors. file: [fb0ac964] check-in: [bea05ddd] user: drh branch: trunk, size: 35313
2012-01-19
16:57
Make the use and function of SQLITE_DYNAMIC clearer. Add assert() statement to help ensure that SQLITE_DYNAMIC is not misused. file: [3c171040] check-in: [ab80f2c3] user: drh branch: trunk, size: 35223
2012-01-08
22:18
Fix typos in commands. Combine the ExpandBlob and expandBlob macros into one. file: [4f7d25d5] check-in: [fc9179e1] user: drh branch: trunk, size: 35142
2012-01-04
12:57
Fix typos and comments and make minor changes to a few function names, as suggested by readership. file: [dadc7465] check-in: [e9d05cbb] user: drh branch: trunk, size: 35312
2011-12-30
15:17
Update the text of requirements associated with sqlite3_pcache_methods2. Update requirements marks embedded in code. All of the above are comment changes only; there are no changes to code in this check-in. file: [5e8c0831] check-in: [f945c41a] user: drh branch: trunk, size: 35311
2011-10-25
20:36
Cherrypick changes [53f5cfe115] and [1f7ef0af8d] in order to fix an issue with DISTINCT file: [c9faa98e] check-in: [14bc58ca] user: drh branch: branch-3.7.2, size: 35098
2011-09-13
19:09
Merge the latest trunk changes into the stat3-trunk branch. file: [2fc78b3e] check-in: [11ca4ed8] user: drh branch: stat3-trunk, size: 35311
2011-08-29
02:49
About a 1% overall performance improvement by using a macro to avoid no-op calls to sqlite3MemReleaseExternal(). file: [5e6effb9] check-in: [ff71d20a] user: drh branch: experimental, size: 35311
2011-08-26
13:52
Merge branches branch-3.7.2 and stat3-enhancement into a new branch for testing purposes. file: [a4179ce8] check-in: [0df04f92] user: drh branch: stat3-3.7.2, size: 34461
2011-08-12
01:51
Begin a branch that experimentally replaces sqlite_stat2 with a new table called sqlite_stat3 that will hopefully facilitate better query planning decisions. file: [74410d16] check-in: [52e1d7e8] user: drh branch: stat3-enhancement, size: 35587
2011-04-08
23:05
Make sure the query planner is able to correctly analyze NULL value samples in the sqlite_stat2 table. This is a backport of changes from check-in [f73a167b434f] file: [c9f3bba5] check-in: [1d637889] user: drh branch: branch-3.7.2, size: 34461
2011-03-08
02:38
Fix additional cases of possible signed integer overflow, especially with regard to negation. file: [0498796b] check-in: [2d5800bd] user: drh branch: trunk, size: 35587
2011-03-05
20:59
Fix all known instances of signed-integer overflow. Within SQL expressions, integer overflow now forces coercion to floating point. The shift operators work with any integer right-hand operand with negative values reversing the direction of the shift. file: [d8f713bc] check-in: [abf21394] user: drh branch: trunk, size: 35499
2011-02-18
17:23
Fix the sqlite3ValueFromExpr() routine so that it returns SQLITE_NOMEM on an OOM when trying to extract a NULL. file: [0fa2ed78] check-in: [1061e94f] user: drh branch: trunk, size: 35495
2011-01-21
14:37
Add the ability to use indices when a range contraint is bounded on the lower end by NULL. file: [c011228c] check-in: [f73a167b] user: drh branch: stat2-enhancement, size: 35464
2010-12-01
08:04
Avoid recursive calls to sqlite3VdbeMemRelease() when deleting VM frames used by trigger programs. file: [411649a3] check-in: [119ffe95] user: dan branch: trunk, size: 35405
2010-10-15
14:45
Cherry-pick the change at [2d4505510032bf9] into the 3.6.1 branch. file: [d637ff35] check-in: [ecb1419e] user: drh branch: branch-3.6.1, size: 31566
2010-10-05
12:05
Avoid all memory allocation (and hence the possiblitity of OOM failure) in sqlite3_value_double() and sqlite3_column_double(). file: [23723a12] check-in: [4afdf970] user: drh branch: trunk, size: 35330
2010-10-01
15:11
Not true: For a zeroblob, the Mem.z pointer can be null: The Mem.z pointer can never been NULL for a string or blob, even a zero-length string or blob. Assert this fact. file: [ee9ff50c] check-in: [efda3104] user: drh branch: mistake, size: 35533
2010-09-30
16:51
Changes to remove sqlite3FitsIn64Bits(). file: [ef015d9d] check-in: [43fef1ca] user: shaneh branch: experimental, size: 35575
14:48
Fix the handling of default values for ALTER TABLE ADD COLUMN columns so that is able to deal with negative numbers, including large negative numbers. Ticket [8454a207b9fd2243c4] file: [09b63720] check-in: [ce6cc16e] user: drh branch: experimental, size: 35572
00:50
Rework the text to numeric conversion routines so that they work with either UTF8 or UTF16 and do not require a NULL terminator. This allowed text to numeric conversion without reallocating the string. file: [cfb17824] check-in: [14eed3a0] user: drh branch: experimental, size: 35015
2010-09-28
00:25
Continuing work toward detecting and fixing shallow-copy misuse. file: [8ff4f80a] check-in: [d0342f4b] user: drh branch: bug-b351d95f9c, size: 35058
2010-09-27
21:09
Add assert() statements that fail when a shallow copy is accessed after the original has been modified. These assert() statements should detect the kinds of subtle SCopy bugs such as caused the fault in ticket [b351d95f9cd5ef17e9d9dbae18f]. file: [5005341c] check-in: [8b8e1732] user: drh branch: bug-b351d95f9c, size: 35005
2010-09-08
02:30
Improved documentation of SQLITE_THREADSAFE and sqlite3_column_text() and evidence marks for each. file: [2b821099] check-in: [0d7a5389] user: drh branch: trunk, size: 34421
2010-09-03
18:50
Documentation enhancements for sqlite3_db_status(). Evidence marks on the SQL function call intrface. file: [14439aa7] check-in: [f06c7b19] user: drh branch: trunk, size: 34396
2010-07-30
16:54
Fix typos in comments. No code or logic changes. file: [e5673f81] check-in: [15c294ca] user: drh branch: trunk, size: 34371
2010-06-25
14:17
Fix up a branch in sqlite3ValueFromExpr() so that we can achieve full branch test coverage regardless of whether or not SQLITE_ENABLE_STAT2 is used. file: [5e579abf] check-in: [af471ed7] user: drh branch: trunk, size: 34371
2010-03-05
18:46
Change a condition in sqlite3VdbeMemShallowCopy() to avoid accessing an unitialized variable (doing so was not dangerous, but caused a valgrind error). file: [2a82f455] check-in: [4793c381] user: dan branch: trunk, size: 34138
2010-01-21
01:53
Redesign the string to numeric value caster so that it is more likely to work on unusual floating point hardware. file: [aeba77b5] check-in: [8bb1104c] user: drh branch: trunk, size: 34163
2010-01-13
15:15
Make the doubleToInt64() routine a pass-through when using OMIT_FLOATING_POINT. file: [1ce5005e] check-in: [41716718] user: drh branch: trunk, size: 33835
00:04
Make the sqlite3_result_double() interface work the same as sqlite3_result_int64() when SQLITE_OMIT_FLOATING_POINT is defined. file: [a0fa6873] check-in: [61df5986] user: drh branch: trunk, size: 33700
2009-11-11
23:48
Remove an obsolete (and incorrect) comment from sqlite3MemCompare(). No changes to code. file: [1e16e3a1] check-in: [c15b70b3] user: drh branch: trunk, size: 33658
2009-11-10
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. file: [eeb5988d] check-in: [f6c045f6] user: drh branch: trunk, size: 33749
2009-11-05
16:29
Add a comment related to code coverage. No changes to code. file: [e86a65cb] check-in: [6bdc2c99] user: drh branch: shunning-error, size: 33808
2009-10-15
18:35
Add the experimental sqlite3_reoptimize() API. file: [7055a294] check-in: [9bd6f3d8] user: dan branch: experimental, size: 33758
2009-09-08
13:40
Additional simplifications in support of structural testing. file: [0ff2b209] check-in: [4ab8c841] user: drh branch: trunk, size: 33705
2009-08-28
18:53
Changes to support recursive triggers. file: [dc551981] check-in: [9b9c1921] user: dan branch: trunk, size: 33605
2009-08-19
22:14
Make sure that sqlite3ValueFromExpr() sets the "type" field of the sqlite3_value object correctly when the value is a floating point number. file: [c4a5188f] check-in: [2467eb68] user: drh branch: trunk, size: 33405
17:17
Change the way an Expr that has been converted to TK_REGISTER stores its original opcode. The previous method, overloading Expr.iColumn, did not work in all cases. file: [6075cc7f] check-in: [71ea9d0e] user: dan branch: trunk, size: 33353
2009-08-17
17:06
First version of sqlite_stat2 (schema forces exactly 10 samples). file: [afd6ce02] check-in: [dd96bda2] user: dan branch: trunk, size: 33357
2009-08-14
17:53
Work around an over-zealous optimization in GCC 4.3.3. See CVSTrac ticket #4027. file: [ff40efaa] check-in: [9cbe3654] user: drh branch: trunk, size: 33303
2009-08-13
15:13
Fix a typo on a comment in sqlite3VdbeIntegerAffinity(). file: [364cfce8] check-in: [b5a709d3] user: drh branch: trunk, size: 33102
2009-07-22
18:07
Simplifications to btree.c in support of coverage testing. (CVS 6923) file: [bfc25f9e] check-in: [375fd6f9] user: drh branch: trunk, size: 33104
2009-07-18
14:36
Add some code to sqlite3VdbeMemSetZeroBlob() so that it works (less efficiently) even when OMIT_INCRBLOB is defined. Ticket #3977. (CVS 6906) file: [50cc0516] check-in: [f5f7259d] user: danielk1977 branch: trunk, size: 33066
2009-06-25
01:47
Improved handling of oversize string and blob errors. Other simplifications in support of full coverage testing. (CVS 6813) file: [1618f685] check-in: [8b340766] user: drh branch: trunk, size: 32923
2009-06-22
19:05
Simplifications to vdbe.c and it service routines in support of coverage testing. (CVS 6799) file: [d244e09b] check-in: [308f2e61] user: drh branch: trunk, size: 33005
2009-06-17
16:20
Use caution to avoid integer overflow when doing real to integer affinity operations. Ticket #3922. (CVS 6776) file: [ba39c0af] check-in: [39255946] user: drh branch: trunk, size: 32672
2009-05-28
11:05
Workaround the need for internal API sqlite3BtreeCursorDb(). It was only being used for an assert() statement, which can be done differently. (CVS 6683) file: [05183d46] check-in: [5904af6e] user: danielk1977 branch: trunk, size: 32245
01:00
Additional refinements to Expr handling. Restore compression of trigger expressions. Change Expr.zToken to Expr.u.zToken and added Expr.u.iValue. Remove an unnecessary ExprDup from CHECK constraint processing. And so forth. (CVS 6682) file: [9f422491] check-in: [4ac2bdfb] user: drh branch: trunk, size: 32201
2009-05-27
10:31
Simplifications to the Expr object: Remove Expr.span completely and convert Expr.token into a char* Expr.zToken. Also simplify the Token object by removing the Token.dyn and Token.quoted fields. (CVS 6681) file: [4d1a9b01] check-in: [7cb1c3ba] user: drh branch: trunk, size: 32039
2009-05-05
12:54
Make sure the default value on a column added using ALTER TABLE has the correct encoding. Ticket #3838. (CVS 6603) file: [d8b985ee] check-in: [7f89a860] user: drh branch: trunk, size: 32125
2009-05-01
21:13
Record within the Token structure itself whether or not the token has been dequoted. This steals one bit from the length of a token and thus limits the size of tokens to 1GiB. (CVS 6589) file: [f5d7c0b7] check-in: [12bcb03d] user: drh branch: trunk, size: 32031
2009-04-22
02:15
Remove the rowhash object from the code. Rowset now fills its role. (CVS 6535) file: [111d8193] check-in: [e963bed0] user: drh branch: trunk, size: 32057
2009-04-21
09:02
Attempt to optimize virtual table queries with 'OR' expressions in the WHERE clause. (CVS 6527) file: [96e57468] check-in: [f61e4cd9] user: danielk1977 branch: trunk, size: 32184
2009-04-05
12:22
Additional code to make sure and to assert that memory allocations have 8-byte alignment. Ticket #3777. (CVS 6450) file: [97989057] check-in: [208382e0] user: drh branch: trunk, size: 31984
2009-03-29
15:12
Add a comment to the doubleToInt64() routine that explains why returning minInt is in fact correct when it seems like maxInt should be returned. (CVS 6405) file: [53ab1c07] check-in: [7f3be360] user: drh branch: trunk, size: 31742
2009-03-23
21:37
Clarify the meaning of a comment. No changes to code. (CVS 6375) file: [38615b5d] check-in: [7c2df04b] user: drh branch: trunk, size: 31451
2009-02-04
03:59
Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029. (CVS 6250) file: [543a79d7] check-in: [5cef4000] user: shane branch: trunk, size: 31412
2009-02-03
15:39
Remove the text of the sqlite3VdbeMemSanity() routine, which was already commented out. (CVS 6238) file: [c6127c33] check-in: [a3c26077] user: drh branch: trunk, size: 31137
2009-01-20
16:53
When not compiling for an EBCDIC system, use built-in alternatives to the tolowe r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196) file: [06311d5c] check-in: [1041abd6] user: danielk1977 branch: trunk, size: 33151
2009-01-05
22:30
The fix in (6111) was not quite right. This version works better. (CVS 6113) file: [19f94b50] check-in: [5f80140a] user: drh branch: trunk, size: 33162
2008-12-10
19:26
Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) file: [f9c859ac] check-in: [c872d554] user: drh branch: trunk, size: 33196
18:03
More explicit type casting to silence VC++. (CVS 6006) file: [598741bc] check-in: [14e6d19c] user: drh branch: trunk, size: 33174
11:49
Use memcpy() rather than "=" to copy a structure, in order to work around a bug in the XLC compiler on AIX. Ticket #3344. (CVS 6003) file: [15dc139e] check-in: [18bbcafc] user: drh branch: trunk, size: 33062
2008-12-09
02:51
Suppress more silly compiler warnings. (CVS 5995) file: [4f45d0f8] check-in: [1522c2c6] user: drh branch: trunk, size: 33040
2008-12-05
23:40
Make the minimum allocate size for RowSet objects large enough to accommodate 8-byte pointers. (CVS 5985) file: [c4da6cee] check-in: [b74885e0] user: drh branch: trunk, size: 32979
2008-12-04
22:17
Fix a segfault that can occur in the RowSet object following a malloc failure. (CVS 5978) file: [360396ac] check-in: [cb0f1658] user: drh branch: trunk, size: 32979
20:40
Replace the VDBE Fifo object with the new RowSet object. (CVS 5977) file: [2f386acc] check-in: [39a0750b] user: drh branch: trunk, size: 32951
2008-11-11
00:21
When an OOM error occurs while resizing an sqlite_value object, make sure the value of the object is set to NULL. Ticket #3488. (CVS 5877) file: [223e0328] check-in: [7b9c9b35] user: drh branch: trunk, size: 31636
2008-11-05
17:41
Fix memory allocation problems when string length exceeds limits. (CVS 5865) file: [ff746621] check-in: [b568e325] user: drh branch: trunk, size: 31635
2008-10-30
17:21
Fix a crash that can follow a malloc failure in sqlite3ValueFromExpr(). Ticket #3468. (CVS 5851) file: [c0e9d994] check-in: [0996783b] user: danielk1977 branch: trunk, size: 31585
2008-09-16
12:06
Modify the sqlite3VdbeMemCompare() routine so that it does not modify any Mem.z values. Ticket #3376. (CVS 5706) file: [ead88713] check-in: [2d450551] user: danielk1977 branch: trunk, size: 31556
2008-08-22
14:41
Make sure the function context is fully initialized before invoking the function finalizer. Ticket #3326. (CVS 5596) file: [51538ff1] check-in: [8496f4a0] user: drh branch: trunk, size: 31767
2008-08-01
20:10
Bring test coverage up to 99%. (CVS 5522) file: [c37b2a26] check-in: [2cd6bae8] user: drh branch: trunk, size: 31777
2008-07-30
13:14
Remove unused sqlite3VdbeMemDynamicify() function from the VDBE. (CVS 5500) file: [bdf92746] check-in: [aee63308] user: drh branch: trunk, size: 31907
2008-07-28
19:34
Implement the "lookaside" memory allocation cache. Use of this cache makes the speed1.test script run about 15% faster. Added new interfaces to control the cache. (CVS 5488) file: [7ab2a77d] check-in: [e48f9697] user: drh branch: trunk, size: 31990
2008-07-09
16:51
Test coverage improvements on printf. (CVS 5385) file: [0c72b58f] check-in: [2d8f7beb] user: drh branch: trunk, size: 31657
2008-07-08
22:28
Added macros to convert between 32-bit ints and 64-bit ptrs to avoid compiler warnings. (CVS 5378) file: [3a27b04a] check-in: [6cdb6841] user: shane branch: trunk, size: 31677
14:52
Improved enforcement of the SQLITE_LIMIT_LENGTH limit. (CVS 5368) file: [ee1a032b] check-in: [ee931508] user: drh branch: trunk, size: 31661
2008-05-16
04:51
Add more version tags to files that lack them. Ticket #3120. (CVS 5137) file: [a39a822e] check-in: [81a8c70e] user: danielk1977 branch: trunk, size: 31402
2008-05-09
18:03
Reformulate the constants for the minimum and maximum 64-bit signed integer to work better with some compilers. Ticket #3105. (CVS 5113) file: [8397a763] check-in: [18b1ee10] user: drh branch: trunk, size: 31335
2008-04-28
16:55
Change the implementation of the NaN recognition to be more cross-platform. Ticket #3089. (CVS 5060) file: [8cdc5d4c] check-in: [07fd9a8c] user: drh branch: trunk, size: 31363
2008-04-27
18:40
Remove all references to sqlite3_intptr_t. (CVS 5051) file: [e2450d6c] check-in: [6a94d197] user: drh branch: trunk, size: 31364
2008-04-16
00:28
Back out the zero-terminator optimization introduced in check-in (4915). Ticket #3056. (CVS 5015) file: [237e6121] check-in: [cce8deae] user: drh branch: trunk, size: 31390
2008-04-03
10:13
Change the allocator in mem2.c (used when SQLITE_MEMDEBUG is defined) so that allocations are not rounded up to the nearest 4 byte boundary. Fix a couple of errors in malloc.test related to sqlite3OsAccess() returning -1. (CVS 4956) file: [095e18f8] check-in: [fd97f876] user: danielk1977 branch: trunk, size: 31616
2008-04-02
04:23
Set flags = MEM_Null on allocation failure in sqlite3VdbeMemGrow (CVS 4953) file: [4877da19] check-in: [846f9739] user: mlcreech branch: trunk, size: 31608
2008-03-29
23:25
Minor cleanup: Use size_t for struct size cast (CVS 4940) file: [b96fea7b] check-in: [618df68b] user: mlcreech branch: trunk, size: 31554
2008-03-28
19:15
Do not incorrectly report a malloc() failure when allocating 0 bytes. Fixes a problem in bind.test. (CVS 4931) file: [e7ced884] check-in: [b99d19d6] user: danielk1977 branch: trunk, size: 31551
18:11
Fix for #3022. Handle queries like "SELECT min(b) FROM T WHERE a = X AND b > X" when there is an index on (a,b). (CVS 4930) file: [05f23158] check-in: [bce28975] user: danielk1977 branch: trunk, size: 31533
15:44
Changes to the Mem structure to reduce the frequency of freeing and reallocating the dynamic buffer. (CVS 4928) file: [004c5e1e] check-in: [d0bf73d8] user: danielk1977 branch: trunk, size: 31467
2008-03-25
16:16
Test string values passed to bind_text() and result_text() for a nul-terminator. (CVS 4915) file: [d48a71d6] check-in: [24c3ebc0] user: danielk1977 branch: trunk, size: 32347
2008-03-20
14:03
Initial implementation of per-connection limits and the sqlite3_limit() API. The sqllimits1.test script crashes. SQLITE_LIMIT_PAGE_COUNT and SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897) file: [67662aac] check-in: [60c77882] user: drh branch: trunk, size: 32106
2008-03-19
21:45
Add a new interface, sqlite3_context_db_handle(), that returns the database connection pointer for an application-defined function. (CVS 4889) file: [5de8de02] check-in: [54c55cae] user: drh branch: trunk, size: 32089
2008-03-18
00:54
Fix a memory leak introduced by the previous bug fix. (CVS 4876) file: [2aff1e7c] check-in: [b9c5dce3] user: drh branch: trunk, size: 32067
00:07
Add the ability to simulate out-of-memory errors when using the default memory allocator, mem1.c. Fix a bug that this enhancement revealed. (CVS 4875) file: [eca1f7ae] check-in: [d55a5e1c] user: drh branch: trunk, size: 32030
2008-03-14
19:17
Change an instance of intptr_t to sqlite3_intptr_t. (CVS 4863) file: [7a39ad55] check-in: [6db7186c] user: drh branch: trunk, size: 32000
2008-03-13
23:34
One additional intptr_t conversion (in the same vein as check-in 4824) (CVS 4859) file: [16c924ee] check-in: [2777ca78] user: mlcreech branch: trunk, size: 31992
2008-03-06
09:58
Handle non-autoconf build correctly with new changes (CVS 4832) file: [b7781915] check-in: [e2a9f5f1] user: mlcreech branch: trunk, size: 31987
07:35
Use intptr_t definition to silence warnings about ptr-int casts (CVS 4824) file: [7812a0fa] check-in: [54839a84] user: mlcreech branch: trunk, size: 31979
2008-02-19
15:44
Avoid the use of UTF16 functions in code that is part of a build when UTF16 support is omitted. Ticket #2949. (CVS 4799) file: [2d87d654] check-in: [9db346de] user: drh branch: trunk, size: 31974
2008-02-14
15:31
Fix some VdbeMemCopy() related problems. (CVS 4787) file: [73a4dd9e] check-in: [aca2bee8] user: danielk1977 branch: trunk, size: 31906
2008-02-13
18:25
Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783) file: [e060d04b] check-in: [990237e2] user: danielk1977 branch: trunk, size: 31889
2008-01-31
13:35
Version number to 3.5.5. Include FTS3 in the amalgamation by default (but disabled unless compiled with -DSQLITE_ENABLE_FTS3). Fix a memory allocation problem. (CVS 4757) file: [cee169fb] check-in: [72411043] user: drh branch: trunk, size: 30807
2008-01-22
21:30
Add the fault injector module in fault.c. Use it as a basis for memory allocation failure testing. (CVS 4742) file: [79ec9d0d] check-in: [1a335e18] user: drh branch: trunk, size: 30816
01:48
Changes to lemon to generate additional comments in the output file and to remove unreachable code. Additional test cases for improved test coverage. (CVS 4736) file: [bb8d4f70] check-in: [2a0bc1e1] user: drh branch: trunk, size: 31081
2008-01-19
03:35
Cleanup and simplification of constraint processing. Simplifications to the VM for better test coverage. (CVS 4729) file: [e15122ef] check-in: [d9ebe9d7] user: drh branch: trunk, size: 31089
2008-01-18
14:08
Remove the OP_HexBlob instruction and code OP_Blob directly. Reduce the amount of memory allocation required to encode blob literals. Remove the "out2" instruction type. Other minor optimizations. (CVS 4726) file: [666a1d7b] check-in: [0e50c020] user: drh branch: trunk, size: 31131
2008-01-11
15:27
Do explicit range tests before attempting to convert a 64-bit float into a 64-bit integer. Some systems (windows) seem to throw exceptions if the conversion is out of range. Ticket #2880. (CVS 4706) file: [a86119b5] check-in: [4744257d] user: drh branch: trunk, size: 31022
00:06
Attempt to work around a bug in the Borland BCC 5.5.1 compiler. Ticket #2880. (CVS 4705) file: [3da7f7fa] check-in: [6de0ee49] user: drh branch: trunk, size: 30467
2008-01-08
02:57
Progress toward registerification of the constraint checking logic for INSERT and UPDATE. (CVS 4693) file: [a94f3e9e] check-in: [b9bf509e] user: drh branch: trunk, size: 29875
2007-10-05
16:23
Remove #include <math.h> from all source files. It is no longer needed but causes compile problems when -DSQLITE_OMIT_FLOATING_POINT is defined. Ticket #2696. (CVS 4474) file: [123994fc] check-in: [4424357d] user: drh branch: trunk, size: 29867
2007-08-29
14:06
Use the DbMalloc() and DbRealloc() functions more consistently. (CVS 4323) file: [246d434f] check-in: [c790c234] user: danielk1977 branch: trunk, size: 29885
12:31
Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) file: [de0f4df1] check-in: [e38ef81b] user: danielk1977 branch: trunk, size: 29923
2007-08-22
20:18
The malloc.test script now passes all tests with no errors. (CVS 4271) file: [896fa3f8] check-in: [db818430] user: drh branch: trunk, size: 29930
2007-08-21
19:33
The sqlite3_value object now carries an sqlite3* pointer to use for recording malloc failures. This eliminates the need to pass sqlite3* pointers into many internal interfaces. Also added more mutexing. (CVS 4263) file: [3de25d78] check-in: [92872761] user: drh branch: trunk, size: 29921
10:44
Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) file: [2843e6f9] check-in: [fbbd5bda] user: drh branch: trunk, size: 28955
2007-08-16
10:36
Replace a few sqlite3_malloc() calls that should be sqlite3MallocZero(). (CVS 4234) file: [019952d4] check-in: [384d0ca9] user: danielk1977 branch: trunk, size: 28971
10:09
More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) file: [52ec1873] check-in: [77b16713] user: danielk1977 branch: trunk, size: 28968
04:30
Half-way through a major refactoring of the memory allocation. I have not even attempted to compile so I am certain there are countless errors. (CVS 4231) file: [59fde3ec] check-in: [deb7ecd6] user: drh branch: trunk, size: 28789
2007-06-25
17:28
Rework the string to integer conversion logic to address tickets #2344 and #2454. (CVS 4123) file: [327944e7] check-in: [5b3a4906] user: drh branch: trunk, size: 27956
2007-06-20
15:29
Remove the dependency on libm for isnan(). Ticket #2436. (CVS 4103) file: [ca4d3994] check-in: [406675bb] user: drh branch: trunk, size: 27955
2007-06-07
19:08
Make sure zeroblob does reasonable things with a negative argument or an argument that is larger than the maximum blob size. (CVS 4048) file: [d86c25bb] check-in: [f4021843] user: drh branch: trunk, size: 27947
2007-05-30
06:19
Fix a problem with zeroblob() and CAST(...) expressions that could cause an assert() to fail. (CVS 4041) file: [328e4897] check-in: [03750a2a] user: danielk1977 branch: trunk, size: 27862
2007-05-17
16:34
Fix a problem with casting blobs to numeric types. (CVS 4021) file: [332875a5] check-in: [f2ce727c] user: danielk1977 branch: trunk, size: 27817
2007-05-16
17:28
Change a few selected functions to macros to speed things up. (CVS 4015) file: [89ffe903] check-in: [93f811ec] user: danielk1977 branch: trunk, size: 27761
14:23
Omit some extra code when OMIT_INCRBLOB is defined. (CVS 4014) file: [596624a0] check-in: [1d89be28] user: danielk1977 branch: trunk, size: 27633
11:55
Keep the full precision of integers if possible when casting to "numeric". Ticket #2364. (CVS 4012) file: [f04d1a25] check-in: [2ac985a3] user: drh branch: trunk, size: 27597
2007-05-11
10:10
Expand the expressions tested by fuzz.test. Fix for (CAST zeroblob() AS text). (CVS 3983) file: [01237a48] check-in: [4e1bb41f] user: danielk1977 branch: trunk, size: 27315
2007-05-10
17:23
Add some UTF-8 test infrastructure. Treat NaN as NULL. The printf routines print infinity as "Inf" not as "NaN". Ticket #2345. (CVS 3972) file: [0fb40f92] check-in: [ffe615a7] user: drh branch: trunk, size: 27317
15:37
Add new test file fuzz.test, to test SQLite with fuzzily generated SQL. (CVS 3971) file: [2d59bc2b] check-in: [1e9e6fe7] user: danielk1977 branch: trunk, size: 27225
2007-05-08
20:37
Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958) file: [f9ef7a16] check-in: [e9f56ead] user: drh branch: trunk, size: 27165
12:12
Begin adding code to explicitly limit the size of strings and blobs. (CVS 3943) file: [44b71bf9] check-in: [031a5915] user: drh branch: trunk, size: 27165
2007-05-02
13:30
Add support for zero-blobs to the OP_MakeRecord opcode. First test cases of zeroblob functionality. (CVS 3897) file: [ba98f857] check-in: [e6d560dd] user: drh branch: trunk, size: 26842
01:34
Begin adding the zeroblob API to support incremental blob i/o. (CVS 3894) file: [02ffe06f] check-in: [7a01836d] user: drh branch: trunk, size: 26798
2007-04-01
23:49
Fix some warnings about unused and uninitialized variables. (CVS 3788) file: [981a1134] check-in: [18aec1dd] user: drh branch: trunk, size: 25720
2007-03-30
11:23
Remove the anonymous union from the sqlite3_value structure since some compilers are unable to deal with it. (CVS 3758) file: [d3696b4b] check-in: [6b995259] user: drh branch: trunk, size: 25696
2007-03-26
22:05
Modify sources to that they can be combined into a single sqlite3.c source file. Eliminate all type-pruned pointer warnings. (CVS 3722) file: [58a8be22] check-in: [0b832e21] user: drh branch: trunk, size: 25660
2007-02-05
14:21
Set the MEM_Term flag when an internal string has a nul-terminator appended to it. Fix for #2213. (CVS 3627) file: [ff2424be] check-in: [fc969ad9] user: danielk1977 branch: trunk, size: 25680
2006-09-04
15:53
Make sure strings returned by sqlite3_value_text() and sqlite3_value_text16() are always '\000'-terminated. (CVS 3391) file: [26623176] check-in: [2c63588b] user: drh branch: trunk, size: 25651
2006-02-24
02:53
Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) file: [5f0afe3b] check-in: [4b22e4b8] user: drh branch: trunk, size: 26375
2006-02-17
15:01
Fix bug preventing compliation without MEMDEBUG when ENABLE_MEMORY_MANAGE is defined. (CVS 3105) file: [a1738a86] check-in: [76912b33] user: danielk1977 branch: trunk, size: 26386
2006-02-16
18:16
Or the SQLITE_UTF16_ALIGNED with the encoding field in sqlite3_create_collation and UTF16 strings will always be aligned on an even byte boundary when passed into the comparison function. (CVS 3103) file: [51a810d5] check-in: [7a1701e8] user: drh branch: trunk, size: 26355
2006-01-20
15:45
Fix and test the processing of sqlite3_result_error() withing aggregate functions. Allow errors to come from the step function (a new capability). Ticket #1632. (CVS 2981) file: [2034e93b] check-in: [fd4a6bb1] user: drh branch: trunk, size: 25541
2006-01-18
16:51
Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972) file: [53f25c5c] check-in: [ac090f2a] user: danielk1977 branch: trunk, size: 25346
2006-01-12
19:42
Automatically cast BLOBs to strings prior to handing them over to functions like LIKE that want strings. Ticket #1605. (CVS 2928) file: [dd08a0ee] check-in: [730ddb0b] user: drh branch: trunk, size: 25365
2006-01-11
21:41
Automatically deallocate thread-specific data when it is no longer being used. Ticket #1601. Also implemented the suggestion of ticket #1603. Memory management is now off by default at compile-time. The sqlite3_enable_memory_management() API has been removed. (CVS 2919) file: [66e05857] check-in: [5d9c6aa9] user: drh branch: trunk, size: 25281
2006-01-10
17:58
Store collation sequence names instead of pointers in sharable schema data structures. (CVS 2904) file: [2ada7cae] check-in: [0f0213be] user: danielk1977 branch: trunk, size: 25273
2006-01-09
06:29
Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) file: [d712dfd8] check-in: [82b81f69] user: danielk1977 branch: trunk, size: 25282
2005-12-09
20:02
Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) file: [deba8d6e] check-in: [83a59151] user: drh branch: trunk, size: 25275
2005-12-07
06:27
Add some tests for malloc() failure within the column_name() and column_decl() APIs. (CVS 2805) file: [1c70555d] check-in: [78f10ca0] user: danielk1977 branch: trunk, size: 25240
2005-11-14
22:29
Create separate affinities for INTEGER and REAL. (CVS 2766) file: [cd9609c1] check-in: [ce06c123] user: drh branch: trunk, size: 24856
2005-11-03
14:29
sqlite3_column_int() and similar routines return 0 or 0.0 on an out-of-memory condition, not some mysterious error code. (CVS 2759) file: [fdd5dbca] check-in: [7780f5e9] user: drh branch: trunk, size: 24681
2005-11-01
15:48
Omit the SQLITE_AFF_INTEGER type affinity. All numeric values are now of type real, though an integer representation is still sometimes used internally for efficiency. (CVS 2753) file: [55553999] check-in: [e0d6f61c] user: drh branch: trunk, size: 24701
2005-09-20
17:42
Code cleanup and simplification. Three new Mem opcodes added. The sqlite3VdbeJumpHere function added. (CVS 2730) file: [ff426ff6] check-in: [2471957f] user: drh branch: trunk, size: 24368
2005-09-08
14:17
Remove a few unused variables detected by Borland C. Ticket #1412. (CVS 2675) file: [fea07449] check-in: [cdfe372a] user: drh branch: trunk, size: 24353
2005-09-07
22:09
Bug fixes in aggregate processing. Fewer tests fail. (CVS 2663) file: [e1da6b77] check-in: [c3ac5859] user: drh branch: trunk, size: 24349
21:22
Rewrite the aggregate handling logic so that it runs in O(1) space. This is the first cut at the code. Many regression tests fail. (CVS 2662) file: [3cb63f02] check-in: [17039ec3] user: drh branch: trunk, size: 24348
2005-09-06
20:36
Cleanup the processing of MEM_Agg elements. (CVS 2660) file: [b6ae3ac8] check-in: [7ecf3654] user: drh branch: trunk, size: 24273
2005-08-20
13:47
More test coverage improvements. (CVS 2605) file: [4732fd4d] check-in: [e559e810] user: drh branch: trunk, size: 23467
2005-08-13
12:59
Add the "!" flag to the "%g" mprintf conversion parameter to force a decimal point. This prevents floating point values from appearing as integers. Use this flag when converting floating point to text. Ticket #1362. (CVS 2586) file: [89154caa] check-in: [4b98dace] user: drh branch: trunk, size: 23402
2005-06-25
18:42
Remove the blob(), text() and numeric() functions added in (2524) and replace them with the standard CAST operator. Ticket #1287. (CVS 2527) file: [da8e8d6f] check-in: [17631785] user: drh branch: trunk, size: 23401
2005-05-22
19:21
Fix a memory leak. Ticket #1259. (CVS 2472) file: [48a64ae9] check-in: [254ac221] user: drh branch: trunk, size: 23336
2005-03-09
12:26
Support for a future ALTER TABLE command to add columns with default values. (CVS 2367) file: [4e853ce3] check-in: [9d5abc1d] user: danielk1977 branch: trunk, size: 23157
2005-01-13
02:14
Fixes to 'configure' build system. Also extra coverage for main.c. (CVS 2204) file: [62fe8947] check-in: [8378455f] user: danielk1977 branch: trunk, size: 21250
2005-01-12
07:15
Tests to improve coverage of vdbemem.c. (CVS 2200) file: [5d9fd8de] check-in: [319bb4a9] user: danielk1977 branch: trunk, size: 21121
2004-11-14
21:56
The SQLITE_OMIT_UTF16 macro now removes lots of code and all tests still pass. (CVS 2100) file: [5876c8ab] check-in: [98c7a554] user: drh branch: trunk, size: 21072
2004-08-30
16:52
Better detection and handling of corrupt database files. (CVS 1922) file: [ef9ac7d3] check-in: [8f5b199e] user: drh branch: trunk, size: 20954
2004-08-28
18:17
Memory handling fixes and optimizations in the VDBE. Ticket #862. (CVS 1909) file: [8971ecc9] check-in: [5f8d2468] user: drh branch: trunk, size: 20719
2004-08-08
23:39
Fix problems in the handling of malloc failures. (CVS 1882) file: [68fefaf8] check-in: [81d91d14] user: drh branch: trunk, size: 19783
2004-08-06
17:00
Fix a bug in the logic that converts numbers into strings inside the VM. Ticket #844 (CVS 1878) file: [d4fa40d0] check-in: [863540be] user: drh branch: trunk, size: 19746
2004-06-30
11:54
Coverage improvements for malloc and vdbemem.c (CVS 1781) file: [bbf62137] check-in: [a98dd004] user: danielk1977 branch: trunk, size: 19776
2004-06-28
13:09
More coverage testing. (CVS 1754) file: [053f8adc] check-in: [33292104] user: danielk1977 branch: trunk, size: 19738
2004-06-27
01:56
Fix a bug in the handling of Mems inside of vdbe.c. (CVS 1745) file: [e8ae1f56] check-in: [ad65c6e2] user: drh branch: trunk, size: 19454
2004-06-22
22:54
Fix another uninitialized Mem.xDel problem. (CVS 1672) file: [d37e4033] check-in: [cb4e242e] user: drh branch: trunk, size: 18315
2004-06-18
04:24
Optimisation for unicode encoding conversion routines. (CVS 1614) file: [9359c533] check-in: [39a415ea] user: danielk1977 branch: trunk, size: 18179
2004-06-17
05:36
Use the faster LIKE function from sqlite v2. Add special user functions to test builds to test the auxdata APIs. (CVS 1610) file: [c00e939c] check-in: [b9493c5f] user: danielk1977 branch: trunk, size: 19507
2004-06-15
11:40
Minor bugfixes and test case adjustments for version 2 test cases to work with version 3. (CVS 1598) file: [1e7df5ed] check-in: [e21a1813] user: danielk1977 branch: trunk, size: 18792
2004-06-12
09:25
(1) Modifications to the user-function interface and (2) Internal changes to automatically created indices. (CVS 1575) file: [34f59988] check-in: [5903f538] user: danielk1977 branch: trunk, size: 18315
00:42
Use the SQLITE_UTF* symbols instead of the old internal TEXT_Utf* symbols. (CVS 1572) file: [26cd5419] check-in: [9b84f2f4] user: danielk1977 branch: trunk, size: 18173
2004-06-11
13:19
Have the vdbe aggregator use a btree table instead of a hash table. (CVS 1569) file: [6407b5dc] check-in: [8d56118f] user: danielk1977 branch: trunk, size: 18143
2004-06-10
14:01
Correctly handle the situation where a collation sequence is available, but not in the preferred encoding. (CVS 1565) file: [b1599f5d] check-in: [49ab4794] user: danielk1977 branch: trunk, size: 18125
02:16
Change the collation sequence interface to allow collation sequences that use UTF-16 in non-native byte order to be registered. (CVS 1559) file: [5b2fab8b] check-in: [b8aaa3a2] user: danielk1977 branch: trunk, size: 16950
2004-06-09
09:55
Some progress on user-defined collation sequences. (CVS 1544) file: [04502b81] check-in: [c634e71f] user: danielk1977 branch: trunk, size: 16568
2004-05-31
18:51
Change all SQLITE3 preprocessor macros to SQLITE. Documentation updates. (CVS 1511) file: [5d029d83] check-in: [adf7e29f] user: drh branch: trunk, size: 15509
2004-05-30
20:46
Various speed enhancements. (CVS 1498) file: [627d714c] check-in: [a0db15bb] user: drh branch: trunk, size: 15518
01:38
Do not include the P3 parameter on OP_Integer opcodes if the integer will fit in 32 bits. The P3 conversion is slow. (CVS 1494) file: [d5f96663] check-in: [fcd84eba] user: drh branch: trunk, size: 15389
2004-05-28
08:21
Tables and indices use the same record format. (CVS 1482) file: [c97c145f] check-in: [1b15b32b] user: drh branch: trunk, size: 15380
2004-05-27
13:35
A couple of test cases and fixes for blob literals. (CVS 1474) file: [b487e8a9] check-in: [6d552af6] user: danielk1977 branch: trunk, size: 13473
10:30
A few more bugfixes. Test cases pass now. (CVS 1472) file: [9deb5973] check-in: [c9e3015f] user: danielk1977 branch: trunk, size: 13429
09:28
Various bugfixes. 68 Test cases still fail. (CVS 1471) file: [6e843650] check-in: [67a140cf] user: danielk1977 branch: trunk, size: 13503
03:12
Fixes to the MEM changes. The library now links. (CVS 1470) file: [b7a94817] check-in: [f33d15d9] user: drh branch: trunk, size: 11981
01:53
More MEM changes in the vdbe.c. Still will not compile. (CVS 1469) file: [3474db5c] check-in: [dbdd1a7f] user: drh branch: trunk, size: 11894
2004-05-26
23:25
Refactoring of the vdbe Mem functions and the APIs that deal with them. The code will not compile in its current state. (CVS 1465) file: [c92c41c8] check-in: [bba6684d] user: drh branch: trunk, size: 11407 Added