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 66a170d9 fix(test): Remove ELEMENT parameter for Cloudberry
compatibility (#27)
66a170d9 is described below
commit 66a170d9ee54ca19431b6232df10ea7cad05865f
Author: Robert Mu <[email protected]>
AuthorDate: Thu Aug 28 20:37:51 2025 +0800
fix(test): Remove ELEMENT parameter for Cloudberry compatibility (#27)
This commit fixes the "base type with custom configuration" test
to handle stricter validation in Cloudberry (based on PostgreSQL 14).
Cloudberry enforces stricter CREATE TYPE validation requiring that
types with ELEMENT parameters must have subscripting functions,
while Greenplum 7 (based on PostgreSQL 12) was more lenient. Since
this test focuses on verifying backup of custom type properties
rather than array functionality, the ELEMENT parameter is removed
for Cloudberry to comply with validation while preserving test
coverage.
---
integration/predata_types_queries_test.go | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/integration/predata_types_queries_test.go
b/integration/predata_types_queries_test.go
index 6ee15640..7cc48270 100644
--- a/integration/predata_types_queries_test.go
+++ b/integration/predata_types_queries_test.go
@@ -115,7 +115,21 @@ var _ = Describe("backup integration tests", func() {
if connectionPool.Version.IsGPDB() &&
connectionPool.Version.Before("6") {
testhelper.AssertQueryRuns(connectionPool,
"CREATE TYPE public.base_type(INPUT=public.base_fn_in,
OUTPUT=public.base_fn_out, INTERNALLENGTH=8, PASSEDBYVALUE, ALIGNMENT=double,
STORAGE=plain, DEFAULT=0, ELEMENT=integer, DELIMITER=';')")
} else {
- testhelper.AssertQueryRuns(connectionPool,
"CREATE TYPE public.base_type(INPUT=public.base_fn_in,
OUTPUT=public.base_fn_out, INTERNALLENGTH=8, PASSEDBYVALUE, ALIGNMENT=double,
STORAGE=plain, DEFAULT=0, ELEMENT=integer, DELIMITER=';', CATEGORY='N',
PREFERRED=true, COLLATABLE=true)")
+ /*
+ * In PostgreSQL 14 (Cloudberry is based on),
the validation for CREATE TYPE has become stricter.
+ * The 'ELEMENT' parameter can only be
specified if a 'subscripting function' is also
+ * provided for the type.
+ *
+ * PostgreSQL 12 (GPDB 7 is based on) was more
lenient and allowed specifying 'ELEMENT'
+ * as a metadata-only attribute without
enforcing the presence of a subscripting
+ * function, even though the type would not
actually support subscripting.
+ *
+ * Since this test's primary purpose is to
verify the backup of other custom
+ * type properties (like alignment, storage,
etc.) and not to create a
+ * fully-functional array-like type, we remove
the 'ELEMENT=integer' clause
+ * test case to comply with the stricter checks.
+ */
+ testhelper.AssertQueryRuns(connectionPool,
"CREATE TYPE public.base_type(INPUT=public.base_fn_in,
OUTPUT=public.base_fn_out, INTERNALLENGTH=8, PASSEDBYVALUE, ALIGNMENT=double,
STORAGE=plain, DEFAULT=0, DELIMITER=';', CATEGORY='N', PREFERRED=true,
COLLATABLE=true)")
}
testhelper.AssertQueryRuns(connectionPool, "ALTER TYPE
public.base_type SET DEFAULT ENCODING (compresstype=zlib)")
@@ -128,6 +142,7 @@ var _ = Describe("backup integration tests", func() {
baseTypeCustom.Category = "N"
baseTypeCustom.Preferred = true
baseTypeCustom.Collatable = true
+ baseTypeCustom.Element = ""
structmatcher.ExpectStructsToMatchExcluding(&baseTypeCustom, &results[0], "Oid")
}
})
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]