/*-------------------------------------------------------------------------
*
* attmap . h
* Definitions for PostgreSQL attribute mappings
*
*
* Portions Copyright ( c ) 1996 - 2025 , PostgreSQL Global Development Group
* Portions Copyright ( c ) 1994 , Regents of the University of California
*
* src / include / access / attmap . h
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
#ifndef ATTMAP_H
#define ATTMAP_H
#include "access/attnum.h"
#include "access/tupdesc.h"
/*
* Attribute mapping structure
*
* This maps attribute numbers between a pair of relations , designated
* ' input ' and ' output ' ( most typically inheritance parent and child
* relations ) , whose common columns may have different attribute numbers .
* Such difference may arise due to the columns being ordered differently
* in the two relations or the two relations having dropped columns at
* different positions .
*
* ' maplen ' is set to the number of attributes of the ' output ' relation ,
* taking into account any of its dropped attributes , with the corresponding
* elements of the ' attnums ' array set to 0 .
*/
typedef struct AttrMap
{
AttrNumber *attnums;
int maplen;
} AttrMap;
extern AttrMap *make_attrmap(int maplen);
extern void free_attrmap(AttrMap *map);
/* Conversion routines to build mappings */
extern AttrMap *build_attrmap_by_name(TupleDesc indesc,
TupleDesc outdesc,
bool missing_ok);
extern AttrMap *build_attrmap_by_name_if_req(TupleDesc indesc,
TupleDesc outdesc,
bool missing_ok);
extern AttrMap *build_attrmap_by_position(TupleDesc indesc,
TupleDesc outdesc,
const char *msg);
#endif /* ATTMAP_H */
Messung V0.5 in Prozent C=82 H=99 G=90
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet am 2026-08-08)
¤
*© Formatika GbR, Deutschland