diff options
| author | Bruce Momjian | 2002-09-04 20:31:48 +0000 |
|---|---|---|
| committer | Bruce Momjian | 2002-09-04 20:31:48 +0000 |
| commit | e50f52a074bdf0d6a9dc384840e641c4c0b0bb1a (patch) | |
| tree | ab73e8c8ec94a6ddc774c1f9c49b87aa6b93fd13 /src/include/funcapi.h | |
| parent | c91ceec21d357d6d857163d897ac75a79c883dee (diff) | |
pgindent run.
Diffstat (limited to 'src/include/funcapi.h')
| -rw-r--r-- | src/include/funcapi.h | 109 |
1 files changed, 54 insertions, 55 deletions
diff --git a/src/include/funcapi.h b/src/include/funcapi.h index ba862b6b1f..64309433c0 100644 --- a/src/include/funcapi.h +++ b/src/include/funcapi.h @@ -9,7 +9,7 @@ * * Copyright (c) 2002, PostgreSQL Global Development Group * - * $Id: funcapi.h,v 1.7 2002/08/30 19:56:49 tgl Exp $ + * $Id: funcapi.h,v 1.8 2002/09/04 20:31:36 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -35,22 +35,22 @@ typedef struct AttInMetadata { /* full TupleDesc */ - TupleDesc tupdesc; + TupleDesc tupdesc; /* array of attribute type input function finfo */ - FmgrInfo *attinfuncs; + FmgrInfo *attinfuncs; /* array of attribute type typelem */ - Oid *attelems; + Oid *attelems; /* array of attribute typmod */ - int32 *atttypmods; -} AttInMetadata; + int32 *atttypmods; +} AttInMetadata; /*------------------------------------------------------------------------- * Support struct to ease writing Set Returning Functions (SRFs) *------------------------------------------------------------------------- - * + * * This struct holds function context for Set Returning Functions. * Use fn_extra to hold a pointer to it across calls */ @@ -58,59 +58,60 @@ typedef struct FuncCallContext { /* * Number of times we've been called before. - * + * * call_cntr is initialized to 0 for you by SRF_FIRSTCALL_INIT(), and * incremented for you every time SRF_RETURN_NEXT() is called. */ - uint32 call_cntr; + uint32 call_cntr; /* * OPTIONAL maximum number of calls * - * max_calls is here for convenience ONLY and setting it is OPTIONAL. - * If not set, you must provide alternative means to know when the + * max_calls is here for convenience ONLY and setting it is OPTIONAL. If + * not set, you must provide alternative means to know when the * function is done. */ - uint32 max_calls; + uint32 max_calls; /* * OPTIONAL pointer to result slot - * - * slot is for use when returning tuples (i.e. composite data types) - * and is not needed when returning base (i.e. scalar) data types. + * + * slot is for use when returning tuples (i.e. composite data types) and + * is not needed when returning base (i.e. scalar) data types. */ TupleTableSlot *slot; /* * OPTIONAL pointer to misc user provided context info - * + * * user_fctx is for use as a pointer to your own struct to retain * arbitrary context information between calls for your function. */ - void *user_fctx; + void *user_fctx; /* - * OPTIONAL pointer to struct containing arrays of attribute type input - * metainfo - * + * OPTIONAL pointer to struct containing arrays of attribute type + * input metainfo + * * attinmeta is for use when returning tuples (i.e. composite data types) * and is not needed when returning base (i.e. scalar) data types. It - * is ONLY needed if you intend to use BuildTupleFromCStrings() to create - * the return tuple. + * is ONLY needed if you intend to use BuildTupleFromCStrings() to + * create the return tuple. */ - AttInMetadata *attinmeta; + AttInMetadata *attinmeta; /* - * memory context used for structures which must live for multiple calls + * memory context used for structures which must live for multiple + * calls * * multi_call_memory_ctx is set by SRF_FIRSTCALL_INIT() for you, and used * by SRF_RETURN_DONE() for cleanup. It is the most appropriate memory * context for any memory that is to be re-used across multiple calls * of the SRF. */ - MemoryContext multi_call_memory_ctx; + MemoryContext multi_call_memory_ctx; -} FuncCallContext; +} FuncCallContext; /*---------- * Support to ease writing Functions returning composite types @@ -163,39 +164,37 @@ extern HeapTuple BuildTupleFromCStrings(AttInMetadata *attinmeta, char **values) * Datum * my_Set_Returning_Function(PG_FUNCTION_ARGS) * { - * FuncCallContext *funcctx; - * Datum result; - * MemoryContext oldcontext; - * <user defined declarations> - * - * if (SRF_IS_FIRSTCALL()) - * { - * funcctx = SRF_FIRSTCALL_INIT(); + * FuncCallContext *funcctx; + * Datum result; + * MemoryContext oldcontext; + * <user defined declarations> + * + * if (SRF_IS_FIRSTCALL()) + * { + * funcctx = SRF_FIRSTCALL_INIT(); * // switch context when allocating stuff to be used in later calls * oldcontext = MemoryContextSwitchTo(funcctx->multi_call_memory_ctx); - * <user defined code> - * <if returning composite> - * <obtain slot> - * funcctx->slot = slot; - * <endif returning composite> - * <user defined code> + * <user defined code> + * <if returning composite> + * <obtain slot> + * funcctx->slot = slot; + * <endif returning composite> + * <user defined code> * // return to original context when allocating transient memory * MemoryContextSwitchTo(oldcontext); - * } - * <user defined code> - * funcctx = SRF_PERCALL_SETUP(); - * <user defined code> - * - * if (funcctx->call_cntr < funcctx->max_calls) - * { - * <user defined code> - * <obtain result Datum> - * SRF_RETURN_NEXT(funcctx, result); - * } - * else - * { - * SRF_RETURN_DONE(funcctx); - * } + * } + * <user defined code> + * funcctx = SRF_PERCALL_SETUP(); + * <user defined code> + * + * if (funcctx->call_cntr < funcctx->max_calls) + * { + * <user defined code> + * <obtain result Datum> + * SRF_RETURN_NEXT(funcctx, result); + * } + * else + * SRF_RETURN_DONE(funcctx); * } * *---------- |
