mirror of https://github.com/citusdata/citus.git
55 lines
1.9 KiB
C
55 lines
1.9 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* pg_dist_shard_placement.h
|
|
* definition of the "server" relation (pg_dist_shard_placement).
|
|
*
|
|
* This table keeps information on remote shards and their whereabouts on the
|
|
* master node. The table's contents are updated and used as follows: (i) the
|
|
* worker nodes send periodic reports about the shards they contain, and (ii)
|
|
* the master reconciles these shard reports, and determines outdated, under-
|
|
* and over-replicated shards.
|
|
*
|
|
* Copyright (c) 2012-2015, Citus Data, Inc.
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef PG_DIST_SHARD_PLACEMENT_H
|
|
#define PG_DIST_SHARD_PLACEMENT_H
|
|
|
|
/* ----------------
|
|
* pg_dist_shard_placement definition.
|
|
* ----------------
|
|
*/
|
|
typedef struct FormData_pg_dist_shard_placement
|
|
{
|
|
int64 shardid; /* global shardId on remote node */
|
|
int32 shardstate; /* shard state on remote node; see RelayFileState */
|
|
int64 shardlength; /* shard length on remote node; stored as bigint */
|
|
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
text nodename; /* remote node's host name */
|
|
int32 nodeport; /* remote node's port number */
|
|
#endif
|
|
} FormData_pg_dist_shard_placement;
|
|
|
|
/* ----------------
|
|
* Form_pg_dist_shard_placement corresponds to a pointer to a tuple with
|
|
* the format of pg_dist_shard_placement relation.
|
|
* ----------------
|
|
*/
|
|
typedef FormData_pg_dist_shard_placement *Form_pg_dist_shard_placement;
|
|
|
|
/* ----------------
|
|
* compiler constants for pg_dist_shard_placement
|
|
* ----------------
|
|
*/
|
|
#define Natts_pg_dist_shard_placement 5
|
|
#define Anum_pg_dist_shard_placement_shardid 1
|
|
#define Anum_pg_dist_shard_placement_shardstate 2
|
|
#define Anum_pg_dist_shard_placement_shardlength 3
|
|
#define Anum_pg_dist_shard_placement_nodename 4
|
|
#define Anum_pg_dist_shard_placement_nodeport 5
|
|
|
|
|
|
#endif /* PG_DIST_SHARD_PLACEMENT_H */
|