Skip to content

Conversation

@jrgemignani
Copy link
Contributor

@jrgemignani jrgemignani commented Oct 28, 2025

This PR brings the PG13 branch up to the master branch, less the PRs for, and related to, List Comprehension. List Comprehension is currently not supported in Apache AGE for PostgreSQL version 13.

The following PRs were cherry-picked and added -

4f2c57a Fix issue with the CI build and labeler (#2183)
74057bd fix issue 2205: left doesn't catch overflow (#2207)
48d4777 Fix issue 2201: unexpected empty string behavior (#2203)
2b2eb71 Add missing dependency in jdbc driver (#2206)
34bd3aa Fix CSV import for edge with one property (#2175)
6990b47 Prevent object access hook from accessing not installed namespace (#2161)

x4m and others added 5 commits October 17, 2025 12:01
…che#2161)

Currently we cannot install Age to shared_preload_libraries if
pg_cron is installed.

To prevent following error we must bail out early.
postgres=# set backtrace_functions to 'get_namespace_oid';
SET
postgres=# create extension pg_cron ;
2025-04-15 16:59:49.867 +05 [30402] ERROR:  schema "ag_catalog" does not exist
2025-04-15 16:59:49.867 +05 [30402] BACKTRACE:
	2   postgres                            0x0000000102401ab0 get_namespace_oid + 204
	3   age.so                              0x0000000103285cd0 ag_catalog_namespace_id + 28
	4   age.so                              0x00000001032846fc ag_relation_id + 32
	5   age.so                              0x00000001032efe9c search_label_relation_cache_miss + 84
	6   age.so                              0x00000001032efe30 search_label_relation_cache + 100
	7   age.so                              0x00000001032842f4 object_access + 384
	8   postgres                            0x000000010240a7a0 RunObjectDropHook + 136
	9   postgres                            0x00000001023ee85c deleteOneObject + 108
	10  postgres                            0x00000001023eb860 deleteObjectsInList + 476
	11  postgres                            0x00000001023eba14 performMultipleDeletions + 316
	12  postgres                            0x0000000102560244 ATPostAlterTypeCleanup + 2144
	13  postgres                            0x0000000102559fb4 ATRewriteCatalogs + 516
	14  postgres                            0x00000001025543a8 ATController + 284
	15  postgres                            0x00000001025541bc AlterTable + 96
	16  postgres                            0x00000001028b8240 ProcessUtilitySlow + 1812
	17  postgres                            0x00000001028b600c standard_ProcessUtility + 3684
	18  age.so                              0x00000001032844f8 ag_ProcessUtility_hook + 200
	19  postgres                            0x00000001028b516c ProcessUtility + 392
	20  postgres                            0x000000010250e5b4 execute_sql_string + 812
	21  postgres                            0x000000010250d438 execute_extension_script + 2264
	22  postgres                            0x000000010250b330 ApplyExtensionUpdates + 1320
	23  postgres                            0x0000000102507954 CreateExtensionInternal + 1896
	24  postgres                            0x0000000102506ea4 CreateExtension + 1152
	25  postgres                            0x00000001028b8ed4 ProcessUtilitySlow + 5032
	26  postgres                            0x00000001028b600c standard_ProcessUtility + 3684
	27  age.so                              0x00000001032844f8 ag_ProcessUtility_hook + 200
	28  postgres                            0x00000001028b516c ProcessUtility + 392
	29  postgres                            0x00000001028b4768 PortalRunUtility + 232
	30  postgres                            0x00000001028b3660 PortalRunMulti + 756
	31  postgres                            0x00000001028b2abc PortalRun + 1008
	32  postgres                            0x00000001028ad870 exec_simple_query + 1436
	33  postgres                            0x00000001028ac990 PostgresMain + 2472
	34  postgres                            0x00000001027a49ac report_fork_failure_to_client + 0
	35  postgres                            0x00000001027a3e54 BackendStartup + 520
	36  postgres                            0x00000001027a29f0 ServerLoop + 812
	37  postgres                            0x000000010279fe0c PostmasterMain + 6484
	38  postgres                            0x000000010266acd0 startup_hacks + 0
	39  dyld                                0x000000018a3ab154 start + 2476
- start_index marks where property fields begin. For edges, it's 4.
  If start_index >= total_fields, create empty properties; otherwise,
  parse the properties.
- This was also failing CI. The issue is described here gradle/gradle#33950
This PR fixes the issue of some string functions returning NULL
instead of the empty string.

The string functions affected and corrected are -

reverse, toupper, tolower, rtrim, ltrim, trim, right, left, substring,
and replace.

Added additional regression tests. Corrected previous tests.

    modified:   regress/expected/expr.out
    modified:   regress/sql/expr.sql
    modified:   src/backend/utils/adt/agtype.c
Fixed issue 2205 where large int values aren't detected. The
following functions were fixed -

left, right, and substring

    modified:   regress/expected/expr.out
    modified:   regress/sql/expr.sql
    modified:   src/backend/utils/adt/agtype.c

Added regression tests.
@github-actions github-actions bot added PG13 PostgreSQL13 override-stale To keep issues/PRs untouched from stale action labels Oct 28, 2025
The build now needs to use https:, instead of git:
The labeler now requires a new step before running.

Modified the following files -

    .github/workflows/installcheck.yaml
    .github/workflows/labeler.yml
@jrgemignani jrgemignani changed the title Pg13 to current master PG13 to current master Oct 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

override-stale To keep issues/PRs untouched from stale action PG13 PostgreSQL13

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants