Ejemplo n.º 1
0
static Datum coerceTupleObject(UDT self, jobject value)
{
	Datum result = 0;
	if(value != 0)
	{
		HeapTuple tuple;
		jobject sqlOutput = SQLOutputToTuple_create(self->tupleDesc);
		JNI_callVoidMethod(value, self->writeSQL, sqlOutput);
		tuple = SQLOutputToTuple_getTuple(sqlOutput);
		if(tuple != 0)
			result = HeapTupleGetDatum(tuple);
	}
	return result;
}
Ejemplo n.º 2
0
static Datum coerceTupleObject(UDT self, jobject value)
{
	Datum result = 0;
	if(value != 0)
	{
		HeapTuple tuple;
		Oid typeId = ((Type)self)->typeId;
		TupleDesc tupleDesc = lookup_rowtype_tupdesc_noerror(typeId, -1, true);
		jobject sqlOutput = SQLOutputToTuple_create(tupleDesc);
		ReleaseTupleDesc(tupleDesc);
		JNI_callVoidMethod(value, self->writeSQL, sqlOutput);
		tuple = SQLOutputToTuple_getTuple(sqlOutput);
		if(tuple != 0)
			result = HeapTupleGetDatum(tuple);
	}
	return result;
}