mirror of https://github.com/citusdata/citus.git
55 lines
2.0 KiB
C
55 lines
2.0 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* pg_dist_rebalance_strategy.h
|
|
* definition of the "rebalance strategy" relation (pg_dist_rebalance_strategy).
|
|
*
|
|
* This table contains all the available strategies for rebalancing.
|
|
*
|
|
* Copyright (c) Citus Data, Inc.
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef PG_DIST_REBALANCE_STRATEGY_H
|
|
#define PG_DIST_REBALANCE_STRATEGY_H
|
|
|
|
#include "postgres.h"
|
|
|
|
|
|
/* ----------------
|
|
* pg_dist_shard definition.
|
|
* ----------------
|
|
*/
|
|
typedef struct FormData_pg_dist_rebalance_strategy
|
|
{
|
|
NameData name; /* user readable name of the strategy */
|
|
bool default_strategy; /* if this strategy is the default strategy */
|
|
Oid shardCostFunction; /* function to calculate the shard cost */
|
|
Oid nodeCapacityFunction; /* function to get the capacity of a node */
|
|
Oid shardAllowedOnNodeFunction; /* function to check if shard is allowed on node */
|
|
float4 defaultThreshold; /* default threshold that is used */
|
|
float4 minimumThreshold; /* minimum threshold that is allowed */
|
|
} FormData_pg_dist_rebalance_strategy;
|
|
|
|
/* ----------------
|
|
* Form_pg_dist_shards corresponds to a pointer to a tuple with
|
|
* the format of pg_dist_shards relation.
|
|
* ----------------
|
|
*/
|
|
typedef FormData_pg_dist_rebalance_strategy *Form_pg_dist_rebalance_strategy;
|
|
|
|
/* ----------------
|
|
* compiler constants for pg_dist_rebalance_strategy
|
|
* ----------------
|
|
*/
|
|
#define Natts_pg_dist_rebalance_strategy 7
|
|
#define Anum_pg_dist_rebalance_strategy_name 1
|
|
#define Anum_pg_dist_rebalance_strategy_default_strategy 2
|
|
#define Anum_pg_dist_rebalance_strategy_shard_cost_function 3
|
|
#define Anum_pg_dist_rebalance_strategy_node_capacity_function 4
|
|
#define Anum_pg_dist_rebalance_strategy_shard_allowed_on_node_function 5
|
|
#define Anum_pg_dist_rebalance_strategy_default_threshold 6
|
|
#define Anum_pg_dist_rebalance_strategy_minimum_threshold 7
|
|
|
|
#endif /* PG_DIST_REBALANCE_STRATEGY_H */
|