Thread: Re: [INTERFACES] manipulate array wiht ecpg

Re: [INTERFACES] manipulate array wiht ecpg

From
"S.F. Lee"
Date:
I have solved the problem by mapping a character array
into integer array:
 struct data   {   int id;   char a[100]; } temp;
After getting temp from exec sql select ....., I use
strtol() to convert temp.a into a integer array, and 
it works! I now have another problem that is I can get

the tuples by sqlca.sqlerrd[2], but how can I get the
type of each field that has been selected? In libpq++
FieldType(n) can get the type of field, how about in 
ecpg?
 Thanks            S.F.Lee
--- Michael Meskes <meskes@postgreSQL.org> wrote:
> On Mon, Dec 27, 1999 at 01:51:39AM -0800, S.F. Lee
> wrote:
> >    I am using ecpg to manipulate the whole row in
> a
> > table,and I have a problem in array, can anybody
> give
> > me a hint or a small test program to process
> array?
> 
> Unfortunately this is a known bug in ecpg. It's
> listed on the TODO list.
> However, I have no idea so far how to fix it. The
> only way you can insert an
> array is by listing its members. That is you have to
> create your insert
> statement via sprintf for instance and use exec sql
> execute immediate.
> 
> Sorry. I will fix it as soon as I find a solution.
> 
> The problem is that ecpg also allows inserting the
> whole array as single
> integers by only listing the array.
> 
> Michael
> -- 
> Michael Meskes                         | Go SF
> 49ers!
> Th.-Heuss-Str. 61, D-41812 Erkelenz    | Go Rhein
> Fire!
> Tel.: (+49) 2431/72651                 | Use Debian
> GNU/Linux!
> Email: Michael@Fam-Meskes.De           | Use
> PostgreSQL!
> 

__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://messenger.yahoo.com


Re: [INTERFACES] manipulate array wiht ecpg

From
Michael Meskes
Date:
On Tue, Dec 28, 1999 at 10:40:52PM -0800, S.F. Lee wrote:
> After getting temp from exec sql select ....., I use
> strtol() to convert temp.a into a integer array, and 
> it works! I now have another problem that is I can get

Still I would prefer a better handling by ecpg. :-)

> the tuples by sqlca.sqlerrd[2], but how can I get the
> type of each field that has been selected? In libpq++
> FieldType(n) can get the type of field, how about in 
> ecpg?

I do not know a way other than querying the data dictionary. What does the
standard say? Should we return such info?

What do other RDBMS do in this scenario?

Is there a way I can give this info back anyway. Right now I cannot imagine
one since we give back the whole tuple at once. Where shall we store these
per attribute infos?

Michael
-- 
Michael Meskes                         | Go SF 49ers!
Th.-Heuss-Str. 61, D-41812 Erkelenz    | Go Rhein Fire!
Tel.: (+49) 2431/72651                 | Use Debian GNU/Linux!
Email: Michael@Fam-Meskes.De           | Use PostgreSQL!