Permalink
Switch branches/tags
Nothing to show
Commits on Jun 28, 2011
Commits on Jan 8, 2011
  1. Bump version to 2.2-er-1.3 -- now with transaction support

    mattsta committed Jan 8, 2011
    There are a series of in-progress redis<->lfe<->erlang helper macros
    in progress too.  They'll turn into a nice system soon enough.
  2. Add transaction (multi/exec/discard) support.

    mattsta committed Jan 8, 2011
    Turns out everything has a potential return type of <<"queued">> when
    using transactions.  Ugly, but doable.  We may want to make the return
    functions nested so we could have the <<"queued">> check in one place.
    
    The give-me-a-fun-and-i-do-you-a-txn style is inspired by mnesia.  Just
    give er:er_transaction/2 or erp:er_transaction/1 a one-airity fun, use
    the parameter to the fun as your connection back to redis, and
    everything you need will Just Work.
  3. Make exec/discard clean up, fix shutdown, fix reserved back to normal

    mattsta committed Jan 8, 2011
    Once you exec, you are no longer reserved.  Same for discard.
    
    Shutdown now actually shuts down the er_pool.
    
    Reserved er_pools were evaporating if they crashed.  Now if a
    reserved er_pool crashes, a new er_pool is spawned into the available
    pool again.
Commits on Jan 5, 2011
  1. Add auto-expansion by 'counter and defkey-suite explosions

    mattsta committed Jan 5, 2011
    Example: (defkey-suite user (name addrs friends posts)).
    The above one line generates generates 12 functions (each function
    is duplicated.  One has colons and its duplicate has underscores
    instead of colons to make calling from regular erlang easier):
    counter:user()
    user:N(N)
    user:N:name(N)
    user:N:addrs(N)
    user:N:friends(N)
    user:N:posts(N)
Commits on Jan 4, 2011
  1. Make defkey auto-generate functions with underscores too

    mattsta committed Jan 4, 2011
    Now (defkey (user N stories)) makes two functions:
    user:N:stories(N) and user_N_stories(N).  They both do the same
    thing (which is, return <<"user:N:stories">>).
    
    The underscore functions play nicer with regular erlang.
Commits on Jan 3, 2011
  1. Make defkey even more automatic -- no function name required

    mattsta committed Jan 3, 2011
    Also removing the include from defkey include to make it easier
    to include defkey in other applications directly from the deps/
    directory.
  2. Add redis key maker function generator for future evil plans

    mattsta committed Jan 3, 2011
    i.e. (defkey key_comic_article (comic ComicNum article ArticleNum)) makes:
    key_comic_article(ComicNum, ArticleNum) ->
      eru:er_key(comic, ComicNum, article, ArticleNum).
    
    So calling key_comic_article(6, 12) generates <<"comic:6:article:12">>
Commits on Jan 1, 2011
  1. Add eru details to README

    mattsta committed Jan 1, 2011
  2. Add auto-generated er_key/{1...N} functions

    mattsta committed Jan 1, 2011
    When life doesn't give you varargs, make varargs.  (?)
  3. Rewrite eru.erl to eru.lfe

    mattsta committed Jan 1, 2011
    Fixes a bug with list printing too.
  4. Add integer parsing to helpers and add list parsing to helpers

    mattsta committed Jan 1, 2011
    Also use atom_to_binary directly instead of looping through l/1.
    la/1, ll/1, and lb/1 take lists and apply a/1, l/1, and b/1
    to each list element.
    
    All 179 tests pass.
Commits on Dec 26, 2010
Commits on Dec 15, 2010
  1. Bump version to 2.2-er-1.1

    mattsta committed Dec 15, 2010
    Also clairifying some README parts and referencing a newer redis hash
  2. Add missing lpushx, rpushx, and linsert commands with tests

    mattsta committed Dec 15, 2010
    All 179 tests pass.
  3. Add and test redis-2.2 commands ({get,set}{range,bit}, brpoplpush)

    mattsta committed Dec 15, 2010
    Implements:
      - getbit
      - setbit
      - getrange
      - setrange
      - brpoplpush
    
    Tests added for all except brpoplpush.
    
    All 171 tests pass.
  4. Rename redis_return_status to redis_error

    mattsta committed Dec 15, 2010
    Also re-enable a test that doesn't crash redis anymore (NaN issue).
    
    Commands using the integer return parser can now throw errors properly
    instead of getting badmatch in the return value pattern matcher.
Commits on Dec 12, 2010
  1. Fix the macro generating macro to remove copy/paste artifacts

    mattsta committed Dec 12, 2010
    Yay for code shrinkage!
Commits on Aug 28, 2010
  1. Fix return types for setnx and msetnx

    mattsta committed Aug 28, 2010
    value set successfully = true; not set = false
    
    Bumping to version 0.4.5.
    
    All 131 tests pass.
Commits on Aug 19, 2010
  1. Add zset withscores support

    mattsta committed Aug 19, 2010
    Now er:zrange, er:zrevrange, and er:zrangebyscore take an optional
    last argument of 'withscores' to mean you want scores too.
    Examples:
      er:zrange(Server, key, 0, 5):
        [<<"entry1">>, <<"entry2">>, ...]
      er:zrange(Server, key, 0, 5, withscores):
        [{<<"entry1">>, <<"score1">>}, {<<"entry2">>, <<"score2">>}, ...]
    
    Bumping to version 0.3.5.
    
    All 127 tests pass.
  2. Add er utilities module: eru

    mattsta committed Aug 17, 2010
    Common non-redis-command utilities
Commits on Aug 16, 2010
  1. Add redis hashes returned as proplists or keyvalue lists

    mattsta committed Aug 16, 2010
    Use er:hgetall_p to return proplists (first element
    of the tuples are the hash keys converted to atoms)
    Use er:hgetall_k to return key value lists (all
    elements remain binary, just paired in tuples)
    
    Bumping to version 0.2.5.
    
    All 123 tests pass.
  2. Fix multiple bulk (not multibulk) replies to be lists

    mattsta committed Aug 16, 2010
    Before, er:keys(Server, "*") was returning:
    [{ok, <<"key1">>}, {ok, <<"key2">>}, ...]
    Now we return:
    [<<"key1">>, <<"key2">>, ...]
  3. Fix empty list to binary encoding and add its matching test

    mattsta committed Aug 16, 2010
    All 114 tests pass.
Commits on Aug 7, 2010
  1. Add STRLEN and PERSIST commands

    mattsta committed Aug 7, 2010
    Bump version to 0.1.5
Commits on Jul 10, 2010
  1. Add zscore command

    mattsta committed Jul 10, 2010