drh
1153c7b25d
Size KeyInfo objects so that IdxInserts always compare the correct number of
...
fields.
FossilOrigin-Name: 302a81390f039fc23eeb8510e95b9d9fa0b41edd
2013-11-01 22:02:56 +00:00
drh
bbbdc83b52
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.
FossilOrigin-Name: a106ce86cd4afd1f81603826de77df1fb25e9ab5
2013-10-22 18:01:40 +00:00
drh
a7f4bf3f88
Make subroutines sampleCopy() and valueFromExpr() have file scope.
...
FossilOrigin-Name: 1660efbe46439734c7dc1674994ceb86a9b41d1a
2013-10-14 13:21:00 +00:00
drh
4f99189051
Fix various harmless compiler warnings. Change the "warnings.sh" script to
...
work with STAT4 instead of STAT3.
FossilOrigin-Name: 7df06684ab36bfdad9e9aca6940b7a665c2a0cb5
2013-10-11 15:05:05 +00:00
drh
2b1a64a120
The sqlite3Stat4ProbeSetValue() routine should always return results using
...
the database encoding.
FossilOrigin-Name: eb21663271369c3862bc8fd800f76d568c8579fe
2013-09-04 15:15:10 +00:00
dan
4a1aa3851a
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).
...
FossilOrigin-Name: 1e86d81d46c9da6aaee0c6938ee40933f35e3d0d
2013-08-31 17:21:26 +00:00
drh
1435a9a126
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.
FossilOrigin-Name: 67a9a392edd62ef5a5a1ad3010b20a39b285793d
2013-08-27 23:15:44 +00:00
drh
2f53b90665
Merge the STAT4 capability into trunk.
...
FossilOrigin-Name: a32af0abe5fa6d570604fa3534e8230d5b6042fc
2013-08-26 23:18:06 +00:00
drh
e7ecdfabd2
Update sqlite3MemCompare() to try common cases first, for a modest speed
...
improvement.
FossilOrigin-Name: b25bac79191975149d88fe34618c74354de62c5e
2013-08-21 19:13:53 +00:00
drh
202ca9075f
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.
FossilOrigin-Name: 91733bc4856034c10bc2ba0acdae1970b05d62b9
2013-08-16 17:18:02 +00:00
drh
0e1f0029c0
Fix valueFromExpr() so that it returns SQLITE_NOMEM following an OOM when
...
changing text encodings. Also fix some asserts to accommodate OOM errors.
FossilOrigin-Name: dc1ccd09c443cebc4731dbe1a0dea84a9ccf6a9b
2013-08-16 14:49:00 +00:00
dan
af2583c83c
Fix a crash that can occur following an OOM fault.
...
FossilOrigin-Name: 9f80b2687012ab7c4d6d654fe19f40878bd78bd8
2013-08-15 18:43:21 +00:00
dan
8ad169abb4
If ENABLE_STAT3 is defined but ENABLE_STAT4 is not, have ANALYZE create and populate the sqlite_stat3 table instead of sqlite_stat4.
...
FossilOrigin-Name: cca8bf4372ab7a0258aa5c9397818415c6cf0abf
2013-08-12 20:14:04 +00:00
dan
dd6e1f193e
Add the rowid field to the end of sample records stored in the sqlite_stat4 table.
...
FossilOrigin-Name: 3a5e8ab7ddbe1d943b35ef329fe4e5a1bfdb0d9d
2013-08-10 19:08:30 +00:00
dan
ad45ed7414
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.
...
FossilOrigin-Name: 9fec3e38287067d60874530300fbeb602958c951
2013-08-08 12:21:32 +00:00
dan
87cd93215e
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.
...
FossilOrigin-Name: 353950a5269fa439cc3e57b62e16558a84ea2557
2013-08-07 15:52:41 +00:00
dan
7a4192358a
When possible, use the multi-column samples in sqlite_stat4 to estimate the number of index rows scanned by a query plan.
...
FossilOrigin-Name: 2973f5ca736c4a6f13c653d54b6a29d7cae8d0ed
2013-08-06 20:01:43 +00:00
dan
f52bb8d385
Begin adding experimental sqlite_stat4 table. This commit is buggy.
...
FossilOrigin-Name: 2beea303a1d609cd2ff252412c50b966b9e5e8f1
2013-08-03 20:24:58 +00:00
mistachkin
ef593f293e
Fix two compilation issues, one warning and one error, that occur only when SQLITE_OMIT_UTF16 is defined.
...
FossilOrigin-Name: 10ace06be7fbe9a76a201c418b2af453c7a69043
2013-03-07 06:42:53 +00:00
dan
2b9ee77fd6
Fix a bug in the EXPLAIN code for listing trigger programs that was causing an out-of-bounds read.
...
FossilOrigin-Name: c9342ca58105499a5eb61c3e6d016559b6072c95
2012-03-31 09:59:44 +00:00
drh
bb8c1b5e63
Fix a boundary case for the integer affinity routine for non-x86 processors.
...
FossilOrigin-Name: bea05ddddf5089bac9b1aa9fe1d2cd24b069ad44
2012-02-10 01:25:13 +00:00
drh
aa538a581a
Make the use and function of SQLITE_DYNAMIC clearer. Add assert() statement
...
to help ensure that SQLITE_DYNAMIC is not misused.
FossilOrigin-Name: ab80f2c3b2f1eea6e35989d3e9b6137b51091754
2012-01-19 16:57:16 +00:00
drh
45d29309a7
Fix typos in commands. Combine the ExpandBlob and expandBlob macros into one.
...
FossilOrigin-Name: fc9179e154751b51ddef429600d30a89d4a098bd
2012-01-08 22:18:33 +00:00
drh
e4c88c0c38
Fix typos and comments and make minor changes to a few function names,
...
as suggested by readership.
FossilOrigin-Name: e9d05cbb7676cbda83f1b3b71447404d7edde898
2012-01-04 12:57:45 +00:00
drh
2faf5f5e9e
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.
FossilOrigin-Name: f945c41a72519d6bcfb478730ba0254bb24e5331
2011-12-30 15:17:47 +00:00
drh
5a9f90b574
Merge the latest trunk changes into the stat3-trunk branch.
...
FossilOrigin-Name: 11ca4ed8bf850dae1a24b7182f70039f32bd8dd1
2011-09-13 19:09:28 +00:00
drh
2d36eb43a4
About a 1% overall performance improvement by using a macro to avoid
...
no-op calls to sqlite3MemReleaseExternal().
FossilOrigin-Name: ff71d20a9ed129bd1785a3f7a777ce62098735b7
2011-08-29 02:49:41 +00:00
drh
faacf17cc1
Begin a branch that experimentally replaces sqlite_stat2 with a new table
...
called sqlite_stat3 that will hopefully facilitate better query
planning decisions.
FossilOrigin-Name: 52e1d7e8ddd4bb5ef3a9d00fd2d719a8a784f807
2011-08-12 01:51:45 +00:00
drh
d50ffc416f
Fix additional cases of possible signed integer overflow, especially with
...
regard to negation.
FossilOrigin-Name: 2d5800bd8cfc7d7f5578a71b1aeaa74b2ec4b372
2011-03-08 02:38:28 +00:00
drh
158b9cb965
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.
FossilOrigin-Name: abf21394124a0af46f072793718964cee2ce55d0
2011-03-05 20:59:46 +00:00
drh
b1aa0ab6da
Fix the sqlite3ValueFromExpr() routine so that it returns SQLITE_NOMEM
...
on an OOM when trying to extract a NULL.
FossilOrigin-Name: 1061e94fa983a441b289753b873559163ab849e6
2011-02-18 17:23:23 +00:00
drh
9b3eb0adc1
Add the ability to use indices when a range contraint is bounded on
...
the lower end by NULL.
FossilOrigin-Name: f73a167b434fadcbbd15e3891c4b7f4f87f6363c
2011-01-21 14:37:04 +00:00
dan
271065704c
Avoid recursive calls to sqlite3VdbeMemRelease() when deleting VM frames used by trigger programs.
...
FossilOrigin-Name: 119ffe955eb1e8016cb8131a63bd17557f395f3f
2010-12-01 08:04:47 +00:00
drh
e062d7b847
Avoid all memory allocation (and hence the possiblitity of OOM failure)
...
in sqlite3_value_double() and sqlite3_column_double().
FossilOrigin-Name: 4afdf9705a7c2b67aea31c5d51b9c295867d62d1
2010-10-05 12:05:32 +00:00
shaneh
5f1d6b616e
Changes to remove sqlite3FitsIn64Bits().
...
FossilOrigin-Name: 43fef1cab6315f837782ea601d5a2aeb9843ab3c
2010-09-30 16:51:25 +00:00
drh
9351862b6d
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]
FossilOrigin-Name: ce6cc16e3a151a0c67855abde1411422dfcc8828
2010-09-30 14:48:06 +00:00
drh
9339da1f22
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.
FossilOrigin-Name: 14eed3a0e0a45c6f2904a3a134aa27c159916f7b
2010-09-30 00:50:49 +00:00
drh
ebc16717fa
Continuing work toward detecting and fixing shallow-copy misuse.
...
FossilOrigin-Name: d0342f4bb9d25dd1dba3957778faa993fb9cc81c
2010-09-28 00:25:58 +00:00
drh
2b4ded993b
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].
FossilOrigin-Name: 8b8e1732e8410efd5f8e308c43abe521584e87a0
2010-09-27 21:09:31 +00:00
drh
38c67c3683
Improved documentation of SQLITE_THREADSAFE and sqlite3_column_text() and
...
evidence marks for each.
FossilOrigin-Name: 0d7a53894866e536616e78473d253a9e9c29b1bc
2010-09-08 02:30:27 +00:00
drh
ee9ff672da
Documentation enhancements for sqlite3_db_status(). Evidence marks on
...
the SQL function call intrface.
FossilOrigin-Name: f06c7b1973d64a6a1a1db2b44df2a4eb0ece0077
2010-09-03 18:50:48 +00:00
drh
a3388cc5b0
Fix typos in comments. No code or logic changes.
...
FossilOrigin-Name: 15c294ca051ed8b5078e7ac9a969b0f9358d9184
2010-07-30 16:54:25 +00:00
drh
4a466d3ef3
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.
FossilOrigin-Name: af471ed79f539ff495f6d4cb3b69188c8af7ae3d
2010-06-25 14:17:58 +00:00
dan
5fea90762a
Change a condition in sqlite3VdbeMemShallowCopy() to avoid accessing an unitialized variable (doing so was not dangerous, but caused a valgrind error).
...
FossilOrigin-Name: 4793c381c6ff4e4d25433298be30028721a9cb67
2010-03-05 18:46:12 +00:00
drh
4b5db5ac9c
Redesign the string to numeric value caster so that it is more likely to
...
work on unusual floating point hardware.
FossilOrigin-Name: 8bb1104c6f02c88eb09ed345890be71dee099485
2010-01-21 01:53:07 +00:00
drh
52d14521fa
Make the doubleToInt64() routine a pass-through when using OMIT_FLOATING_POINT.
...
FossilOrigin-Name: 417167182efaa1da74008952137de3e00c23494e
2010-01-13 15:15:40 +00:00
drh
7ec5ea942e
Make the sqlite3_result_double() interface work the same as
...
sqlite3_result_int64() when SQLITE_OMIT_FLOATING_POINT is defined.
FossilOrigin-Name: 61df5986600b6c9e6d5c42efc0067a27fe54251f
2010-01-13 00:04:13 +00:00
drh
0abaefefd6
Remove an obsolete (and incorrect) comment from sqlite3MemCompare().
...
No changes to code.
FossilOrigin-Name: c15b70b3aefc399dae1df5bb721530f0e2b7887a
2009-11-11 23:48:22 +00:00
drh
c81c11f62c
Remove the obsolete "$Id:$" RCS identifier strings from the source code.
...
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
drh
481aa74e21
Recover an ophaned branch that resulted from some ill-advised "shunning".
...
This check-in should be identical to [bd443f39a9] except that it should
be on the trunk.
FossilOrigin-Name: 38eaf1ab6e05161e6dc7cd69e942aeca16548c45
2009-11-05 18:46:02 +00:00