Re: Version 1 Calling convention - Mailing list pgsql-general

From Jasbinder Bali
Subject Re: Version 1 Calling convention
Date
Msg-id a47902760608300238o6f6415b6wce64b472c7acd068@mail.gmail.com
Whole thread Raw
In response to Version 1 Calling convention  ("Jasbinder Bali" <jsbali@gmail.com>)
Responses Re: Version 1 Calling convention  (Martijn van Oosterhout <kleptog@svana.org>)
List pgsql-general
PG_FUNCTION_INFO_V1 (test);

Datum
test (PG_FUNCTION_ARGS)
{
           int id = PG_GETARG_INT(0);
           char *raw_rawemail1 = PG_GETARG_CHAR_P(1); //line 6 (warning thrown for this line)
           char *rawemail1 = (char *)  palloc (VARSIZE(rawemail1));
           VARATT_SIZEP ( rawemail1 ) = VARSIZE (raw_rawemail1); //LINE 140 (thats where i get syntax error)
           memcpy( (void *) (VARDATA) (rawemail1), (void *) (VARDATA) (raw_rawemail1) , (VARSIZE) (raw_rawemail1) - VARHDRSZ );

}

Was trying to test the code given in the postgres manual.
The only diff being that i changed the data type from text* to char* and it gives me a warning like:

"initialization makes pointer from integer without a cast" at line 6 as commented above.

Can any1 point why?

~Jas
Compiling this code gives me the follwoing error:


Compiling this code throws the follwoing error
On 8/30/06, Jasbinder Bali <jsbali@gmail.com> wrote:
I have a .pgc file and i have the following code snippet in it:

PG_FUNCTION_INFO_V1 (test);

Datum
test (PG_FUNCTION_ARGS)
{
  EXEC SQL BEGIN DECLARE SECTION;
           int id = PG_GETARG_INT(0);
           char *raw_rawemail1 = PG_GETARG_CHAR_P(1);
           char *rawemail1 = (char *)  palloc (VARSIZE(rawemail1));
           VARATT_SIZEP ( rawemail1 ) = VARSIZE (raw_rawemail1); //LINE 140 (thats where i get syntax error)
           memcpy( (void *) (VARDATA) (rawemail1), (void *) (VARDATA) (raw_rawemail1) , (VARSIZE) (raw_rawemail1) - VARHDRSZ );
  EXEC SQL END DECLARE SECTION;

  EXEC SQL CONNECT TO dbxyz;
}

When I compile this using
ECPG parser.pgc

I get the follwing error

Syntax error at or near 'rawemail1' (LINE 140 marked above)

Don't know what this error is all about.
Don't know if my declaration in BEGIN END block is correct in the pgc file for version 1 calling convention

Thanks
~Jas

pgsql-general by date:

Previous
From: Devrim GUNDUZ
Date:
Subject: Status on Fedora Core Extras packaging
Next
From: "Post Gres"
Date:
Subject: Query for order of tables