>>>>> "T" == T L <tinlyx@gmail.com> writes:
T> //problem lines!!! //either elog crashes pg server
T> char *buf = pnstrdup(ptr->key.val.string.val,
T> ptr-> key.val.string.len);
T> elog(NOTICE, "print_kv_pair(): k = %s",
T> (ptr->key).val.string.val); //debug
It doesn't help to make a null-terminated copy of the string if you're
then just going to try and print the original.
elog(NOTICE, "print_kv_pair(): k = %s", buf);
T> elog(NOTICE, "print_kv_pair(): v = %s",
T> DatumGetCString(DirectFunctionCall1(numeric_out,
T> NumericGetDatum(ptr->value.val.numeric))) ); //debug
That should work, _provided_ that value.type == jbvNumeric - did you
consider checking that first?
--
Andrew (irc:RhodiumToad)