diff --git a/src/build-defs.cmake b/src/build-defs.cmake index 19703f3a8..2082c41e2 100644 --- a/src/build-defs.cmake +++ b/src/build-defs.cmake @@ -37,6 +37,15 @@ if(APACHE_ONLY) add_definitions(-DAPACHE_ONLY) endif() +# AT_CookedColumnDefault was backported to PG12 but is not yet in a released version. +# To be able to build against snapshots and REL_12_STABLE branch we check header file +# for existance. Once PG 12.5 is out this can safely be turned into a version check. +file(READ ${PG_INCLUDEDIR_SERVER}/nodes/parsenodes.h PG_PARSENODES_H) +string(REGEX MATCH "AT_CookedColumnDefault" PG_HAS_COOKEDCOLUMNDEFAULT ${PG_CONFIG_H}) +if (PG_HAS_COOKEDCOLUMNDEFAULT) + add_definitions(-DPG_HAS_COOKEDCOLUMNDEFAULT) +endif() + include_directories(${PROJECT_SOURCE_DIR}/src ${PROJECT_BINARY_DIR}/src) include_directories(SYSTEM ${PG_INCLUDEDIR_SERVER}) diff --git a/src/process_utility.c b/src/process_utility.c index 5c26cf80b..5319e3c94 100644 --- a/src/process_utility.c +++ b/src/process_utility.c @@ -2948,6 +2948,9 @@ process_altertable_end_subcmd(Hypertable *ht, Node *parsetree, ObjectAddress *ob case AT_SetLogged: case AT_SetStorage: case AT_ColumnDefault: +#ifdef PG_HAS_COOKEDCOLUMNDEFAULT + case AT_CookedColumnDefault: +#endif case AT_SetNotNull: #if PG12_GE case AT_CheckNotNull: