On Tue, Sep 11, 2012 at 11:21:19AM -0700, BobBuck wrote:
> 
> 
> Hi,
> 
> I am writing an active record adapter for our new database and when I run 
> the tests I see lots of statements that could be run as prepared 
> statements, but instead of passing me bindings AR passes me a fully 
> specialized SQL string, not in all cases, but in many. Here is an example:
> 
> SELECT  addrs.* FROM addrs  WHERE addrs.user_id = 153 FETCH FIRST 1 ROWS ONLY
> 
> I do have this hook set up:
> 
> def supports_statement_cache?
>      trueend
> 
> And I added this, but I am not familiar with its function, copying from 
> another driver:
> 
>         if @config.fetch(:prepared_statements) { true }
>           @visitor = Arel::Visitors::NuoDB.new self
>         else
>           @visitor = BindSubstitution.new self
>         end
> 
> Is there anything I need to do to get more statements run as prepared 
> statements instead of ordinary ones?

IIRC, this should be it.  We don't have all statements using bind values
with AR (yet).  Try testing with code like this: SomeModel.find(1)

-- 
Aaron Patterson
http://tenderlovemaking.com/

Attachment: pgpXoCptCrbXJ.pgp
Description: PGP signature

Reply via email to