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: 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)); values[1] = PointerGetDatum(my_bytea); SPI_execute_plan... -- Andrew, Supernews http://www.supernews.com - individual and corporate NNTP services