Don't turn on cursor RAW flag for a JSON dump cursor.
Fixed unpacking a fixed length string: unpack cur position was not being updated.
Fixed packing a fixed length string: String array bounds check was firing.
Fixed unpacking short/int: range check was incorrect.
Added methods to put/get record numbers (e.g. getKeyRecord) in Cursor and AsyncOp.
Remove stray println.
doxfilter modified to know about new macros: @m_page, @m_if, @m_else, @m_endif.
Pages with @m_page have all its snippets/subpages point to the language
specific example/subpage.
The java examples directory added to EXAMPLE_PATH in Doxyfile.
Added @m_page to any doc page that also needs a Java version.
Added cast to wiredtiger.i for stricter compiler checking.
Cache field ids and method ids for all async operations. Invalidate
unpackers by setting fields, rather than calling a method to do it.
Use javaClose to invalidate the swigCptr for a AsyncOp at the end of
the callback. Any use of an AsyncOp after its lifetime has ended will
give a NullPointerException.
Declare that new_async_op throws WiredTigerException, which happens
when there are no more slots available.
Added a test with a million items that typically does no pauses when
creating ops, but catches WiredTigerException and retries with a short
sleep.
- Created a real async handler for java allowing callbacks
into java code. Code to be registered must implement the
new AsyncCallback interface.
- Renamed classes/methods to Java-ish names.
- Fixes to support 'this' removal for AsyncOp.
- Java's cursor ops, like 'insert' set up the value unpackers
after insert completes. For AsyncOp, we take a different
approach, and invalidate the unpacker when the op completes,
letting the value be fetched when needed.
- Added new test AsyncTest that tests doing different numbers of
async ops with different parameters, and also with different types
of keys/values.
- Various fixes to allow test_async01.py to work for string key/value.
- Hand rolled AsyncCallback class to mirror C's WT_ASYNC_CALLBACK.
- Keep the async callback in the PY_CALLBACK struct hidden in cursor's
lang_private.
- Some cleanups in writeToPythonStream(), including fixing
potential race condition.
Java for async:
- Modified Java SWIG interfaces for async enough to allow it compile.
- Standardized class spelling to 'AsyncOp'.
- Removed a few non-applicable methods from AsyncOp.