Hi All, I am trying to create HeapTuple data structure. First, I create a tuple descriptor: TupleDesc *td=CreateTemplateTupleDesc(colCount); Then, for each variable, I do: TupleDescInitEntry(*td,v->varattno,NULL,v->vartype,v->vartypmod,0); Then, I assign values: if int32: values[v->varattno-1]=Int8GetDatum(myValue); Similarly for float. Finally, I create the HeapTuple: HeapTuple tuple=heap_form_tuple(td,values,isnull);
Everything works fine with int and float. But I don't know how to handle chars. Let's say we have a character(10) column. One problem is v->vartypmod will be set to 14. Shouldn't it be 10? Second, how should I assign values? Is values[v->varattno-1]=CStringGetDatum(myValue); correct? Should I set the last parameter to TupleDescInitEntry? Why am I getting "invalid memory alloc request size" or segfault with different configurations?