gooderp18绿色标准版
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

56 lines
1.7KB

  1. /*-------------------------------------------------------------------------
  2. *
  3. * tupconvert.h
  4. * Tuple conversion support.
  5. *
  6. *
  7. * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
  8. * Portions Copyright (c) 1994, Regents of the University of California
  9. *
  10. * src/include/access/tupconvert.h
  11. *
  12. *-------------------------------------------------------------------------
  13. */
  14. #ifndef TUPCONVERT_H
  15. #define TUPCONVERT_H
  16. #include "access/htup.h"
  17. #include "access/tupdesc.h"
  18. #include "executor/tuptable.h"
  19. typedef struct TupleConversionMap
  20. {
  21. TupleDesc indesc; /* tupdesc for source rowtype */
  22. TupleDesc outdesc; /* tupdesc for result rowtype */
  23. AttrNumber *attrMap; /* indexes of input fields, or 0 for null */
  24. Datum *invalues; /* workspace for deconstructing source */
  25. bool *inisnull;
  26. Datum *outvalues; /* workspace for constructing result */
  27. bool *outisnull;
  28. } TupleConversionMap;
  29. extern TupleConversionMap *convert_tuples_by_position(TupleDesc indesc,
  30. TupleDesc outdesc,
  31. const char *msg);
  32. extern TupleConversionMap *convert_tuples_by_name(TupleDesc indesc,
  33. TupleDesc outdesc,
  34. const char *msg);
  35. extern AttrNumber *convert_tuples_by_name_map(TupleDesc indesc,
  36. TupleDesc outdesc,
  37. const char *msg);
  38. extern AttrNumber *convert_tuples_by_name_map_if_req(TupleDesc indesc,
  39. TupleDesc outdesc,
  40. const char *msg);
  41. extern HeapTuple execute_attr_map_tuple(HeapTuple tuple, TupleConversionMap *map);
  42. extern TupleTableSlot *execute_attr_map_slot(AttrNumber *attrMap,
  43. TupleTableSlot *in_slot, TupleTableSlot *out_slot);
  44. extern void free_conversion_map(TupleConversionMap *map);
  45. #endif /* TUPCONVERT_H */
上海开阖软件有限公司 沪ICP备12045867号-1