extended where clause functionality

1 view
Skip to first unread message

Jak Sprats

unread,
Jan 3, 2011, 9:58:28 PM1/3/11
to redisql-dev
Hi All,

AlchemyDB has GREATLY extended its WhereClause functionality, meaning
more complex SELECTs, DELETEs, and UPDATEs.

A link to the new grammer can be found here:
http://code.google.com/p/alchemydatabase/wiki/CommandReference?ts=1294109584&updated=CommandReference#Where_Clause_Grammar

This change is the final change needed to make AlchemyDB TPCC able,
which is very exciting, because AlchemyDB should perform VERY strongly
in TPCC benchmarks.

Some examples of complicated queries, that are now possible, are:
SELECT * FROM tbl WHERE fk IN (1,2,3) and status IN (4,5,6) AND gender
= 'M' AND age > 21
UPDATE tbl SET count = count + 1 WHERE fk BETWEEN 1 AND 9 AND count <=
100 AND status in (7,8,9)

- Jak

p.s. next functions (which are TPCC optimisations) will be multiple
column sorting and multiple column indexes

David Yu

unread,
Jan 3, 2011, 10:52:57 PM1/3/11
to redis...@googlegroups.com
On Tue, Jan 4, 2011 at 2:58 AM, Jak Sprats <jaks...@gmail.com> wrote:
Hi All,

AlchemyDB has GREATLY extended its WhereClause functionality, meaning
more complex SELECTs, DELETEs, and UPDATEs.

A link to the new grammer can be found here:
http://code.google.com/p/alchemydatabase/wiki/CommandReference?ts=1294109584&updated=CommandReference#Where_Clause_Grammar

This change is the final change needed to make AlchemyDB TPCC able,
which is very exciting, because AlchemyDB should perform VERY strongly
in TPCC benchmarks.

Some examples of complicated queries, that are now possible, are:
SELECT * FROM tbl WHERE fk IN (1,2,3) and status IN (4,5,6) AND gender
= 'M' AND age > 21
UPDATE tbl SET count = count + 1 WHERE fk BETWEEN 1 AND 9 AND count <=
100 AND status in (7,8,9)
Nice.
Btw, have you planned on supporting atomic operations (across 2 tables)?
Currently, AlchemyDB doesn't have transactions right?
 

- Jak

p.s. next functions (which are TPCC optimisations) will be multiple
column sorting and multiple column indexes



--
When the cat is away, the mouse is alone.
- David Yu

Jak Sprats

unread,
Jan 4, 2011, 12:54:35 AM1/4/11
to redisql-dev
AlchemyDB does not support rollbacks and will not (it would require
MVCC and the performance overhead would not be worth it)

AlchemyDB does support streamed commands and redis has something it
calls transactions (MULTI-EXEC http://redis.io/topics/transactions)
that are built into AlchemyDB.

So wrap 2 atomic operations in a MULTI-EXEC block and if you're cool
they will be in a single TCP packet and REAL FAST :)

On Jan 3, 8:52 pm, David Yu <david.yu....@gmail.com> wrote:
> On Tue, Jan 4, 2011 at 2:58 AM, Jak Sprats <jakspr...@gmail.com> wrote:
> > Hi All,
>
> > AlchemyDB has GREATLY extended its WhereClause functionality, meaning
> > more complex SELECTs, DELETEs, and UPDATEs.
>
> > A link to the new grammer can be found here:
>
> >http://code.google.com/p/alchemydatabase/wiki/CommandReference?ts=129...
Reply all
Reply to author
Forward
0 new messages