[Dbix-class] Get generated SQL
Matt Lawrence
matt.lawrence at ymogen.net
Tue Mar 11 16:39:23 GMT 2008
Matt Lawrence wrote:
> Matt S Trout wrote:
>>
>> Interesting.
>>
>> Have you considered writing some code to interpolate the bind
>> parameters?
>>
>> For copy+paste into an SQL CLI prompt it's a bit inconvenient to
>> substitute
>> the ?s manually.
>>
>
> I was contemplating it, but never got around to it.
>
>> (we're currently rounding up for 0.8100, so if somebody gets a patch
>> like
>> this together in the next week or so with tests you've a good chance of
>> it being applied)
>>
>>
> I'll see if I can find some time this week(end) to finish it off then.
> Where would you recommend the tests to go?
>
I found some time last night to work on this. I put the tests in a new
file t/as_sql.t, they are pretty basic: just calling each new method
once and checking the output is as expected
There are now 2 cursor methods that are proxied from the resultset:
as_sql and as_static_sql.
as_sql leaves placeholders in the sql string and passes back the raw
values that go into it, as_static_sql replaces the placeholders using
the quote method from DBI, with optional data type mapping via arguments
(either name-based or positional). This seems to me to be an acceptable
compromise between fully-automatic data_type mapping (which seems at
first glance to be non-trivial and usually unnecessary) and total
disregard of data_type (which will bite Pg bytea columns et al)
Comments?
Matt
More information about the DBIx-Class
mailing list