Commit Graph

69 Commits (master)

Author SHA1 Message Date
Ray Slakinski f7bae96d11 reorder vars 2010-11-23 19:54:22 -05:00
Ray Slakinski b201a84ba1 making the custom_flag bit customizable instead of fixed 2010-11-22 20:05:37 -05:00
Ray Slakinski 5549b58553 define a use_custom_flag option which will add the PYLIBMC_FLAG_CUSTOM define to flags if true 2010-11-22 16:42:41 -05:00
lericson 8d50d77001 Protect Deflate with GIL acquiring
ddd2f011 removed this.
2010-10-10 15:17:08 +02:00
John Watson 7245d36553 Fix RunSetCommandMulti using time for min_compress when calling
RunSetCommand
2010-10-09 11:38:02 -07:00
John Watson c6cb0db9bc Merge branch 'master' of git://github.com/lericson/pylibmc 2010-10-09 11:31:25 -07:00
lericson e3a6828569 Better handle return value in gets 2010-10-09 01:13:10 +02:00
lericson 52c00509cd Remove paranoid memcached_quit call 2010-10-09 00:54:07 +02:00
lericson 8186f9f009 Always quit and free memcached result in gets 2010-10-09 00:53:37 +02:00
lericson a3605ca55f Always return a two-tuple in client.gets 2010-10-08 22:02:41 +02:00
lericson 432cd63ccd Nitpick program flow of client.gets and others 2010-10-08 22:02:36 +02:00
ketralnis 55174bf9b9 Fix a string length related bug resulting in integers sometimes not being parsed correctly 2010-10-04 21:42:02 -07:00
ketralnis 0c49d98fb4 Add CAS support (client.gets, client.cas). Note that this is not
compatible with python-memcached's implementation
2010-09-28 20:27:53 -07:00
John Watson ddd2f011f7 Remove use of the Simplified GIL State API so pylibmc works in sub-interpreters
from commit 74d5f9ac0b
2010-09-10 14:53:27 -07:00
Johan Bergström 725134931b Fix off-by-one in key length check
Fixes #18
2010-08-30 13:41:34 +02:00
lericson 91c7b3fd56 Fix libmemcached 0.32 support 2010-06-03 21:13:45 +02:00
lericson 74d5f9ac0b Properly manage GIL in RunSetCommand 2010-05-27 21:54:51 +02:00
lericson 86f6256d3a Fix backward compatibility for set_multi timeout.
Fixes #13 HOH
2010-05-27 21:54:24 +02:00
lericson 02c7681ff2 Handle NUL-byte keys in get_multi
Thanks to Ormod for finding, reporting and drilling down the bug.
2010-05-27 14:26:24 +02:00
lericson 212a69e09f Fix valgrind warnings 2010-05-12 01:20:20 +02:00
lericson 21b49defee Sometime in the future, maybe... 2010-05-12 01:20:05 +02:00
lericson 374ceed11f Simplify get_multi control flow and syntax nits 2010-05-12 01:19:55 +02:00
lericson 66f4bcfc41 Second pass of syntax nitpicks 2010-05-12 01:18:29 +02:00
lericson b4a1e6ab6b Support new-style stats & server iteration 2010-05-11 12:32:07 +02:00
lericson 53879eb8a9 First pass of syntax & indent nitpick 2010-05-11 11:47:14 +02:00
lericson e8593ba7c7 Always terminate Py_*_ALLOW_THREADS with semicolon 2010-05-10 13:52:51 +02:00
lericson 76d422cc0f Fix what seems to be merge-related issues 2010-05-10 13:24:07 +02:00
lericson 2ff9e471c2 Zero out mset memory in one fell swoop 2010-05-10 13:23:20 +02:00
ketralnis eb21e83e2c Acquire/release the GIL only once for set_multi operations, and add add_multi/incr_multi operations 2010-05-10 13:11:13 +02:00
ketralnis 4674638327 A second pass at releasing the GIL during blocking operations: only release/reaquire once for a get_multi operation 2010-05-10 13:11:10 +02:00
lericson 6687cc0464 Add some function names to arg parsing lines 2010-05-10 12:44:15 +02:00
lericson f88c8c3afe Stop accepting time argument for delete. Fixes #1 2010-05-10 12:42:46 +02:00
lericson 5c059a0ccd Use snprintf to avoid nonsensical Clang warnings 2010-05-10 12:20:14 +02:00
lericson fcfe08f3c3 Merge remote branch 'ketralnis/master' 2010-03-27 20:07:55 +01:00
ketralnis 84875a0c6a First pass at freeing the GIL during blocking calls 2010-03-22 21:15:38 -07:00
lericson 92c1fbb585 Fix up docstrings for pylibmc module 2010-03-22 21:52:09 +01:00
lericson 61932d50b9 Check for minor version requirement 2010-03-22 21:06:37 +01:00
lericson 3331c59d77 Elusive is the one missing DECREF, conclusive is this commit.
Fixes #6 - the issue was that when PyTuple_Pack constructs a tuple, it
makes a reference of its own. This was not taken into account, so a
DECREF was missing.
2010-03-16 19:59:17 +01:00
lericson c3215866c5 Fix get_multi with an 0-sequence.
Used to give weird errors like NULL return w/o exception etc. Fixes #7.
2010-02-22 16:36:56 +01:00
lericson aff42d767b Check for mappings in delete_multi and err out.
Previously, this would cause internal trickery to go wrong and call an
inner function with too many arguments, then fail. The error wouldn't
bubble up either, and a SEGV would ensue.
2010-01-27 11:41:07 +01:00
lericson b7d381a160 Make delete_multi return value compatible with python-memcached. 2009-12-13 21:00:39 +01:00
lericson 69f53cb0c1 Remove accidentally left-over debug prints 2009-11-30 10:35:19 +01:00
lericson c5590258fb Implement zlib compression. 2009-11-30 10:29:36 +01:00
lericson 9fec8f59f6 Fix crashes in client allocation and deallocation routines. 2009-11-30 09:15:27 +01:00
lericson 43729b93a8 Raise exception when no servers are given. 2009-11-18 20:25:03 +01:00
lericson 40dcb628c6 Expose all per-error exception objects. 2009-11-17 17:52:39 +01:00
lericson 1c83ad0de2 Add specialized exception classes.
Useful when you need to catch certain errors like when a key isn't found
during an increment/decrement operation.
2009-11-05 19:09:09 +01:00
lericson 343286a34b Fix empty memcached value exception bug.
pylibmc would produce non-error exceptions because the memcached value
pointer would be NULL, while the return code would be zero.
2009-10-31 11:22:18 +01:00
lericson 0984a270db Added get_stats function.
Thanks to M0shTH8 for inspiration.
2009-10-19 14:09:08 +02:00
lericson 16e964e571 Add support for the binary protocol.
Also removed two behaviors from public exposure as they're better off
controlled by `_pylibmc`. (USE_UDP and BINARY_PROTOCOL.)
2009-09-21 17:16:43 +02:00