Skip to content

Add postgres19 compatibility #171

@sibowu-aws

Description

@sibowu-aws
src/hll.c: In function 'InitializeHllAggregateOids':src/hll.c:237:1: error: old-style function definition [-Werror=old-style-definition]  237 | InitializeHllAggregateOids()      | ^~~~~~~~~~~~~~~~~~~~~~~~~~src/hll.c: In function 



'FunctionOid':src/hll.c:342:24: error: too few arguments to function 'FuncnameGetCandidates'  342 |         functionList = FuncnameGetCandidates(qualifiedFunctionNameList, argumentCount,      |             ^~~~~~~~~~~~~~~~~~~~~In file included from src/hll.c:56:/postgres/include/server/catalog/namespace.h:119:26: note: declared here  119 | extern FuncCandidateList FuncnameGetCandidates(List *names,      |                          ^~~~~~~~~~~~~~~~~~~~~In file included from /usr/include/features.h:423,                 from /usr/include/assert.h:35,                




 from  error: expected specifier-qualifier-list before 'extern'1034 |         ((void) sizeof(struct {static_assert(condition, errmessage); char a;}))      |     ^~~~~~~~~~~~~//


/postgres/include/server/utils/memutils.h:125:10: note: in expansion of macro 'StaticAssertExpr'  125 |         (StaticAssertExpr(__builtin_constant_p(name), \      |          ^~~~~~~~~~~~~~~~src/hll.c:3159:18: note: in expansion of macro 'AllocSetContextCreate'3159 |     tmpcontext = AllocSetContextCreate(rcontext,      |                  ^~~~~~~~~~~~~~~~~~~~~cc1: all warnings being treated as errorsmake: *** [<builtin>: src/hll.o] Error

postgresql-hll fails to compile with pg19 with 3 errors:

1.old-style function definition (-Werror=old-style-definition),
2. FuncnameGetCandidates() gained a new int *fgc_flags parameter
3. AllocSetContextCreate macro uses C23 static_assert incompatible with GCC 12. Even after fixing compilation, passing NULL for fgc_flags causes a server crash (segfault) since PG19 unconditionally dereferences it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions