Search Postgresql Archives

Re: Initializing Datums for use with SPI_execute_plan

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/14/06, Andrew - Supernews <andrew+nonews@xxxxxxxxxxxxx> wrote:
On 2006-09-14, "Jack Orenstein" <jack.orenstein@xxxxxxxxx> wrote:
> I don't think I explained myself clearly. I have a C string (char*,
> terminating zero) and a byte array (char*, possibly containing zeros,
> and I know the length). I want to obtain Datums wrapping these values
> that will be used to bind varchar and bytea columns, and I'm trying to
> find out how to generate these Datums.

One way:

Thank you, I hope you can help with some clarifications.


    bytea *my_bytea = (bytea *) palloc(byte_array_len + VARHDRSZ);
    memcpy(VARDATA(my_bytea), byte_array, byte_array_len);
    VARATT_SIZEP(my_bytea) = byte_array_len + VARHDRSZ;

    values[0] = DirectFunctionCall1(textin,CStringGetDatum(yourstring));

What is textin -- the name of a function?

    values[1] = PointerGetDatum(my_bytea);

One other thing is still unclear: What about signed/unsigned long? If
I have a C long, then how do I get a Datum that I can assign to
values[i]?

Jack Orenstein


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux