From 59a4fb596c66add9b4eee7012b86d4e34c57518e Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Wed, 19 Apr 2017 23:21:04 -0600 Subject: [PATCH] Add new RTE types to CitusRTEKind PostgreSQL 10 adds two new RTEKind values and compilation will complain unless we handle them. --- src/backend/distributed/utils/citus_nodefuncs.c | 4 ++++ src/include/distributed/multi_physical_planner.h | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/src/backend/distributed/utils/citus_nodefuncs.c b/src/backend/distributed/utils/citus_nodefuncs.c index 42c7a4ece..50e25c86b 100644 --- a/src/backend/distributed/utils/citus_nodefuncs.c +++ b/src/backend/distributed/utils/citus_nodefuncs.c @@ -294,6 +294,10 @@ GetRangeTblKind(RangeTblEntry *rte) switch (rte->rtekind) { /* directly rtekind if it's not possibly an extended RTE */ +#if (PG_VERSION_NUM >= 100000) + case RTE_TABLEFUNC: + case RTE_NAMEDTUPLESTORE: +#endif case RTE_RELATION: case RTE_SUBQUERY: case RTE_JOIN: diff --git a/src/include/distributed/multi_physical_planner.h b/src/include/distributed/multi_physical_planner.h index 299ba46f7..3c9ffd62e 100644 --- a/src/include/distributed/multi_physical_planner.h +++ b/src/include/distributed/multi_physical_planner.h @@ -55,8 +55,14 @@ typedef enum CitusRTEKind CITUS_RTE_SUBQUERY = RTE_SUBQUERY, /* subquery in FROM */ CITUS_RTE_JOIN = RTE_JOIN, /* join */ CITUS_RTE_FUNCTION = RTE_FUNCTION, /* function in FROM */ +#if (PG_VERSION_NUM >= 100000) + CITUS_RTE_TABLEFUNC = RTE_TABLEFUNC, /* TableFunc(.., column list) */ +#endif CITUS_RTE_VALUES = RTE_VALUES, /* VALUES (), (), ... */ CITUS_RTE_CTE = RTE_CTE, /* common table expr (WITH list element) */ +#if (PG_VERSION_NUM >= 100000) + CITUS_RTE_NAMEDTUPLESTORE = RTE_NAMEDTUPLESTORE, /* tuplestore, e.g. for triggers */ +#endif CITUS_RTE_SHARD, CITUS_RTE_REMOTE_QUERY } CitusRTEKind;