PostgreSQL Source Code
git master
|
Go to the source code of this file.
Data Structures | |
struct | PLyScalarToOb |
struct | PLyArrayToOb |
struct | PLyTupleToOb |
struct | PLyTransformToOb |
struct | PLyDatumToOb |
struct | PLyObToScalar |
struct | PLyObToArray |
struct | PLyObToTuple |
struct | PLyObToDomain |
struct | PLyObToTransform |
struct | PLyObToDatum |
Typedefs | |
typedef struct PLyDatumToOb | PLyDatumToOb |
typedef PyObject *(* | PLyDatumToObFunc) (PLyDatumToOb *arg, Datum val) |
typedef struct PLyScalarToOb | PLyScalarToOb |
typedef struct PLyArrayToOb | PLyArrayToOb |
typedef struct PLyTupleToOb | PLyTupleToOb |
typedef struct PLyTransformToOb | PLyTransformToOb |
typedef struct PLyObToDatum | PLyObToDatum |
typedef Datum(* | PLyObToDatumFunc) (PLyObToDatum *arg, PyObject *val, bool *isnull, bool inarray) |
typedef struct PLyObToScalar | PLyObToScalar |
typedef struct PLyObToArray | PLyObToArray |
typedef struct PLyObToTuple | PLyObToTuple |
typedef struct PLyObToDomain | PLyObToDomain |
typedef struct PLyObToTransform | PLyObToTransform |
Functions | |
PyObject * | PLy_input_convert (PLyDatumToOb *arg, Datum val) |
Datum | PLy_output_convert (PLyObToDatum *arg, PyObject *val, bool *isnull) |
PyObject * | PLy_input_from_tuple (PLyDatumToOb *arg, HeapTuple tuple, TupleDesc desc, bool include_generated) |
void | PLy_input_setup_func (PLyDatumToOb *arg, MemoryContext arg_mcxt, Oid typeOid, int32 typmod, struct PLyProcedure *proc) |
void | PLy_output_setup_func (PLyObToDatum *arg, MemoryContext arg_mcxt, Oid typeOid, int32 typmod, struct PLyProcedure *proc) |
void | PLy_input_setup_tuple (PLyDatumToOb *arg, TupleDesc desc, struct PLyProcedure *proc) |
void | PLy_output_setup_tuple (PLyObToDatum *arg, TupleDesc desc, struct PLyProcedure *proc) |
void | PLy_output_setup_record (PLyObToDatum *arg, TupleDesc desc, struct PLyProcedure *proc) |
char * | PLyObject_AsString (PyObject *plrv) |
typedef struct PLyArrayToOb PLyArrayToOb |
typedef struct PLyDatumToOb PLyDatumToOb |
Definition at line 26 of file plpy_typeio.h.
typedef PyObject*(* PLyDatumToObFunc) (PLyDatumToOb *arg, Datum val) |
Definition at line 28 of file plpy_typeio.h.
typedef struct PLyObToArray PLyObToArray |
typedef struct PLyObToDatum PLyObToDatum |
Definition at line 87 of file plpy_typeio.h.
Definition at line 89 of file plpy_typeio.h.
typedef struct PLyObToDomain PLyObToDomain |
typedef struct PLyObToScalar PLyObToScalar |
typedef struct PLyObToTransform PLyObToTransform |
typedef struct PLyObToTuple PLyObToTuple |
typedef struct PLyScalarToOb PLyScalarToOb |
typedef struct PLyTransformToOb PLyTransformToOb |
typedef struct PLyTupleToOb PLyTupleToOb |
PyObject* PLy_input_convert | ( | PLyDatumToOb * | arg, |
Datum | val | ||
) |
Definition at line 80 of file plpy_typeio.c.
References PLyDatumToOb::func, MemoryContextReset(), MemoryContextSwitchTo(), PLy_current_execution_context(), and PLy_get_scratch_context().
Referenced by PLy_function_build_args().
PyObject* PLy_input_from_tuple | ( | PLyDatumToOb * | arg, |
HeapTuple | tuple, | ||
TupleDesc | desc, | ||
bool | include_generated | ||
) |
Definition at line 133 of file plpy_typeio.c.
References MemoryContextReset(), MemoryContextSwitchTo(), PLy_current_execution_context(), PLy_get_scratch_context(), and PLyDict_FromTuple().
Referenced by PLy_cursor_fetch(), PLy_cursor_iternext(), PLy_spi_execute_fetch_result(), and PLy_trigger_build_args().
void PLy_input_setup_func | ( | PLyDatumToOb * | arg, |
MemoryContext | arg_mcxt, | ||
Oid | typeOid, | ||
int32 | typmod, | ||
struct PLyProcedure * | proc | ||
) |
Definition at line 417 of file plpy_typeio.c.
References PLyDatumToOb::array, PLyTupleToOb::atts, check_stack_depth(), TypeCacheEntry::domainBaseType, TypeCacheEntry::domainBaseTypmod, PLyArrayToOb::elm, fmgr_info_cxt(), PLyDatumToOb::func, get_transform_fromsql(), getTypeOutputInfo(), INVALID_TUPLEDESC_IDENTIFIER, PLyProcedure::langid, lookup_type_cache(), PLyDatumToOb::mcxt, MemoryContextAllocZero(), PLyTupleToOb::natts, PLy_input_setup_func(), PLyBool_FromBool(), PLyBytes_FromBytea(), PLyDecimal_FromNumeric(), PLyDict_FromComposite(), PLyFloat_FromFloat4(), PLyFloat_FromFloat8(), PLyInt_FromInt16(), PLyInt_FromInt32(), PLyList_FromArray(), PLyLong_FromInt64(), PLyLong_FromOid(), PLyObject_FromTransform(), PLyString_FromScalar(), PLyTupleToOb::recdesc, PLyDatumToOb::scalar, PLyDatumToOb::transform, PLyProcedure::trftypes, PLyTupleToOb::tupdescid, PLyDatumToOb::tuple, TypeCacheEntry::typalign, PLyDatumToOb::typalign, TypeCacheEntry::typbyval, PLyDatumToOb::typbyval, TYPECACHE_DOMAIN_BASE_INFO, TypeCacheEntry::typelem, PLyTupleToOb::typentry, PLyScalarToOb::typfunc, TypeCacheEntry::typlen, PLyDatumToOb::typlen, PLyDatumToOb::typmod, PLyDatumToOb::typoid, PLyTransformToOb::typtransform, TypeCacheEntry::typtype, and PLyDatumToOb::u.
Referenced by PLy_cursor_plan(), PLy_cursor_query(), PLy_exec_trigger(), PLy_input_setup_func(), PLy_input_setup_tuple(), PLy_procedure_create(), and PLy_spi_execute_fetch_result().
void PLy_input_setup_tuple | ( | PLyDatumToOb * | arg, |
TupleDesc | desc, | ||
struct PLyProcedure * | proc | ||
) |
Definition at line 164 of file plpy_typeio.c.
References Assert, PLyTupleToOb::atts, PLyDatumToOb::func, i, PLyDatumToOb::mcxt, MemoryContextAllocZero(), PLyTupleToOb::natts, TupleDescData::natts, pfree(), PLy_input_setup_func(), PLyDict_FromComposite(), PLyTupleToOb::recdesc, PLyDatumToOb::tuple, TupleDescAttr, PLyDatumToOb::typmod, PLyDatumToOb::typoid, and PLyDatumToOb::u.
Referenced by PLy_cursor_fetch(), PLy_cursor_iternext(), PLy_exec_trigger(), PLy_spi_execute_fetch_result(), and PLyDict_FromComposite().
Datum PLy_output_convert | ( | PLyObToDatum * | arg, |
PyObject * | val, | ||
bool * | isnull | ||
) |
Definition at line 119 of file plpy_typeio.c.
References PLyObToDatum::func.
Referenced by PLy_cursor_plan(), PLy_exec_function(), PLy_modify_tuple(), and PLy_spi_execute_plan().
void PLy_output_setup_func | ( | PLyObToDatum * | arg, |
MemoryContext | arg_mcxt, | ||
Oid | typeOid, | ||
int32 | typmod, | ||
struct PLyProcedure * | proc | ||
) |
Definition at line 295 of file plpy_typeio.c.
References PLyObToDatum::array, PLyObToTuple::atts, PLyObToDomain::base, check_stack_depth(), PLyObToDatum::domain, PLyObToDomain::domain_info, TypeCacheEntry::domainBaseType, TypeCacheEntry::domainBaseTypmod, PLyObToArray::elm, PLyObToArray::elmbasetype, fmgr_info_cxt(), FmgrInfo::fn_oid, PLyObToDatum::func, get_transform_tosql(), getBaseType(), getTypeInputInfo(), INVALID_TUPLEDESC_IDENTIFIER, InvalidOid, PLyProcedure::langid, lookup_type_cache(), PLyObToDatum::mcxt, MemoryContextAllocZero(), PLyObToTuple::natts, PLy_output_setup_func(), PLyObject_ToBool(), PLyObject_ToBytea(), PLyObject_ToComposite(), PLyObject_ToDomain(), PLyObject_ToScalar(), PLyObject_ToTransform(), PLySequence_ToArray(), PLyObToTuple::recdesc, PLyObToTuple::recinfunc, PLyObToDatum::scalar, PLyObToDatum::transform, PLyProcedure::trftypes, PLyObToTuple::tupdescid, PLyObToDatum::tuple, TypeCacheEntry::typalign, PLyObToDatum::typalign, TypeCacheEntry::typbyval, PLyObToDatum::typbyval, TYPECACHE_DOMAIN_BASE_INFO, TypeCacheEntry::typelem, PLyObToTuple::typentry, PLyObToScalar::typfunc, PLyObToScalar::typioparam, TypeCacheEntry::typlen, PLyObToDatum::typlen, PLyObToDatum::typmod, PLyObToDatum::typoid, PLyObToTransform::typtransform, TypeCacheEntry::typtype, and PLyObToDatum::u.
Referenced by PLy_exec_trigger(), PLy_output_setup_func(), PLy_output_setup_tuple(), PLy_procedure_create(), and PLy_spi_prepare().
void PLy_output_setup_record | ( | PLyObToDatum * | arg, |
TupleDesc | desc, | ||
struct PLyProcedure * | proc | ||
) |
Definition at line 260 of file plpy_typeio.c.
References Assert, BlessTupleDesc(), PLy_output_setup_tuple(), PLyObToTuple::recdesc, TupleDescData::tdtypeid, TupleDescData::tdtypmod, PLyObToDatum::tuple, PLyObToDatum::typmod, PLyObToDatum::typoid, and PLyObToDatum::u.
Referenced by PLy_function_build_args().
void PLy_output_setup_tuple | ( | PLyObToDatum * | arg, |
TupleDesc | desc, | ||
struct PLyProcedure * | proc | ||
) |
Definition at line 214 of file plpy_typeio.c.
References Assert, PLyObToTuple::atts, PLyObToDatum::func, i, PLyObToDatum::mcxt, MemoryContextAllocZero(), TupleDescData::natts, PLyObToTuple::natts, pfree(), PLy_output_setup_func(), PLyObject_ToComposite(), PLyObToTuple::recdesc, PLyObToDatum::tuple, TupleDescAttr, PLyObToDatum::typmod, PLyObToDatum::typoid, and PLyObToDatum::u.
Referenced by PLy_exec_trigger(), PLy_output_setup_record(), and PLyObject_ToComposite().
char* PLyObject_AsString | ( | PyObject * | plrv | ) |
Definition at line 1023 of file plpy_typeio.c.
References elog, ereport, errcode(), errmsg(), ERROR, pg_verifymbstr(), PLy_elog, PLyUnicode_Bytes(), and pstrdup().
Referenced by PLyObject_ToScalar(), and PLyString_ToComposite().