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