Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions META.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@
"name": "ApacheAGE",
"abstract": "Apache AGE is a PostgreSQL Extension that provides graph database functionality",
"description": "Apache AGE is a PostgreSQL Extension that provides graph database functionality. AGE is an acronym for A Graph Extension, and is inspired by Bitnine's fork of PostgreSQL 10, AgensGraph, which is a multi-model database. The goal of the project is to create single storage that can handle both relational and graph model data so that users can use standard ANSI SQL along with openCypher, the Graph query language. A graph consists of a set of vertices (also called nodes) and edges, where each individual vertex and edge possesses a map of properties. A vertex is the basic object of a graph, that can exist independently of everything else in the graph. An edge creates a directed connection between two vertices. A graph database is simply composed of vertices and edges. This type of database is useful when the meaning is in the relationships between the data. Relational databases can easily handle direct relationships, but indirect relationships are more difficult to deal with in relational databases. A graph database stores relationship information as a first-class entity. Apache AGE gives you the best of both worlds, simultaneously.",
"version": "1.3.0",
"version": "1.8.0",
"maintainer": [
"users@age.apache.org"
],
"license": "apache_2_0",
"provides": {
"ApacheAGE": {
"abstract": "Apache AGE is a PostgreSQL Extension that provides graph database functionality",
"file": "age--1.3.0.sql",
"file": "age--1.8.0.sql",
"docfile": "README.md",
"version": "1.3.0"
"version": "1.8.0"
}
},
"prereqs": {
"runtime": {
"requires": {
"PostgreSQL": "14.0.0"
"PostgreSQL": "18.0.0"
}
}
},
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
</a>
&nbsp;
<a href="https://github.com/apache/age/releases">
<img src="https://img.shields.io/badge/Release-v1.7.0-FFA500?labelColor=gray&style=flat&link=https://github.com/apache/age/releases"/>
<img src="https://img.shields.io/badge/Release-v1.8.0-FFA500?labelColor=gray&style=flat&link=https://github.com/apache/age/releases"/>
Comment thread
jrgemignani marked this conversation as resolved.
</a>
&nbsp;
<a href="https://www.postgresql.org/docs/18/index.html">
Expand Down
110 changes: 78 additions & 32 deletions RELEASE
Original file line number Diff line number Diff line change
Expand Up @@ -15,44 +15,90 @@
# specific language governing permissions and limitations
# under the License.

Release Notes for Apache AGE release 1.7.0 for master branch (currently PG18)
Release Notes for Apache AGE release 1.8.0 for master branch (currently PG18)

#
# 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.
# Always back up your database before executing any upgrade scripts
#
# WARNING!
#

Apache AGE 1.7.0 - Release Notes

Master to PostgreSQL version 18 (#2315)
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)
Update branch security (#2219)
Fix issue with CALL/YIELD for user defined and qualified functions. (#2217)
Apache AGE 1.8.0 - Release Notes

Fix installcheck fetch-depth parameter to 100 (#2461)
Fix segfault on CREATE/MERGE/SET with generated or extra label columns (#2458)
Propagate null through unnest and single() three-valued logic (#2406)
Add automatic header-dependency tracking to the Makefile (#2454)
ci: pin Build/Regression runner to ubuntu-24.04 and guard Bison version for GLR grammar (#2445)
Fix segfault and out-of-bounds reads in file loaders on malformed rows (#2453)
Support outer references in reduce() fold bodies (#2448)
Fix stack overflow and precision loss in toFloatList() conversion (#2451)
Fix Node.js driver CI build broken by @types/node drift (#2452)
Preserve null-valued keys in map literals (#2391) (#2412)
Fix single-node labeled pattern expressions not filtering by label (#2443) (#2444)
Support relationship-type filters and a minimum hop count (#2442)
resolve subgraph staging sequences via regclass (#2446)
Add reduce() list folding function (#2435)
Support pattern expressions as boolean expressions (#2360)
Add shortest_path / all_shortest_paths SRFs (#2430)
cypher_with: add ORDER BY to non-deterministic RETURN queries (#2436)
Make ag_catalog ownership and built-in resolution explicit (#2440)
Makefile: add installcheck-existing target and improve readability (#2437)
age_global_graph: stabilize regression tests (#2431)
cypher_vle: add ORDER BY to non-deterministic RETURN queries (#2434)
feature: add create_subgraph() (#2441)
Make age extension usable from shared_preload_libraries (#2438)
Fix locale-dependent string comparison in direct_field_access test (#2439)
Fix VLE [*0..N] zero-hop self-binding when edge label is missing (#2382) (#2419)
fix: remove pthread_mutex that causes self-deadlock on VLE queries (#2433)
Restore contsel/contjoinsel for containment & key-existence operators (#2356) (#2417)
perf: VLE hash-adjacency overhaul — agehash + flat-array VertexEdgeArray (#2421)
python driver: preserve trailing quotes in agtype string values (#2425)
perf(agtype): arena passthrough + binary-direct id extraction (#2424)
Add vertex and edge composite types with direct field access optimization (#2303)
perf: VLE terminal-qual rewrite (#2420)
Add agtype <-> jsonb bidirectional casts (#350) (#2361)
feat(python-driver): add public API for connection pooling and model dict conversion (#2374)
Fix upgrade test: allow function removal (#2422)
Zero-initialize parent_cpstate in analyze_cypher (#2423)
Fix upgrade test: replace data-integrity checks with catalog comparison (#2403)
Allow safe Cypher reserved keywords in alias positions (#2355) (#2415)
Propagate null through agtype arithmetic operators (#2405)
Update README.md (#2414)
Add VLE semantics and cost model design note (#2349) (#2413)
Fix property access on list comprehension / predicate loop variables (#2402)
Add MERGE ON CREATE SET / ON MATCH SET support (#2347)
Propagate null in agtype_access_slice bounds (#2400)
VLE cache + performance improvements (#2376)
CI: fail build on compiler and bison warnings (#2398)
fix(python-driver): add null-guards in ANTLR parser and relax runtime version pin (#2372)
Return an empty list from tail() for empty and singleton lists (#2399)
Fix substring() crash when start-offset is NULL and length is supplied (#2401)
fix(python-driver): quote-escape column aliases in buildCypher() (#2373)
Implement predicate functions: all(), any(), none(), single() (#2359)
Fix OPTIONAL MATCH dropping null-preserving rows with subquery WHERE (#2380)
Python driver: Add `skip_load` parameter to skip `LOAD 'age'` statement (#2366)
Fix upgrade test: build default install SQL from HEAD, not initial commit (#2397)
Improve extension upgrade regression test (addendum to #2364) (#2377)
Add missing include for PR: Add index scan (#2351) (#2379)
Add index scan (#2351)
Fix MATCH on brand-new label after CREATE returning 0 rows (#2341)
Fix nondeterministic age_global_graph regression test (#2365)
Add extension upgrade template regression test (#2364)
Fix crash in PREPARE with property parameter when enable_containment is off (#2339)
Fix entity_exists() CID visibility for CREATE + WITH + MERGE (#2343)
Support doubled-quote escaping in Cypher string literals (issue #2222) (#2342)
Fix MATCH after CREATE returning 0 rows (issue #2308) (#2340)
Fix chained MERGE not seeing sibling MERGE's changes (#1446) (#2344)
Fix VLE queries failing on read-only replicas (#2160) (#2345)
Fix VLE NULL handling for chained OPTIONAL MATCH (#2337)
fix incorrect variable assignment (#2336)
Remove labeler github action (#2335)
Fix ISO C90 forbids mixed declarations and code warning (#2334)
Fix null pointer handling in array iteration (#2313)
Fix security vulnerabilities in Node.js driver (#2329)
Update python-driver security and formatting (#2330)
Fix JDBC driver CI test failures (#2333)
Add pg_upgrade support functions for PostgreSQL (#2326)
10 changes: 1 addition & 9 deletions age--1.7.0--y.y.y.sql → age--1.7.0--1.8.0.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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.8.0'" to load this file. \quit

--
-- pg_upgrade support functions
Expand Down
35 changes: 35 additions & 0 deletions age--1.8.0--y.y.y.sql
Original file line number Diff line number Diff line change
@@ -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 will only work within a major version of PostgreSQL, not across
-- major versions.

--* 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 --*
2 changes: 1 addition & 1 deletion age.control
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.

default_version = '1.7.0'
default_version = '1.8.0'
comment = 'AGE database extension'
module_pathname = '$libdir/age'

Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ ENV LC_COLLATE=en_US.UTF-8
ENV LC_CTYPE=en_US.UTF-8

COPY --from=build /usr/lib/postgresql/18/lib/age.so /usr/lib/postgresql/18/lib/
COPY --from=build /usr/share/postgresql/18/extension/age--1.7.0.sql /usr/share/postgresql/18/extension/
COPY --from=build /usr/share/postgresql/18/extension/age--1.8.0.sql /usr/share/postgresql/18/extension/
COPY --from=build /usr/share/postgresql/18/extension/age.control /usr/share/postgresql/18/extension/
Comment thread
jrgemignani marked this conversation as resolved.
COPY docker/docker-entrypoint-initdb.d/00-create-extension-age.sql /docker-entrypoint-initdb.d/00-create-extension-age.sql

Expand Down
Loading