SQLite

All files named ”src/vdbemem.c”
Login

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

History for src/vdbemem.c

2025-07-04
10:10
[8b5582eaa9] part of check-in [dae572912f] Tweak for coverage testing of valueToTextV2(). This changes passes through coverage testing but doesn't look quite right to me, in that this part now differs from its counterpart in valueToText() (which doesn't need this to get coverage for what amounts to the same path). (check-in: [dae572912f] user: stephan branch: column-text-blob-v2, size: 70477)
2025-07-02
15:29
[215049118f] part of check-in [9226a2a3c6] Correct mis-placed OOM checks in valueToTextV2(). (check-in: [9226a2a3c6] user: stephan branch: column-text-blob-v2, size: 70485)
13:24
[9f35b93635] part of check-in [c96539beb5] Per /chat and forum discussions: (A) Remove the value type output pointer from text/blob_v2(). (B) Teach blob_v2() to return an opaque non-NULL pointer for length-0 blobs. (check-in: [c96539beb5] user: stephan branch: column-text-blob-v2, size: 70429)
2025-07-01
21:33
[96d0b3b38e] part of check-in [0363c430b5] Remove an #if 0 block. (check-in: [0363c430b5] user: stephan branch: column-text-blob-v2, size: 70852)
16:38
[08633d0ac6] part of check-in [4aab781d2a] Experimentally add another output pointer to the text/blob_v2() family which gets the sqlite3_value_type() assigned to it if it's not NULL, based on feedback in the forum. (check-in: [4aab781d2a] user: stephan branch: column-text-blob-v2, size: 70943)
2025-06-30
23:17
[4c4878f6b6] part of check-in [b0b1b4ccb9] Restart this branch using a different take: add new "v2" routines instead of refactoring the old ones, which eliminates any performance impact or risk of behavior change for existing APIs. None of this code is actually called from anywhere yet. (check-in: [b0b1b4ccb9] user: stephan branch: column-text-blob-v2, size: 70570)
22:15
[d8ee045a40] part of check-in [730c6a623e] Initial experimental internal changes needed to support a hypothetical sqlite3_column_text/blob_v2(), as discussed in forum post 402a837960d9de45. This is just the first step: this change needs to cascade upwards a couple of levels, remove one level of porting-crutch API, and go through performance comparisons before we'll know whether it's really feasible. make devtest passes but there are corner error cases which require more precise testing to ensure that there are no visible changes in behavior. (check-in: [730c6a623e] user: stephan branch: column-text-blob-v2, size: 68989)
2025-04-10
10:18
[e67d9c6484] part of check-in [20acd630b9] Remove unnecessary "www." prefixes on domain names in URLs. (check-in: [20acd630b9] user: drh branch: trunk, size: 67338)
2025-02-17
17:33
[571ae3116d] part of check-in [215650a5a1] Code changes that make it easier to prove that no 32-bit integer overflows happen during memory allocation. No problems fixed; this change is just to make future maintenance easier. (check-in: [215650a5a1] user: drh branch: trunk, size: 67342)
2025-02-10
11:16
[4af21a9488] part of check-in [4aad891802] Convert some expensive NEVER() and ASSERT() macros into assert()s. (check-in: [4aad891802] user: drh branch: trunk, size: 67335)
2025-01-21
16:30
[977438546d] part of check-in [7fb1ae25d1] Performance improvements to the (debug-use only) Mem.pScopyFrom logic, resulting in about 8x faster performance under -DSQLITE_DEBUG for the query in from forum post 0025389d0860af82. This change only affects builds that use -DSQLITE_DEBUG. (check-in: [7fb1ae25d1] user: drh branch: trunk, size: 67345)
2024-09-18
18:04
[63ffb5a4c6] part of check-in [b021399a6e] Improvements to the scope of valueFromFunction(). (check-in: [b021399a6e] user: drh branch: branch-3.28, size: 61848)
16:33
[df568ef018] part of check-in [a0f39419cb] Improvements to the scope of valueFromFunction(). (check-in: [a0f39419cb] user: drh branch: trunk, size: 67253)
2024-05-21
13:34
[831a244831] part of check-in [aab59f9f7c] Fix harmless compiler warnings. (check-in: [aab59f9f7c] user: drh branch: trunk, size: 67206)
2024-04-24
14:18
[385c8b89da] part of check-in [240a4a48b2] Fix a case where a corrupt stat4 record could go unrecognized due to integer overflow. (check-in: [240a4a48b2] user: dan branch: trunk, size: 67201)
2024-02-27
14:31
[213bf30382] part of check-in [e50acaf934] Ensure memory cells are properly freed before they are overwritten by OP_IntegrityCk. (check-in: [e50acaf934] user: dan branch: trunk, size: 67201)
2024-02-02
16:51
[6f1728ea70] part of check-in [cc294c041b] Have "PRAGMA quick_check" compare the number of entries in tables and indexes. (check-in: [cc294c041b] user: dan branch: quick-check-counts, size: 67134)
2024-01-20
18:41
[3e37dab421] part of check-in [298d697728] Ensure that values generated by DEFAULT clauses that specify real numbers that can be expressed as 64-bit integers (e.g. -1234.0) are not silently converted to integers. (check-in: [298d697728] user: dan branch: trunk, size: 67007)
2024-01-19
16:51
[bbe87b3e85] part of check-in [8cccc1f27d] Allow large hexadecimal literals to be used as DEFAULT values. (check-in: [8cccc1f27d] user: dan branch: trunk, size: 66619)
2023-11-07
19:03
[0012d5f01c] part of check-in [796a23f9ee] Update the documentation to the sqlite3_set_auxdata() and sqlite3_get_auxdata() routines to make it clear that they do not work as one might expect when they are called during query planning, instead of during query execution. The JSON routines misuse those interfaces, so add a special flag to JSON routines that prevents them from being invoked during query planning. Fix for the problem in forum post a655ee159eca1ea5. (check-in: [796a23f9ee] user: drh branch: trunk, size: 66220)
2023-10-17
19:33
[c936e9002a] part of check-in [37ff0d8e7f] Fix a harmless compiler warning about variant types for a pointer function. (check-in: [37ff0d8e7f] user: drh branch: trunk, size: 66195)
2023-10-13
19:41
[ba9e21c579] part of check-in [4958db70c8] Apply the correct affinity to DEFAULT values that are TRUE or FALSE. (check-in: [4958db70c8] user: drh branch: trunk, size: 66211)
2023-08-01
01:07
[317b9f4870] part of check-in [0189843298] Remove redundant comparison operator. (check-in: [0189843298] user: drh branch: trunk, size: 66157)
2023-07-29
22:58
[b4b34674ee] part of check-in [8920dcef1f] Do not try to add MEM_Term to an MEM_Static string either. (check-in: [8920dcef1f] user: drh branch: trunk, size: 66177)
21:22
[4adae4ed1c] part of check-in [2a378a6678] Do not try to apply MEM_Term to a MEM_Ephem strings. (check-in: [2a378a6678] user: drh branch: trunk, size: 66077)
2023-07-28
11:30
[adb5877dc5] part of check-in [8fd06d1151] Mark an unreachable branch as ALWAYS(). (check-in: [8fd06d1151] user: drh branch: json-opt, size: 66067)
2023-07-26
01:05
[33da4f30dd] part of check-in [2dbb22c75e] Extend the enhancement to json_set() and json_replace(). Clean up cruft. (check-in: [2dbb22c75e] user: drh branch: json-opt-rcstr, size: 65551)
00:48
[46ea371b10] part of check-in [f930b139d6] Add the JsonParse.zAlt field to old revised JSON text after a change. Demonstrate that this elminates the need for reparsing after a change by using it in the json_remove() function. This is an incremental check-in containing lots of cruft. (check-in: [f930b139d6] user: drh branch: json-opt-rcstr, size: 66072)
2023-07-25
15:08
[aee9ac6366] part of check-in [c1b8725089] Create the new RCStr class of strings and try to use them for JSON storage. (check-in: [c1b8725089] user: drh branch: json-opt-rcstr, size: 66059)
2023-07-22
16:37
[40afb83ed8] part of check-in [931bccb0cc] Do not read past the end of a text buffer looking for a zero terminator, as that space might not be initialized. If the buffer is owned, just set the null terminator. This is a better fix for the OSSFuzz-detected use-of-initialized-value problem. (check-in: [931bccb0cc] user: drh branch: trunk, size: 65373)
2023-07-21
22:22
[b3013dd116] part of check-in [414a4d660c] Mark an unreachable branch as NEVER(). (check-in: [414a4d660c] user: drh branch: big-function-text, size: 65374)
19:17
[490342e7ab] part of check-in [06f829e9e5] Fix harmless compiler warning introduced by the previous check-in. (check-in: [06f829e9e5] user: drh branch: big-function-text, size: 65367)
18:09
[d6588e873a] part of check-in [1e5df0aa3d] Further improvements to large string handling in relation to JSON. (check-in: [1e5df0aa3d] user: drh branch: big-function-text, size: 65360)
2023-07-06
18:29
[cf4a1556dd] part of check-in [8813317cb5] A more precise implementation of sqlite3RealToI64(). (check-in: [8813317cb5] user: drh branch: trunk, size: 64533)
2023-06-30
12:59
[aed58a560c] part of check-in [625820e8eb] Omit the doubleToReal() function in vdbemem.c. Use the equivalent sqlite3RealToI64() function in its place. (check-in: [625820e8eb] user: drh branch: trunk, size: 64533)
2023-06-11
21:58
[710119a8e3] part of check-in [88be7075cd] Make sure temporary sqlite3_value objects used by STAT4 are reset to NULL prior to being reused, to prevent a memory leak associated with the custom xDel string value destructor. dbsqlfuzz 65209ab5d5730e4fd14fff9d024325a77239036e. (check-in: [88be7075cd] user: drh branch: trunk, size: 65434)
2023-04-28
10:10
[1cac4028c0] part of check-in [91fee79a01] Do not assert() a bad string representation in an sqlite3_value after an OOM. dbsqlfuzz c822a17a23c524a0ac7cfb203c7198209da15de8. (check-in: [91fee79a01] user: drh branch: trunk, size: 65385)
2023-04-09
20:48
[9714329705] part of check-in [2b02862de6] Fix an assertion fault that can occur when compiling with both SQLITE_ENABLE_UNKNOWN_SQL_FUNCTIONS and SQLITE_ENABLE_STAT4. (check-in: [2b02862de6] user: drh branch: branch-3.41, size: 65118)
20:44
[1d9a0f37b0] part of check-in [9ff69e5998] Fix an assertion fault that can occur when compiling with both SQLITE_ENABLE_UNKNOWN_SQL_FUNCTIONS and SQLITE_ENABLE_STAT4. (check-in: [9ff69e5998] user: drh branch: trunk, size: 65338)
2023-04-08
19:27
[6bf53dee95] part of check-in [1b864a370f] Fix a couple harmless compiler warnings seen with MSVC. (check-in: [1b864a370f] user: mistachkin branch: trunk, size: 65255)
2023-03-29
16:28
[b1a053acb5] part of check-in [248bf62945] Merge recent trunk fixes into the nan-inf branch. (check-in: [248bf62945] user: drh branch: nan-inf, size: 65350)
15:16
[db0458d11a] part of check-in [445c75567d] Another #ifdef to omit code that is only used by STAT4. (check-in: [445c75567d] user: drh branch: trunk, size: 65250)
2023-03-25
22:37
[cbd2305d64] part of check-in [5c8dd8dfca] When reading sqlite_stat4 data during query planning, be sure to expand zeroblobs prior to running comparisons. Fix for the issue identified by forum post 5275207102. (check-in: [5c8dd8dfca] user: drh branch: trunk, size: 65035)
2023-03-23
12:00
[46d182099c] part of check-in [0aecf360fb] Fix #ifdefs that use the wrong preprocessor macro. (check-in: [0aecf360fb] user: drh branch: nan-inf, size: 65259)
10:54
[656a51f3e9] part of check-in [5992370a89] The attempt to bring STAT4 up to 100% MC/DC at [55a26c67ed4a3a93] and at [168fa2fb22b8c1ad] are incorrect. Back them out and replace them with a simple NEVER() macro. Error reported by forum post dc4854437b. (check-in: [5992370a89] user: drh branch: trunk, size: 65004)
2023-03-22
20:21
[a021df401b] part of check-in [96ec830645] Add the SQLITE_ENABLE_NAN_INF compile-time option which makes the following behavior changes: (1) sqlite3_value_double(NULL) returns NaN, (2) SQLite preserves NaN values rather than converting them to NULL. (3) CAST statements understand "NaN" and "Inf" and make the right conversions. (4) Non-standard JSON is never generated by SQLite JSON routines, but those routines will accept floating point literals "NaN", "Inf", and "-Inf". (check-in: [96ec830645] user: drh branch: nan-inf, size: 65276)
2023-02-10
14:20
[0388576b7c] part of check-in [7347664511] Ensure that the valueFromFunction() routine does not clear a prior parser error. dbsqlfuzz 6fa816f20cf5b62260d635d110b88f38e29d8fe1. (check-in: [7347664511] user: drh branch: trunk, size: 65159)
2023-02-08
14:17
[86908c0ab1] part of check-in [168fa2fb22] Fix an incorrect assert() in STAT4 logic added just a few days ago on 2023-02-01. (check-in: [168fa2fb22] user: drh branch: trunk, size: 65157)
2023-02-01
23:24
[87d3811aab] part of check-in [55a26c67ed] Adjustments of assert() statement in STAT4 in order to give 100% MC/DC. (check-in: [55a26c67ed] user: drh branch: trunk, size: 65108)
2023-01-05
13:41
[3386a47198] part of check-in [d28d9398a5] Fix a problem with applying integer affinity to a MEM_IntReal value. Forum post d270125fae. (check-in: [d28d9398a5] user: drh branch: branch-3.40, size: 64993)
13:35
[316d518115] part of check-in [e58bba9371] Fix a problem with applying integer affinity to a MEM_IntReal value. Forum post d270125fae. (check-in: [e58bba9371] user: dan branch: trunk, size: 65084)
2023-01-03
18:51
[a958d07da2] part of check-in [284382d378] Avoid an unnecessary call to strlen() in the sqlite3VdbeMemStringify() routine, for a performance increase and size reduction. (check-in: [284382d378] user: drh branch: trunk, size: 64953)
2022-10-12
12:49
[6cfed43758] part of check-in [d6d4499782] Add the sqlite3_value_encoding() interface. (check-in: [d6d4499782] user: drh branch: trunk, size: 64862)
2022-10-08
17:27
[a9a3556bbd] part of check-in [1e2796b374] When casting an odd-length BLOB into a TEXT with encoding UTF16, omit the last byte. dbsqlfuzz c5df68b5bbdf6c9f3c1851e41e88f49ac05c9969 (check-in: [1e2796b374] user: drh branch: trunk, size: 64762)
2022-08-08
16:25
[c3ce80af15] part of check-in [3518cd7cb1] Avoid trying to cast an over-sized floating point value into an integer. (check-in: [3518cd7cb1] user: drh branch: trunk, size: 64713)
2022-06-25
02:39
[5ebf05c018] part of check-in [cd6254fcd3] Change a harmless assert() into a testcase(). The actually test case code is in TH3. Fix for the problem described at forum post ed29e196d5c4f3d5. (check-in: [cd6254fcd3] user: drh branch: trunk, size: 64377)
2022-06-07
10:14
[3db315458f] part of check-in [3f6a442099] Preserve the database encoding on the CAST operator in the sqlite3ValueFromExpr() routine. Forum thread 800eecf5e6cdc3f4. Test case in TH3. (check-in: [3f6a442099] user: drh branch: trunk, size: 64329)
2022-04-25
23:00
[2db321ed37] part of check-in [fb7e1a07a9] Reverse the order of two tests to stop a harmless initialized value warning from MSAN - reported by OSSFuzz. (check-in: [fb7e1a07a9] user: drh branch: branch-3.38, size: 63731)
2022-04-07
10:11
[7189090b72] part of check-in [61095b5bcb] Fix harmless compiler warnings. (check-in: [61095b5bcb] user: drh branch: trunk, size: 64345)
2022-04-01
15:31
[062cd58c54] part of check-in [d4e19314f5] Have the sqlite3_context object carry the encoding for the prepared statement that it represents, so that sqlite3_result() and similar can set the encoding according to the prepared statement, even if the database encoding has changed. dbsqlfuzz c409b10d0a6bccf78ab00f47e1d29d42ee5b3565 (check-in: [d4e19314f5] user: drh branch: trunk, size: 64325)
2022-03-29
20:50
[512499e51e] part of check-in [c86ab289ec] Ensure that sqlite3VdbeMemSetStr() always leaves the value in a consistent state even if there is an error. (check-in: [c86ab289ec] user: drh branch: trunk, size: 64252)
19:19
[6538bcef73] part of check-in [800b8fdad7] Reverse the order of two tests to stop a harmless initialized value warning from MSAN - reported by OSSFuzz. (check-in: [800b8fdad7] user: drh branch: trunk, size: 64219)
01:43
[d6add1f60a] part of check-in [d50b162b2f] Fix the sqlite3_result_xxxxx() routines so that they all check for and perform any necessary text encoding conversions and check for oversize strings and BLOBs. Thus those checks can be done where they are most efficient and avoided in cases like OP_Function where they are more expensive. (check-in: [d50b162b2f] user: drh branch: trunk, size: 64219)
2022-03-28
18:34
[dc02c6b8d5] part of check-in [310a3e102d] Further size and performance optimizations for sqlite3VdbeMemSetStr(). (check-in: [310a3e102d] user: drh branch: trunk, size: 64313)
17:34
[4fdef7b1da] part of check-in [06928e745c] Slightly smaller and faster sqlite3VdbeMemSetStr(). (check-in: [06928e745c] user: drh branch: trunk, size: 64209)
2022-03-05
19:39
[69d3092d47] part of check-in [45a5d5acf7] Cherry-pick all bug fix changes since the 3.38.0 release. (check-in: [45a5d5acf7] user: drh branch: branch-3.38, size: 63671)
2022-03-04
16:28
[57fceb4ed6] part of check-in [31e1bde4b2] When setting an sqlite3_value object to a pointer value, make sure any prior memory allocations associated with that object have been cleared first. dbsqlfuzz 33f842d1a09afaad5f078c3e1162a54b78e5f2ab. (check-in: [31e1bde4b2] user: drh branch: trunk, size: 63909)
2022-03-02
17:50
[ff564b58f4] part of check-in [86c5fa2f30] Faster version of sqlite3VdbeMemRelease(). (check-in: [86c5fa2f30] user: drh branch: trunk, size: 63887)
2022-02-19
15:57
[7737f0b1c4] part of check-in [e4e97505af] Add a NEVER() to a branch that is unreachable for STAT4. (check-in: [e4e97505af] user: drh branch: trunk, size: 63649)
2022-01-28
18:43
[eb6042667c] part of check-in [c4c30df7cd] Remove a NEVER() that has become reachable now that we have the sqlite3_vtab_rhs_value() interface. (check-in: [c4c30df7cd] user: drh branch: vtab-limit-offset, size: 63642)
2021-12-01
16:31
[da4d594084] part of check-in [50ac4de1d7] Add a Bloom filter to the automatic-index mechanism. (check-in: [50ac4de1d7] user: drh branch: bloom-filter, size: 63736)
2021-11-08
19:35
[a3d91dc9bb] part of check-in [bc401a75dd] Fix the zeroblob() function and related APIs so that they work with SQLITE_OMIT_INCRBLOB builds. (check-in: [bc401a75dd] user: dan branch: trunk, size: 63724)
2021-10-27
19:05
[71a449c57b] part of check-in [7238d58051] New assert()s to help prove correctness in sqlite3VdbeMemExpandBlob(). (check-in: [7238d58051] user: drh branch: trunk, size: 63324)
2021-10-07
17:43
[8be0af1060] part of check-in [8eaa1d4a98] Protect all accesses to the Expr.x union using nearby assert()s and branches. (check-in: [8eaa1d4a98] user: drh branch: trunk, size: 63240)
13:40
[51cb5d507a] part of check-in [9af863f065] Protect all accesses to the FuncDef.u and Expr.u unions using nearby assert()s or branches. (check-in: [9af863f065] user: drh branch: trunk, size: 63211)
2021-10-04
22:34
[f4dcedec56] part of check-in [32f33f3569] Fix harmless static-analyzer warnings. (check-in: [32f33f3569] user: drh branch: trunk, size: 63000)
2021-09-25
17:07
[0e830c2aab] part of check-in [70c221c5cf] Add const to parameters on various internal interfaces. (check-in: [70c221c5cf] user: drh branch: trunk, size: 62727)
2021-06-09
14:45
[53881aa0a7] part of check-in [56ff58c0b8] Set the database connection error code for an oversize argument to sqlite3_bind_blob64() or sqlite3_bind_text64(). Forum post a636276f0d451667 and 33821c8db543c. (check-in: [56ff58c0b8] user: drh branch: trunk, size: 62727)
2021-05-15
19:36
[175c73ced0] part of check-in [9d16323d14] Performance optimization in the memory allocation of allocateCursor. (check-in: [9d16323d14] user: drh branch: trunk, size: 62693)
2020-07-21
18:36
[947f2a6591] part of check-in [9679c0c611] Work-around for GCC bug 96270. (check-in: [9679c0c611] user: drh branch: trunk, size: 62480)
18:25
[26b6393cf4] part of check-in [14eed318aa] Add the sqlite3Int64ToText() routine and use it to convert integers to text, as it is much faster than the generic text formatter. (check-in: [14eed318aa] user: drh branch: trunk, size: 62207)
2020-03-03
20:04
[39b942ecca] part of check-in [bd94d7d052] Remove an invalid assert() on the debugging logic that checks to ensure that register values are not used after they go stale. Ticket [d165ad781b39d574]. (check-in: [bd94d7d052] user: drh branch: trunk, size: 62229)
2020-03-02
01:50
[ddca442b00] part of check-in [219c296cc8] Fix a faulty assert() statement in the stale-register detection logic. Ticket [da5a09be6dabbf42]. (check-in: [219c296cc8] user: drh branch: trunk, size: 62520)
2020-02-05
18:28
[ff2a1fd86e] part of check-in [ae6dd8d3e9] Small size reduction and performance improvement in the sqlite3VdbeMemFromBtree() interface used to pull content out of the b-tree and into an sqlite3_value object. (check-in: [ae6dd8d3e9] user: drh branch: trunk, size: 62569)
2020-01-17
19:14
[6200af702c] part of check-in [7584e4b649] Fix #ifdefs so it compiles cleanly with all SQLITE_OMIT compile-time options. Update compile-time option testing. (check-in: [7584e4b649] user: drh branch: trunk, size: 62750)
2020-01-06
18:44
[ad9e621763] part of check-in [55c136ef61] Move variable declaration to start-of-block for MSVC. (check-in: [55c136ef61] user: mistachkin branch: trunk, size: 62667)
2020-01-02
18:37
[05668cc1b4] part of check-in [4fcf07f796] Ifdef-out code that is only possible with the sessions extension. (check-in: [4fcf07f796] user: drh branch: trunk, size: 62653)
16:24
[d0e294c0f4] part of check-in [e782096aa0] Handle blobs that are the return values of functions being cast to text in utf16 databases in the same way as blobs read directly from the database. Fix for [771fe617]. (check-in: [e782096aa0] user: dan branch: trunk, size: 62588)
15:02
[30c13916dd] part of check-in [5377add4b8] Fix the OP_Move opcode so that it correctly manages dependency tracking. This change impacts debugging builds only. (check-in: [5377add4b8] user: drh branch: trunk, size: 62507)
14:42
[e5c0fbadf3] part of check-in [9886cb4b79] Enhancements to aid testing and debugging: In PRAGMA vdbe_trace=on output, show pScopyFrom dependencies on register values. Add the sqlite3VdbeRegisterDump() procedure, callable from a debugger, that shows the values of all registers. Pass the VDBE pointer into test_trace_breakpoint() so that sqlite3VdbeRegisterDump() is callable from the breakpoint. (check-in: [9886cb4b79] user: drh branch: trunk, size: 62505)
13:26
[4029cb6a5a] part of check-in [49a6368c38] Add the test_trace_breakpoint() subroutine that is invoked after each instruction is printed while running PRAGMA vdbe_trace=on. Only works for SQLITE_DEBUG builds. Also add parameters "pc" and "pOp" to test_addop_breakpoint() to make it easier to set conditionals. (check-in: [49a6368c38] user: drh branch: trunk, size: 62314)
2019-12-31
23:17
[a5c16cfa5e] part of check-in [eca7ec9cda] Remove an incorrect assert() statement. Ticket [46fcd700b855e6d1] (check-in: [eca7ec9cda] user: drh branch: trunk, size: 62285)
2019-12-23
03:37
[fa08308675] part of check-in [f347744e0d] Fix the OP_Cast operator so that when casting to TEXT, it always leaves the result in the encoding of the database. Ticket [0911b5d161b039c6]. Test cases in TH3. (check-in: [f347744e0d] user: drh branch: trunk, size: 62147)
2019-12-03
02:51
[2eb00a4d1a] part of check-in [3ce804e99b] Avoid computing a zero offset of a null pointer, which though this is technically harmless, is upsetting to pedantic run-time checkers. (check-in: [3ce804e99b] user: drh branch: trunk, size: 62075)
2019-11-12
03:45
[a17144a7a0] part of check-in [28091a48aa] Remove a harmless unused variable. (check-in: [28091a48aa] user: drh branch: trunk, size: 62093)
2019-09-17
03:16
[d8e10d1773] part of check-in [3fb40f5180] 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] (check-in: [3fb40f5180] user: drh branch: trunk, size: 62173)
2019-08-08
15:24
[920285c3b7] part of check-in [1e17ea2fd1] 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. (check-in: [1e17ea2fd1] user: drh branch: omit-stat3, size: 62001)
2019-07-09
23:35
[f6f277d17d] part of check-in [6f328c3594] Add the "LL" suffix on a pair of larger integer literals, for compatibility with older C compilers. (check-in: [6f328c3594] user: drh branch: trunk, size: 63623)
2019-06-12
20:51
[9ee3c0373b] part of check-in [491f0f9bbd] As a special case, casting '-0.0' into numeric should yield 0. Fix for ticket [674385aeba91c774]. (check-in: [491f0f9bbd] user: drh branch: trunk, size: 63619)
2019-06-11
16:06
[c970d2b480] part of check-in [25b8963020] Off-by-one error in the CAST to NUMERIC logic. (check-in: [25b8963020] user: drh branch: trunk, size: 63525)
2019-06-10
18:33
[44ef1a1285] part of check-in [c0c90961b4] 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]. (check-in: [c0c90961b4] user: drh branch: trunk, size: 63524)
2019-06-07
22:26
[be520020f8] part of check-in [67a68af557] 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]. (check-in: [67a68af557] user: drh branch: trunk, size: 63609)
2019-05-29
21:18
[5ecfa992b4] part of check-in [c1d8a3f654] Much faster implementation of applyNumericAffinity() by avoiding some unnecessary calls to sqlite3Atoi64(). (check-in: [c1d8a3f654] user: drh branch: trunk, size: 63520)
2019-05-16
11:47
[e9a0aa2feb] part of check-in [3dac90728a] Fix a harmless use-of-initialized-value fault in the assert() logic added by check-in [d612fb7873cf59d] (check-in: [3dac90728a] user: drh branch: trunk, size: 63527)
01:22
[14618670d9] part of check-in [d612fb7873] 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. (check-in: [d612fb7873] user: drh branch: trunk, size: 63527)
2019-05-04
01:41
[b76b42ac9d] part of check-in [5a8a23ee5f] 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. (check-in: [5a8a23ee5f] user: drh branch: trunk, size: 62937)
01:29
[81dc93a8b6] part of check-in [8b8ef445cc] New testcase macros to ensure that MEM_IntReal is fully tested. (check-in: [8b8ef445cc] user: drh branch: int-real, size: 62684)
2019-05-03
19:34
[42a33c8f00] part of check-in [3a16ddf91f] 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. (check-in: [3a16ddf91f] user: drh branch: trunk, size: 62172)
2019-05-02
21:36
[e102c625da] part of check-in [dba836e31c] 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. (check-in: [dba836e31c] user: drh branch: int-real, size: 62267)
2019-05-01
18:59
[df36fd36c7] part of check-in [5997d07566] 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]. (check-in: [5997d07566] user: drh branch: trunk, size: 61919)
2019-04-18
19:21
[dd2ee49255] part of check-in [5718a9d5fc] Minor simplification of NULL value handling for STAT4. (check-in: [5718a9d5fc] user: mistachkin branch: nullStat4, size: 61801)
2019-04-10
13:24
[8e6889761e] part of check-in [09435b5700] Further refinement of the sqlite3VdbeMEmExpandBlob() fix of check-in [df58774e994bd] to prevent a reference to an unused variable - problem discovered by Valgrind. (check-in: [09435b5700] user: drh branch: trunk, size: 61802)
2019-04-09
21:32
[85a35a9b14] part of check-in [ea2d4b65e2] Improved reporting of SQLITE_TOOBIG errors while parsing. (check-in: [ea2d4b65e2] user: drh branch: trunk, size: 61786)
2019-04-07
18:21
[6690c98255] part of check-in [80704a16f6] Make the testcase() macro added in the previous check-in reachable for testing. (check-in: [80704a16f6] user: drh branch: trunk, size: 61754)
18:04
[340bf04f09] part of check-in [df58774e99] Fix a faulty assert() in the sqlite3VdbeMemExpandBlob() routine. (check-in: [df58774e99] user: drh branch: trunk, size: 61744)
2019-04-01
20:57
[6d67403deb] part of check-in [1dc7993bb6] Performance improvement on the OP_Variable opcode. (check-in: [1dc7993bb6] user: drh branch: value_frombind, size: 61642)
2019-02-08
17:28
[3e89e087df] part of check-in [1d21295707] Further simplifications to sqlite3VdbeMemSetStr(). (check-in: [1d21295707] user: drh branch: trunk, size: 61629)
15:59
[8facf8d247] part of check-in [5c499da8a4] 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. (check-in: [5c499da8a4] user: drh branch: trunk, size: 61691)
2019-02-04
21:10
[3173f0275c] part of check-in [2c8769c69f] Early detection of implausibly sized records to avoid unnecessary large memory allocations. (check-in: [2c8769c69f] user: drh branch: trunk, size: 61724)
2019-01-25
17:26
[8d170e387c] part of check-in [202f9919c2] Fix a segfault that could follow an OOM when querying a table that has one or more columns with default values "true" or "false". (check-in: [202f9919c2] user: dan branch: trunk, size: 61636)
2019-01-23
20:31
[fdf49ecf8e] part of check-in [a70958cd7d] Fix an assert() in vdbemem.c that could fire if the database was corrupt. (check-in: [a70958cd7d] user: dan branch: trunk, size: 61613)
2018-12-19
16:03
[dcd74d9480] part of check-in [4cb67252d3] 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. (check-in: [4cb67252d3] user: dan branch: branch-3.9, size: 55935)
2018-12-14
21:58
[a6b69d1f81] part of check-in [33a1924ebb] 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. (check-in: [33a1924ebb] user: drh branch: custom-destructors, size: 61911)
2018-10-31
20:52
[7b3305bc4a] part of check-in [4a6ad5190b] Deploy the sqlite3Strlen30NN() function (argument guaranteed to be non-NULL) for a small performance improvement. (check-in: [4a6ad5190b] user: drh branch: trunk, size: 61599)
2018-08-29
20:24
[81329ab760] part of check-in [f48e9feb3f] 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. (check-in: [f48e9feb3f] user: drh branch: trunk, size: 61573)
18:47
[9a9aa4262f] part of check-in [62db5fd476] Free up the MEM_Frame bit in Mem.flags object. Store VdbeFrame objects as MEM_Blob with a special Mem.xDel pointer instead. (check-in: [62db5fd476] user: drh branch: trunk, size: 61499)
2018-08-17
21:14
[0dc9994138] part of check-in [6f5e84bafc] Fix harmless compiler warnings only seen with STAT4 enabled. (check-in: [6f5e84bafc] user: mistachkin branch: trunk, size: 61659)
2018-08-04
16:54
[720df42ad8] part of check-in [80236e81ce] Remove more column-cache residue: The OP_SetColTab and OP_VerifyColTab opcodes and the associated SQLITE_DEBUG_COLUMNCACHE logic. (check-in: [80236e81ce] user: drh branch: omit-column-cache, size: 61659)
2018-07-05
21:22
[a699a1d7cc] part of check-in [fa65380509] Use separate opcodes, OP_AggValue and OP_AggInverse, for the new callbacks associated with Window Functions, for improved readability of EXPLAIN output. (check-in: [fa65380509] user: drh branch: trunk, size: 61884)
2018-06-22
20:51
[87b48c0bd6] part of check-in [5f04b01646] Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. (check-in: [5f04b01646] user: dan branch: exp-window-functions, size: 61853)
2018-06-14
19:06
[b8f3bb3bed] part of check-in [43eb1e75a4] Fix problem with window functions min() and max() when used with a PARTITION clause and a frame starting point other than "UNBOUNDED PRECEDING". (check-in: [43eb1e75a4] user: dan branch: exp-window-functions, size: 61786)
14:30
[7301d5c4f9] part of check-in [5cf5f1808a] Merge latest trunk changes into this branch. (check-in: [5cf5f1808a] user: dan branch: exp-window-functions, size: 61519)
2018-06-12
13:52
[e042161c85] part of check-in [b2973f2357] Improvements to SCopy correctness tracking when SQLITE_DEBUG is enabled. (check-in: [b2973f2357] user: drh branch: trunk, size: 61020)
2018-06-11
17:35
[613cbbcca8] part of check-in [b37614a367] Add the OP_SetTabCol and OP_VerifyTabCol opcodes, only when compiling with SQLITE_DEBUG, to do run-time verification of the column cache. (check-in: [b37614a367] user: drh branch: trunk, size: 61002)
13:10
[8f5cd24151] part of check-in [793e942205] Strengthen the sqlite3VdbeMemAboutToChange() run-time verification mechanism to better detect missed calls to AboutToChange(). (check-in: [793e942205] user: drh branch: trunk, size: 60777)
2018-06-04
08:28
[d80b04b4c1] part of check-in [83d6416a86] Merge latest trunk changes into this branch. (check-in: [83d6416a86] user: dan branch: exp-window-functions, size: 60443)
2018-05-26
16:00
[803323406d] part of check-in [777189ce88] 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. (check-in: [777189ce88] user: drh branch: trunk, size: 59944)
2018-05-16
20:58
[a4b9390323] part of check-in [3781e52085] Start of experimental implementation of SQL window functions. Does not yet work. (check-in: [3781e52085] user: dan branch: exp-window-functions, size: 60450)
2018-04-18
11:35
[0cbe9b9560] part of check-in [594ebc6955] Enhance ALTER TABLE ADD COLUMN to support "DEFAULT true" and "DEFAULT false". (check-in: [594ebc6955] user: drh branch: trunk, size: 59951)
2018-02-26
15:27
[414e28d3a7] part of check-in [a983fa8570] Always interpret non-zero floating-point values as true even if their integer part is zero. Fix for ticket [36fae083b450e3af857a459e20]. (check-in: [a983fa8570] user: drh branch: trunk, size: 59817)
2018-02-01
15:57
[21c1d00f0b] part of check-in [5a70af1e9c] New assert() statements to help ensure that no other errors similar to [343634942dd54ab57b7] ever appear in the code. (check-in: [5a70af1e9c] user: drh branch: trunk, size: 59495)
2018-01-23
17:33
[943e41881e] part of check-in [1b02731962] 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. (check-in: [1b02731962] user: drh branch: trunk, size: 57873)
2018-01-12
21:00
[7548dd5af0] part of check-in [8b7be15ece] Add the experimental sqlite3_value_nochange() interface usable by xUpdate methods of virtual tables to see if a column has actually changed values. (check-in: [8b7be15ece] user: drh branch: sqlite3_value_nochange, size: 57362)
2017-12-13
23:47
[8478f7fb19] part of check-in [3765aaf712] In valueFromExpr() only generate a OOM fault if there have been no prior faults. (check-in: [3765aaf712] user: drh branch: trunk, size: 57371)
2017-12-06
20:50
[3e8c795e08] part of check-in [6a55bd6772] Fix an unreachable branch in cases when SQLITE_ENABLE_STAT4 is not defined. (check-in: [6a55bd6772] user: drh branch: trunk, size: 57285)
2017-11-27
17:56
[6e60823771] part of check-in [465350e55d] Fix a faulty NEVER assert() that could fail for SQLITE_ENABLE_STAT4 builds that use foreign keys. (check-in: [465350e55d] user: dan branch: trunk, size: 57182)
2017-10-31
03:40
[2ef9e66b30] part of check-in [1c80c75d4b] Remove unnecessary NEVER() and ALWAYS() conditionals. (check-in: [1c80c75d4b] user: drh branch: trunk, size: 57189)
2017-09-22
12:52
[5c1533bf75] part of check-in [403b88a894] 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. (check-in: [403b88a894] user: drh branch: trunk, size: 57246)
2017-09-21
01:04
[043f9fdbb1] part of check-in [f8b1c64d3e] Revert one performance improvement changes from check-in [3b3e32d4cd07] as it was causing a reference to an uninitialized value. (check-in: [f8b1c64d3e] user: drh branch: trunk, size: 57163)
2017-09-20
18:47
[9496f08e19] part of check-in [4b3f7eacb8] Size and performance optimization on sqlite3VdbeMemGrow(). (check-in: [4b3f7eacb8] user: drh branch: trunk, size: 57163)
18:07
[4996dd1424] part of check-in [e0af9a9040] The BLOB returned by sqlite3VdbeMemFromBtree() does not need to be zero-terminated. (check-in: [e0af9a9040] user: drh branch: trunk, size: 57159)
17:49
[0180295206] part of check-in [3b3e32d4cd] Small size and performance optimization in the bytecode engine. (check-in: [3b3e32d4cd] user: drh branch: trunk, size: 57220)
10:47
[08f89979c4] part of check-in [7f2bd4ff45] Improved resolution of large integer values in "CAST(x AS NUMERIC)". (check-in: [7f2bd4ff45] user: drh branch: trunk, size: 57336)
2017-08-21
02:05
[2f9d672af5] part of check-in [6538ef7b6b] Minor optimization to sqlite3VdbeMemSetStr(). (check-in: [6538ef7b6b] user: drh branch: trunk, size: 57184)
2017-08-02
22:43
[b7fac20534] part of check-in [aea5990eab] In the KeyInfo object, refactor the nField and nXField elements into nKeyField and nAllField, which are more useful and run a little faster. (check-in: [aea5990eab] user: drh branch: trunk, size: 57175)
2017-07-27
15:53
[9ca2854976] part of check-in [601ad67959] Improved implementation of the destructor on pointer-passing interfaces. (check-in: [601ad67959] user: drh branch: pointer-with-destructor, size: 57217)
03:48
[9d1dde6779] part of check-in [3d9e841f60] Add a destructor argument to sqlite3_bind_pointer() and sqlite3_result_pointer(). (check-in: [3d9e841f60] user: drh branch: pointer-with-destructor, size: 56094)
2017-07-17
11:39
[fe8fce1cdc] part of check-in [c13264d5ef] Improve the sqlite3_result_pointer() interface so that it cannot be faked using sqlite3_result_null() and sqlite3_result_subtype(). (check-in: [c13264d5ef] user: drh branch: pointer-types, size: 56008)
00:40
[cdc72bb347] part of check-in [211cce04e9] 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. (check-in: [211cce04e9] user: drh branch: pointer-types, size: 55988)
2017-07-15
10:44
[dee85e4493] part of check-in [d6a44b352d] 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. (check-in: [d6a44b352d] user: drh branch: branch-3.17, size: 55622)
2017-06-30
23:09
[78dfccca73] part of check-in [d9f4a831ba] Add APIs for binding pointers that can be used by app-defined functions. (check-in: [d9f4a831ba] user: drh branch: bind-pointer, size: 55913)
2017-06-26
14:46
[8d78df62be] part of check-in [ebcfa73e1c] Make sure sqlite3VdbeSetVarmask() is never invoked when QPSG is enabled. (check-in: [ebcfa73e1c] user: drh branch: enable-QPSG, size: 55632)
13:57
[dc204ad331] part of check-in [7076e8283e] 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. (check-in: [7076e8283e] user: drh branch: enable-QPSG, size: 55627)
2017-06-13
04:31
[94b17d851f] part of check-in [35b34bdf08] Fix the processing of double-negatives in WHERE clause constraints with STAT4. Ticket [cfa2c908f2182] (check-in: [35b34bdf08] user: drh branch: trunk, size: 55630)
2017-04-17
20:50
[2c70f8f5de] part of check-in [e698db1956] Do not allow a Mem object to be both NULL and some other type at the same time. (check-in: [e698db1956] user: drh branch: trunk, size: 55632)
2017-04-11
12:20
[3122f5a210] part of check-in [0f3eb61f44] Add an ALWAYS() around an unreachable condition in sqlite3VdbeMemGrow(). (check-in: [0f3eb61f44] user: drh branch: trunk, size: 55476)
2017-04-10
20:27
[934f9bce97] part of check-in [efd1702ae8] Slightly smaller and faster sqlite3VdbeMemGrow(). (check-in: [efd1702ae8] user: drh branch: trunk, size: 55468)
2017-04-05
12:39
[8bb4dd2283] part of check-in [ad90e8bb5e] Split off sqlite3DbFreeNN() from sqlite3DbFree() and use it in cases where we know that the argument to be freed is never NULL. (check-in: [ad90e8bb5e] user: drh branch: trunk, size: 55530)
2017-04-01
11:59
[bbd8f5fdb7] part of check-in [8698df60c2] Faster implementation for sqlite3VdbeIntValue() and sqlite3VdbeRealValue(). (check-in: [8698df60c2] user: drh branch: trunk, size: 55514)
2017-01-05
07:58
[3b5a9a5b37] part of check-in [2dc7eeb5b4] 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. (check-in: [2dc7eeb5b4] user: drh branch: trunk, size: 55341)
2016-12-09
00:15
[d3fd85b7b7] part of check-in [1f16c9a76b] Fix an obscure problem in range estimation with STAT4. (check-in: [1f16c9a76b] user: drh branch: trunk, size: 55304)
2016-11-25
19:18
[1af2f14ab0] part of check-in [49ebc219fa] 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. (check-in: [49ebc219fa] user: drh branch: trunk, size: 55270)
2016-10-05
15:02
[fcdd73a200] part of check-in [a596b7c6cc] Do not set MEM_Blob unless the appropriate fields of the Mem object have been correctly initialized. (check-in: [a596b7c6cc] user: drh branch: trunk, size: 55568)
2016-09-30
17:46
[1c330522e6] part of check-in [47ae1cda8d] Avoid unnecessary Mem initializations when generating a new sqlite3_stmt object. (check-in: [47ae1cda8d] user: drh branch: trunk, size: 55540)
2016-09-29
19:27
[1b8d5b770a] part of check-in [945f82bc44] Size and performance optimization to sqlite3ValueFromExpr() (check-in: [945f82bc44] user: drh branch: trunk, size: 55521)
2016-09-20
01:46
[07874c2ac7] part of check-in [21b0e3b75c] Further performance enhancements in zeroblob() handling. (check-in: [21b0e3b75c] user: drh branch: trunk, size: 55545)
01:19
[813e7847fd] part of check-in [5e196fd181] Avoid unnecessary calls to ExpandBlob() for smaller and faster code. (check-in: [5e196fd181] user: drh branch: trunk, size: 55575)
2016-09-10
19:51
[357caac1a4] part of check-in [711c59171b] Changes to give a warning-free build with SQLITE_OMIT_INCRBLOB and SQLITE_OMIT_SHARED_CACHE. (check-in: [711c59171b] user: drh branch: trunk, size: 55542)
2016-09-09
20:23
[1f28b306cd] part of check-in [19e2e59505] Remove an unnecessary call to sqlite3VdbeMemExpandBlob() when casting to text. (check-in: [19e2e59505] user: drh branch: trunk, size: 55536)
2016-08-20
00:07
[e67dc6d817] part of check-in [d8feea7dcd] 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. (check-in: [d8feea7dcd] user: drh branch: rowvalue, size: 55605)
2016-08-03
16:14
[77d6505956] part of check-in [18af74abc8] Fix stat4-based cost estimates for vector range constraints. (check-in: [18af74abc8] user: dan branch: rowvalue, size: 55602)
2016-06-04
20:37
[1ecaa5ee0c] part of check-in [bef35e18dd] 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. (check-in: [bef35e18dd] user: drh branch: btree-refactor, size: 55125)
2016-03-21
15:32
[5cfef60e60] part of check-in [3296a0ceed] Merge 3.12.0 beta changes from trunk. (check-in: [3296a0ceed] user: drh branch: sessions, size: 55210)
2016-03-19
23:32
[fe76c1f866] part of check-in [e07b0c47eb] Change the Vdbe.aMem array so that it is zero-based instead of one-based. (check-in: [e07b0c47eb] user: drh branch: zero-base-aMem, size: 55421)
2016-03-04
16:42
[0bcc4af472] part of check-in [456df3365e] Merge recent enhancements from trunk. Default page size is 4096. Writes to statement journals are avoided. (check-in: [456df3365e] user: drh branch: sessions, size: 55215)
2016-02-27
21:16
[9b0cb32cc2] part of check-in [d8c94a46df] Eliminate the need for the Column.zDflt (using Column.pDflt instead) to reduce the amount of memory needed to hold the schema. (check-in: [d8c94a46df] user: drh branch: trunk, size: 55426)
2016-02-25
18:54
[c2a7c2ece8] part of check-in [b86590043e] Merge all the latest changes from trunk. (check-in: [b86590043e] user: drh branch: sessions, size: 55200)
2016-02-15
18:15
[be8381ed6d] part of check-in [9b3454762d] Add the SQLITE_NOMEM_BKPT macro to enhance the ability to debug OOM errors. Only effective with compiling with SQLITE_DEBUG. (check-in: [9b3454762d] user: drh branch: trunk, size: 55411)
00:34
[e0dbb7bb9c] part of check-in [3201fbcc51] 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. (check-in: [3201fbcc51] user: drh branch: many-app-functions, size: 55356)
2016-02-13
23:43
[8ffbf660e6] part of check-in [6a9c4a3ebf] Enhance ability to debug out-of-memory errors. (check-in: [6a9c4a3ebf] user: mistachkin branch: noMemBkpt, size: 55703)
2016-02-05
14:15
[36e2779132] part of check-in [a533608cb0] Merge enhancements from trunk. (check-in: [a533608cb0] user: drh branch: sessions, size: 55437)
13:38
[68fcfac37d] part of check-in [0a802e96ab] Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority cases where db is guaranteed to be not NULL. (check-in: [0a802e96ab] user: drh branch: oom-handling, size: 55648)
01:55
[9a6736339c] part of check-in [c3ef03478a] Improvements to the way that OOM errors are processed. (check-in: [c3ef03478a] user: drh branch: oom-handling, size: 55617)
2016-01-30
14:53
[e0a3c3641e] part of check-in [ec653cbcae] Take care to clear the subtype on VDBE registers when the value of the register is overwritten with new content. (check-in: [ec653cbcae] user: drh branch: clear-subtype-fail, size: 55682)
2016-01-20
11:33
[6c962ee0a7] part of check-in [327af5f644] Merge recent enhancements from trunk. (check-in: [327af5f644] user: drh branch: sessions, size: 55407)
2016-01-14
22:19
[b9181e77ec] part of check-in [0d1b3d7d3c] Combine the xFunc and xStep pointers of the FuncDef object into a single pointer xSFunc. (check-in: [0d1b3d7d3c] user: drh branch: trunk, size: 55618)
2015-10-30
16:50
[25b6cfd665] part of check-in [395a153ff7] Merge all the latest enhancements from trunk. (check-in: [395a153ff7] user: drh branch: sessions, size: 55406)
2015-10-16
14:54
[fdd1578e47] part of check-in [2ad72be124] Have the sqlite3VdbeSerialType() function go ahead and compute the serial length as well, since it is always needed. This avoids unnecessary calls to sqlite3VdbeSerialTypeLen(). (check-in: [2ad72be124] user: drh branch: trunk, size: 55617)
2015-09-14
10:47
[28ab8455ac] part of check-in [22ce9218fb] Merge the latest trunk enhancements. (check-in: [22ce9218fb] user: drh branch: sessions, size: 55443)
2015-09-05
19:07
[19b3036aa4] part of check-in [d2761357a0] Get STAT4 range scan estimates work again when the bounds are determined by date/time functions. (check-in: [d2761357a0] user: drh branch: trunk, size: 55654)
2015-06-30
16:29
[6c9e261d13] part of check-in [39936b33b0] Merge all the latest enhancements from trunk. This merge include FTS5 and a number of notable performance enhancements. (check-in: [39936b33b0] user: drh branch: sessions, size: 55401)
2015-06-25
23:52
[ae38a0d35a] part of check-in [8d79f3a144] Optimization to sqlite3_value_bytes() for the common case that does not require a data transformation. (check-in: [8d79f3a144] user: drh branch: trunk, size: 55612)
15:44
[9b6436ec92] part of check-in [924f471291] Merge all the latest enhancements from trunk. (check-in: [924f471291] user: drh branch: sessions, size: 55022)
2015-06-17
23:28
[4e947cd322] part of check-in [d718ea36dc] Performance improvement in sqlite3VdbeMemShallowCopy() for the common case where the receiver does not require prior resource deallocation. (check-in: [d718ea36dc] user: drh branch: trunk, size: 55233)
18:18
[05e4f9302f] part of check-in [199bfb67fd] Merge all recent enhancements and fixes from trunk. (check-in: [199bfb67fd] user: drh branch: sessions, size: 54813)
01:31
[15c5ca3620] part of check-in [66d033b9c9] Optimizations to two VDBE accessory routines for a 0.2% performance increase. (check-in: [66d033b9c9] user: drh branch: trunk, size: 55024)
2015-06-11
18:01
[794bba184f] part of check-in [c39cb0e257] Merge recent trunk enhancements and fixes. (check-in: [c39cb0e257] user: drh branch: sessions, size: 54367)
2015-06-02
15:32
[67b302dc6d] part of check-in [bce3f04186] Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. (check-in: [bce3f04186] user: drh branch: blob-affinity-rename, size: 54578)
2015-05-22
19:55
[21f9169289] part of check-in [95edcf5010] Fix minor issues with the sqlite3_value_dup() interface. (check-in: [95edcf5010] user: drh branch: value-dup, size: 54578)
2015-05-20
22:01
[c704f0f251] part of check-in [2007391cec] 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. (check-in: [2007391cec] user: drh branch: sessions-value-dup, size: 54367)
21:28
[e87e076b86] part of check-in [a7ee40c4fc] 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. (check-in: [a7ee40c4fc] user: drh branch: value-dup, size: 54399)
2015-05-05
17:12
[eda55a13cf] part of check-in [de7083cfe2] Merge all trunk enhancements and fixes into the sessions branch. (check-in: [de7083cfe2] user: drh branch: sessions, size: 54475)
2015-04-28
14:00
[7bfbeef097] part of check-in [fbb0672718] Fix sqlite3VdbeMakeWritable() to always clear the MEM_Ephem flag. Change the OP_Move opcode to always deephemeralize moved content. (check-in: [fbb0672718] user: drh branch: trunk, size: 54507)
2015-04-23
13:49
[6a4802a9d5] part of check-in [4e5f17d189] Merge the latest trunk enhancements and fixes into the sessions branch. (check-in: [4e5f17d189] user: drh branch: sessions, size: 54448)
2015-04-20
13:59
[b5256445b3] part of check-in [c72abbe2c1] Fix an obscure memory leak in sqlite3Stat4ProbeFree() (check-in: [c72abbe2c1] user: drh branch: trunk, size: 54480)
2015-03-17
18:54
[149e585645] part of check-in [1d1c57c356] Merge all recent trunk enhancements into the sessions branch. (check-in: [1d1c57c356] user: drh branch: sessions, size: 54474)
2015-03-16
13:48
[c0dc81285b] part of check-in [f2c9c5b57b] Use #ifdef to omit code that is only used for STAT3 and STAT4. (check-in: [f2c9c5b57b] user: drh branch: trunk, size: 54506)
2015-03-13
08:31
[78aef62d02] part of check-in [5aa522dcb9] Extra tests for commit [0f250957]. (check-in: [5aa522dcb9] user: dan branch: trunk, size: 54463)
2015-03-12
21:02
[d52fa9f3bc] part of check-in [a991bb1a9e] Always disallow functions as the DEFAULT of a column. Add assert()s and (check-in: [a991bb1a9e] user: drh branch: stat4-function, size: 54396)
18:38
[981fa5ac23] part of check-in [93f42586cc] 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. (check-in: [93f42586cc] user: drh branch: stat4-function, size: 54132)
06:46
[ba461e1aa9] part of check-in [8fb6bd9be5] The valueFromFunction() routine is better able to handle OOM errors. Omit unreachable branches. (check-in: [8fb6bd9be5] user: drh branch: stat4-function, size: 54090)
2015-03-11
20:59
[85dd9cb7a9] part of check-in [ff868e22ca] 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. (check-in: [ff868e22ca] user: dan branch: stat4-function, size: 54077)
20:06
[8572106eb3] part of check-in [b7f1fc26d2] 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. (check-in: [b7f1fc26d2] user: dan branch: stat4-function, size: 54881)
2014-10-15
19:37
[96e41193b4] part of check-in [1b2824f1d1] Merge latest trunk changes with this branch. (check-in: [1b2824f1d1] user: dan branch: sessions, size: 50454)
11:31
[31d8eabb0c] part of check-in [4a7b3fa049] Rearrange an expression in vdbemem.c to avoid a (harmless) reference to a possibly unitialized variable. (check-in: [4a7b3fa049] user: dan branch: trunk, size: 50486)
2014-10-10
12:56
[1731e1db2b] part of check-in [abfef25472] Merge all recent trunk changes. (check-in: [abfef25472] user: drh branch: sessions, size: 50454)
2014-10-07
23:02
[481327f50d] part of check-in [f672a380e2] Make sure the sqlite3VdbeMemClearAndResize() routine is never called with a zero size parameter, since a size of zero could lead to either a memory leak or an assertion fault. (check-in: [f672a380e2] user: drh branch: trunk, size: 50486)
16:59
[ee0c60af8c] part of check-in [13c962b33d] Restrict the scope of the valueToText() routine. (check-in: [13c962b33d] user: drh branch: trunk, size: 50148)
2014-09-21
22:49
[5096fe50a1] part of check-in [6406b77f2c] Merge all recent trunk changes into the sessions branch. (check-in: [6406b77f2c] user: drh branch: sessions, size: 50109)
2014-09-19
22:30
[1e105dacf5] part of check-in [3b21cf2b28] Recognize the invariant that a Mem object cannot be MEM_Dyn and have a non-zero szMalloc at the same time. Enforce this with assert()s and exploit it in the sqlite3VdbeMemClearAndResize() routine for a performance increase. (check-in: [3b21cf2b28] user: drh branch: trunk, size: 50141)
04:42
[5cd9637304] part of check-in [987a7a2119] Add the sqlite3VdbeMemClearAndResize() function. Fix a sorting-index prefilter problem. (check-in: [987a7a2119] user: drh branch: trunk, size: 50113)
00:43
[0678ba6214] part of check-in [5b9b898779] Add the sqlite3VdbeMemClearAndResize() interface to be used in place of sqlite3VdbeMemGrow(). A C++ style comment was left in this check-in by mistake, and so it has been moved into a branch to avoid problems in any future bisects on windows. (check-in: [5b9b898779] user: drh branch: Cplusplus-comment, size: 50352)
2014-09-18
21:25
[3aea3831a9] part of check-in [9c09ac353d] Add the Mem.szMalloc element to the Mem object and use it to keep track of the size of the Mem.zMalloc allocation. (check-in: [9c09ac353d] user: drh branch: trunk, size: 49289)
17:52
[1907e24ab4] part of check-in [4c8c89d7e6] Merge the Mem.r value into the MemValue union as Mem.u.r. Hence, a Mem can now store an integer or a real but not both at the same time. Strings are still stored in a separate element Mem.z, for now. (check-in: [4c8c89d7e6] user: drh branch: trunk, size: 48752)
2014-09-17
16:41
[8b5e1083fe] part of check-in [fdddb477c8] In the Mem object, stop requiring that Mem.xDel be NULL when the MEM_Dyn bit is clear. Also reduce the amount of initialization of Mem objects. All for a small size reduction and performance increase. (check-in: [fdddb477c8] user: drh branch: micro-optimizations, size: 48591)
14:52
[cf552a404f] part of check-in [4e43784432] Improved interface to the Mem object handling. Small size reduction and performance increase. (check-in: [4e43784432] user: drh branch: micro-optimizations, size: 48534)
2014-09-16
21:54
[9615c9aba3] part of check-in [2598aedc5d] Continuing cleanup of memory register memory allocation handling. (check-in: [2598aedc5d] user: drh branch: micro-optimizations, size: 48189)
20:05
[18556fc614] part of check-in [78fb8838d8] Make sure registers are cleared properly prior to being used to store the result of an OP_Column operator. (check-in: [78fb8838d8] user: drh branch: micro-optimizations, size: 48237)
18:22
[8abc122ce5] part of check-in [f73678038d] Simplification of the OP_Column logic for the case of rows with overflow. (check-in: [f73678038d] user: drh branch: micro-optimizations, size: 47806)
14:16
[4d1e1398be] part of check-in [0be3019ed7] Reorder the elements of the Mem object for a small size reduction and performance improvement. Moved into a branch because MSVC is unable to handle named structure initializer on nullMem. (check-in: [0be3019ed7] user: drh branch: micro-optimizations, size: 47618)
2014-09-06
16:39
[dc36ea9fe2] part of check-in [e62aab5e92] Fix typos in comments. No code changes. (check-in: [e62aab5e92] user: peter.d.reid branch: trunk, size: 47554)
2014-08-27
14:14
[921d5468a6] part of check-in [6c1ee3e388] 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. (check-in: [6c1ee3e388] user: drh branch: trunk, size: 47549)
03:28
[9fc61d0860] part of check-in [1624916c6e] 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. (check-in: [1624916c6e] user: drh branch: trunk, size: 47121)
00:50
[39cde2d8dd] part of check-in [f94cacc393] Performance enhancement in sqlite3VdbeMemNulTerminate(). (check-in: [f94cacc393] user: drh branch: trunk, size: 46474)
2014-08-25
21:11
[4e08ea087a] part of check-in [1ad70ec550] Minor changes to the CAST logic to make it more testable. (check-in: [1ad70ec550] user: drh branch: trunk, size: 46155)
20:11
[5b5e296ac2] part of check-in [91d8a8d0b7] 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. (check-in: [91d8a8d0b7] user: drh branch: trunk, size: 46169)
11:20
[4c9d686da4] part of check-in [3ca5846da7] Change the name of the VdbeMemRelease() macro to VdbeMemReleaseExtern() to more accurately reflect what it does. Performance enhancement to the sqlite3VdbeMemRelease() function. (check-in: [3ca5846da7] user: drh branch: trunk, size: 44375)
2014-08-23
17:21
[f2e1628885] part of check-in [25f2246be4] Performance optimization in the applyAffinity() logic inside the VDBE. (check-in: [25f2246be4] user: drh branch: trunk, size: 43828)
2014-08-22
18:48
[4a64659ed8] part of check-in [a929be5519] Performance enhancement in sqlite3PutVarint(). (check-in: [a929be5519] user: drh branch: trunk, size: 43727)
2014-06-28
16:06
[d90a1e8acf] part of check-in [ef5cdf949b] Add header comments on new routines. Rework the sqlite3Stat4Column() routine so that is (in theory) able to deal with corrupt samples. (check-in: [ef5cdf949b] user: drh branch: stat4-skipscan, size: 43732)
15:26
[8228bc3262] part of check-in [dfb09db6d4] Fix a problem with using stat4 samples of type text when estimating the rows visited by a range-query/skip-scan loop. (check-in: [dfb09db6d4] user: dan branch: stat4-skipscan, size: 42157)
2014-06-27
20:14
[3f191d4113] part of check-in [219736f54d] Fix a couple of problems in estimating the number of rows visited by a range query that uses a skip-scan. (check-in: [219736f54d] user: dan branch: stat4-skipscan, size: 42132)
2014-06-26
20:21
[8f28cb5bdd] part of check-in [01dc810259] 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. (check-in: [01dc810259] user: dan branch: stat4-skipscan, size: 42131)
2014-05-19
15:16
[c996131ae6] part of check-in [17349a49d2] 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. (check-in: [17349a49d2] user: drh branch: safer-malloc, size: 39933)
2014-03-05
01:29
[6fc77594c6] part of check-in [bac2820e13] Experimental simplification of memory flags/type handling. (check-in: [bac2820e13] user: mistachkin branch: noMemType, size: 39875)
2014-03-04
21:00
[ba5cbafdbf] part of check-in [e072cb3ee2] Fix a problem with "DEFAULT (-(-9223372036854775808))" clauses in ALTER TABLE ... ADD COLUMN commands. (check-in: [e072cb3ee2] user: dan branch: trunk, size: 40274)
18:06
[1b1ca620f2] part of check-in [767ccb1fa1] Fix a potential memory use-after-free problem following an OOM error. (check-in: [767ccb1fa1] user: drh branch: trunk, size: 40272)
13:18
[10b250f09a] part of check-in [9830c343bc] Improve clarity of presentation in the sqlite3VdbeMemFromBtree() routine. (check-in: [9830c343bc] user: drh branch: trunk, size: 40253)
2014-03-03
14:45
[2d7918e4c8] part of check-in [e00ed717fb] Merge latest trunk changes. (check-in: [e00ed717fb] user: dan branch: experimental, size: 40225)
2014-03-01
18:13
[868a498a67] part of check-in [44e1c33767] 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. (check-in: [44e1c33767] user: drh branch: enhanced-mem-check, size: 43746)
16:24
[8c84ec056c] part of check-in [354699d50e] Factor the Mem invariant checker into a separate procedure (rather than a macro) so that it can be more easily extended. (check-in: [354699d50e] user: drh branch: enhanced-mem-check, size: 43196)
14:45
[7db4535610] part of check-in [4aeb3ae435] Add extra assert() statements trying to catch a Mem object in an inconsistent state. (check-in: [4aeb3ae435] user: drh branch: enhanced-mem-check, size: 42694)
2014-02-28
18:39
[93fc3f13eb] part of check-in [3a09f5605a] Update some test cases that deal with corrupt databases. (check-in: [3a09f5605a] user: dan branch: experimental, size: 39327)
2014-02-25
21:01
[25cc487244] part of check-in [85206e0bba] Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. (check-in: [85206e0bba] user: dan branch: experimental, size: 39374)
2014-02-10
03:21
[06603e8e9d] part of check-in [5708bc24b8] Faster and smaller implementation of sqlite3_value_type(). (check-in: [5708bc24b8] user: drh branch: trunk, size: 42848)
2014-02-07
13:20
[c0bcc02d68] part of check-in [6fb7448550] 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. (check-in: [6fb7448550] user: drh branch: coroutine-refactor, size: 42878)
2014-01-24
22:58
[23cdc14ed4] part of check-in [87bf60637e] Fixes for various clang warnings. (check-in: [87bf60637e] user: drh branch: trunk, size: 42876)
2013-12-13
16:23
[0e69351b2c] part of check-in [9d347f547e] Simplication and optimization of error message handling. (check-in: [9d347f547e] user: drh branch: trunk, size: 42887)
2013-12-11
11:00
[ac71e169dc] part of check-in [a7e5fcd666] Fix harmless compiler warnings. (check-in: [a7e5fcd666] user: drh branch: trunk, size: 42806)
2013-12-10
21:38
[dedc9ee05a] part of check-in [079c04a501] Avoid unnecessary calls to sqlite3VdbeSerialType() from within sqlite3VdbeSerialPut(). (check-in: [079c04a501] user: drh branch: trunk, size: 42819)
19:49
[a381254cae] part of check-in [48ecf18774] Simplify and improve the performance of the sqlite3VdbeMemGrow() routine. (check-in: [48ecf18774] user: drh branch: trunk, size: 42810)
2013-12-09
23:17
[2293b66374] part of check-in [7277a76969] Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut() helper function. (check-in: [7277a76969] user: drh branch: trunk, size: 42915)
03:07
[f12d087d92] part of check-in [2d6dd7c2eb] Avoid unnecessary (no-op) calls to sqlite3DbFree() from sqlite3VdbeMemRelease(). (check-in: [2d6dd7c2eb] user: drh branch: trunk, size: 42921)
2013-12-03
19:16
[20e349d2ca] part of check-in [33ad4f9147] Fix a possible (and probably harmless) uninitialized variable in STAT3/4. (check-in: [33ad4f9147] user: drh branch: trunk, size: 42844)
18:26
[d9811b08c4] part of check-in [14f9bc7901] Fix an alignment problem in the stat3/stat4 code affecting 32-bit platforms. (check-in: [14f9bc7901] user: dan branch: trunk, size: 42910)
02:52
[fed9357c0b] part of check-in [7d99858bec] Change some unreachable test conditions to NEVER(). (check-in: [7d99858bec] user: drh branch: trunk, size: 42866)
2013-11-26
15:45
[af650c2019] part of check-in [6f53fc7106] 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. (check-in: [6f53fc7106] user: drh branch: trunk, size: 43155)
2013-11-21
21:59
[cd02a6ade2] part of check-in [4e8c5d0795] Changes some offset and amount parameters from "int" to "u32" to avoid harmless signed/unsigned comparison warnings. (check-in: [4e8c5d0795] user: drh branch: trunk, size: 44025)
19:05
[4f227e2e28] part of check-in [23667f3ba0] Remove a test from sqlite3VdbeMemFromBtree() which was unnecessary, and after the recent OP_Column refactoring, unreachable. (check-in: [23667f3ba0] user: drh branch: trunk, size: 44020)
2013-11-06
19:59
[cc529bbf4f] part of check-in [defd5205a7] 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. (check-in: [defd5205a7] user: drh branch: omit-rowid, size: 44048)
2013-11-04
22:04
[c84e2bc3b8] part of check-in [79befe3ac1] Add the index7.test script for testing partial indices with WITHOUT ROWID tables. Fix bugs in ANALYZE located by that script. (check-in: [79befe3ac1] user: drh branch: omit-rowid, size: 44035)
2013-11-01
22:02
[e62206af9e] part of check-in [302a81390f] Size KeyInfo objects so that IdxInserts always compare the correct number of fields. (check-in: [302a81390f] user: drh branch: omit-rowid, size: 44035)
2013-10-22
18:01
[6087553f2c] part of check-in [a106ce86cd] 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. (check-in: [a106ce86cd] user: drh branch: omit-rowid, size: 43991)
2013-10-14
13:21
[649933bad3] part of check-in [1660efbe46] Make subroutines sampleCopy() and valueFromExpr() have file scope. (check-in: [1660efbe46] user: drh branch: trunk, size: 43991)
2013-10-11
15:05
[28730af78c] part of check-in [7df06684ab] Fix various harmless compiler warnings. Change the "warnings.sh" script to work with STAT4 instead of STAT3. (check-in: [7df06684ab] user: drh branch: trunk, size: 43984)
2013-09-04
15:15
[817ce21ab4] part of check-in [eb21663271] The sqlite3Stat4ProbeSetValue() routine should always return results using the database encoding. (check-in: [eb21663271] user: drh branch: trunk, size: 43883)
2013-08-31
17:21
[75ad7fd8f0] part of check-in [1e86d81d46] 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). (check-in: [1e86d81d46] user: dan branch: trunk, size: 43912)
2013-08-27
23:15
[4511e1d230] part of check-in [67a9a392ed] 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. (check-in: [67a9a392ed] user: drh branch: trunk, size: 43831)
2013-08-26
23:18
[1bec36bf05] part of check-in [a32af0abe5] Merge the STAT4 capability into trunk. (check-in: [a32af0abe5] user: drh branch: trunk, size: 43824)
2013-08-21
19:13
[61d5ddb8e4] part of check-in [b25bac7919] Update sqlite3MemCompare() to try common cases first, for a modest speed improvement. (check-in: [b25bac7919] user: drh branch: trunk, size: 35480)
2013-08-16
17:18
[466784a562] part of check-in [91733bc485] 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. (check-in: [91733bc485] user: drh branch: sqlite_stat4, size: 43937)
14:49
[374c2c8020] part of check-in [dc1ccd09c4] Fix valueFromExpr() so that it returns SQLITE_NOMEM following an OOM when changing text encodings. Also fix some asserts to accommodate OOM errors. (check-in: [dc1ccd09c4] user: drh branch: sqlite_stat4, size: 43922)
2013-08-15
18:43
[c08dd81009] part of check-in [9f80b26870] Fix a crash that can occur following an OOM fault. (check-in: [9f80b26870] user: dan branch: sqlite_stat4, size: 43902)
2013-08-12
20:14
[7ec9a78d6d] part of check-in [cca8bf4372] If ENABLE_STAT3 is defined but ENABLE_STAT4 is not, have ANALYZE create and populate the sqlite_stat3 table instead of sqlite_stat4. (check-in: [cca8bf4372] user: dan branch: sqlite_stat4, size: 44052)
2013-08-10
19:08
[b16ba7b3d1] part of check-in [3a5e8ab7dd] Add the rowid field to the end of sample records stored in the sqlite_stat4 table. (check-in: [3a5e8ab7dd] user: dan branch: sqlite_stat4, size: 42241)
2013-08-08
12:21
[4aff02f52e] part of check-in [9fec3e3828] 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. (check-in: [9fec3e3828] user: dan branch: sqlite_stat4, size: 42106)
2013-08-07
15:52
[f051204514] part of check-in [353950a526] 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. (check-in: [353950a526] user: dan branch: sqlite_stat4, size: 42085)
2013-08-06
20:01
[83f9b6e68a] part of check-in [2973f5ca73] When possible, use the multi-column samples in sqlite_stat4 to estimate the number of index rows scanned by a query plan. (check-in: [2973f5ca73] user: dan branch: sqlite_stat4, size: 38551)
2013-08-03
20:24
[69c6d1c3ef] part of check-in [2beea303a1] Begin adding experimental sqlite_stat4 table. This commit is buggy. (check-in: [2beea303a1] user: dan branch: sqlite_stat4, size: 35593)
2013-03-07
06:42
[833005f1cb] part of check-in [10ace06be7] Fix two compilation issues, one warning and one error, that occur only when SQLITE_OMIT_UTF16 is defined. (check-in: [10ace06be7] user: mistachkin branch: trunk, size: 35593)
2012-03-31
09:59
[cb55e84b8e] part of check-in [c9342ca581] Fix a bug in the EXPLAIN code for listing trigger programs that was causing an out-of-bounds read. (check-in: [c9342ca581] user: dan branch: trunk, size: 35560)
2012-02-10
01:25
[fb0ac964cc] part of check-in [bea05ddddf] Fix a boundary case for the integer affinity routine for non-x86 processors. (check-in: [bea05ddddf] user: drh branch: trunk, size: 35313)
2012-01-19
16:57
[3c171040c2] part of check-in [ab80f2c3b2] Make the use and function of SQLITE_DYNAMIC clearer. Add assert() statement to help ensure that SQLITE_DYNAMIC is not misused. (check-in: [ab80f2c3b2] user: drh branch: trunk, size: 35223)
2012-01-08
22:18
[4f7d25d5ea] part of check-in [fc9179e154] Fix typos in commands. Combine the ExpandBlob and expandBlob macros into one. (check-in: [fc9179e154] user: drh branch: trunk, size: 35142)
2012-01-04
12:57
[dadc746586] part of check-in [e9d05cbb76] Fix typos and comments and make minor changes to a few function names, as suggested by readership. (check-in: [e9d05cbb76] user: drh branch: trunk, size: 35312)
2011-12-30
15:17
[5e8c0831bd] part of check-in [f945c41a72] 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. (check-in: [f945c41a72] user: drh branch: trunk, size: 35311)
2011-10-25
20:36
[c9faa98e41] part of check-in [14bc58ca70] Cherrypick changes [53f5cfe115] and [1f7ef0af8d] in order to fix an issue with DISTINCT (check-in: [14bc58ca70] user: drh branch: branch-3.7.2, size: 35098)
2011-09-13
19:09
[2fc78b3e0f] part of check-in [11ca4ed8bf] Merge the latest trunk changes into the stat3-trunk branch. (check-in: [11ca4ed8bf] user: drh branch: stat3-trunk, size: 35311)
2011-08-29
02:49
[5e6effb96d] part of check-in [ff71d20a9e] About a 1% overall performance improvement by using a macro to avoid no-op calls to sqlite3MemReleaseExternal(). (check-in: [ff71d20a9e] user: drh branch: experimental, size: 35311)
2011-08-26
13:52
[a4179ce8fc] part of check-in [0df04f920b] Merge branches branch-3.7.2 and stat3-enhancement into a new branch for testing purposes. (check-in: [0df04f920b] user: drh branch: stat3-3.7.2, size: 34461)
2011-08-12
01:51
[74410d1639] part of check-in [52e1d7e8dd] Begin a branch that experimentally replaces sqlite_stat2 with a new table called sqlite_stat3 that will hopefully facilitate better query planning decisions. (check-in: [52e1d7e8dd] user: drh branch: stat3-enhancement, size: 35587)
2011-04-08
23:05
[c9f3bba5f8] part of check-in [1d6378898a] 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] (check-in: [1d6378898a] user: drh branch: branch-3.7.2, size: 34461)
2011-03-08
02:38
[0498796b6f] part of check-in [2d5800bd8c] Fix additional cases of possible signed integer overflow, especially with regard to negation. (check-in: [2d5800bd8c] user: drh branch: trunk, size: 35587)
2011-03-05
20:59
[d8f713bcc3] part of check-in [abf2139412] 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. (check-in: [abf2139412] user: drh branch: trunk, size: 35499)
2011-02-18
17:23
[0fa2ed786c] part of check-in [1061e94fa9] Fix the sqlite3ValueFromExpr() routine so that it returns SQLITE_NOMEM on an OOM when trying to extract a NULL. (check-in: [1061e94fa9] user: drh branch: trunk, size: 35495)
2011-01-21
14:37
[c011228c6f] part of check-in [f73a167b43] Add the ability to use indices when a range contraint is bounded on the lower end by NULL. (check-in: [f73a167b43] user: drh branch: stat2-enhancement, size: 35464)
2010-12-01
08:04
[411649a356] part of check-in [119ffe955e] Avoid recursive calls to sqlite3VdbeMemRelease() when deleting VM frames used by trigger programs. (check-in: [119ffe955e] user: dan branch: trunk, size: 35405)
2010-10-15
14:45
[d637ff35a4] part of check-in [ecb1419e4b] Cherry-pick the change at [2d4505510032bf9] into the 3.6.1 branch. (check-in: [ecb1419e4b] user: drh branch: branch-3.6.1, size: 31566)
2010-10-05
12:05
[23723a12cd] part of check-in [4afdf9705a] Avoid all memory allocation (and hence the possiblitity of OOM failure) in sqlite3_value_double() and sqlite3_column_double(). (check-in: [4afdf9705a] user: drh branch: trunk, size: 35330)
2010-10-01
15:11
[ee9ff50c8b] part of check-in [efda310480] 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. (check-in: [efda310480] user: drh branch: mistake, size: 35533)
2010-09-30
16:51
[ef015d9d05] part of check-in [43fef1cab6] Changes to remove sqlite3FitsIn64Bits(). (check-in: [43fef1cab6] user: shaneh branch: experimental, size: 35575)
14:48
[09b637201d] part of check-in [ce6cc16e3a] 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] (check-in: [ce6cc16e3a] user: drh branch: experimental, size: 35572)
00:50
[cfb178242f] part of check-in [14eed3a0e0] 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. (check-in: [14eed3a0e0] user: drh branch: experimental, size: 35015)
2010-09-28
00:25
[8ff4f80a35] part of check-in [d0342f4bb9] Continuing work toward detecting and fixing shallow-copy misuse. (check-in: [d0342f4bb9] user: drh branch: bug-b351d95f9c, size: 35058)
2010-09-27
21:09
[5005341c08] part of check-in [8b8e1732e8] 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]. (check-in: [8b8e1732e8] user: drh branch: bug-b351d95f9c, size: 35005)
2010-09-08
02:30
[2b82109924] part of check-in [0d7a538948] Improved documentation of SQLITE_THREADSAFE and sqlite3_column_text() and evidence marks for each. (check-in: [0d7a538948] user: drh branch: trunk, size: 34421)
2010-09-03
18:50
[14439aa709] part of check-in [f06c7b1973] Documentation enhancements for sqlite3_db_status(). Evidence marks on the SQL function call intrface. (check-in: [f06c7b1973] user: drh branch: trunk, size: 34396)
2010-07-30
16:54
[e5673f81a2] part of check-in [15c294ca05] Fix typos in comments. No code or logic changes. (check-in: [15c294ca05] user: drh branch: trunk, size: 34371)
2010-06-25
14:17
[5e579abf65] part of check-in [af471ed79f] 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. (check-in: [af471ed79f] user: drh branch: trunk, size: 34371)
2010-03-05
18:46
[2a82f455f6] part of check-in [4793c381c6] Change a condition in sqlite3VdbeMemShallowCopy() to avoid accessing an unitialized variable (doing so was not dangerous, but caused a valgrind error). (check-in: [4793c381c6] user: dan branch: trunk, size: 34138)
2010-01-21
01:53
[aeba77b59f] part of check-in [8bb1104c6f] Redesign the string to numeric value caster so that it is more likely to work on unusual floating point hardware. (check-in: [8bb1104c6f] user: drh branch: trunk, size: 34163)
2010-01-13
15:15
[1ce5005ee4] part of check-in [417167182e] Make the doubleToInt64() routine a pass-through when using OMIT_FLOATING_POINT. (check-in: [417167182e] user: drh branch: trunk, size: 33835)
00:04
[a0fa68734d] part of check-in [61df598660] Make the sqlite3_result_double() interface work the same as sqlite3_result_int64() when SQLITE_OMIT_FLOATING_POINT is defined. (check-in: [61df598660] user: drh branch: trunk, size: 33700)
2009-11-11
23:48
[1e16e3a16e] part of check-in [c15b70b3ae] Remove an obsolete (and incorrect) comment from sqlite3MemCompare(). No changes to code. (check-in: [c15b70b3ae] user: drh branch: trunk, size: 33658)
2009-11-10
01:30
[eeb5988d4c] part of check-in [f6c045f649] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f649] user: drh branch: trunk, size: 33749)
2009-11-05
16:29
[e86a65cb77] part of check-in [6bdc2c9957] Add a comment related to code coverage. No changes to code. (check-in: [6bdc2c9957] user: drh branch: shunning-error, size: 33808)
2009-10-15
18:35
[7055a2941a] part of check-in [9bd6f3d886] Add the experimental sqlite3_reoptimize() API. (check-in: [9bd6f3d886] user: dan branch: experimental, size: 33758)
2009-09-08
13:40
[0ff2b209fc] part of check-in [4ab8c841f8] Additional simplifications in support of structural testing. (check-in: [4ab8c841f8] user: drh branch: trunk, size: 33705)
2009-08-28
18:53
[dc55198183] part of check-in [9b9c192115] Changes to support recursive triggers. (check-in: [9b9c192115] user: dan branch: trunk, size: 33605)
2009-08-19
22:14
[c4a5188ff4] part of check-in [2467eb68ac] Make sure that sqlite3ValueFromExpr() sets the "type" field of the sqlite3_value object correctly when the value is a floating point number. (check-in: [2467eb68ac] user: drh branch: trunk, size: 33405)
17:17
[6075cc7f8e] part of check-in [71ea9d0e14] 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. (check-in: [71ea9d0e14] user: dan branch: trunk, size: 33353)
2009-08-17
17:06
[afd6ce0294] part of check-in [dd96bda2a8] First version of sqlite_stat2 (schema forces exactly 10 samples). (check-in: [dd96bda2a8] user: dan branch: trunk, size: 33357)
2009-08-14
17:53
[ff40efaa27] part of check-in [9cbe365405] Work around an over-zealous optimization in GCC 4.3.3. See CVSTrac ticket #4027. (check-in: [9cbe365405] user: drh branch: trunk, size: 33303)
2009-08-13
15:13
[364cfce843] part of check-in [b5a709d360] Fix a typo on a comment in sqlite3VdbeIntegerAffinity(). (check-in: [b5a709d360] user: drh branch: trunk, size: 33102)
2009-07-22
18:07
[bfc25f9ef4] part of check-in [375fd6f9c5] Simplifications to btree.c in support of coverage testing. (CVS 6923) (check-in: [375fd6f9c5] user: drh branch: trunk, size: 33104)
2009-07-18
14:36
[50cc051619] part of check-in [f5f7259d81] Add some code to sqlite3VdbeMemSetZeroBlob() so that it works (less efficiently) even when OMIT_INCRBLOB is defined. Ticket #3977. (CVS 6906) (check-in: [f5f7259d81] user: danielk1977 branch: trunk, size: 33066)
2009-06-25
01:47
[1618f685d1] part of check-in [8b34076668] Improved handling of oversize string and blob errors. Other simplifications in support of full coverage testing. (CVS 6813) (check-in: [8b34076668] user: drh branch: trunk, size: 32923)
2009-06-22
19:05
[d244e09b5c] part of check-in [308f2e6152] Simplifications to vdbe.c and it service routines in support of coverage testing. (CVS 6799) (check-in: [308f2e6152] user: drh branch: trunk, size: 33005)
2009-06-17
16:20
[ba39c0afa6] part of check-in [392559465d] Use caution to avoid integer overflow when doing real to integer affinity operations. Ticket #3922. (CVS 6776) (check-in: [392559465d] user: drh branch: trunk, size: 32672)
2009-05-28
11:05
[05183d4609] part of check-in [5904af6e6d] Workaround the need for internal API sqlite3BtreeCursorDb(). It was only being used for an assert() statement, which can be done differently. (CVS 6683) (check-in: [5904af6e6d] user: danielk1977 branch: trunk, size: 32245)
01:00
[9f42249111] part of check-in [4ac2bdfbb4] 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) (check-in: [4ac2bdfbb4] user: drh branch: trunk, size: 32201)
2009-05-27
10:31
[4d1a9b01ad] part of check-in [7cb1c3ba07] 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) (check-in: [7cb1c3ba07] user: drh branch: trunk, size: 32039)
2009-05-05
12:54
[d8b985eeb8] part of check-in [7f89a860b7] Make sure the default value on a column added using ALTER TABLE has the correct encoding. Ticket #3838. (CVS 6603) (check-in: [7f89a860b7] user: drh branch: trunk, size: 32125)
2009-05-01
21:13
[f5d7c0b7db] part of check-in [12bcb03d9b] 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) (check-in: [12bcb03d9b] user: drh branch: trunk, size: 32031)
2009-04-22
02:15
[111d819385] part of check-in [e963bed0fe] Remove the rowhash object from the code. Rowset now fills its role. (CVS 6535) (check-in: [e963bed0fe] user: drh branch: trunk, size: 32057)
2009-04-21
09:02
[96e5746803] part of check-in [f61e4cd936] Attempt to optimize virtual table queries with 'OR' expressions in the WHERE clause. (CVS 6527) (check-in: [f61e4cd936] user: danielk1977 branch: trunk, size: 32184)
2009-04-05
12:22
[9798905787] part of check-in [208382e032] Additional code to make sure and to assert that memory allocations have 8-byte alignment. Ticket #3777. (CVS 6450) (check-in: [208382e032] user: drh branch: trunk, size: 31984)
2009-03-29
15:12
[53ab1c0780] part of check-in [7f3be36085] 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) (check-in: [7f3be36085] user: drh branch: trunk, size: 31742)
2009-03-23
21:37
[38615b5d4b] part of check-in [7c2df04b52] Clarify the meaning of a comment. No changes to code. (CVS 6375) (check-in: [7c2df04b52] user: drh branch: trunk, size: 31451)
2009-02-04
03:59
[543a79d722] part of check-in [5cef400023] 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) (check-in: [5cef400023] user: shane branch: trunk, size: 31412)
2009-02-03
15:39
[c6127c335f] part of check-in [a3c260772b] Remove the text of the sqlite3VdbeMemSanity() routine, which was already commented out. (CVS 6238) (check-in: [a3c260772b] user: drh branch: trunk, size: 31137)
2009-01-20
16:53
[06311d5c46] part of check-in [1041abd678] 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) (check-in: [1041abd678] user: danielk1977 branch: trunk, size: 33151)
2009-01-05
22:30
[19f94b504d] part of check-in [5f80140a2d] The fix in (6111) was not quite right. This version works better. (CVS 6113) (check-in: [5f80140a2d] user: drh branch: trunk, size: 33162)
2008-12-10
19:26
[f9c859ac17] part of check-in [c872d55493] 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) (check-in: [c872d55493] user: drh branch: trunk, size: 33196)
18:03
[598741bc06] part of check-in [14e6d19c31] More explicit type casting to silence VC++. (CVS 6006) (check-in: [14e6d19c31] user: drh branch: trunk, size: 33174)
11:49
[15dc139e0b] part of check-in [18bbcafc16] 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) (check-in: [18bbcafc16] user: drh branch: trunk, size: 33062)
2008-12-09
02:51
[4f45d0f868] part of check-in [1522c2c667] Suppress more silly compiler warnings. (CVS 5995) (check-in: [1522c2c667] user: drh branch: trunk, size: 33040)
2008-12-05
23:40
[c4da6cee44] part of check-in [b74885e085] Make the minimum allocate size for RowSet objects large enough to accommodate 8-byte pointers. (CVS 5985) (check-in: [b74885e085] user: drh branch: trunk, size: 32979)
2008-12-04
22:17
[360396ac77] part of check-in [cb0f1658d3] Fix a segfault that can occur in the RowSet object following a malloc failure. (CVS 5978) (check-in: [cb0f1658d3] user: drh branch: trunk, size: 32979)
20:40
[2f386accfa] part of check-in [39a0750b49] Replace the VDBE Fifo object with the new RowSet object. (CVS 5977) (check-in: [39a0750b49] user: drh branch: trunk, size: 32951)
2008-11-11
00:21
[223e032818] part of check-in [7b9c9b35ff] 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) (check-in: [7b9c9b35ff] user: drh branch: trunk, size: 31636)
2008-11-05
17:41
[ff746621ff] part of check-in [b568e32520] Fix memory allocation problems when string length exceeds limits. (CVS 5865) (check-in: [b568e32520] user: drh branch: trunk, size: 31635)
2008-10-30
17:21
[c0e9d9947d] part of check-in [0996783b1b] Fix a crash that can follow a malloc failure in sqlite3ValueFromExpr(). Ticket #3468. (CVS 5851) (check-in: [0996783b1b] user: danielk1977 branch: trunk, size: 31585)
2008-09-16
12:06
[ead88713b8] part of check-in [2d45055100] Modify the sqlite3VdbeMemCompare() routine so that it does not modify any Mem.z values. Ticket #3376. (CVS 5706) (check-in: [2d45055100] user: danielk1977 branch: trunk, size: 31556)
2008-08-22
14:41
[51538ff193] part of check-in [8496f4a00a] Make sure the function context is fully initialized before invoking the function finalizer. Ticket #3326. (CVS 5596) (check-in: [8496f4a00a] user: drh branch: trunk, size: 31767)
2008-08-01
20:10
[c37b2a266a] part of check-in [2cd6bae809] Bring test coverage up to 99%. (CVS 5522) (check-in: [2cd6bae809] user: drh branch: trunk, size: 31777)
2008-07-30
13:14
[bdf9274658] part of check-in [aee6330831] Remove unused sqlite3VdbeMemDynamicify() function from the VDBE. (CVS 5500) (check-in: [aee6330831] user: drh branch: trunk, size: 31907)
2008-07-28
19:34
[7ab2a77d7f] part of check-in [e48f9697e9] 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) (check-in: [e48f9697e9] user: drh branch: trunk, size: 31990)
2008-07-09
16:51
[0c72b58ffd] part of check-in [2d8f7bebf0] Test coverage improvements on printf. (CVS 5385) (check-in: [2d8f7bebf0] user: drh branch: trunk, size: 31657)
2008-07-08
22:28
[3a27b04a25] part of check-in [6cdb6841ff] Added macros to convert between 32-bit ints and 64-bit ptrs to avoid compiler warnings. (CVS 5378) (check-in: [6cdb6841ff] user: shane branch: trunk, size: 31677)
14:52
[ee1a032b44] part of check-in [ee93150878] Improved enforcement of the SQLITE_LIMIT_LENGTH limit. (CVS 5368) (check-in: [ee93150878] user: drh branch: trunk, size: 31661)
2008-05-16
04:51
[a39a822e6a] part of check-in [81a8c70ed7] Add more version tags to files that lack them. Ticket #3120. (CVS 5137) (check-in: [81a8c70ed7] user: danielk1977 branch: trunk, size: 31402)
2008-05-09
18:03
[8397a763e8] part of check-in [18b1ee10b8] Reformulate the constants for the minimum and maximum 64-bit signed integer to work better with some compilers. Ticket #3105. (CVS 5113) (check-in: [18b1ee10b8] user: drh branch: trunk, size: 31335)
2008-04-28
16:55
[8cdc5d4c95] part of check-in [07fd9a8c6c] Change the implementation of the NaN recognition to be more cross-platform. Ticket #3089. (CVS 5060) (check-in: [07fd9a8c6c] user: drh branch: trunk, size: 31363)
2008-04-27
18:40
[e2450d6c79] part of check-in [6a94d19747] Remove all references to sqlite3_intptr_t. (CVS 5051) (check-in: [6a94d19747] user: drh branch: trunk, size: 31364)
2008-04-16
00:28
[237e612163] part of check-in [cce8deae2d] Back out the zero-terminator optimization introduced in check-in (4915). Ticket #3056. (CVS 5015) (check-in: [cce8deae2d] user: drh branch: trunk, size: 31390)
2008-04-03
10:13
[095e18f84b] part of check-in [fd97f8762c] 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) (check-in: [fd97f8762c] user: danielk1977 branch: trunk, size: 31616)
2008-04-02
04:23
[4877da1901] part of check-in [846f9739d3] Set flags = MEM_Null on allocation failure in sqlite3VdbeMemGrow (CVS 4953) (check-in: [846f9739d3] user: mlcreech branch: trunk, size: 31608)
2008-03-29
23:25
[b96fea7b98] part of check-in [618df68b8b] Minor cleanup: Use size_t for struct size cast (CVS 4940) (check-in: [618df68b8b] user: mlcreech branch: trunk, size: 31554)
2008-03-28
19:15
[e7ced8846e] part of check-in [b99d19d651] Do not incorrectly report a malloc() failure when allocating 0 bytes. Fixes a problem in bind.test. (CVS 4931) (check-in: [b99d19d651] user: danielk1977 branch: trunk, size: 31551)
18:11
[05f231580c] part of check-in [bce2897535] 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) (check-in: [bce2897535] user: danielk1977 branch: trunk, size: 31533)
15:44
[004c5e1eb8] part of check-in [d0bf73d814] Changes to the Mem structure to reduce the frequency of freeing and reallocating the dynamic buffer. (CVS 4928) (check-in: [d0bf73d814] user: danielk1977 branch: trunk, size: 31467)
2008-03-25
16:16
[d48a71d66a] part of check-in [24c3ebc0c5] Test string values passed to bind_text() and result_text() for a nul-terminator. (CVS 4915) (check-in: [24c3ebc0c5] user: danielk1977 branch: trunk, size: 32347)
2008-03-20
14:03
[67662aac91] part of check-in [60c77882b2] 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) (check-in: [60c77882b2] user: drh branch: trunk, size: 32106)
2008-03-19
21:45
[5de8de022b] part of check-in [54c55cae55] Add a new interface, sqlite3_context_db_handle(), that returns the database connection pointer for an application-defined function. (CVS 4889) (check-in: [54c55cae55] user: drh branch: trunk, size: 32089)
2008-03-18
00:54
[2aff1e7cf3] part of check-in [b9c5dce349] Fix a memory leak introduced by the previous bug fix. (CVS 4876) (check-in: [b9c5dce349] user: drh branch: trunk, size: 32067)
00:07
[eca1f7ae77] part of check-in [d55a5e1c11] 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) (check-in: [d55a5e1c11] user: drh branch: trunk, size: 32030)
2008-03-14
19:17
[7a39ad5579] part of check-in [6db7186c30] Change an instance of intptr_t to sqlite3_intptr_t. (CVS 4863) (check-in: [6db7186c30] user: drh branch: trunk, size: 32000)
2008-03-13
23:34
[16c924eec1] part of check-in [2777ca7882] One additional intptr_t conversion (in the same vein as check-in 4824) (CVS 4859) (check-in: [2777ca7882] user: mlcreech branch: trunk, size: 31992)
2008-03-06
09:58
[b77819155e] part of check-in [e2a9f5f105] Handle non-autoconf build correctly with new changes (CVS 4832) (check-in: [e2a9f5f105] user: mlcreech branch: trunk, size: 31987)
07:35
[7812a0fa48] part of check-in [54839a84e6] Use intptr_t definition to silence warnings about ptr-int casts (CVS 4824) (check-in: [54839a84e6] user: mlcreech branch: trunk, size: 31979)
2008-02-19
15:44
[2d87d65430] part of check-in [9db346dede] Avoid the use of UTF16 functions in code that is part of a build when UTF16 support is omitted. Ticket #2949. (CVS 4799) (check-in: [9db346dede] user: drh branch: trunk, size: 31974)
2008-02-14
15:31
[73a4dd9e4a] part of check-in [aca2bee866] Fix some VdbeMemCopy() related problems. (CVS 4787) (check-in: [aca2bee866] user: danielk1977 branch: trunk, size: 31906)
2008-02-13
18:25
[e060d04bc6] part of check-in [990237e27e] Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783) (check-in: [990237e27e] user: danielk1977 branch: trunk, size: 31889)
2008-01-31
13:35
[cee169fb55] part of check-in [72411043e6] 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) (check-in: [72411043e6] user: drh branch: trunk, size: 30807)
2008-01-22
21:30
[79ec9d0d15] part of check-in [1a335e1801] Add the fault injector module in fault.c. Use it as a basis for memory allocation failure testing. (CVS 4742) (check-in: [1a335e1801] user: drh branch: trunk, size: 30816)
01:48
[bb8d4f70e3] part of check-in [2a0bc1e186] 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) (check-in: [2a0bc1e186] user: drh branch: trunk, size: 31081)
2008-01-19
03:35
[e15122efe8] part of check-in [d9ebe9d78c] Cleanup and simplification of constraint processing. Simplifications to the VM for better test coverage. (CVS 4729) (check-in: [d9ebe9d78c] user: drh branch: trunk, size: 31089)
2008-01-18
14:08
[666a1d7b9d] part of check-in [0e50c0200a] 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) (check-in: [0e50c0200a] user: drh branch: trunk, size: 31131)
2008-01-11
15:27
[a86119b5cc] part of check-in [4744257d3c] 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) (check-in: [4744257d3c] user: drh branch: trunk, size: 31022)
00:06
[3da7f7fa7f] part of check-in [6de0ee4907] Attempt to work around a bug in the Borland BCC 5.5.1 compiler. Ticket #2880. (CVS 4705) (check-in: [6de0ee4907] user: drh branch: trunk, size: 30467)
2008-01-08
02:57
[a94f3e9e85] part of check-in [b9bf509e39] Progress toward registerification of the constraint checking logic for INSERT and UPDATE. (CVS 4693) (check-in: [b9bf509e39] user: drh branch: trunk, size: 29875)
2007-10-05
16:23
[123994fcd3] part of check-in [4424357d17] 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) (check-in: [4424357d17] user: drh branch: trunk, size: 29867)
2007-08-29
14:06
[246d434fa6] part of check-in [c790c234c3] Use the DbMalloc() and DbRealloc() functions more consistently. (CVS 4323) (check-in: [c790c234c3] user: danielk1977 branch: trunk, size: 29885)
12:31
[de0f4df159] part of check-in [e38ef81b85] Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) (check-in: [e38ef81b85] user: danielk1977 branch: trunk, size: 29923)
2007-08-22
20:18
[896fa3f8df] part of check-in [db818430e9] The malloc.test script now passes all tests with no errors. (CVS 4271) (check-in: [db818430e9] user: drh branch: trunk, size: 29930)
2007-08-21
19:33
[3de25d78e7] part of check-in [9287276191] 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) (check-in: [9287276191] user: drh branch: trunk, size: 29921)
10:44
[2843e6f91e] part of check-in [fbbd5bda54] Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) (check-in: [fbbd5bda54] user: drh branch: trunk, size: 28955)
2007-08-16
10:36
[019952d440] part of check-in [384d0ca9bc] Replace a few sqlite3_malloc() calls that should be sqlite3MallocZero(). (CVS 4234) (check-in: [384d0ca9bc] user: danielk1977 branch: trunk, size: 28971)
10:09
[52ec18736f] part of check-in [77b1671351] More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) (check-in: [77b1671351] user: danielk1977 branch: trunk, size: 28968)
04:30
[59fde3ec61] part of check-in [deb7ecd65f] 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) (check-in: [deb7ecd65f] user: drh branch: trunk, size: 28789)
2007-06-25
17:28
[327944e70c] part of check-in [5b3a490649] Rework the string to integer conversion logic to address tickets #2344 and #2454. (CVS 4123) (check-in: [5b3a490649] user: drh branch: trunk, size: 27956)
2007-06-20
15:29
[ca4d399450] part of check-in [406675bb1c] Remove the dependency on libm for isnan(). Ticket #2436. (CVS 4103) (check-in: [406675bb1c] user: drh branch: trunk, size: 27955)
2007-06-07
19:08
[d86c25bbfe] part of check-in [f40218434e] Make sure zeroblob does reasonable things with a negative argument or an argument that is larger than the maximum blob size. (CVS 4048) (check-in: [f40218434e] user: drh branch: trunk, size: 27947)
2007-05-30
06:19
[328e489743] part of check-in [03750a2a6b] Fix a problem with zeroblob() and CAST(...) expressions that could cause an assert() to fail. (CVS 4041) (check-in: [03750a2a6b] user: danielk1977 branch: trunk, size: 27862)
2007-05-17
16:34
[332875a5fc] part of check-in [f2ce727c4d] Fix a problem with casting blobs to numeric types. (CVS 4021) (check-in: [f2ce727c4d] user: danielk1977 branch: trunk, size: 27817)
2007-05-16
17:28
[89ffe903b4] part of check-in [93f811ec74] Change a few selected functions to macros to speed things up. (CVS 4015) (check-in: [93f811ec74] user: danielk1977 branch: trunk, size: 27761)
14:23
[596624a0b7] part of check-in [1d89be287d] Omit some extra code when OMIT_INCRBLOB is defined. (CVS 4014) (check-in: [1d89be287d] user: danielk1977 branch: trunk, size: 27633)
11:55
[f04d1a25a7] part of check-in [2ac985a380] Keep the full precision of integers if possible when casting to "numeric". Ticket #2364. (CVS 4012) (check-in: [2ac985a380] user: drh branch: trunk, size: 27597)
2007-05-11
10:10
[01237a4844] part of check-in [4e1bb41f30] Expand the expressions tested by fuzz.test. Fix for (CAST zeroblob() AS text). (CVS 3983) (check-in: [4e1bb41f30] user: danielk1977 branch: trunk, size: 27315)
2007-05-10
17:23
[0fb40f9255] part of check-in [ffe615a711] Add some UTF-8 test infrastructure. Treat NaN as NULL. The printf routines print infinity as "Inf" not as "NaN". Ticket #2345. (CVS 3972) (check-in: [ffe615a711] user: drh branch: trunk, size: 27317)
15:37
[2d59bc2b63] part of check-in [1e9e6fe75d] Add new test file fuzz.test, to test SQLite with fuzzily generated SQL. (CVS 3971) (check-in: [1e9e6fe75d] user: danielk1977 branch: trunk, size: 27225)
2007-05-08
20:37
[f9ef7a1699] part of check-in [e9f56ead05] Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958) (check-in: [e9f56ead05] user: drh branch: trunk, size: 27165)
12:12
[44b71bf94b] part of check-in [031a5915b6] Begin adding code to explicitly limit the size of strings and blobs. (CVS 3943) (check-in: [031a5915b6] user: drh branch: trunk, size: 27165)
2007-05-02
13:30
[ba98f8572e] part of check-in [e6d560ddee] Add support for zero-blobs to the OP_MakeRecord opcode. First test cases of zeroblob functionality. (CVS 3897) (check-in: [e6d560ddee] user: drh branch: trunk, size: 26842)
01:34
[02ffe06f96] part of check-in [7a01836dde] Begin adding the zeroblob API to support incremental blob i/o. (CVS 3894) (check-in: [7a01836dde] user: drh branch: trunk, size: 26798)
2007-04-01
23:49
[981a113405] part of check-in [18aec1ddfb] Fix some warnings about unused and uninitialized variables. (CVS 3788) (check-in: [18aec1ddfb] user: drh branch: trunk, size: 25720)
2007-03-30
11:23
[d3696b4b0e] part of check-in [6b995259bc] Remove the anonymous union from the sqlite3_value structure since some compilers are unable to deal with it. (CVS 3758) (check-in: [6b995259bc] user: drh branch: trunk, size: 25696)
2007-03-26
22:05
[58a8be2231] part of check-in [0b832e218e] Modify sources to that they can be combined into a single sqlite3.c source file. Eliminate all type-pruned pointer warnings. (CVS 3722) (check-in: [0b832e218e] user: drh branch: trunk, size: 25660)
2007-02-05
14:21
[ff2424bee9] part of check-in [fc969ad991] Set the MEM_Term flag when an internal string has a nul-terminator appended to it. Fix for #2213. (CVS 3627) (check-in: [fc969ad991] user: danielk1977 branch: trunk, size: 25680)
2006-09-04
15:53
[26623176bf] part of check-in [2c63588b45] Make sure strings returned by sqlite3_value_text() and sqlite3_value_text16() are always '\000'-terminated. (CVS 3391) (check-in: [2c63588b45] user: drh branch: trunk, size: 25651)
2006-02-24
02:53
[5f0afe3b92] part of check-in [4b22e4b847] Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) (check-in: [4b22e4b847] user: drh branch: trunk, size: 26375)
2006-02-17
15:01
[a1738a8605] part of check-in [76912b33b1] Fix bug preventing compliation without MEMDEBUG when ENABLE_MEMORY_MANAGE is defined. (CVS 3105) (check-in: [76912b33b1] user: danielk1977 branch: trunk, size: 26386)
2006-02-16
18:16
[51a810d5a2] part of check-in [7a1701e8c5] 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) (check-in: [7a1701e8c5] user: drh branch: trunk, size: 26355)
2006-01-20
15:45
[2034e93b32] part of check-in [fd4a6bb1ac] 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) (check-in: [fd4a6bb1ac] user: drh branch: trunk, size: 25541)
2006-01-18
16:51
[53f25c5c53] part of check-in [ac090f2ab3] Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972) (check-in: [ac090f2ab3] user: danielk1977 branch: trunk, size: 25346)
2006-01-12
19:42
[dd08a0eea4] part of check-in [730ddb0b74] Automatically cast BLOBs to strings prior to handing them over to functions like LIKE that want strings. Ticket #1605. (CVS 2928) (check-in: [730ddb0b74] user: drh branch: trunk, size: 25365)
2006-01-11
21:41
[66e05857c3] part of check-in [5d9c6aa964] 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) (check-in: [5d9c6aa964] user: drh branch: trunk, size: 25281)
2006-01-10
17:58
[2ada7cae76] part of check-in [0f0213be4d] Store collation sequence names instead of pointers in sharable schema data structures. (CVS 2904) (check-in: [0f0213be4d] user: danielk1977 branch: trunk, size: 25273)
2006-01-09
06:29
[d712dfd80d] part of check-in [82b81f69c7] Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) (check-in: [82b81f69c7] user: danielk1977 branch: trunk, size: 25282)
2005-12-09
20:02
[deba8d6e37] part of check-in [83a5915155] Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) (check-in: [83a5915155] user: drh branch: trunk, size: 25275)
2005-12-07
06:27
[1c70555d61] part of check-in [78f10ca0a6] Add some tests for malloc() failure within the column_name() and column_decl() APIs. (CVS 2805) (check-in: [78f10ca0a6] user: danielk1977 branch: trunk, size: 25240)
2005-11-14
22:29
[cd9609c1e7] part of check-in [ce06c123d0] Create separate affinities for INTEGER and REAL. (CVS 2766) (check-in: [ce06c123d0] user: drh branch: trunk, size: 24856)
2005-11-03
14:29
[fdd5dbca73] part of check-in [7780f5e9d5] sqlite3_column_int() and similar routines return 0 or 0.0 on an out-of-memory condition, not some mysterious error code. (CVS 2759) (check-in: [7780f5e9d5] user: drh branch: trunk, size: 24681)
2005-11-01
15:48
[555539999f] part of check-in [e0d6f61c7d] 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) (check-in: [e0d6f61c7d] user: drh branch: trunk, size: 24701)
2005-09-20
17:42
[ff426ff6e7] part of check-in [2471957fee] Code cleanup and simplification. Three new Mem opcodes added. The sqlite3VdbeJumpHere function added. (CVS 2730) (check-in: [2471957fee] user: drh branch: trunk, size: 24368)
2005-09-08
14:17
[fea0744936] part of check-in [cdfe372a95] Remove a few unused variables detected by Borland C. Ticket #1412. (CVS 2675) (check-in: [cdfe372a95] user: drh branch: trunk, size: 24353)
2005-09-07
22:09
[e1da6b772e] part of check-in [c3ac58592f] Bug fixes in aggregate processing. Fewer tests fail. (CVS 2663) (check-in: [c3ac58592f] user: drh branch: trunk, size: 24349)
21:22
[3cb63f021a] part of check-in [17039ec3ff] 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) (check-in: [17039ec3ff] user: drh branch: trunk, size: 24348)
2005-09-06
20:36
[b6ae3ac842] part of check-in [7ecf3654aa] Cleanup the processing of MEM_Agg elements. (CVS 2660) (check-in: [7ecf3654aa] user: drh branch: trunk, size: 24273)
2005-08-20
13:47
[4732fd4d1a] part of check-in [e559e810a5] More test coverage improvements. (CVS 2605) (check-in: [e559e810a5] user: drh branch: trunk, size: 23467)
2005-08-13
12:59
[89154caae3] part of check-in [4b98dace6b] 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) (check-in: [4b98dace6b] user: drh branch: trunk, size: 23402)
2005-06-25
18:42
[da8e8d6f29] part of check-in [17631785f9] Remove the blob(), text() and numeric() functions added in (2524) and replace them with the standard CAST operator. Ticket #1287. (CVS 2527) (check-in: [17631785f9] user: drh branch: trunk, size: 23401)
2005-05-22
19:21
[48a64ae95a] part of check-in [254ac2213e] Fix a memory leak. Ticket #1259. (CVS 2472) (check-in: [254ac2213e] user: drh branch: trunk, size: 23336)
2005-03-09
12:26
[4e853ce315] part of check-in [9d5abc1ddf] Support for a future ALTER TABLE command to add columns with default values. (CVS 2367) (check-in: [9d5abc1ddf] user: danielk1977 branch: trunk, size: 23157)
2005-01-13
02:14
[62fe89471b] part of check-in [8378455f32] Fixes to 'configure' build system. Also extra coverage for main.c. (CVS 2204) (check-in: [8378455f32] user: danielk1977 branch: trunk, size: 21250)
2005-01-12
07:15
[5d9fd8de5d] part of check-in [319bb4a906] Tests to improve coverage of vdbemem.c. (CVS 2200) (check-in: [319bb4a906] user: danielk1977 branch: trunk, size: 21121)
2004-11-14
21:56
[5876c8abf4] part of check-in [98c7a55478] The SQLITE_OMIT_UTF16 macro now removes lots of code and all tests still pass. (CVS 2100) (check-in: [98c7a55478] user: drh branch: trunk, size: 21072)
2004-08-30
16:52
[ef9ac7d32a] part of check-in [8f5b199e84] Better detection and handling of corrupt database files. (CVS 1922) (check-in: [8f5b199e84] user: drh branch: trunk, size: 20954)
2004-08-28
18:17
[8971ecc9e5] part of check-in [5f8d246852] Memory handling fixes and optimizations in the VDBE. Ticket #862. (CVS 1909) (check-in: [5f8d246852] user: drh branch: trunk, size: 20719)
2004-08-08
23:39
[68fefaf83a] part of check-in [81d91d14cf] Fix problems in the handling of malloc failures. (CVS 1882) (check-in: [81d91d14cf] user: drh branch: trunk, size: 19783)
2004-08-06
17:00
[d4fa40d0dc] part of check-in [863540be24] Fix a bug in the logic that converts numbers into strings inside the VM. Ticket #844 (CVS 1878) (check-in: [863540be24] user: drh branch: trunk, size: 19746)
2004-06-30
11:54
[bbf6213773] part of check-in [a98dd004c4] Coverage improvements for malloc and vdbemem.c (CVS 1781) (check-in: [a98dd004c4] user: danielk1977 branch: trunk, size: 19776)
2004-06-28
13:09
[053f8adcb6] part of check-in [3329210410] More coverage testing. (CVS 1754) (check-in: [3329210410] user: danielk1977 branch: trunk, size: 19738)
2004-06-27
01:56
[e8ae1f56ad] part of check-in [ad65c6e24e] Fix a bug in the handling of Mems inside of vdbe.c. (CVS 1745) (check-in: [ad65c6e24e] user: drh branch: trunk, size: 19454)
2004-06-22
22:54
[d37e4033f7] part of check-in [cb4e242e83] Fix another uninitialized Mem.xDel problem. (CVS 1672) (check-in: [cb4e242e83] user: drh branch: trunk, size: 18315)
2004-06-18
04:24
[9359c53386] part of check-in [39a415eaa6] Optimisation for unicode encoding conversion routines. (CVS 1614) (check-in: [39a415eaa6] user: danielk1977 branch: trunk, size: 18179)
2004-06-17
05:36
[c00e939cfb] part of check-in [b9493c5fac] Use the faster LIKE function from sqlite v2. Add special user functions to test builds to test the auxdata APIs. (CVS 1610) (check-in: [b9493c5fac] user: danielk1977 branch: trunk, size: 19507)
2004-06-15
11:40
[1e7df5ed53] part of check-in [e21a181376] Minor bugfixes and test case adjustments for version 2 test cases to work with version 3. (CVS 1598) (check-in: [e21a181376] user: danielk1977 branch: trunk, size: 18792)
2004-06-12
09:25
[34f5998883] part of check-in [5903f53828] (1) Modifications to the user-function interface and (2) Internal changes to automatically created indices. (CVS 1575) (check-in: [5903f53828] user: danielk1977 branch: trunk, size: 18315)
00:42
[26cd5419a9] part of check-in [9b84f2f488] Use the SQLITE_UTF* symbols instead of the old internal TEXT_Utf* symbols. (CVS 1572) (check-in: [9b84f2f488] user: danielk1977 branch: trunk, size: 18173)
2004-06-11
13:19
[6407b5dcd6] part of check-in [8d56118f64] Have the vdbe aggregator use a btree table instead of a hash table. (CVS 1569) (check-in: [8d56118f64] user: danielk1977 branch: trunk, size: 18143)
2004-06-10
14:01
[b1599f5d24] part of check-in [49ab4794e1] Correctly handle the situation where a collation sequence is available, but not in the preferred encoding. (CVS 1565) (check-in: [49ab4794e1] user: danielk1977 branch: trunk, size: 18125)
02:16
[5b2fab8b5a] part of check-in [b8aaa3a29e] Change the collation sequence interface to allow collation sequences that use UTF-16 in non-native byte order to be registered. (CVS 1559) (check-in: [b8aaa3a29e] user: danielk1977 branch: trunk, size: 16950)
2004-06-09
09:55
[04502b8103] part of check-in [c634e71f19] Some progress on user-defined collation sequences. (CVS 1544) (check-in: [c634e71f19] user: danielk1977 branch: trunk, size: 16568)
2004-05-31
18:51
[5d029d83bc] part of check-in [adf7e29ff6] Change all SQLITE3 preprocessor macros to SQLITE. Documentation updates. (CVS 1511) (check-in: [adf7e29ff6] user: drh branch: trunk, size: 15509)
2004-05-30
20:46
[627d714c34] part of check-in [a0db15bba6] Various speed enhancements. (CVS 1498) (check-in: [a0db15bba6] user: drh branch: trunk, size: 15518)
01:38
[d5f9666362] part of check-in [fcd84ebabc] 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) (check-in: [fcd84ebabc] user: drh branch: trunk, size: 15389)
2004-05-28
08:21
[c97c145ff6] part of check-in [1b15b32bdb] Tables and indices use the same record format. (CVS 1482) (check-in: [1b15b32bdb] user: drh branch: trunk, size: 15380)
2004-05-27
13:35
[b487e8a903] part of check-in [6d552af67c] A couple of test cases and fixes for blob literals. (CVS 1474) (check-in: [6d552af67c] user: danielk1977 branch: trunk, size: 13473)
10:30
[9deb597351] part of check-in [c9e3015faf] A few more bugfixes. Test cases pass now. (CVS 1472) (check-in: [c9e3015faf] user: danielk1977 branch: trunk, size: 13429)
09:28
[6e843650b8] part of check-in [67a140cf78] Various bugfixes. 68 Test cases still fail. (CVS 1471) (check-in: [67a140cf78] user: danielk1977 branch: trunk, size: 13503)
03:12
[b7a94817d8] part of check-in [f33d15d95f] Fixes to the MEM changes. The library now links. (CVS 1470) (check-in: [f33d15d95f] user: drh branch: trunk, size: 11981)
01:53
[3474db5cdb] part of check-in [dbdd1a7f31] More MEM changes in the vdbe.c. Still will not compile. (CVS 1469) (check-in: [dbdd1a7f31] user: drh branch: trunk, size: 11894)
2004-05-26
23:25
Added: [c92c41c80c] part of check-in [bba6684d50] Refactoring of the vdbe Mem functions and the APIs that deal with them. The code will not compile in its current state. (CVS 1465) (check-in: [bba6684d50] user: drh branch: trunk, size: 11407)