Skip to content

Commit

Permalink
dev-db/citus: Fix compilation
Browse files Browse the repository at this point in the history
Recent changes in postgres caused compile errors for citus 11.2
Patch from upstream.

Closes: https://bugs.gentoo.org/894136
Signed-off-by: Patrick Lauer <[email protected]>
  • Loading branch information
patricklauer committed Feb 13, 2023
1 parent 973118f commit 94def12
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 0 deletions.
7 changes: 7 additions & 0 deletions dev-db/citus/citus-11.2.0.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,13 @@ DEPEND="${POSTGRES_DEP}
"
RDEPEND="${DEPEND}"

src_prepare() {
eapply "${FILESDIR}"/citus-11.2.0-redefine.patch

postgres-multi_src_prepare
}


src_configure() {
postgres-multi_foreach econf
}
79 changes: 79 additions & 0 deletions dev-db/citus/files/citus-11.2.0-redefine.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
From 341fdb32fc07a3aea2dda2fa33a70d22819be37b Mon Sep 17 00:00:00 2001
From: Jelte Fennema <[email protected]>
Date: Fri, 10 Feb 2023 16:02:03 +0100
Subject: [PATCH] Support compilation and run tests on latest PG versions
(#6711)

Postgres got minor updates this starts using the images with the latest
version for our tests.

These new Postgres versions caused a compilation issue in PG14 and PG13
due to some function being backported that we had already backported
ourselves. Due this backport being a static inline function it doesn't
matter who provides this and there will be no linkage errors when either
running old Citus packages on new PG versions or the other way around.

(cherry picked from commit 3200187757600180fa2b90a5fdba13cbf8aee8b6)
---
.circleci/config.yml | 10 +++++-----
src/include/pg_version_compat.h | 11 +++++++++++
2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/.circleci/config.yml b/.circleci/config.yml
index 4905dfbc52c..3a5c30132f6 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -6,19 +6,19 @@ orbs:
parameters:
image_suffix:
type: string
- default: '-v7e4468f'
+ default: '-vc4b1573'
pg13_version:
type: string
- default: '13.9'
+ default: '13.10'
pg14_version:
type: string
- default: '14.6'
+ default: '14.7'
pg15_version:
type: string
- default: '15.1'
+ default: '15.2'
upgrade_pg_versions:
type: string
- default: '13.9-14.6-15.1'
+ default: '13.10-14.7-15.2'
style_checker_tools_version:
type: string
default: '0.8.18'
diff --git a/src/include/pg_version_compat.h b/src/include/pg_version_compat.h
index fcb857c4111..eb81bca43ac 100644
--- a/src/include/pg_version_compat.h
+++ b/src/include/pg_version_compat.h
@@ -55,6 +55,14 @@ pg_strtoint64(char *s)
}


+/*
+ * RelationGetSmgr got backported in 13.10 and 14.7 so redefining it for any
+ * version higher causes compilation errors due to redefining of the function.
+ * We want to use it in all versions. So we backport it ourselves in earlier
+ * versions, and rely on the Postgres provided version in the later versions.
+ */
+#if PG_VERSION_NUM >= PG_VERSION_13 && PG_VERSION_NUM < 130010 \
+ || PG_VERSION_NUM >= PG_VERSION_14 && PG_VERSION_NUM < 140007
static inline SMgrRelation
RelationGetSmgr(Relation rel)
{
@@ -66,6 +74,9 @@ RelationGetSmgr(Relation rel)
}


+#endif
+
+
#define CREATE_SEQUENCE_COMMAND \
"CREATE SEQUENCE IF NOT EXISTS %s AS %s INCREMENT BY " INT64_FORMAT \
" MINVALUE " INT64_FORMAT " MAXVALUE " INT64_FORMAT \

0 comments on commit 94def12

Please sign in to comment.