This is an automated email from the ASF dual-hosted git repository. mtaha pushed a commit to branch PG16 in repository https://gitbox.apache.org/repos/asf/age.git
The following commit(s) were added to refs/heads/PG16 by this push: new 2db2f060 Advance PG16 branch to Apache AGE version 1.6.0 (#2196) (#2213) 2db2f060 is described below commit 2db2f060c4c9265a14d40f007eb8c56febf31e4c Author: John Gemignani <jrgemign...@gmail.com> AuthorDate: Thu Sep 4 08:54:34 2025 -0700 Advance PG16 branch to Apache AGE version 1.6.0 (#2196) (#2213) Updated the following files to advance the Apache AGE version to 1.6.0 in the PG16 branch. modified: Makefile modified: README.md modified: RELEASE modified: age.control modified: docker/Dockerfile renamed: age--1.5.0--y.y.y.sql -> age--1.5.0--1.6.0.sql modified: age--1.5.0--y.y.y.sql new file: age--1.6.0--y.y.y.sql Conflicts: docker/Dockerfile --- Makefile | 2 +- README.md | 2 +- RELEASE | 156 +++++++++++++++---------- age--1.5.0--y.y.y.sql => age--1.5.0--1.6.0.sql | 25 ++-- age--1.6.0--y.y.y.sql | 35 ++++++ age.control | 2 +- docker/Dockerfile | 2 +- 7 files changed, 152 insertions(+), 72 deletions(-) diff --git a/Makefile b/Makefile index c0a84783..3e73f3e6 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ MODULE_big = age -age_sql = age--1.5.0.sql +age_sql = age--1.6.0.sql OBJS = src/backend/age.o \ src/backend/catalog/ag_catalog.o \ diff --git a/README.md b/README.md index 15a2e9f9..b12acb57 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ </a> <a href="https://github.com/apache/age/releases"> - <img src="https://img.shields.io/badge/Release-v1.5.0-FFA500?labelColor=gray&style=flat&link=https://github.com/apache/age/releases"/> + <img src="https://img.shields.io/badge/Release-v1.6.0-FFA500?labelColor=gray&style=flat&link=https://github.com/apache/age/releases"/> </a> <a href="https://www.postgresql.org/docs/16/index.html"> diff --git a/RELEASE b/RELEASE index c984b758..99e1491f 100644 --- a/RELEASE +++ b/RELEASE @@ -15,65 +15,103 @@ # specific language governing permissions and limitations # under the License. -Release Notes for Apache AGE release 1.5.0 for PostgreSQL version 16 +Release Notes for Apache AGE release 1.6.0 for PostgreSQL version 16 -Apache AGE 1.5.0 - Release Notes +# +# WARNING! +# +# Since there are modifications to agtype gin operators, users who are +# upgrading will need to drop the gin indexes before running the upgrade +# script and recreate them afterwards. +# +# As always, please backup your database prior to any upgrade. +# +# WARNING! +# -NOTE: This is an initial release of Apache AGE for PostgreSQL version - 16. There are no upgrade scripts to this release. +Apache AGE 1.6.0 - Release Notes -Add additional index support and performance enhancements (#1232) -Add an additional way to find a previous variable ref (#1450) -Add auto apply labeler workflow for PRs (#1161) -Add checks for array functions to recognize and decode VPC (#1064) -Add concat || operator to agtype (#1198) -Add exist(?, ?|, ?&) operators for agtype (#1218) -Add missing dependency in cypher_expr.c (#1256) -Add path extraction(#>, #>>)operators to agtype (#1224) -Add support for chained expressions in CASE (#1431) -Clean up agtype_to_int8, agtype_to_int4, & agtype_to_int2 (#1354) -Clean up #included files in parser directory (#1465) -Converted SQL main file into multiple files. (#1401) -docs: Add to Docker setup (#1204) -Extend access(->, ->>), addition and subtraction operators (#1258) -Extend agtype containment operators (@>, <@) (#1285) -Extend EXPLAIN and add config param to switch transformation of property filter (#1262) -Fix ambiguous conditions (#1373) -Fix Docker file to reflect PostgreSQL version 15 (#1449) -Fix DockerHub warning messages for latest (#1380) -Fix issue #1045 - error using path var in WHERE (#1295) -Fix Issue #1159 - Server terminates for SET plus-equal (#1160) -Fix issue #1219 - MERGE not seeing previous clause var (#1441) -Fix issue #1302 - crash on NULL input to UNWIND (#1304) -Fix issue #1303: Server crashes on executing SELECT * FROM agtype(null); (#1317) -Fix Issue #1305 - drop_label NULL cases (#1306) -Fix Issue #1329 - agtype_to_int4 crash (#1339) -Fix issue #1347 - unknow type of agtype container 0 (#1349) -Fix issue #1389 - Server crash on using null operand for access operators (#1390) -Fix issue #1393 - previous clause variables not seen with EXISTS (#1426) -Fix issue #1398 - SET followed by DELETE does not delete (#1412) -Fix issue #1399 EXISTS doesn't handle non-existent labels (#1400) -Fix Issue #945 - incorrect count(*) return values (#1288) -Fix typo in agtype_raw.h header guard (#1368) -Implement chained expression order of operations (#1402) -Implemented age_tail function (#1283) -Implemented the toBooleanList() function (#1014) -Implement EXISTS subquery for CASE (#1345) -Master to PostgreSQL version 16 (#1451) -Minor fix in `agtype_volatile_wrapper` function (#1172) -Modify COUNT() to output agtype (#1311) -Optimize performance of detach delete (#1271) -Optimize vertex and edge builder functions (#1252) -py_driver : optimised Antlr4ResultHandler to improve time (#1107) -Refactor Regression Tests for CASE statement (#1268) -Refactor the IN operator to use '= ANY()' syntax (#1236) -Removed unnecessary assignment (#1185) -Remove redundant job from CIs (#1473) -Remove unnecessary #include in src/backend/utils -Updated age.control. -Updated files, format, and version information. -Updated Makefile. -Updated RELEASE. -Update Discord channel in README.md (#1253) -Update README.md file for PostgreSQL version 16 support (#1463) -Update the Python Driver (#1246) + 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) diff --git a/age--1.5.0--y.y.y.sql b/age--1.5.0--1.6.0.sql similarity index 93% rename from age--1.5.0--y.y.y.sql rename to age--1.5.0--1.6.0.sql index 5c33bec7..48e8c832 100644 --- a/age--1.5.0--y.y.y.sql +++ b/age--1.5.0--1.6.0.sql @@ -17,16 +17,23 @@ * under the License. */ --- This is a template for upgrading from the previous version of Apache AGE --- It will only work within versions of PostgreSQL, not across. --- 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.4.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. +\echo Use "ALTER EXTENSION age UPDATE TO '1.6.0'" to load this file. \quit + +-- +-- WARNING! +-- +-- Since there are modifications to agtype gin operators, users who are +-- upgrading will have to drop the gin indexes before running this script and +-- recreate them afterwards. +-- +-- As always, please backup your database prior to any upgrade. +-- +-- WARNING! +-- CREATE FUNCTION ag_catalog.agtype_contains_top_level(agtype, agtype) RETURNS boolean @@ -64,7 +71,7 @@ CREATE OPERATOR <<@ ( /* * We have to drop and recreate the operators, because - * commutator is not modifiable using ALTER OPERATOR. + * commutator is not modifiable using ALTER OPERATOR. */ ALTER EXTENSION age DROP OPERATOR ? (agtype, agtype); diff --git a/age--1.6.0--y.y.y.sql b/age--1.6.0--y.y.y.sql new file mode 100644 index 00000000..50b03458 --- /dev/null +++ b/age--1.6.0--y.y.y.sql @@ -0,0 +1,35 @@ +/* + * 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. + +-- As always, please backup your database prior to any upgrade. + +-- 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 d82a479a..8bd40360 100644 --- a/age.control +++ b/age.control @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -default_version = '1.5.0' +default_version = '1.6.0' comment = 'AGE database extension' module_pathname = '$libdir/age' diff --git a/docker/Dockerfile b/docker/Dockerfile index 33607058..381a94cf 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/16/lib/age.so /usr/lib/postgresql/16/lib/ -COPY --from=build /usr/share/postgresql/16/extension/age--1.5.0.sql /usr/share/postgresql/16/extension/ +COPY --from=build /usr/share/postgresql/16/extension/age--1.6.0.sql /usr/share/postgresql/16/extension/ COPY --from=build /usr/share/postgresql/16/extension/age.control /usr/share/postgresql/16/extension/ COPY docker/docker-entrypoint-initdb.d/00-create-extension-age.sql /docker-entrypoint-initdb.d/00-create-extension-age.sql