Re: ECPG selecting into char arrays - Mailing list pgsql-general

From Bosco Rama
Subject Re: ECPG selecting into char arrays
Date
Msg-id 4DD5881E.9020209@boscorama.com
Whole thread Raw
In response to ECPG selecting into char arrays  (Leif Jensen <leif@crysberg.dk>)
List pgsql-general
Leif Jensen wrote:
>
> With that note in mind, how do I select from a table field of type 'text' ?

If the type is text and you have no idea how long it will be have ecpg/libpq
allocate a buffer for you by using a pointer set to NULL as the variable:

    exec sql char *val = NULL;

    /* Use an indicator here if you allow the field to be a DB NULL */
    exec sql
      select text_field into :val
        from table
        where condition;

    /* Check sqlca.sqlcode here */

    /* val will now contain the address of an area allocated by ecpg
     * holding the contents of the DB field.  You can use it and then
     * pass val to free() after you're done with it
     */
    (do something with val)

    /* Clean up */
    free(val);

    /* Live happily ever after */

HTH

Bosco.

pgsql-general by date:

Previous
From: Eric McKeeth
Date:
Subject: Re: What's eating my space ?
Next
From: Merlin Moncure
Date:
Subject: Re: Unique Session ID in PGSQL?