1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-05 15:55:57 +03:00

1674 Commits

Author SHA1 Message Date
drh
8eeb4463d9 Simplify the sqlite3BtreeInsert() interface by gathering the five arguments
describing the content to be inserted into the new BtreePayload structure, and
thus reducing the number of parameters from eight to four.

FossilOrigin-Name: 55f348cdd24c7812ea4b63345514764b69f64dc8
2016-05-21 20:03:42 +00:00
drh
16e2b9694a Remove some unused legacy code from the btree insert logic.
FossilOrigin-Name: 2ce1166717ac3c0cec37b2f6d70d8359fbaefc71
2016-05-21 19:10:21 +00:00
drh
09a4e92c6d Yet another minor size reduction and performance increase in the b-tree
insert logic.

FossilOrigin-Name: 1dbaf7a119edc5150a5d4be1b72f652a574e5bc5
2016-05-21 12:29:04 +00:00
drh
cb89f4aba8 Small size reduction and performance increase in the sqlite3BtreeInsert()
logic.

FossilOrigin-Name: 656aa1ecf5129ae43c56a990e95038b5d8cbdcee
2016-05-21 11:23:26 +00:00
drh
3791c9c288 Fixes to requirements marks. No changes to code.
FossilOrigin-Name: 79ecd0ef20c12198e950a730871444a980a0f1b2
2016-05-09 23:11:47 +00:00
drh
bfc7a8bb01 Fix the sqlite3BtreeDelete() routine so that it preserves the correct
key even when the row being deleted is not on a leaf page.
Fix for ticket [a306e56ff68b8fa56]

FossilOrigin-Name: ca2ef8a86cf806cbbcc64db03251b1df5b2c5501
2016-04-09 17:04:05 +00:00
drh
1c715f67b9 Use SQLITE_WITHIN() for pointer range comparisons in some testing code.
FossilOrigin-Name: 7cacf4e954c8de5af5efb56d8271a5ac1edc1c04
2016-04-05 13:35:43 +00:00
drh
cca6698408 Do not allow pointer arithmetic to move a pointer across a memory allocation
boundary.

FossilOrigin-Name: 85b979319bcb8ec301ae39b36ad60348e4515be7
2016-04-05 13:19:19 +00:00
drh
c5e7f94494 Fix a harmless compiler warning.
FossilOrigin-Name: 5ace870d3ac3e9eb29cb4602c9036873adbcb99d
2016-03-22 15:25:16 +00:00
drh
3bfa7e82b6 Create the "uptr" typedef (the same as uintptr_t when available) and use it
to cast pointers before comparison.

FossilOrigin-Name: 2484cc0c3ffc8834a155f89af1581bd07d453a90
2016-03-22 14:37:59 +00:00
drh
0b98207c5b Avoid the possibility of integer overflow on a pointer comparison test for
corruption in the database file.

FossilOrigin-Name: ff1b1ac3313ba9d70414e928ef3dd82913298a1a
2016-03-22 14:10:45 +00:00
drh
c1fb2b87bd Update a comment in btree.c to account for WITHOUT ROWID tables. No code
changes.

FossilOrigin-Name: fa20dcb03b92be3bb32f8e3d6f88681ace3f6c84
2016-03-09 03:29:27 +00:00
drh
c2ae2073d9 Make the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS
values zero-based to agree with PRAGMA synchronous.

FossilOrigin-Name: 592d2104361500e5002783ba329a2609389c57b9
2016-03-08 15:30:01 +00:00
drh
e243de5cf5 If SQLITE_DEFAULT_WAL_SYNCHRONOUS is not the same value as
SQLITE_DEFAULT_SYNCHRONOUS and the application has not run
"PRAGMA synchronous", then set synchronous to the 
SQLITE_DEFAULT_WAL_SYNCHRONOUS setting when entering WAL mode for
the first time.

FossilOrigin-Name: 5791407b523abd24e832fc2361b3e9f01ee2f36a
2016-03-08 15:14:26 +00:00
drh
b052958657 Remove code not needed now that synchronous=OFF database files no longer
trigger the use of a master journal.

FossilOrigin-Name: aa9f4c622af191edbeb6a535942944f8c91f5c37
2016-02-22 23:44:42 +00:00
mistachkin
fad3039c51 Enhance ability to debug out-of-memory errors.
FossilOrigin-Name: 6a9c4a3ebfb7cc0738ef6634440ccab44a21ff28
2016-02-13 23:43:46 +00:00
drh
cc5f8a46b9 Add a utility program that looks for assert(), NEVER(), ALWAYS(), and
testcase() macros that have side-effects, and reports errors when they are
found.  Also fix a bug that this utility detected as it was being tested.

FossilOrigin-Name: b0b4624fc5d53bb0cc9fae7dad51984837d946ac
2016-02-06 22:32:06 +00:00
drh
4df86af329 Remove unnecessary sets of db->mallocFailed.
FossilOrigin-Name: b787165b25a240fd5b4a5c7f73b395f30213a1d7
2016-02-04 11:48:00 +00:00
drh
38bace84cd Fix an assert() that might fail on a corrupt database.
FossilOrigin-Name: 22eaced7274764eaf7ab4b5fc52cc2fcfc285708
2016-02-01 00:21:08 +00:00
drh
4b09ec6e11 Add the BTREE_FORDELETE and BTREE_AUXDELETE flags to the b-tree layer interface
and use them.  Add assert() statement to verify that they are correct.

FossilOrigin-Name: 85c467041c9378cae3038756da815e9117ee8c7d
2016-01-30 13:32:30 +00:00
drh
5f4a686f8c Simplification and size reduction to the printf logic. Remove the bFlags
parameter from sqlite3VXPrintf() and sqlite3XPrintf().  Use sqlite3XPrintf()
instead of sqlite3_snprintf() for rendering P4 values in EXPLAIN output.

FossilOrigin-Name: 0bdb41c45aa1cc8e5c136aaa6605d54b401483bd
2016-01-30 12:50:25 +00:00
drh
def19e3b48 Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to better
reflect its purpose.

FossilOrigin-Name: 1d3bf6bebdda9f96734bc139601e9b05344ea0b4
2016-01-27 16:26:25 +00:00
drh
e807bdba86 Add a new hint bit on the flags parameter of sqlite3BtreeDelete(). The new
BTREE_IDXDELETE bit indicates that the call is to delete an index entry 
corresponding to a table row that has already been deleted.

FossilOrigin-Name: ac2cbadd8000947c097da5b00c00090fe58fdcff
2016-01-21 17:06:33 +00:00
drh
36b78ee7d8 Very small simplification to the btree balancer.
FossilOrigin-Name: f421adf54c9db91ba6ca64a8ba3751680e47924a
2016-01-20 01:32:00 +00:00
drh
055f298ad4 Work toward making the schema parsing logic simplier and more compact.
FossilOrigin-Name: c52ca2c0662bb30ab34574f933429512655b19ff
2016-01-15 15:06:41 +00:00
drh
8f3f65ec1c Remove an unused field from the MemPage object.
FossilOrigin-Name: 5fc0a4c1f353c4c06fcbc4bce8bbe1897ef49eee
2016-01-12 04:08:54 +00:00
drh
5a1fb1885a Fix the build for SQLITE_OMIT_SHARED_CACHE, which was broken, possibly
by check-in [2d96aeba].

FossilOrigin-Name: 3392f8fa2ddf2c10ffe91ddd92470040c909b36d
2016-01-08 19:34:39 +00:00
dan
7a2347e20b Add some assert() statements to verify, where possible, that BtShared.db is set correctly.
FossilOrigin-Name: 359277e0e5338f6d7743d58cf99e1c934a8460d5
2016-01-07 16:43:54 +00:00
dan
20d876fa1c Have the vdbe layer call sqlite3BtreeEnter() on all b-trees in use from within sqlite3VdbeExec() even in SQLITE_THREADSAFE=0 builds. This ensures that BtShared.db is set correctly.
FossilOrigin-Name: d0214602d44d6b84b7463d530720e2560aee6edf
2016-01-07 16:06:22 +00:00
drh
a660caf2f0 Fix an assert() that might be false for a corrupt database.
FossilOrigin-Name: 68360cd2211b7ab25dd4ca55a2e82e31f51f2976
2016-01-01 03:37:44 +00:00
drh
45ac1c70b3 Reduce the size of the CellInfo object from 32 to 24 bytes on 64-bit machines.
FossilOrigin-Name: 7850715406458a61cff9eba5ad915f61f6d99482
2015-12-18 03:59:16 +00:00
drh
8b0ba7b0b8 Make greater use of the SQLITE_WITHIN macro.
FossilOrigin-Name: f2fc3aede55c8fa0351697f9f5ce4e544334c9af
2015-12-16 13:07:35 +00:00
drh
ac536e613a Move pointer range comparisons into a macro, where they can be dealt with
in a more portable way.

FossilOrigin-Name: ad3124c834b080aaaf24934d6f08b3601ac3ae53
2015-12-10 15:09:17 +00:00
drh
72ea29d7ae Changes to avoid undefined behavior in memset() and memcpy() and in the
comparisons of pointers from different allocations.  All problems are found
by analysis tools - none have been seen in the wild.

FossilOrigin-Name: 901d0b8f3b72e96ffa8e9436993a12980f5ebd51
2015-12-08 16:58:45 +00:00
drh
9b0cf34f81 First attempt at enhancing the "PRAGMA cache_spill" statement to accept a
cache threashold size.

FossilOrigin-Name: 549d42be0dac87dc04c3eeccfdc60615c3a6ad3f
2015-11-12 14:57:19 +00:00
drh
b1d607de25 Improvements and simplifications to the equality seek logic. Tests are
adjusted so that they all pass now.

FossilOrigin-Name: 997ce6c90b454c03cc2ef6934752ee8dd2e520e3
2015-11-05 22:30:54 +00:00
mistachkin
63225522f9 Remove #pragma that was used to work around an obsolete issue with MSVC 2012.
FossilOrigin-Name: b9b22fae69000ca506656f9cf847e713c6304b75
2015-11-05 03:26:36 +00:00
drh
8dd1c25388 Performance improvements in the getAndInitPage() routine of btree.c.
FossilOrigin-Name: 2aa50f6f2029e3c91a4cb91224df8ec1194f215e
2015-11-04 22:31:02 +00:00
drh
9584f58cc2 Rename the sqlite3PagerAcquire() function to sqlite3PagerGet(). The former
macro called sqlite3PagerGet() has been removed.

FossilOrigin-Name: 708253be34084b89987efe955c34557516171a3a
2015-11-04 20:22:37 +00:00
drh
f7854c7329 Split out sqlite3BtreeCursorHintFlags() from sqlite3BtreeCursorHint()
the interface for improved performance.

FossilOrigin-Name: b3ec9a0d62c5543e91d4be2cd634ec4a3d6dca11
2015-10-27 13:24:37 +00:00
dan
c5dc3dcd6e Merge the BTREE_FORDELETE enhancement with this branch.
FossilOrigin-Name: 20da0849ce910ceb445954dfc5f985acf9a02695
2015-10-26 20:11:24 +00:00
drh
0691191d26 Merge in all trunk changes prior to the BTREE_FORDELETE enhancement.
FossilOrigin-Name: 53d5a4add6b60722ad77daf98b6b8983b081e16a
2015-10-26 18:51:09 +00:00
dan
fd261ec67e Modifications to pass a flag to internal routine sqlite3BtreeCursor() when a cursor that is used solely for deleting b-tree entries, or for obtaining the components of keys to delete from other b-trees, is opened.
FossilOrigin-Name: cdc92919e600007cae5eb61223684f48a65babc0
2015-10-22 20:54:33 +00:00
drh
b0df963465 Fix a comment in expr.c and add a CORRUPT_DB to an assert() in btree.c.
FossilOrigin-Name: 0df371d1a51c2028aefa4c704707773750317689
2015-10-16 23:55:08 +00:00
drh
99f4647ef5 Merge in all the 3.9.0 updates from trunk.
FossilOrigin-Name: 29444149342fc6b1ea8cd34c2c8e1fcb06eaa7ed
2015-10-14 20:09:54 +00:00
drh
48310f8c51 Work around a "security feature" bug in memcpy() on OpenBSD.
FossilOrigin-Name: fab6f09044d033dd09ed8a22e06bc6a7851bbabf
2015-10-10 16:41:28 +00:00
drh
9b5351d439 Fix an assert() in btree.c that is only true for non-corrupt databases.
FossilOrigin-Name: 29f7227ff127202c53fe7c3b6558b3c101b0a7bc
2015-09-30 14:19:08 +00:00
dan
e755e10a78 Clear the BTCF_ValidNKey flag when putting a cursor into REQUIRESEEK state. Fix for [1b266395].
FossilOrigin-Name: a6d5e4e8693bea3739c35fe9769ac9abfb9ed056
2015-09-30 12:59:12 +00:00
drh
ae1a015c87 Merge trunk changes into the cursor-hints branch.
FossilOrigin-Name: fbe637620fb7f2c9395c9ddac77d26746d6d4178
2015-09-24 15:06:30 +00:00
drh
78ac109c7f Fix an overly-strict assert() in the btree logic.
FossilOrigin-Name: 825ce3201df21c6b9d5c57dcc6726c306df05220
2015-09-20 22:57:47 +00:00