No, there isn't right now.  But note that there shouldn't be a whole lot of
performance difference between

    select * from Town where key in ('Paris', 'London');

and

    select * from Town where key = 'Paris';
    select * from Town where key = 'London';

..other than round-trip times.  Or, I guess, if you're really worried about
preparation time, and your lists are limited to some small maximum length
X, you could prepare X different queries:

    select * from Town where key in (?);
    select * from Town where key in (?, ?);
    select * from Town where key in (?, ?, ?);
    etc.

and then use the appropriate one each time, but I doubt that would be a
better solution overall.

p


On Mon, Apr 30, 2012 at 4:47 PM, Pierre Chalamet <pie...@chalamet.net>wrote:

> If I prepare “select * from Town where key in (?)”****
>
> I will be able to bind ? to 'Paris' for example [è select * from Town
> where key in ('Paris')].****
>
> ** **
>
> If I want to query for 'Paris' and 'London', the query should be restated
> to “select * from Town where key in (?, ?)” [è select * from Town where
> key in ('Paris', 'London')].****
>
> In that case, I must prepare the statement again, losing the benefit of
> prepare.****
>
> ** **
>
> Maybe there is another way to avoid preparing again ?****
>
> ** **
>
> Thanks,****
>
> - Pierre****
>
> ** **
>
> *From:* paul cannon [mailto:p...@datastax.com]
> *Sent:* lundi 30 avril 2012 23:36
> *To:* user@cassandra.apache.org
> *Subject:* Re: execute_prepared_cql_query and variable range filter
> parameter****
>
> ** **
>
> Hi Pierre-****
>
> ** **
>
> Yes, each ? can only represent one value at a time (although it can take
> on a different value for each actual execution of the prepared query). This
> is certainly normal for SQL binding libraries. Not sure why you feel that
> defeats statement preparation.****
>
> ** **
>
> p****
>
> ** **
>
> On Mon, Apr 30, 2012 at 3:45 PM, Pierre Chalamet <pie...@chalamet.net>
> wrote:****
>
> Hi all,****
>
>  ****
>
> Is there a support in Cassandra 1.1 for variable range filter parameter
> (sorry I can’t find a right name for that):****
>
> select * from TestCF where key in (?)****
>
>  ****
>
> using execute_prepared_cql_query ?****
>
>  ****
>
> In the query above, it seems I can only bind one value to ‘?’.****
>
> I mean, if several values are required for ‘?’ then I have to rewrite the
> query using several jokers.****
>
>  ****
>
> My problem is that this defeats statement preparation (using
> prepare_cql_query).****
>
>  ****
>
> Maybe there is a way to bind an array of values to a single command joker ?
> ****
>
>  ****
>
> Thanks !****
>
> - Pierre****
>
>  ****
>
> ** **
>

Reply via email to