2
* Copyright (c) 2004, 2005, 2006 TADA AB - Taby Sweden
3
* Distributed under the terms shown in the file COPYRIGHT
4
* found in the root folder of this project or at
5
* http://eng.tada.se/osprojects/COPYRIGHT.html
7
* @author Thomas Hallgren
9
#ifndef __pljava_type_UDT_h
10
#define __pljava_type_UDT_h
12
#include "pljava/type/Type.h"
18
/**************************************************************************
19
* The UDT class extends the Type and adds the members necessary to
20
* perform standard Postgres input/output and send/receive conversion.
22
* @author Thomas Hallgren
24
**************************************************************************/
27
typedef struct UDT_* UDT;
29
extern Datum UDT_input(UDT udt, PG_FUNCTION_ARGS);
30
extern Datum UDT_output(UDT udt, PG_FUNCTION_ARGS);
31
extern Datum UDT_receive(UDT udt, PG_FUNCTION_ARGS);
32
extern Datum UDT_send(UDT udt, PG_FUNCTION_ARGS);
34
extern bool UDT_isScalar(UDT udt);
36
extern UDT UDT_registerUDT(jclass clazz, Oid typeId, Form_pg_type pgType, TupleDesc td, bool isJavaBasedScalar);
38
typedef Datum (*UDTFunction)(UDT udt, PG_FUNCTION_ARGS);