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
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.
first argument, they're calling underlying functions that need to handle
errors in appropriate ways.
Fix some related documentation problems.
__log_record_size was calling the wrong function, fix that while I'm in
the area.
ref #209.
- disable WT_CURSTD_RAW cursor flag for the duration of the call to get/set_key
- added typemaps so that Python long are compatible with 64 bit int
refs #31
--HG--
extra : rebase_source : bb25c23fcd649330e5729fe78d846ef81afb7a09
Note that this isn't a complete solution: bad Python code can still reference a
freed pointer (e.g., by using a cursor after closing the session that was used
to allocate the cursor). Solving that problem completely would involve
tracking ownership in Python.
* if an open_cursor operation fails, don't attempt to modify the cursor
* the cursor iteration code has to stop on WT_NOTFOUND
* some config strings have been renamed (internal_* rather than intl_*)
for it, using combinations of string/int. int currently not implemented by underlying
interface, so only one test works.
refs #31
--HG--
extra : rebase_source : 099ec48ce6b83f749a9f0acd9f01c1986ae2619d
This cleans up the ugly stuff in my last local commit. Also,
the extra 'self' argument in wiredtiger.in need not be named
'thisconnection', 'thiscursor', 'thissession', but simply 'connection',
'cursor' or 'session'. That's another clean up from the last local commit.
--HG--
extra : rebase_source : 08b67fedcc32756325cf7b68522a64f29eae206b
This changeset also includes configure and Make.base changes to
force -g on for setup.py, and to *disable* -O if debug is enabled.
That's probably not wanted in the release tree, but is essential
for debugging SWIG.
refs #31
--HG--
extra : rebase_source : d6eb4ffab30aa8901b73467e038cb82168308545