projects
/
m6w6
/
libmemcached
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
|
github
raw
|
patch
|
inline
| side by side (parent:
ea724d6
)
Adding delete_by_key function to complete partitioning by key feature.
author
<brian@gir.local>
<>
Fri, 7 Dec 2007 03:22:25 +0000
(12:22 +0900)
committer
<brian@gir.local>
<>
Fri, 7 Dec 2007 03:22:25 +0000
(12:22 +0900)
docs/Makefile.am
patch
|
blob
|
history
docs/memcached_delete.pod
patch
|
blob
|
history
include/memcached.h
patch
|
blob
|
history
lib/memcached_delete.c
patch
|
blob
|
history
support/libmemcached.spec.in
patch
|
blob
|
history
diff --git
a/docs/Makefile.am
b/docs/Makefile.am
index b19cc769e6ee9c6327cc5f69a4308602ef386a84..2b0c432196678a748743e1c553a59c5044861540 100644
(file)
--- a/
docs/Makefile.am
+++ b/
docs/Makefile.am
@@
-44,6
+44,7
@@
man_MANS = libmemcached.3\
memcached_create.3\
\r
memcached_decrement.3\
\r
memcached_delete.3\
\r
memcached_create.3\
\r
memcached_decrement.3\
\r
memcached_delete.3\
\r
+ memcached_delete_by_key.3\
\r
memcached_fetch.3\
\r
memcached_fetch_result.3\
\r
memcached_free.3\
\r
memcached_fetch.3\
\r
memcached_fetch_result.3\
\r
memcached_free.3\
\r
@@
-128,6
+129,9
@@
memcached_append_by_key.3: memcached_set.pod
memcached_delete.3: memcached_delete.pod
\r
pod2man -c "libmemcached" -r "" -s 3 memcached_delete.pod > memcached_delete.3
\r
\r
memcached_delete.3: memcached_delete.pod
\r
pod2man -c "libmemcached" -r "" -s 3 memcached_delete.pod > memcached_delete.3
\r
\r
+memcached_delete_by_key.3: memcached_delete.pod
\r
+ pod2man -c "libmemcached" -r "" -s 3 memcached_delete.pod > memcached_delete_by_key.3
\r
+
\r
memcached_increment.3:
\r
pod2man -c "libmemcached" -r "" -s 3 memcached_auto.pod > memcached_increment.3
\r
\r
memcached_increment.3:
\r
pod2man -c "libmemcached" -r "" -s 3 memcached_auto.pod > memcached_increment.3
\r
\r
diff --git
a/docs/memcached_delete.pod
b/docs/memcached_delete.pod
index 82e25f21235e32c69073c210814fde0e601a939c..18fec84b4cb80c754577a1528e236abe122e1e44 100755
(executable)
--- a/
docs/memcached_delete.pod
+++ b/
docs/memcached_delete.pod
@@
-15,10
+15,18
@@
C Client Library for memcached (libmemcached, -lmemcached)
char *key, size_t key_length,
time_t expiration);
char *key, size_t key_length,
time_t expiration);
+ memcached_return
+ memcached_delete_by_key (memcached_st *ptr,
+ char *master_key, size_t master_key_length,
+ char *key, size_t key_length,
+ time_t expiration);
+
=head1 DESCRIPTION
memcached_delete() is used to delete a particular key. An expiration value
can be applied so that the key is deleted after that many seconds.
=head1 DESCRIPTION
memcached_delete() is used to delete a particular key. An expiration value
can be applied so that the key is deleted after that many seconds.
+memcached_delete_by_key() works the same, but it takes a master key to
+find the given value.
=head1 RETURN
=head1 RETURN
diff --git
a/include/memcached.h
b/include/memcached.h
index ba8b650c43c71c0cf92b14eee925a0d6d054f263..bc74c18dbdcd2ccf2c331d7ffd619f9e489d08d1 100644
(file)
--- a/
include/memcached.h
+++ b/
include/memcached.h
@@
-35,7
+35,7
@@
typedef struct memcached_server_st memcached_server_st;
#define MEMCACHED_MAX_HOST_LENGTH 64
#define MEMCACHED_WHEEL_SIZE 1024
#define MEMCACHED_STRIDE 4
#define MEMCACHED_MAX_HOST_LENGTH 64
#define MEMCACHED_WHEEL_SIZE 1024
#define MEMCACHED_STRIDE 4
-#define MEMCACHED_DEFAULT_TIMEOUT
8
00
+#define MEMCACHED_DEFAULT_TIMEOUT
20
00
typedef enum {
MEMCACHED_SUCCESS,
typedef enum {
MEMCACHED_SUCCESS,
@@
-353,6
+353,10
@@
memcached_return memcached_cas_by_key(memcached_st *ptr,
time_t expiration,
uint16_t flags,
uint64_t cas);
time_t expiration,
uint16_t flags,
uint64_t cas);
+memcached_return memcached_delete_by_key(memcached_st *ptr,
+ char *master_key, size_t master_key_length,
+ char *key, size_t key_length,
+ time_t expiration);
/* Result Struct */
void memcached_result_free(memcached_result_st *result);
/* Result Struct */
void memcached_result_free(memcached_result_st *result);
diff --git
a/lib/memcached_delete.c
b/lib/memcached_delete.c
index 0c36aaebb172b40fcb6c8ed643b109db02aed602..7c026cbcd9835005833220fd008f4e07c7856801 100644
(file)
--- a/
lib/memcached_delete.c
+++ b/
lib/memcached_delete.c
@@
-2,6
+2,15
@@
memcached_return memcached_delete(memcached_st *ptr, char *key, size_t key_length,
time_t expiration)
memcached_return memcached_delete(memcached_st *ptr, char *key, size_t key_length,
time_t expiration)
+{
+ return memcached_delete_by_key(ptr, key, key_length,
+ key, key_length, expiration);
+}
+
+memcached_return memcached_delete_by_key(memcached_st *ptr,
+ char *master_key, size_t master_key_length,
+ char *key, size_t key_length,
+ time_t expiration)
{
char to_write;
size_t send_length;
{
char to_write;
size_t send_length;
@@
-17,7
+26,7
@@
memcached_return memcached_delete(memcached_st *ptr, char *key, size_t key_lengt
if (ptr->hosts == NULL || ptr->number_of_hosts == 0)
return MEMCACHED_NO_SERVERS;
if (ptr->hosts == NULL || ptr->number_of_hosts == 0)
return MEMCACHED_NO_SERVERS;
- server_key= memcached_generate_hash(ptr,
key,
key_length);
+ server_key= memcached_generate_hash(ptr,
master_key, master_
key_length);
if (expiration)
send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE,
if (expiration)
send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE,
diff --git
a/support/libmemcached.spec.in
b/support/libmemcached.spec.in
index d94eac3899036c66b5e0f2266d5fb500b0c4f976..6fb66b6256709f68840dc996022e92bee3b2781d 100644
(file)
--- a/
support/libmemcached.spec.in
+++ b/
support/libmemcached.spec.in
@@
-78,6
+78,7
@@
memerror - Creates human readable messages from libmemecached error codes.
%{_mandir}/man3/memcached_create.3.gz
%{_mandir}/man3/memcached_decrement.3.gz
%{_mandir}/man3/memcached_delete.3.gz
%{_mandir}/man3/memcached_create.3.gz
%{_mandir}/man3/memcached_decrement.3.gz
%{_mandir}/man3/memcached_delete.3.gz
+%{_mandir}/man3/memcached_delete_by_key.3.gz
%{_mandir}/man3/memcached_fetch.3.gz
%{_mandir}/man3/memcached_fetch_result.3.gz
%{_mandir}/man3/memcached_free.3.gz
%{_mandir}/man3/memcached_fetch.3.gz
%{_mandir}/man3/memcached_fetch_result.3.gz
%{_mandir}/man3/memcached_free.3.gz