From 127cdf6970b895e2193b3460870ed2ae950815b5 Mon Sep 17 00:00:00 2001 From: John Gemignani Date: Thu, 22 Jan 2026 09:58:14 -0800 Subject: [PATCH] Advance PG17 branch to Apache AGE version 1.7.0 Updated the following files to advance the Apache AGE version to 1.7.0 modified: Makefile modified: README.md modified: RELEASE renamed: age--1.6.0--y.y.y.sql -> age--1.6.0--1.7.0.sql new file: age--1.7.0--y.y.y.sql modified: age.control modified: docker/Dockerfile deleted: age--1.5.0--1.6.0.sql Resolved Conflicts: README.md RELEASE docker/Dockerfile --- Makefile | 2 +- README.md | 6 +- RELEASE | 124 +++++------------- ...-1.6.0--y.y.y.sql => age--1.6.0--1.7.0.sql | 10 +- age--1.7.0--y.y.y.sql | 32 +++++ age.control | 2 +- docker/Dockerfile | 2 +- 7 files changed, 74 insertions(+), 104 deletions(-) rename age--1.6.0--y.y.y.sql => age--1.6.0--1.7.0.sql (92%) create mode 100644 age--1.7.0--y.y.y.sql diff --git a/Makefile b/Makefile index 2d2912571..394951ca0 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ MODULE_big = age -age_sql = age--1.6.0.sql +age_sql = age--1.7.0.sql OBJS = src/backend/age.o \ src/backend/catalog/ag_catalog.o \ diff --git a/README.md b/README.md index c886b63d7..f4b80fb65 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@   - +   @@ -125,7 +125,7 @@ Apache AGE is intended to be simple to install and run. It can be installed with  Install PostgreSQL -You will need to install an AGE compatible version of Postgres, for now AGE supports Postgres 11, 12, 13, 14, 15, 16 & 17. Supporting the latest versions is on AGE roadmap. +You will need to install an AGE compatible version of Postgres, for now AGE supports Postgres 11, 12, 13, 14, 15, 16, 17 & 18. Supporting the latest versions is on AGE roadmap.

 Installation via Package Manager @@ -152,7 +152,7 @@ You can download the Postgres Clone the github repository or download the download an official release. -Run the pg_config utility and check the version of PostgreSQL. Currently, only PostgreSQL versions 11, 12, 13, 14, 15, 16 & 17 are supported. If you have any other version of Postgres, you will need to install PostgreSQL version 11, 12, 13, 14, 15, 16 & 17. +Run the pg_config utility and check the version of PostgreSQL. Currently, only PostgreSQL versions 11, 12, 13, 14, 15, 16, 17 & 18 are supported. If you have any other version of Postgres, you will need to install PostgreSQL version 11, 12, 13, 14, 15, 16, 17 & 18.
```bash diff --git a/RELEASE b/RELEASE index 02c68dd4c..6b42ba553 100644 --- a/RELEASE +++ b/RELEASE @@ -15,96 +15,42 @@ # specific language governing permissions and limitations # under the License. +Release Notes for Apache AGE release 1.7.0 for PG17 branch + # -# Please note that, as Apache AGE 1.6.0 for PostgreSQL 17 is -# new, there isn't an upgrade script. +# WARNING! +# +# Please note the upgrade script (age--1.6.0--1.7.0.sql) may take a while to +# complete for large graphs, due to creation of indexes for existing labels. +# +# WARNING! # -Release Notes for Apache AGE release 1.6.0 for PG17 branch - -Apache AGE 1.6.0 - Release Notes +Apache AGE 1.7.0 - Release Notes - Fix issue 2205: left doesn't catch overflow (#2207) - Fix issue 2201: unexpected empty string behavior (#2203) - Add support for operators in cypher query (#2172) - Reimplement list comprehension (#2169) - Update labeler.yml (#2186) - Fix issue with the CI build and labeler (#2183) - Fix CSV import for edge with one property (#2175) - Remove stale bot and update .asf.yaml settings (#2171) - Prevent object access hook from accesing not installed namespace (#2161) - Fix CI build errors caused by missing dependencies (#2163) - Add support for external extensions (#2088) - Fix issue 2093: pfree() called with a NULL pointer (#2095) - Fix issue 1955 - List comprehension in WHERE clause (#2094) - Add support for fuzzystrmatch and other external extensions (#2083) - Fix memory leaks in functions part 1 (#2066) - Issue 1996 - Add agtype to json typecast (#2075) - Fix issue 2046: Memory leak during btree(agtype) (#2060) - Refactor Dockerfile to use multi-stage builds (#2004) - Revamp age csv loader (#2044) - Fix issue 2020: Memory leak (#2028) - Fix Issue 1907: SET on MERGE not storing edge properties (#2019) - Add EmitWarningsOnPlaceholders("age") (#1997) - Fix Issue 1988: How to update a property which is a keyword (#2005) - Fix obsolete docker-compose command in CIs (#2007) - Fix issue 1986: Failure creating label name close to MAX_LABEL_NAME_LEN (#1989) - Fix issue 1953 - PG Boolean used as AGTYPE object (#1959) - Add graph_exists function (#1958) - Fix issue 1956 - null key name passed. (#1957) - docs: add link to .NET open-source driver (#1938) - Add the `load_from_plugins` parameter in the Python driver to load AGE from the $libdir/plugins directory (#1935) - Fix issue 1910: Server crashes when using exists(vle path) (#1924) - Converted single line comments to multiline (#1908) - Add function is_valid_label_name (#1911) (#1912) - Fixes small typos in the python driver's README.md file (#1909) - Fix agtype_build_map to allow more than 50 pairs (#1901) - Agtype hash cmp (#1893) - Order some regression tests for stability on big-endian (#1892) - Update github stale action (#1891) - Make CALL YIELD grammar more precise (#1852) - Fix issue 1878 - Regression test failure with delete global graphs (#1881) - Corrected typos and grammatical errors in apache-age-basic.ipynb (#879) - Add workflow for stale issues and PRs (#1872) - Implement Returnless Unions in Subqueries (#1803) - [CI] Update docker image tags (#1865) - Add branch protection rules in .asf.yaml (#1854) - [CI] Update labeler github action (#1851) - Fix error using list comprehension with WITH * (#1838) - python driver psycopg3 (#1793) - Minor VLE and agtype_eq/ne performance updates (#1808) - Fix issue 1767: CREATE TABLE AS SELECT * FROM cypher, errors (#1799) - Implement Constraints on Subqueries (#1751) - Fix connection string in Python Driver (#1757) - Added integer conversion in toBoolean functions (#1199) - Update README.md (#1756) - Add the command graph_stats and improve VLE messaging for load (#1750) - Add helpful messages to the VLE subsystem (#1742) - Update README.md (#1728) - Added Networkx Support in python driver (#1716) - Remove duplicate check (#1740) - Fix Issue 1709 - MERGE creates incomplete vertices after the first one (#1721) - Fix shift/reduce conflict in grammar (#1719) - Fix Issue 1691 - MERGE incorrectly creates multiple vertices (#1718) - Implement map projection (#1710) - Add hooks for multi-arch builds on dockerhub (#1683) - Sample code for AGE-JDBC driver (#390) - Allow agtype_build_map to use AGTYPE keys (#1666) - Implement EXISTS Subquery (#1562) - Fix Issue 1634: Setting all properties with map object causes error (#1637) - Fix Issue 1630: MERGE using array not working in some cases (#1636) - Implement list comprehension (#1610) - Update Go installation and add in parser files (#1582) - Add optional parameter '=' in property constraints (#1516) - Fix unsorted output of some queries in the cypher_match test (#1507) - Update age_load to make property value conversion optional (#1525) - Update the Go driver documentation, Linux installer, and CI (#1527) - Fix json serialization error in Python Driver (#1228) - Add template for upgrading between versions of Apache AGE (#1506) - Update age_load to load scalar property values with appropriate type (#1519) - Fix apache#1513 - Invalid variable reuse in CREATE and MERGE clause (#1515) - Clean up #included files in src/include directories (#1518) - Bump gopkg.in/yaml.v3 in /drivers/golang (#1202) - Clean up #included files in catalog & commands directories (#1514) - Clean up #included files in nodes, executor, & optimizer directories (#1509) - Correct cleanup of age--x.x.x.sql files (#1505) +Fix upgrade script for 1.6.0 to 1.7.0 (#2320) +Add RLS support and fix permission checks (#2309) +Replace libcsv with pg COPY for csv loading (#2310) +Fix Issue 1884: Ambiguous column reference (#2306) +Upgrade Jest to v29 for node: protocol compatibility (#2307) +Optimize vertex/edge field access with direct array indexing (#2302) +feat: Add 32-bit platform support for graphid type (#2286) +Fix and improve index.sql addendum (#2301) +Fix and improve index.sql regression test coverage (#2300) +Fix Issue 2289: handle empty list in IN expression (#2294) +Revise README for Python driver updates (#2298) +Makefile: fix race condition on cypher_gram_def.h (#2273) +Restrict age_load commands (#2274) +Migrate python driver configuration to pyproject.toml (#2272) +Convert string to raw string to remove invalid escape sequence warning (#2267) +Update grammar file for maintainability (#2270) +Fix ORDER BY alias resolution with AS in Cypher queries (#2269) +Fix possible memory and file descriptors leaks (#2258) +Adjust 'could not find rte for' ERROR message (#2266) +Fix Issue 2256: segmentation fault when calling coalesce function (#2259) +Add index on id columns (#2117) +Fix issue 2245 - Creating more than 41 vlabels causes crash in drop_graph (#2248) +Fix issue 2243 - Regression in string concatenation (#2244) +Add fast functions for checking edge uniqueness (#2227) +Bump gopkg.in/yaml.v3 from 3.0.0 to 3.0.1 in /drivers/golang (#2212) +Fix issue with CALL/YIELD for user defined and qualified functions. (#2217) diff --git a/age--1.6.0--y.y.y.sql b/age--1.6.0--1.7.0.sql similarity index 92% rename from age--1.6.0--y.y.y.sql rename to age--1.6.0--1.7.0.sql index c5a31b373..768cb6f1b 100644 --- a/age--1.6.0--y.y.y.sql +++ b/age--1.6.0--1.7.0.sql @@ -17,19 +17,11 @@ * under the License. */ ---* This is a TEMPLATE for upgrading from the previous version of Apache AGE ---* Please adjust the below ALTER EXTENSION to reflect the -- correct version it ---* is upgrading to. - -- This will only work within a major version of PostgreSQL, not across -- major versions. -- complain if script is sourced in psql, rather than via CREATE EXTENSION -\echo Use "ALTER EXTENSION age UPDATE TO '1.X.0'" to load this file. \quit - ---* Please add all additions, deletions, and modifications to the end of this ---* file. We need to keep the order of these changes. ---* REMOVE ALL LINES ABOVE, and this one, that start with --* +\echo Use "ALTER EXTENSION age UPDATE TO '1.7.0'" to load this file. \quit CREATE FUNCTION ag_catalog._ag_enforce_edge_uniqueness2(graphid, graphid) RETURNS bool diff --git a/age--1.7.0--y.y.y.sql b/age--1.7.0--y.y.y.sql new file mode 100644 index 000000000..c95bb0002 --- /dev/null +++ b/age--1.7.0--y.y.y.sql @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +--* This is a TEMPLATE for upgrading from the previous version of Apache AGE +--* Please adjust the below ALTER EXTENSION to reflect the -- correct version it +--* is upgrading to. + +-- This will only work within a major version of PostgreSQL, not across +-- major versions. + +-- complain if script is sourced in psql, rather than via CREATE EXTENSION +\echo Use "ALTER EXTENSION age UPDATE TO '1.X.0'" to load this file. \quit + +--* Please add all additions, deletions, and modifications to the end of this +--* file. We need to keep the order of these changes. +--* REMOVE ALL LINES ABOVE, and this one, that start with --* diff --git a/age.control b/age.control index 8bd40360f..57f9fbc12 100644 --- a/age.control +++ b/age.control @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -default_version = '1.6.0' +default_version = '1.7.0' comment = 'AGE database extension' module_pathname = '$libdir/age' diff --git a/docker/Dockerfile b/docker/Dockerfile index 0436dc8f9..ec6c215a3 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -49,7 +49,7 @@ ENV LC_COLLATE=en_US.UTF-8 ENV LC_CTYPE=en_US.UTF-8 COPY --from=build /usr/lib/postgresql/17/lib/age.so /usr/lib/postgresql/17/lib/ -COPY --from=build /usr/share/postgresql/17/extension/age--1.6.0.sql /usr/share/postgresql/17/extension/ +COPY --from=build /usr/share/postgresql/17/extension/age--1.7.0.sql /usr/share/postgresql/17/extension/ COPY --from=build /usr/share/postgresql/17/extension/age.control /usr/share/postgresql/17/extension/ COPY docker/docker-entrypoint-initdb.d/00-create-extension-age.sql /docker-entrypoint-initdb.d/00-create-extension-age.sql