Обсуждение: Change of default type in DBD::Pg 1.42

Поиск
Список
Период
Сортировка

Change of default type in DBD::Pg 1.42

От
Mischa Sandberg
Дата:
Was curious about the change that came about in the thread:

Re: [Dbdpg-general] benchmarking old Pg and DBD::Pg

... which (I gather) hinged on an efficiency issue, of type-mismatch between 
passed parameters and indexed columns.

I'm asking because a fair amount of code broke in our app,
when "?" appeared in a context where PG couldn't determine a type from context,
but VARCHAR was appropriate.

In general, Perl, and perl programmers, assume it's okay for any scalar to 
reduce to a string. One even claims that the DBI spec actually says that default 
binding is VARCHAR; I have yet to track down the reference.

I was under the impression that type-mismatch of constants vs indexed-column 
types was something that was fixed in Postgres8; should the above "fix" then not 
be a non-issue? To un-break code here, I'm having to reverse the patch on 
dbdimp.c :-(

-- 
"Dreams come true, not free." -- S.Sondheim.


Re: Change of default type in DBD::Pg 1.42

От
Tom Lane
Дата:
Mischa Sandberg <mischas@ActiveState.com> writes:
> I'm asking because a fair amount of code broke in our app,
> when "?" appeared in a context where PG couldn't determine a type from context,
> but VARCHAR was appropriate.

Would you provide some examples?  I would expect parameters to default
to TEXT in most cases, and that should be close enough ...
        regards, tom lane