location of the payload within the database for the record that contains
column X. location(X) returns NULL if X is not an ordinary table column or
if SQLite cannot figure out the location because it is using a covering index.
FossilOrigin-Name: 51be9558164301c5dd4df23ab8b3e67de0b522f8d36f79f3d84d45d3dc2a83a4
allow a negative value in the 3rd parameter to memmove() when
defragmentPage() is called on a btree page with a corrupted
freeblock list. The corruption is now detected early and results in
an SQLITE_CORRUPT return before the memmove() is reached.
FossilOrigin-Name: 5b9ae693120fe4f7bc3b6270f35d773876f6cc8f5990e05cce0d255c54b36ae7
faster, and easier to maintain. In place of the scratch allocator, add the
SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite
that large memory allocations should be avoided.
FossilOrigin-Name: 54b000246cfb5c7b8adb61a17357ef5a49adddde9e48e8937834d5ba0beb8a6b
the table is empty or if it has pgnoRoot==0. This simplifies the callers,
making them smaller and faster. The SQLITE_EMPTY result code is intercepted
and changed into SQLITE_OK before surfacing in an API.
FossilOrigin-Name: 240d57143d943eaddd5f7c2d473f47a1d29417e61d28142f70f3d960bb9b30df
content without increasing the amount of I/O. Deleted content might persist
on the free page list, however. And extra CPU cycles are used for zeroing,
of course.
FossilOrigin-Name: 38978ce65b280bb7cba3fc08ba91485fb1b84cd9fbba2e950ecf41c021ff452a
stability guarantee. This involves refactoring the sqlite3.flags bitvector
to carve out a free bit to use.
FossilOrigin-Name: 7076e8283ebae1b45a5d85d9538b49b6da399d38c3c6935de100f948f814f6a9
deleted content with zeros without increasing the amount of disk I/O.
FossilOrigin-Name: f1682f0faf1a93ded066464b1ddd5f987e21ee0f6bb5e828ed31c3ad903cf2c3
pages replaces one that does not in an auto-vacuum database. Fix for
[fda22108].
FossilOrigin-Name: b30dfba811cb531b09ff2e71a1a18ed53c816cb39155dd52ca3e2701425fe17b
SQLITE_DONE if they have already reached the end (or beginning) of the table.
This gives a performance increase and size reduction.
FossilOrigin-Name: e972a3860892022d57b26ec44ce0fbadc61c1ff54b7a10b7e82390db88d323a7
does not already contain N if the insert cursor points to N-1. Fix for ticket
[61fe9745].
FossilOrigin-Name: 1c1b0862236f564283be08338790d6494e705f1198547a59499e3f8c07f2cd99
storing the cell index for the leaf page in the BtCursor object in its own
field (BtCursor.ix), rather than as an entry in the BtCursor.aiIdx array.
FossilOrigin-Name: 2452f0617d1085689264b5f66681788cfe9e3b1a7b318307c93942b702a443df
SQLITE_DEFAULT_SYNCHRONOUS when a database connection changes from wal to
rollback journal mode.
FossilOrigin-Name: 78030c0f52aa39fb2ab32c75c56e6bcefe6382b8df28b1909e3c911e42dbeca3
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