Changeset 34bb6d


Ignore:
Timestamp:
11/02/09 17:35:36 (3 years ago)
Author:
Tomash Brechko <tomash.brechko@…>
Branches:
master
Children:
b6ccaa
Parents:
89a74b
git-author:
Tomash Brechko <tomash.brechko@…> (11/02/09 17:35:36)
git-committer:
Tomash Brechko <tomash.brechko@…> (11/02/09 17:35:36)
Message:

Remove delay (aka expiration) parameter for delete() and delete_multi().

Files:
5 edited

Legend:

Unmodified
Added
Removed
  • Changes

    r89a74b r34bb6d  
    77        Changes since 0.16: 
    88 
    9         ??? 
     9        Warn about ignoring non-zero delete expiration time. 
     10        Expiration time for "delete" command has been optional in 
     11        older versions of memcached, and was dropped in memcached 
     12        1.3.2 (in an incompatible manner).  Not knowing server version 
     13        it's impossible to tell whether the server will handle the 
     14        parameter or not, so we simply do not send it at all. 
     15        Explicit zero passed to delete() or delete_multi() is silently 
     16        ignored, and a warning is given if you pass non-zero delete 
     17        expiration time.  Furthermore the syntax delete($key, $delay) 
     18        and delete_multi([$key, $delay]) is obsoleted and no more 
     19        documented. 
    1020 
    1121 
  • Fast.xs

    reece31 r34bb6d  
    10441044        const char *key; 
    10451045        STRLEN key_len; 
    1046         delay_type delay = 0; 
    10471046    PPCODE: 
    10481047        object.arg = newAV(); 
     
    10531052        if (items > 2) 
    10541053          { 
     1054            /* Compatibility with old [key, delay] syntax].  */ 
     1055 
    10551056            /* delay doesn't have to be defined.  */ 
    10561057            SV *sv = ST(2); 
    1057             if (SvOK(sv)) 
    1058               delay = SvUV(sv); 
    1059           } 
    1060         client_prepare_delete(memd->c, 0, key, key_len, delay); 
     1058            if (SvOK(sv) && SvUV(sv) != 0) 
     1059              warn("non-zero delete expiration time is ignored"); 
     1060          } 
     1061        client_prepare_delete(memd->c, 0, key, key_len); 
    10611062        client_execute(memd->c); 
    10621063        if (! noreply) 
     
    10871088          { 
    10881089            SV *sv; 
    1089             AV *av; 
    10901090            const char *key; 
    10911091            STRLEN key_len; 
    1092             delay_type delay = 0; 
    10931092 
    10941093            sv = ST(i); 
     
    10991098            else 
    11001099              { 
     1100                /* Compatibility with old [key, delay] syntax].  */ 
     1101 
     1102                AV *av; 
     1103 
    11011104                if (SvTYPE(SvRV(sv)) != SVt_PVAV) 
    11021105                  croak("Not an array reference"); 
     
    11121115                    /* delay doesn't have to be defined.  */ 
    11131116                    SV **ps = av_fetch(av, 1, 0); 
    1114                     if (ps && SvOK(*ps)) 
    1115                       delay = SvUV(*ps); 
     1117                    if (ps && SvOK(*ps) && SvUV(*ps) != 0) 
     1118                      warn("non-zero delete expiration time is ignored"); 
    11161119                  } 
    11171120              } 
    11181121  
    1119             client_prepare_delete(memd->c, i - 1, key, key_len, delay); 
     1122            client_prepare_delete(memd->c, i - 1, key, key_len); 
    11201123          } 
    11211124        client_execute(memd->c); 
  • lib/Cache/Memcached/Fast.pm

    r89a74b r34bb6d  
    104104 
    105105  my @keys = qw(k1 k2 k3); 
    106   $memd->delete_multi(@keys, ['k5', 20]); 
     106  $memd->delete_multi(@keys); 
    107107 
    108108  # Wait for all commands that were executed in nowait mode. 
     
    10761076 
    10771077  $memd->delete($key); 
    1078   $memd->delete($key, $delay); 
    1079  
    1080 Delete I<$key> and its value from the cache.  I<$delay> is an optional 
    1081 non-negative integer number of seconds to delay the operation.  During 
    1082 this time L</add> and L</replace> commands will be rejected by the 
    1083 server.  When omitted, zero is assumed, i.e. delete immediately. 
     1078 
     1079Delete I<$key> and its value from the cache. 
    10841080 
    10851081I<Return:> boolean, true for positive server reply, false for negative 
     
    11021098=item C<delete_multi> 
    11031099 
    1104   $memd->delete_multi( 
    1105       @keys, 
    1106       [$key], 
    1107       [$key, $delay], 
    1108       ... 
    1109   ); 
     1100  $memd->delete_multi(@keys); 
    11101101 
    11111102Like L</delete>, but operates on more than one key.  Takes the list of 
    1112 keys and references to arrays each holding I<$key> and optional 
    1113 I<$delay>. 
     1103keys. 
    11141104 
    11151105Note that multi commands are not all-or-nothing, some operations may 
  • src/client.c

    r442efc r34bb6d  
    19921992int 
    19931993client_prepare_delete(struct client *c, int key_index, 
    1994                       const char *key, size_t key_len, delay_type delay) 
     1994                      const char *key, size_t key_len) 
    19951995{ 
    19961996  static const size_t request_size = 4; 
    1997   static const size_t str_size = sizeof(" " DELAY_STUB " " NOREPLY "\r\n"); 
     1997  static const size_t str_size = sizeof(" " NOREPLY "\r\n"); 
    19981998 
    19991999  struct command_state *state; 
     
    20122012  { 
    20132013    char *buf = array_end(c->str_buf, char); 
    2014     size_t str_size = 
    2015       sprintf(buf, " " FMT_DELAY "%s\r\n", delay, get_noreply(state)); 
     2014    size_t str_size = sprintf(buf, "%s\r\n", get_noreply(state)); 
    20162015    iov_push(state, (void *) (long) array_size(c->str_buf), str_size); 
    20172016    array_append(c->str_buf, str_size); 
  • src/client.h

    reece31 r34bb6d  
    185185int 
    186186client_prepare_delete(struct client *c, int key_index, 
    187                       const char *key, size_t key_len, delay_type delay); 
     187                      const char *key, size_t key_len); 
    188188 
    189189extern 
Note: See TracChangeset for help on using the changeset viewer.