drh
42e28f12a3
Simplify the accessPayload() routine so that it always populates the overflow
...
page cache. In the one case where populating the page cache can lead to
problems, simply invalidate the cache as soon as accessPayload() returns.
This simplification reduces code size and helps accessPayload() to run a
little faster. This backs out the eOp==2 mode of accessPayload() added by
check-in [da59198505].
FossilOrigin-Name: 68e7a8c6765649195ef1ad9407d87d44a307b462
2017-01-27 00:31:59 +00:00
drh
945b094632
Remove an unreachable branch in the error handling logic for
...
sqlite3BtreePayloadChecked().
FossilOrigin-Name: 293bf3ed7e40745349c83b202b27ed1b48517e1a
2017-01-26 21:30:00 +00:00
drh
b7dab70a92
Improvement to the OP_Permutation opcode to prevent it from using CPU cycles
...
for initialization in prepared statements that do not use that opcode.
FossilOrigin-Name: b4a98f65564a0d9fba2fef95ebd00a39b3e1e572
2017-01-26 18:00:00 +00:00
drh
fae58d51ce
Remove the obsolete lastRowid cache from the sqlite3VdbeExec() for a size
...
reduction and performance improvement.
FossilOrigin-Name: b4803184652e5f4f823c1521412bc480baeb3dbf
2017-01-26 17:26:44 +00:00
drh
d08406477a
Performance optimization in sqlite3VdbeCloseStatement().
...
FossilOrigin-Name: 1e96e5ec1ee617cb5b5cbdc5a2ee79c8cc35821d
2017-01-26 17:11:18 +00:00
drh
83ec2761fa
Performance optimization to sqlite3_blob_read().
...
FossilOrigin-Name: 7459f4b7ed4007d9ec44c3bf0fcba04f5f8540a9
2017-01-26 16:54:47 +00:00
drh
8bb9fd3b45
Minor simplification and performance optimization for Direct Overflow Read.
...
FossilOrigin-Name: 3e96d6efa867b765c8acf1454014b1e71b2e4f21
2017-01-26 16:27:32 +00:00
drh
d930b5cb06
Make SQLITE_DIRECT_OVERFLOW_READ work for in WAL mode as long as the page
...
being read is not in the the -wal file.
FossilOrigin-Name: 9879be1899adf5634f551a2077b15ccb1133e4e3
2017-01-26 02:26:02 +00:00
drh
d447dced96
Trim NULL values off the end of records when the SQLITE_ENABLE_TRIM_NULLS
...
compile-time option is used. Increase the size of the P5 operand to 16 bits.
Fix a problem with short records in the sessions extension.
FossilOrigin-Name: 4801bd59a01dcc11a3eb9e776e7599b36f162d2a
2017-01-25 20:55:11 +00:00
dan
7271d7a19c
Fix another pre-update hook issue, this time in sqlite3preupdate_old().
...
FossilOrigin-Name: c7651d21bfdfd9b8cf04b26e0264bc58c03d247f
2017-01-25 18:53:27 +00:00
dan
2a86c1962c
Fix a problem with the pre-update hook on this branch.
...
FossilOrigin-Name: 6fc4fbfa29cfa795edf32e4a1f2d0eceb3007f68
2017-01-25 17:44:13 +00:00
drh
585ce1923c
Experimental enhancement to automatically trim NULL values from the end of
...
records, for a reduced disk footprint. This change also involves increasing
the P5 operand from 8 to 16 bits.
FossilOrigin-Name: 118ded403b95050b74ae2b03919c43d614094a32
2017-01-25 14:58:27 +00:00
drh
210b0d0eb3
Ensure that sqlite3_blob_reopen() correctly handles short rows.
...
Proposed fix for ticket [e6e962d6b0f06f46e]. Further testing needed.
FossilOrigin-Name: 57d8dad35c2a9ab635e954dce7f3986ae1ca8ed2
2017-01-25 04:41:34 +00:00
drh
6aabff38e9
Optimization: Try to avoid unnecessary btree searching when repositioning
...
a cursor to the next row.
FossilOrigin-Name: ee793d30c1dc1f78f49e6230d17750eceedbd8ed
2017-01-23 16:56:18 +00:00
dan
65c4c0b02d
Add the missing SQLITE_API symbol to test_delete.c (it is not added
...
automatically as this file is not part of the amalgamation).
FossilOrigin-Name: 7a4f512ddf9e7e718389c80930d6268ab598459c
2017-01-23 15:58:09 +00:00
drh
38305ab55f
Fix an uninitialized variable in the command-line shell.
...
FossilOrigin-Name: 06b8001ade62bc59e6ae20f761167a81d85a4272
2017-01-22 16:34:35 +00:00
mistachkin
35f30d3398
Fixes to documentation comments in the public header file.
...
FossilOrigin-Name: 772dcb08f400f20d4dbfb74df39de78da24ee5fd
2017-01-22 02:04:05 +00:00
drh
7f11afaba1
A better implementation of the moveto-neighbor optimization that checks for
...
nearby rows on adjacent pages.
FossilOrigin-Name: 2c4ecb85a475b9063aa8a3bb517ac181a7ded649
2017-01-21 21:47:54 +00:00
drh
451e76d5b5
B-tree optimization: When seeking on a rowid table that has already been
...
positioned, check to see if the new row happens to be the next row on the
same leaf page. That is a reasonably common case, and if it is true it
avoids a full binary search.
FossilOrigin-Name: 8e5cfb2039126da7689c4b1c88760f10e1234eaf
2017-01-21 16:54:19 +00:00
drh
3b2936fada
Change sqlite3_blob_reopen() to call sqlite3VdbeExec() directly rather than
...
going through sqlite3_step(). Performance enhancement.
FossilOrigin-Name: 347df3c1fd7322e7aacaf1e9f8be81830947c482
2017-01-21 16:27:56 +00:00
drh
36cae856ee
Remove an unnecessary sqlite3_bind_int64() call from sqlite3_blob_open().
...
Also other minor refactoring of the sqlite3_blob implementation.
FossilOrigin-Name: 9d197a532349f4b1caf66bbed70ca46df86cb86f
2017-01-21 14:11:28 +00:00
drh
cd64553015
Minor performance optimization and size reduction to the accessPayload()
...
routine in btree.c.
FossilOrigin-Name: 264e5c10d7144910b3223b64546567fa20e4bc65
2017-01-20 20:43:14 +00:00
drh
4df65fc20f
Minor performance optimizations to sqlite3_blob_open() and
...
sqlite3_blob_reopen().
FossilOrigin-Name: 52a61967d920047ea0b4409b79793e05c0128964
2017-01-20 00:40:26 +00:00
drh
8674e49214
If compiled with SQLITE_INLINE_MEMCPY, all memcpy() calls are replaced with
...
in-line code. With that change, cachegrind shows which memcpy() calls
are taking the most time. This is a performance-measurement hack only and
is not for production use.
FossilOrigin-Name: 9ed38521617136223a667988aed40e25797faf84
2017-01-19 21:20:11 +00:00
mistachkin
aac853bae8
In the 'windirent' test module, use a macro for the hidden/system attribute checking.
...
FossilOrigin-Name: a84a08d0716656dc0b26eafb1841c48d83c67ef2
2017-01-18 22:47:42 +00:00
mistachkin
8a9e83583b
Fix handling of initial hidden and/or system files in the opendir() implementation for Windows. No changes to non-test code.
...
FossilOrigin-Name: 26dd42b462dc621b8b0a2295fc91d3e61ac732b6
2017-01-18 22:16:20 +00:00
drh
c711f53f30
Disable intrinsic functions for Windows using Clang, due to reports of
...
linkage errors. This causes a 0.6% performance reduction. We will want to
revisit this change in the future.
FossilOrigin-Name: 7fd560c6d2ff470b755ad118287a0a8825b3009e
2017-01-17 00:10:58 +00:00
drh
da060052e3
Back out check-in [0b3174e0b1364c] and replace it with a better fix
...
for ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem
identified by ticket [7ffd1ca1d2ad4ec].
FossilOrigin-Name: 0613665274346917f5482f9210bf0c60a0fed7d9
2017-01-16 16:43:02 +00:00
drh
be7a0cee4e
Fix the build for SQLITE_ENABLE_MEMORY_MANAGEMENT.
...
FossilOrigin-Name: 8c85b8fdd7f0ba65fba83361d361a567b797a184
2017-01-13 12:53:35 +00:00
drh
7b20a15d13
Remove a branch that is probably unreachable, and which adds no value.
...
FossilOrigin-Name: 9acc72381ccd5e36f3ffdf7e7fbefc5a15701eb4
2017-01-12 19:10:55 +00:00
drh
ae051a8970
Fix harmless compiler warnings in the UPDATE code generator.
...
FossilOrigin-Name: 385db266673abaf7013ffad09b28014c246547ef
2017-01-12 16:21:54 +00:00
drh
70d90a2c37
Remove an unnecessary corruption test from the btree balancer. If corruption
...
is present, it will be found harmlessly by later tests.
FossilOrigin-Name: bddf39562d08e259c43dd59b82afb62fe0eb2eef
2017-01-12 16:14:33 +00:00
drh
b701c9a6c3
Improved detection of cells that extend into the reserved space at the end
...
of the page while adjusting overflow page pointers during autovacuum.
FossilOrigin-Name: 8097712c9c1f4ea16bc5dd462da248ef98896061
2017-01-12 15:11:03 +00:00
drh
ea8f0a155e
Make sure Tcl_AppendResult() always has a NULL-pointer argument at the end.
...
FossilOrigin-Name: c07aef6f909fe35de110f0b180dbf5aa4c226af3
2017-01-12 11:50:08 +00:00
dan
ba47020b63
Changes to allow some multi-row UPDATE statements to avoid the two-pass
...
approach.
FossilOrigin-Name: 7ae6104a3e0d1d2cacfe2be732f0220a53908132
2017-01-11 21:03:53 +00:00
dan
e206ea7f48
Fix a problem causing the pre-update hook to be passed an incorrect rowid
...
value in some single-pass multi-row updates.
FossilOrigin-Name: 62257eb53c13d4c7ed128d5d89f6f10d4aff945c
2017-01-11 20:10:30 +00:00
dan
2c6fec21dc
Fix a problem with single-pass multi-row UPDATE statements that invoke REPLACE
...
conflict handling.
FossilOrigin-Name: 0a2b8e1b9dc600b5a93622e8eea6218649df5e0f
2017-01-11 19:03:08 +00:00
dan
372f942f17
Fix a problem preventing UPDATE statements that use a range-scan on the PK
...
index of a WITHOUT ROWID table from using a one-pass strategy.
FossilOrigin-Name: cab86c90945126c24c40cf2dedd053a8c46d00d6
2017-01-11 15:42:14 +00:00
drh
785d8ed0d4
In the STAT4 computations, ensure that the aAvgEq values do not go negative.
...
FossilOrigin-Name: f58f75b5a06f88ba97bd1a02bee621c64691c6f8
2017-01-11 14:15:29 +00:00
dan
f91c1318f4
Changes to allow some multi-row UPDATE statements to avoid the two-pass
...
approach.
FossilOrigin-Name: 46db23ccd116ce5b9d949f9293be8a2818411b46
2017-01-10 20:04:38 +00:00
drh
8e36ddd37e
Throw an error if the ON clause of a LEFT JOIN references tables to the right
...
of the ON clause. Fix for ticket [25e335f802dd].
FossilOrigin-Name: c92ecff2ec5f178433d21f25c653d0fdd9128d7c
2017-01-10 17:33:43 +00:00
drh
1d21bac8aa
Avoid unnecessary calls to the xRoundup() method of the memory allocator when
...
the soft heap limit is not set.
FossilOrigin-Name: 4209b89eab01814228a178963238e0dffffad2a4
2017-01-10 16:09:46 +00:00
drh
d9bcb32ebb
Fix a potential assertion fault discovered by OSS-Fuzz.
...
FossilOrigin-Name: 71c03b59b645884ebd6b9e18713cd2eb8c949870
2017-01-10 15:08:06 +00:00
drh
e4a8b8769e
Remove a redundant assignment statement.
...
FossilOrigin-Name: a5fa09657bd6c4ea5fe6712b0f8af2170cbe0381
2017-01-09 19:55:19 +00:00
drh
7441df72be
Performance optimization and size reduction in the OP_Variable opcode.
...
FossilOrigin-Name: 237aa97452e20c312f256a8fd62531e3d447f84b
2017-01-09 19:27:04 +00:00
mistachkin
ab61cf7d93
Fix typo in a comment. No changes to code.
...
FossilOrigin-Name: d38fd22935b1572f4481b39c2f9274329b18ea99
2017-01-09 18:22:54 +00:00
drh
e7b554d615
Modify the OP_RowData opcode so that when P3!=0 it is allowed to hold an
...
ephemeral copy of the content. This avoids unnecessary memcpy() operations
in the xfer-optimization and VACUUM.
FossilOrigin-Name: 6e106acd74da3baa5c308a76443d2f0a7c904e5e
2017-01-09 15:44:25 +00:00
drh
f4e994b23a
Add the SQLITE_UINT64_TYPE compile-time option.
...
FossilOrigin-Name: a5fe03bc419d9c7e6068ed38810e3f183de179b5
2017-01-09 13:43:09 +00:00
drh
68116939eb
Improvements to the iIdxNoSeek optimization of sqlite3GenerateRowDelete()
...
so that it is automatically disabled for BEFORE triggers but works in all
other cases.
FossilOrigin-Name: 3178ec4c27efc4ff84bcd17ddb17ec50a6ac96b3
2017-01-07 14:47:03 +00:00
drh
4cef5b1c81
Critical fix to the previous check-in so that it works when there are
...
BEFORE triggers that move the cursor before the OP_Delete has a chance to
be applied.
FossilOrigin-Name: db2c0960ffb3b396b20e0441d3edb812254c82bc
2017-01-07 14:26:28 +00:00