specifies a percentage of the tree to skip over before retrieving each
new record. If next_random_sample_percent is configured, we first
retrieve a random record from the tree as a whole, and on subsequent
retrievals, skip forward the specified percentage of the tree; if
next_random_sample_percent is not configured, we use the previous method
of choosing a new leaf page from the entire tree on each retrieval.
Clarify bulk and next-random cursor documentation: there are several
methods allowed on bulk and next-random cursors (for example, reset,
reconfigure and close), don't try to list them. Instead reference the
principle method the application is expected to use (insert for bulk
cursors, next for next-random cursors).
Make cursor-open with next_random configured fail for column-store
objects, waiting until the next method is called seems unkind.
Rework the static random-cursor tests to smoke-test both forms of random
cursors.
only have inserted items (that is, just a big skip list), always return
the middle item of the list. Change it so we return a random entry in a
large skiplist, and update our test suite to test both cases. (I bet
this mostly just fixes application unit tests, mostly, but that's a few
less support calls, regardless.)
aren't visible to the running thread; admittedly an edge case, but it
seems best if cursor calls don't return references to updates that may
subsequently disappear.
This change should close issue #1064.
because the cursor.reset method failed with not-supported. Two fixes:
explicitly change next-random cursors to call the underlying reset method,
they're btree handles so it makes sense for them. Additionally, make the
default cursor.reset method be a no-op rather than a not-supported error,
bulk cursors don't want to block transactions/checkpoints either.
session.truncate back out of the cursor layer and into the session
layer (ref #314).
Change session.truncate to support any cursor position for range
truncation, not just keys that are known to exist. This also
allows us to simplify the testing, because row-store can now deal
with "implicit" keys.
This is an API change, note in the "Upgrading" section of the docs.
equality result in a separate argument: close#274.
Add connection.is_new to the list of methods in the SWIG file that don't
require error handling, add a connection.is_new smoke test to the test
suite.
Add a connection.get_home smoke test to the test suite.