[DBIx-Class-Devel] SQL::Statement-based driver support

Peter Rabbitson rabbit+dbic at rabbit.us
Thu Mar 21 09:59:37 GMT 2013


On Wed, Mar 20, 2013 at 02:37:59PM -0400, Brendan Byrd wrote:
> 
> > - Please get the thing green on travis for starters
> >
> 
> I think I fixed things.  The Travis platform has a massive amount of debug,
> so I can't tell if it's completely working:
> 
> https://api.travis-ci.org/jobs/5661990/log.txt?deansi=true
> 

If you had the results would be green ;) You got confused by the
interlaced log of 32 concurrent cpanm workers, though if you
look closely the problem is obvious. Cherry-pick 10e248bf59 and
resmoke - the problem will become clearer.

> > - Move the "no-bind-limit" copy into SQLMaker::SQLStatement - make it a
> >   substituting wrapper around the original
> >
> 
> Done, with the caveat that it's not a "substituting wrapper", but an
> overload.  I starting converting it to a wrapper and realized that undoing
> the old limit and putting the new values was going to be double the code
> and wasteful.  Did I misunderstand what you were requesting?

Because of the dq transition you don't want to reimplement, you want to 
wrap. Producing a separate "inlining" dialect for what is effectively a 
bug does not sound right from an architectural standpoint, hence the 
"wrap it later approach. Yes it is heavier from CPU standpoint, but it 
clearly delineates what is "the implementation" and what is "bug 
workaround crap we want to throw away or enclose in a version check 
role".

> > - autoinc exception needs to move way earlier before the call, so that one
> >   does not start inserting NULL's into columns marked is_auto_increment.
> >   I will do a writeup towards the weekend of all column attrs DBIC
> > currently
> >   opportunisticaly uses, it will become more apparent then.
> >
> 
> Oh, you're talking about the _dbh_last_insert_id exception.  How far back
> should it go?  SQLMaker level?

No, ::Storage::X::insert() level. Before we even *go* to the DBD.




More information about the DBIx-Class-Devel mailing list