From: | Jorge Arevalo <jorgearevalo(at)gis4free(dot)org> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | PostgreSQL - General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Writing SRF |
Date: | 2010-04-29 17:45:41 |
Message-ID: | k2id321138e1004291045q6e2c78ffl10d1e4ef8b2627ec@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, Apr 29, 2010 at 3:56 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Jorge Arevalo <jorgearevalo(at)gis4free(dot)org> writes:
>> Yes. For example, the function expects 2 arguments, and it's called
>> with 2 arguments: 1 composite type (following this format
>> https://svn.osgeo.org/postgis/spike/wktraster/doc/RFC1-SerializedFormat)
>> and one integer. But PG_NARGS() returns a really big value (16297)
>> when I first check the number of arguments at the beginning of the
>> function. Has sense?
>
> Given only that data point, I would guess that you forgot to mark the
> function as being called with V1 protocol (PG_FUNCTION_INFO_V1).
>
> regards, tom lane
>
Many thanks! That was one of my errors. Another one was this:
char szDataPointer[10];
sprintf(szDataPointer, "%p", a_pointer);
These lines caused a memory error. I changed them for:
char * pszDataPointer;
pszDataPointer = (char *)allocator(10 * sizeof(char));
sprintf(pszDataPointer, "%p", a_pointer);
Meaning "allocator" a memory allocator in a valid memory context for PostgreSQL.
And seems to work :-). Is the static memory "dangerous" in a
PostgreSQL memory context?
Thanks again!
Jorge
From | Date | Subject | |
---|---|---|---|
Next Message | John Gage | 2010-04-29 17:48:29 | Re: [SQL] Tsearch not searching 'Y' |
Previous Message | Robert_Clift | 2010-04-29 17:22:43 | Re: Populate arrays from multiple rows |