This is an automated email from the ASF dual-hosted git repository.
gfphoenix78 pushed a commit to branch sync-with-upstream
in repository https://gitbox.apache.org/repos/asf/cloudberry-gpbackup.git
The following commit(s) were added to refs/heads/sync-with-upstream by this
push:
new 2d0880a5 fix(test): Adapt operator metadata test for Cloudberry
support (#31)
2d0880a5 is described below
commit 2d0880a56016eca247292633075968555570d892
Author: Robert Mu <[email protected]>
AuthorDate: Thu Aug 28 20:45:41 2025 +0800
fix(test): Adapt operator metadata test for Cloudberry support (#31)
This commit modifies the operator metadata integration test to
support Cloudberry in addition to the original Greenplum support.
The original test created a unary prefix operator, which worked
fine for Greenplum. However, Cloudberry (based on PostgreSQL 14)
no longer supports user-defined unary operators, causing the test
to fail.
To ensure compatibility across both platforms, the test now uses
a binary operator approach universally, which is supported by
both Greenplum and Cloudberry. This eliminates the need for
conditional logic while maintaining the same test coverage.
Changes:
- Replace unary prefix operator with binary operator
- Use `binary_op_func(bigint, bigint)` instead of `numeric_fac`
- Update operator syntax to `(LEFTARG = bigint, RIGHTARG = bigint)`
- Remove database-specific conditional branching
This change ensures the test passes on both Greenplum and
Cloudberry without compromising the metadata validation logic.
---
integration/predata_acl_queries_test.go | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/integration/predata_acl_queries_test.go
b/integration/predata_acl_queries_test.go
index 78e48aad..525d3be5 100644
--- a/integration/predata_acl_queries_test.go
+++ b/integration/predata_acl_queries_test.go
@@ -376,10 +376,15 @@ LANGUAGE SQL`)
structmatcher.ExpectStructsToMatchExcluding(&expectedMetadata, &resultMetadata,
"Oid")
})
It("returns a slice of default metadata for an
operator", func() {
- testhelper.AssertQueryRuns(connectionPool,
"CREATE OPERATOR public.#### (LEFTARG = bigint, PROCEDURE = numeric_fac)")
- defer
testhelper.AssertQueryRuns(connectionPool, "DROP OPERATOR public.#### (bigint,
NONE)")
+ // Cloudberry does not support user-defined
unary operators (based on PostgreSQL 14).
+ // To ensure this test runs on all platforms,
we use a binary operator,
+ // which is supported by both Greenplum and
Cloudberry.
+ testhelper.AssertQueryRuns(connectionPool,
"CREATE FUNCTION public.binary_op_func(bigint, bigint) RETURNS bigint AS
'SELECT $1 + $2' LANGUAGE SQL IMMUTABLE;")
+ defer
testhelper.AssertQueryRuns(connectionPool, "DROP FUNCTION
public.binary_op_func(bigint, bigint);")
- testhelper.AssertQueryRuns(connectionPool,
"COMMENT ON OPERATOR public.#### (bigint, NONE) IS 'This is an operator
comment.'")
+ testhelper.AssertQueryRuns(connectionPool,
"CREATE OPERATOR public.#### (LEFTARG = bigint, RIGHTARG = bigint, PROCEDURE =
public.binary_op_func)")
+ defer
testhelper.AssertQueryRuns(connectionPool, "DROP OPERATOR public.#### (bigint,
bigint)")
+ testhelper.AssertQueryRuns(connectionPool,
"COMMENT ON OPERATOR public.#### (bigint, bigint) IS 'This is an operator
comment.'")
resultMetadataMap :=
backup.GetMetadataForObjectType(connectionPool, backup.TYPE_OPERATOR)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]