From: | "Daniel Verite" <daniel(at)manitou-mail(dot)org> |
---|---|
To: | " Valérie SCHNEIDER" <valerie(dot)schneider(at)meteo(dot)fr> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: Pb d'ouverture de curseur |
Date: | 2004-09-29 15:52:05 |
Message-ID: | 20040929175208.3508418@uruguay.brainstorm.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Valérie SCHNEIDER writes
> Open clicurs :07001
> select u.ID_STATION,u.DAT,u.DAT_CALC,u.DAT_STAMP,u.ORIGINE
> ,null,null,null ,cast(to_char(dat,'J') as integer) ,u.HRR from H u
> where (u.DAT BETWEEN
> to_timestamp('10000101000000','YYYYMMDDHH24MISS')::timestamp AND
> to_timestamp('30000101000000','YYYYMMDDHH24MISS')::timestamp) AND
> (u.id_station between '31069001' AND '31069001' ) order by DAT
>
> Si j'exécute cette requête au travers de psql, elle est correcte
> et le résultat est celui espéré. Idem en utilisant un curseur.
>
> Je ne comprends pas en premier lieu le code retour de l'erreur : 07001
> n'a a priori pas grand chose à voir avec le OPEN (ce serait plutôt
> pour un FETCH).
>
> Quelqu'un a-t-il une idée ?
Je pense que le SQL PREPARE interprète le ::timestamp comme une variable,
c'est pourquoi par la suite l'erreur indique qu'une variable est attendue.
C'est une erreur dans l'interprétation du SQL et un coup d'oeil au source de
ecpg laisse penser que le patch trivial ci-dessous règlerait le problème:
(le fichier est src/interfaces/ecpg/ecpglib/prepare.c)
*** prepare.c~ Fri May 21 15:50:12 2004
--- prepare.c Wed Sep 29 17:35:58 2004
***************
*** 46,54 ****
if (!string && *ptr == ':')
{
! *ptr = '?';
! for (++ptr; *ptr && isvarchar(*ptr); ptr++)
! *ptr = ' ';
}
}
}
--- 46,59 ----
if (!string && *ptr == ':')
{
! if (ptr[1]==':')
! ptr+=2; // skip '::'
! else
! {
! *ptr = '?';
! for (++ptr; *ptr && isvarchar(*ptr); ptr++)
! *ptr = ' ';
! }
}
}
}
Si vous appliquez ce patch, réinstallez simplement la libecpg après recompil.
--
Daniel
PostgreSQL-powered mail user agent and storage: http://www.manitou-mail.org
From | Date | Subject | |
---|---|---|---|
Next Message | Valérie SCHNEIDER | 2004-09-30 07:44:05 | Re: Pb d'ouverture de curseur |
Previous Message | Jean-Paul ARGUDO | 2004-09-29 12:30:58 | Re: Pb d'ouverture de curseur |