Обсуждение: BUG #5805: "not determine data type" for params in comments

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

BUG #5805: "not determine data type" for params in comments

От
"Maxim Turchin"
Дата:
The following bug has been logged online:

Bug reference:      5805
Logged by:          Maxim Turchin
Email address:      nehxby@gmail.com
PostgreSQL version: 8.4
Operating system:   Ubuntu Linux
Description:        "not determine data type" for params in comments
Details:

I use php PDO extention. If in prepared statement exists comments with
string like ":somestring", this string is parameter, and need to fill.

Example SQL:
select
  /* :some_old_param, */
  :someparam1,
  :someparam2
from sometable;

When i fill last 2 param, and not fill first old param (in comment!), i get
error "not determine data type of parameter $1".

postgresql log:

2010-12-29 17:43:10 EET ERROR:  could not determine data type of parameter
$1
2010-12-29 17:43:10 EET STATEMENT: select
  /* $1, */
  $2,
  $3
from sometable;

Re: BUG #5805: "not determine data type" for params in comments

От
Robert Haas
Дата:
On Wed, Dec 29, 2010 at 11:00 AM, Maxim Turchin <nehxby@gmail.com> wrote:
> 2010-12-29 17:43:10 EET ERROR: =A0could not determine data type of parame=
ter
> $1
> 2010-12-29 17:43:10 EET STATEMENT: select
> =A0/* $1, */
> =A0$2,
> =A0$3
> from sometable;

You could fix this either by having your driver specify a type for the
parameter, or by changing the query to select $1::text rather than
just $1.  I'm not exactly sure how to do either of those things on the
PHP side, but there's probably a way...

--=20
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company