示例#1
0
#!/usr/bin/env python
# Copyright 2010-2015 RethinkDB, all rights reserved.

import os, sys

sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir, 'common')))
import rdb_workload_common
from vcoptparse import *

op = rdb_workload_common.option_parser_for_connect()
op["n_appends"] = IntFlag("--num-appends", 20000)
opts = op.parse(sys.argv)

with rdb_workload_common.make_table_and_connection(opts) as (table, conn):

    key = 'fizz'
    val_chunks = ['buzzBUZZZ', 'baazBAAZ', 'bozoBOZO']

    table.insert({'id': key, 'val': val_chunks[0]}).run(conn)

    for i in xrange(1, opts["n_appends"]):
        response = table.get(key).update(lambda row: {'val': row['val'].add(val_chunks[i % 3])}, durability="soft").run(conn)

    # Read the reply from the last command.
    if (response['replaced'] != 1):
        raise ValueError("Expecting { replaced: 1 } in reply.")

    expected_val = ''.join([val_chunks[i % 3] for i in xrange(opts["n_appends"])])

    actual_val = table.get(key)['val'].run(conn)
    
def make_memcache_connection(opts):
    with rdb_workload_common.make_table_and_connection(opts) as (table, conn):
        yield MemcacheRdbShim(table, conn)
示例#3
0
        return prefix + value_padding + str(num).zfill(6)

def check_results(res, expected_count):
    count = len(res)
    if count < expected_count:
        raise ValueError("received less results than expected (expected: %d, got: %d)" % (expected_count, count))
    if count > expected_count:
        raise ValueError("received more results than expected (expected: %d, got: %d)" % (expected_count, count))

op = rdb_workload_common.option_parser_for_connect()
opts = op.parse(sys.argv)

foo_count = 100
fop_count = 1000

with rdb_workload_common.make_table_and_connection(opts) as (table, conn):
    print "Creating test data"
    data  = [{'id':gen_key('foo', i), 'val':gen_value('foo', i)} for i in range(0,foo_count)]
    data += [{'id':gen_key('fop', i), 'val':gen_value('fop', i)} for i in range(0,fop_count)]
    res = table.insert(data).run(conn)
    assert res['inserted'] == foo_count + fop_count

with rdb_workload_common.make_table_and_connection(opts) as (table, conn):
    print "Testing between"

    print "Checking simple between requests with open/closed boundaries"
    res = list(table.between(gen_key('foo', 0), gen_key('fop', 0)).run(conn))
    check_results(res, foo_count)

    res = list(table.between(gen_key('foo', 0), gen_key('fop', 0),
                             left_bound='open', right_bound='closed').run(conn))
示例#4
0
def make_memcache_connection(opts):
    with rdb_workload_common.make_table_and_connection(opts) as (table, conn):
        yield MemcacheRdbShim(table, conn)