Commit Graph

173 Commits

Author SHA1 Message Date
Susan LoVerso
4f55f15433 Add pyApiAsyncCallback definition. 2014-04-23 09:58:03 -04:00
Susan LoVerso
1d079a8d36 Add ENOMEM_OK for async_new_op. 2014-04-22 19:50:19 -04:00
Don Anderson
9028dc71a0 Use dump=json as config option for json cursor.
Changed name of cursor flag to reflect that.  refs #740.
2014-04-15 19:44:50 -04:00
Don Anderson
02b44c7e27 Changed json cursor to behave more like other dump cursors, returning
a const char *.  Refactor wt dump code to make integration tighter.
refs #740.
2014-04-15 14:02:32 -04:00
Don Anderson
9cda73d9b2 Add 'json' config option to cursor, to create JSON output.
Supports using 'json' with index cursors as well as tables.
New 'wt jsondump' utility that uses json cursors.  refs #740.
2014-04-09 16:21:55 -04:00
Susan LoVerso
569be29173 Use an underlying cursor for async op keys/values. 2014-04-09 14:25:51 -04:00
Susan LoVerso
ca14ca7764 Merge branch 'async' of github.com:wiredtiger/wiredtiger into async 2014-04-07 15:32:28 -04:00
Susan LoVerso
733cf25bc9 Add the uri/config/format cached queue for async ops. 2014-04-07 15:31:14 -04:00
Michael Cahill
5cba38f382 Merge branch 'develop' into async
Conflicts:
	src/include/extern.h
	src/include/wiredtiger.in
2014-04-07 15:39:23 +10:00
Susan LoVerso
f4d482a234 Python fixes. 2014-04-03 15:04:36 -04:00
Susan LoVerso
7a64629447 Add python functions. Fix warning. 2014-04-03 14:08:02 -04:00
Susan LoVerso
f61cc053b0 Add async_op config processing. 2014-04-03 13:42:04 -04:00
Alex Gorrod
c93b75875b Fix include paths for Java and Python builds.
This means that Java and Python builds work from the root
(or arbitrary) directories again.
2014-03-31 13:03:53 +11:00
Susan LoVerso
3c802c3ac5 Add some python support 2014-03-27 16:19:17 -04:00
Don Anderson
80404edbaf In python, flush during callbacks to wrute to sys streams. refs #883. 2014-03-03 13:38:43 -05:00
Michael Cahill
c6ef3c5eda whitespace 2014-01-20 15:33:21 +11:00
Alex Gorrod
9eebe8b7ff Fix bug in Python SWIG layer.
The Python interpreter can shut down threading before we are finished with
it unless an explicit lock is taken.

See:
http://stackoverflow.com/questions/12178897/swig-crashes-python
2014-01-15 22:18:30 +11:00
Keith Bostic
5b509b7220 Update copyright notices for 2014.
Move lang/java and lang/python into the public domain.
2014-01-07 10:30:12 -05:00
Don Anderson
67e7b1c79d Using a closed {Cursor,Session,Connection} handle in Python
will not crash the VM on use. ref #485

Uses the event callback for close to give notification on close
of a handle.  For explicit calls to close(), we set the SWIG 'this'
attribute on the containing object to None.

On uses of a handle as an input argument, we check to see if it is
None, or if its 'this' attribute is None, and issue the
appropriate exception.

Includes a set of test cases that parallel Java test cases for the same.
2013-12-10 13:27:09 -05:00
Michael Cahill
f23871f394 Switch log_printf to use a log record in the same format as transactional operations, update "wt printlog" to print all log record types.
refs #605
2013-11-21 17:26:48 +11:00
Don Anderson
ab49b06be4 Use the event handler to capture stderr, stdout.
Cleaned up test suite infrastructure a bit using this.
Any verbose messages from the infrastructure itself do not get captured.
refs #649

test_reconfig.py needed special treatment.  Verbose output from
threads is not necessarily flushed until the connection is closed;
we reopen the connection to force the flush so that the test should
pass on all platforms.
refs #698
2013-10-24 11:08:37 -04:00
Alex Gorrod
99ee0bd6f9 Remove Python custom error and message callback implementations.
They cause problems with the Python test suite.
2013-08-28 10:13:26 +00:00
Alex Gorrod
22214b382c Merge branch 'develop' into java-auto-close 2013-08-15 18:43:39 +10:00
Michael Cahill
40b371c5b4 Pass any configured Python prefix through to the Python install step. 2013-07-17 12:37:13 +10:00
Michael Cahill
1fb70757f2 Fix "make install" of Python. Remove old code and restructure the Python sources under lang/python to simplify the installation step.
--HG--
rename : lang/python/fpacking.py => lang/python/wiredtiger/fpacking.py
rename : lang/python/intpack-test.py => lang/python/wiredtiger/intpack-test.py
rename : lang/python/intpacking.py => lang/python/wiredtiger/intpacking.py
rename : lang/python/packing-test.py => lang/python/wiredtiger/packing-test.py
rename : lang/python/packing.py => lang/python/wiredtiger/packing.py
2013-07-17 10:13:11 +10:00
Michael Cahill
81bc53cd3f Install the Python module as part of "make install". 2013-07-09 15:33:26 +10:00
Michael Cahill
055d692856 Suppress warnings building SWIG-generated Python code. 2013-05-08 16:28:35 +10:00
Michael Cahill
a37f94d337 Move pack/unpack methods into the extension API, because extensions shouldn't link with the WiredTiger library.
While in the area, make doxygen comment formatting consistent: block comments should have a blank first line.
2013-04-22 17:41:34 +10:00
Michael Cahill
9a74a794a7 Change the extension function names to "init" and "terminate" so that API changes are caught at compile time. 2013-04-19 17:11:21 +10:00
Keith Bostic
3f5f248803 Add an extension "unload" entry point, configured with "unload" and with
a default of wiredtiger_extension_unload.

Rename "entry" load extension entry point to be "load", rename the default
from wiredtiger_extension_init to wiredtiger_extension_load, to match.
2013-04-18 08:44:08 -04:00
Keith Bostic
ce9c3de74b Remove WT_EXTENSION_CONFIG, export WT_CONFIG_ITEM instead. 2013-04-17 13:46:43 -04:00
Keith Bostic
08c982ad15 Replace wiredtiger_extension_api() with WT_CONNECTION.get_extension_api.
Pass the wiredtiger_extension_init function a (WT_CONNECTION *) instead
of a (WT_SESSION *, WT_EXTENSION_API) pair.
2013-04-17 11:02:54 -04:00
Alex Gorrod
9f32a8755c Add implementation for close callbacks. Add event callbacks to Python.
This breaks the test suite - since it is playing tricks to capture a
weird output stream, due to not implementing the event callbacks.
2013-04-17 12:01:27 +10:00
Keith Bostic
9889288775 Make WiredTiger extension functions available to linked-in modules via
a new function wiredtiger_extension_api(WT_EXTENSION_API **pp).

Write some WT_EXTENSION_API documentation.

Remove WT_SESSION::msg_printf, add a new msg_printf extension function
instead, convert test/format to use it.

Quit using __UNUSED in the extension code, use explicit (void) casting,
it's cleaner.
2013-04-09 13:12:36 -04:00
Alex Gorrod
9094e4b2c0 Ignore warnings when building the Python SWIG wrapper. 2013-03-13 11:58:12 +11:00
Michael Cahill
6234ba40fc Improvements for the Java API documentation: create a Java API module, link to class documentation and wiredtiger_open documentation. 2013-02-25 16:13:39 +11:00
Michael Cahill
6f4673c288 Allow examples to run in parallel: give each a unique home directory.
closes #426
2013-01-08 11:55:11 +11:00
Michael Cahill
bb550b2b74 Fixes for automake 1.3.x: don't use $(srcdir) in TESTS and avoid the new parallel test harness (our tests all currently expect to have exclusive access to a WT_TEST directory).
--HG--
rename : examples/python/run-ex_access => lang/python/run-ex_access
2013-01-07 17:43:44 +11:00
Keith Bostic
963d37a4e6 Update copyright notice to 2013. 2013-01-01 09:45:50 +00:00
Michael Cahill
c1cdc4cff9 Disable some GCC warning flags for the SWIG-generated Python code. 2012-12-10 23:08:06 +11:00
Michael Cahill
3bdf27747a Add a "size of checkpoint" statistic.
Merge statistics from file and LSM sources into a "data source" statistic structure.  Rename and regroup some shared stastistics.  Make statistics constant names upper case.  Add a helper to the Python API to lookup in a cursor in a simple expression.
closes #232
2012-11-16 21:02:27 +11:00
Michael Cahill
439f1213d6 Switch the Python API to not allocate objects explicitly, and instead leave that to SWIG typemaps.
This avoids making calls into Python's C API from our methods.  The problem with that is that in SWIG "thread" mode, we are not holding the Python interpreter lock, and some Python functions (including allocation functions) expect to be single-threaded.

While in the area, prefer generic SWIG macros to Python-specific ones and avoid int returns that are used purely for error checking.

closes #374
2012-10-24 14:33:39 +11:00
Michael Cahill
ca6c9037fa Cache cursor key/value formats in Python, to save a native call from every get_key/value. 2012-10-24 14:33:39 +11:00
Michael Cahill
033834a443 Turn on SWIG optimizations and warnings.
This doesn't appear to have any significant effect at the moment, but we may as well take advantage of them.
2012-10-24 14:33:39 +11:00
Michael Cahill
899d510f98 warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' 2012-10-03 18:18:43 +10:00
Michael Cahill
9803c4736a lang/python/wiredtiger_wrap.c:5726:3: warning: expression result unused
; should this cast be to 'void'? [-Wunused-value]
2012-09-12 15:04:39 +10:00
Keith Bostic
0c60365433 Replace cursor.equals with cursor.compare (#314) 2012-09-07 17:41:26 +00:00
Michael Cahill
06e48b3b0b Move dist/RELEASE to the top level of the tree.
Bump the version to 1.2.3 to check that it is updated everywhere.

--HG--
rename : dist/RELEASE => RELEASE
2012-08-02 14:23:03 +10:00
Michael Cahill
e4a08ad7f6 whitespace 2012-07-30 17:08:51 +10:00
Michael Cahill
b7c593b39b Fix warnings in SWIG code on OS X 10.8. 2012-07-30 16:32:42 +10:00