Re: ECPG - how to fetch then sort strings

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: Poul Jensen <flyvholm(at)gfy(dot)ku(dot)dk>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: ECPG - how to fetch then sort strings
Date: 2006-09-08 15:47:59
Message-ID: 20060908154759.GJ5479@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Please don't use "reply" to start new thread, thanks.

On Fri, Sep 08, 2006 at 05:55:44AM -0800, Poul Jensen wrote:
> I need to fetch strings from a database with ECPG and then sort them in
> C. Here is one of my failed attempts:

<snip>
> varchar filenms[][maxlen]=NULL;

I think you need to reread the C manual as to the difference between
arrays and pointers. I'm don't know about ECPG, but I think your other
attempt, using "char**" was much closer to the mark.

> It compiles ok, but I get garbage in variable filenms. If I change the
> declaration of filenms to:
> char **filenms=NULL;
> the SQL query returns strings ok. But the strings have variable length,
> and I need to specify one length in qsort, so it won't work. Another

Since you're declaring a array of pointers to char, the width you have
to specify to qsort would be sizeof(char*). I think you can just use
the normal strcmp() function with qsort then.

Ofcourse, you could get the database to sort them for you...

Hope this helps,
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2006-09-08 16:05:55 Re: Query performance inconsistant.
Previous Message Brandon Aiken 2006-09-08 15:05:10 Re: Database design and triggers...