This is an automated email from the ASF dual-hosted git repository.

gregfelice pushed a change to branch PG18
in repository https://gitbox.apache.org/repos/asf/age.git


    from 806fa2eb Advance PG18 branch to Apache AGE version 1.7.0 (#2317)
     add 571c1982 Fix issue 2245 - Creating more than 41 vlabels causes crash 
in drop_graph (#2248)
     add 5aed9ecc Add index on id columns (#2117)
     add 26f748c4 Fix Issue 2256: segmentation fault when calling coalesce 
function (#2259)
     add fa9973aa Adjust 'could not find rte for' ERROR message (#2266)
     add 0ea94644 Fix possible memory and file descriptors leaks (#2258)
     add 898481a8 Fix ORDER BY alias resolution with AS in Cypher queries 
(#2269)
     add 91de779a Update grammar file for maintainability (#2270)
     add 1bb95bf6 Convert string to raw string to remove invalid escape 
sequence warning (#2267)
     add 838926cc Migrate python driver configuration to pyproject.toml (#2272)
     add 48fca83d Restrict age_load commands (#2274)
     add dd6deb70 Makefile: fix race condition on cypher_gram_def.h (#2273)
     add 4eeceab2 Revise README for Python driver updates (#2298)
     add 2e8f7ab9 Fix Issue 2289: handle empty list in IN expression (#2294)
     add 7beb6533 Fix and improve index.sql regression test coverage (#2300)
     add a1f472d6 Fix and improve index.sql addendum (#2301)
     add c979380e feat: Add 32-bit platform support for graphid type (#2286)
     add b9d09828 Optimize vertex/edge field access with direct array indexing 
(#2302)
     add 8bdeec54 Upgrade Jest to v29 for node: protocol compatibility (#2307)
     add 56a92d8c Fix Issue 1884: Ambiguous column reference (#2306)
     add b29ca5e7 Replace libcsv with pg COPY for csv loading (#2310)
     add 1702ae07 Add RLS support and fix permission checks (#2309)
     add b3219fd4 Master to PostgreSQL version 18 (#2315)
     add 6287af85 Fix upgrade script for 1.6.0 to 1.7.0 (#2320)
     add 858747c7 Advance master branch to Apache AGE version 1.7.0 (#2316)
     add 5fe2121a Add pg_upgrade support functions for PostgreSQL (#2326)
     add 887564d9 Fix JDBC driver CI test failures (#2333)
     add 5f5b744a Update python-driver security and formatting (#2330)
     add 77a16ece Fix security vulnerabilities in Node.js driver (#2329)
     add 0c9a5278 Fix null pointer handling in array iteration (#2313)
     add fa91350b Fix ISO C90 forbids mixed declarations and code warning 
(#2334)
     add 3c4d9cc7 Remove labeler github action (#2335)
     add 55476ad2 fix incorrect variable assignment (#2336)
     add 5005c21e Fix VLE NULL handling for chained OPTIONAL MATCH (#2337)
     add 346f3194 Fix VLE queries failing on read-only replicas (#2160) (#2345)
     add 20ada845 Fix chained MERGE not seeing sibling MERGE's changes (#1446) 
(#2344)
     add 217467a3 Fix MATCH after CREATE returning 0 rows (issue #2308) (#2340)
     add a21120bf Support doubled-quote escaping in Cypher string literals 
(issue #2222) (#2342)
     add d0741d8d Fix entity_exists() CID visibility for CREATE + WITH + MERGE 
(#2343)
     add 23146a44 Fix crash in PREPARE with property parameter when 
enable_containment is off (#2339)
     add 90c33eb6 Add extension upgrade template regression test (#2364)
     add a29e2810 Fix nondeterministic age_global_graph regression test (#2365)
     add d6f1b7f6 Fix MATCH on brand-new label after CREATE returning 0 rows 
(#2341)
     add b3a00eea Add index scan (#2351)
     add 945a259d Add missing include for PR: Add index scan (#2351) (#2379)
     add 1847644c Improve extension upgrade regression test (addendum to #2364) 
(#2377)
     add f1a9b1d9 Fix upgrade test: build default install SQL from HEAD, not 
initial commit (#2397)
     add ce500459 Python driver: Add `skip_load` parameter to skip `LOAD 'age'` 
statement (#2366)
     add 15030a03 Fix OPTIONAL MATCH dropping null-preserving rows with 
subquery WHERE (#2380)
     add 4f9db377 Implement predicate functions: all(), any(), none(), single() 
(#2359)
     add bdc8b6dd fix(python-driver): quote-escape column aliases in 
buildCypher() (#2373)
     add 6c408386 Fix substring() crash when start-offset is NULL and length is 
supplied (#2401)
     add 908d7b29 Return an empty list from tail() for empty and singleton 
lists (#2399)
     add 26bd4f4d fix(python-driver): add null-guards in ANTLR parser and relax 
runtime version pin (#2372)
     add ee25e2a3 CI: fail build on compiler and bison warnings (#2398)
     add 798917c2 VLE cache + performance improvements (#2376)
     add 6f520fed Propagate null in agtype_access_slice bounds (#2400)
     add 84e29542 Add MERGE ON CREATE SET / ON MATCH SET support (#2347)
     add 5a740487 Fix property access on list comprehension / predicate loop 
variables (#2402)
     add 9f9d0f3b Add VLE semantics and cost model design note (#2349) (#2413)
     add 22f4c94f Update README.md (#2414)
     add 774e781b Propagate null through agtype arithmetic operators (#2405)
     add ff47828b Allow safe Cypher reserved keywords in alias positions 
(#2355) (#2415)
     add 54e19fac Fix upgrade test: replace data-integrity checks with catalog 
comparison (#2403)
     add e9ef30b1 Zero-initialize parent_cpstate in analyze_cypher (#2423)
     add a1b749af Fix upgrade test: allow function removal (#2422)
     add 01ee9414 feat(python-driver): add public API for connection pooling 
and model dict conversion (#2374)
     add 9960e9c6 Add agtype <-> jsonb bidirectional casts (#350) (#2361)
     add f02eda0e perf: VLE terminal-qual rewrite (#2420)
     add 5ef7d6d5 Add vertex and edge composite types with direct field access 
optimization (#2303)
     add 795a881d perf(agtype): arena passthrough + binary-direct id extraction 
(#2424)
     add 5a254d68 python driver: preserve trailing quotes in agtype string 
values (#2425)
     add 73d0705e perf: VLE hash-adjacency overhaul — agehash + flat-array 
VertexEdgeArray (#2421)
     add 639c8d5a Restore contsel/contjoinsel for containment & key-existence 
operators (#2356) (#2417)
     add 23cbe57a fix: remove pthread_mutex that causes self-deadlock on VLE 
queries (#2433)
     add 12e2a31c Fix VLE [*0..N] zero-hop self-binding when edge label is 
missing (#2382) (#2419)
     add 14732bfa Fix locale-dependent string comparison in direct_field_access 
test (#2439)
     add a17bf457 Make age extension usable from shared_preload_libraries 
(#2438)
     add 310dc3f6 feature: add create_subgraph() (#2441)
     add 932d26f2 cypher_vle: add ORDER BY to non-deterministic RETURN queries 
(#2434)
     add 34483efa age_global_graph: stabilize regression tests (#2431)
     add 581d236e Makefile: add installcheck-existing target and improve 
readability (#2437)
     add 01ea79de Make ag_catalog ownership and built-in resolution explicit 
(#2440)
     add 3cc74a4f cypher_with: add ORDER BY to non-deterministic RETURN queries 
(#2436)
     add 5abb02f8 Add shortest_path / all_shortest_paths SRFs (#2430)
     add 2bc8e95f Support pattern expressions as boolean expressions (#2360)
     add 92e48e9b Add reduce() list folding function (#2435)
     add ce073ef0 resolve subgraph staging sequences via regclass (#2446)
     add 08da2ced Support relationship-type filters and a minimum hop count 
(#2442)
     add fe48740d Fix single-node labeled pattern expressions not filtering by 
label (#2443) (#2444)
     add 54668e1b Preserve null-valued keys in map literals (#2391) (#2412)
     add 51376713 Fix Node.js driver CI build broken by @types/node drift 
(#2452)
     add fafdaa1c Fix stack overflow and precision loss in toFloatList() 
conversion (#2451)
     add 7bfeb24c Support outer references in reduce() fold bodies (#2448)
     add 09fce2ce Fix segfault and out-of-bounds reads in file loaders on 
malformed rows (#2453)
     add c1617a26 ci: pin Build/Regression runner to ubuntu-24.04 and guard 
Bison version for GLR grammar (#2445)
     add d84b4578 Add automatic header-dependency tracking to the Makefile 
(#2454)
     add 39273ca8 Propagate null through unnest and single() three-valued logic 
(#2406)
     add 53ecacf8 Fix segfault on CREATE/MERGE/SET with generated or extra 
label columns (#2458)
     add fef54700 Fix installcheck fetch-depth parameter to 100 (#2461)
     add 9fb7df8c Advance master branch to Apache AGE version 1.8.0 (#2455)
     add f4798d33 Merge master into PG18: advance to Apache AGE 1.8.0

No new revisions were added by this update.

Summary of changes:
 .github/labeler.yml                                |   26 -
 .github/workflows/installcheck.yaml                |   32 +-
 .github/workflows/labeler.yml                      |   31 -
 .github/workflows/nodejs-driver.yaml               |    4 +-
 .github/workflows/python-driver.yaml               |    5 +-
 .gitignore                                         |    2 +
 META.json                                          |    8 +-
 Makefile                                           |  297 ++-
 README.md                                          |  110 +-
 RELEASE                                            |  119 +-
 age--1.6.0--1.7.0.sql                              |  142 ++
 age--1.7.0--1.8.0.sql                              | 1120 +++++++++++
 age--1.7.0--y.y.y.sql => age--1.8.0--y.y.y.sql     |    3 +
 age.control                                        |    2 +-
 docker/Dockerfile                                  |    2 +-
 drivers/jdbc/lib/build.gradle.kts                  |    6 +-
 .../org/apache/age/jdbc/BaseDockerizedTest.java    |   19 +-
 drivers/nodejs/package.json                        |    3 +-
 drivers/nodejs/src/antlr4/CustomAgTypeListener.ts  |    6 +-
 drivers/nodejs/src/index.ts                        |  301 ++-
 drivers/nodejs/test/Agtype.test.ts                 |   27 +
 drivers/nodejs/test/index.test.ts                  |  285 ++-
 drivers/python/README.md                           |   20 +-
 drivers/python/age/VERSION.py                      |   44 +-
 drivers/python/age/__init__.py                     |   81 +-
 drivers/python/age/age.py                          |  693 ++++---
 drivers/python/age/builder.py                      |  462 +++--
 drivers/python/age/exceptions.py                   |   59 +-
 drivers/python/age/gen/AgtypeLexer.py              |    7 +-
 drivers/python/age/gen/AgtypeListener.py           |    7 +-
 drivers/python/age/gen/AgtypeParser.py             |    7 +-
 drivers/python/age/gen/AgtypeVisitor.py            |    7 +-
 drivers/python/age/models.py                       |  626 +++---
 drivers/python/age/networkx/lib.py                 |   97 +-
 drivers/python/pyproject.toml                      |    7 +-
 drivers/python/requirements.txt                    |  Bin 176 -> 64 bytes
 drivers/python/setup.py                            |   44 +-
 drivers/python/test_age_py.py                      |  380 +++-
 drivers/python/test_agtypes.py                     |  454 +++--
 drivers/python/test_networkx.py                    |    2 +-
 drivers/python/test_security.py                    |  274 +++
 regress/age_load/data/bad_delim_edges.csv          |    2 +
 regress/age_load/data/edges_long_row.csv           |    2 +
 regress/age_load/data/edges_short_row.csv          |    2 +
 regress/age_load/data/labels_long_row.csv          |    2 +
 regress/expected/age_global_graph.out              |  366 +++-
 regress/expected/age_load.out                      |   57 +
 regress/expected/age_reduce.out                    |  850 ++++++++
 regress/expected/age_shortest_path.out             | 1729 ++++++++++++++++
 regress/expected/age_upgrade.out                   |  579 ++++++
 regress/expected/agehash.out                       |   14 +
 regress/expected/agtype.out                        |  140 +-
 regress/expected/agtype_jsonb_cast.out             |  261 +++
 regress/expected/containment_selectivity.out       |  245 +++
 regress/expected/cypher_match.out                  |  479 ++++-
 regress/expected/cypher_merge.out                  |  552 +++++
 regress/expected/cypher_vle.out                    |  364 +++-
 regress/expected/cypher_with.out                   |  337 +++-
 regress/expected/direct_field_access.out           |    2 +-
 regress/expected/drop.out                          |   12 +-
 regress/expected/expr.out                          | 1378 ++++++++++++-
 regress/expected/extension_security.out            |   99 +
 regress/expected/generated_columns.out             |  222 +++
 regress/expected/list_comprehension.out            |  125 +-
 regress/expected/pattern_expression.out            |  513 +++++
 regress/expected/pgvector.out                      |    4 +-
 regress/expected/predicate_functions.out           |  641 ++++++
 regress/expected/reserved_keyword_alias.out        |  248 +++
 regress/expected/scan.out                          |   41 +
 regress/expected/subgraph.out                      |  341 ++++
 regress/sql/age_global_graph.sql                   |  238 ++-
 regress/sql/age_load.sql                           |   29 +
 regress/sql/age_reduce.sql                         |  548 +++++
 regress/sql/age_shortest_path.sql                  | 1113 +++++++++++
 regress/sql/age_upgrade.sql                        |  546 +++++
 regress/sql/agehash.sql                            |    9 +
 regress/sql/agtype.sql                             |  100 +-
 regress/sql/agtype_jsonb_cast.sql                  |  137 ++
 regress/sql/containment_selectivity.sql            |  156 ++
 regress/sql/cypher_match.sql                       |  259 ++-
 regress/sql/cypher_merge.sql                       |  299 +++
 regress/sql/cypher_vle.sql                         |  202 +-
 regress/sql/cypher_with.sql                        |  156 +-
 regress/sql/direct_field_access.sql                |    2 +-
 regress/sql/drop.sql                               |    9 +
 regress/sql/expr.sql                               |  466 ++++-
 regress/sql/extension_security.sql                 |   82 +
 regress/sql/generated_columns.sql                  |  129 ++
 regress/sql/list_comprehension.sql                 |   28 +
 regress/sql/pattern_expression.sql                 |  342 ++++
 regress/sql/pgvector.sql                           |    4 +-
 regress/sql/predicate_functions.sql                |  383 ++++
 regress/sql/reserved_keyword_alias.sql             |  102 +
 regress/sql/scan.sql                               |   21 +
 regress/sql/subgraph.sql                           |  189 ++
 sql/age_aggregate.sql                              |   26 +
 sql/age_main.sql                                   |   55 +-
 sql/age_pg_upgrade.sql                             |  487 +++++
 sql/age_scalar.sql                                 |    9 +
 sql/age_subgraph.sql                               |  294 +++
 sql/agtype_coercions.sql                           |   27 +
 sql/agtype_exists.sql                              |   24 +-
 sql/agtype_graphid.sql                             |  180 +-
 sql/agtype_operators.sql                           |   16 +-
 sql/agtype_typecast.sql                            |   62 +-
 sql/sql_files                                      |    2 +
 src/backend/age.c                                  |   43 +
 src/backend/catalog/ag_catalog.c                   |  222 ++-
 src/backend/catalog/ag_label.c                     |  156 +-
 src/backend/commands/label_commands.c              |   62 +-
 src/backend/executor/cypher_create.c               |   12 +-
 src/backend/executor/cypher_delete.c               |  418 ++--
 src/backend/executor/cypher_merge.c                |  343 +++-
 src/backend/executor/cypher_set.c                  |  292 ++-
 src/backend/executor/cypher_utils.c                |  115 +-
 src/backend/nodes/ag_nodes.c                       |    8 +-
 src/backend/nodes/cypher_copyfuncs.c               |   28 +
 src/backend/nodes/cypher_outfuncs.c                |   31 +-
 src/backend/nodes/cypher_readfuncs.c               |   32 +
 src/backend/optimizer/cypher_paths.c               |    8 +
 src/backend/parser/ag_scanner.l                    |   10 +
 src/backend/parser/cypher_analyze.c                |   44 +-
 src/backend/parser/cypher_clause.c                 | 2027 +++++++++++++++++--
 src/backend/parser/cypher_expr.c                   |  414 +++-
 src/backend/parser/cypher_gram.y                   |  490 ++++-
 src/backend/parser/cypher_transform_entity.c       |    1 +
 src/backend/utils/adt/age_global_graph.c           | 1060 +++++++---
 src/backend/utils/adt/age_graphid_ds.c             |   91 +
 src/backend/utils/adt/age_vle.c                    | 2108 ++++++++++++++++----
 src/backend/utils/adt/agtype.c                     | 1236 ++++++++++--
 src/backend/utils/adt/agtype_ext.c                 |   21 +-
 src/backend/utils/adt/agtype_ops.c                 |   42 +
 src/backend/utils/adt/agtype_raw.c                 |   28 +-
 src/backend/utils/adt/agtype_util.c                |  282 ++-
 src/backend/utils/cache/agehash.c                  |  756 +++++++
 src/backend/utils/load/ag_load_edges.c             |   39 +
 src/backend/utils/load/ag_load_labels.c            |   17 +
 src/include/catalog/ag_catalog.h                   |    2 +
 src/include/catalog/ag_label.h                     |    2 +-
 src/include/executor/cypher_utils.h                |   16 +
 src/include/nodes/ag_nodes.h                       |    6 +-
 src/include/nodes/cypher_copyfuncs.h               |    8 +
 src/include/nodes/cypher_nodes.h                   |   46 +
 src/include/nodes/cypher_outfuncs.h                |    2 +
 src/include/nodes/cypher_readfuncs.h               |    6 +
 src/include/parser/cypher_clause.h                 |    9 +
 src/include/parser/cypher_expr.h                   |    5 +
 src/include/parser/cypher_kwlist.h                 |    5 +
 src/include/parser/cypher_transform_entity.h       |   11 +
 src/include/utils/age_global_graph.h               |   61 +-
 src/include/utils/age_graphid_ds.h                 |   25 +
 src/include/utils/agehash.h                        |  216 ++
 src/include/utils/agtype.h                         |   67 +
 153 files changed, 30010 insertions(+), 3072 deletions(-)
 delete mode 100644 .github/labeler.yml
 delete mode 100644 .github/workflows/labeler.yml
 create mode 100644 age--1.6.0--1.7.0.sql
 create mode 100644 age--1.7.0--1.8.0.sql
 rename age--1.7.0--y.y.y.sql => age--1.8.0--y.y.y.sql (93%)
 create mode 100644 drivers/python/test_security.py
 create mode 100644 regress/age_load/data/bad_delim_edges.csv
 create mode 100644 regress/age_load/data/edges_long_row.csv
 create mode 100644 regress/age_load/data/edges_short_row.csv
 create mode 100644 regress/age_load/data/labels_long_row.csv
 create mode 100644 regress/expected/age_reduce.out
 create mode 100644 regress/expected/age_shortest_path.out
 create mode 100644 regress/expected/age_upgrade.out
 create mode 100644 regress/expected/agehash.out
 create mode 100644 regress/expected/agtype_jsonb_cast.out
 create mode 100644 regress/expected/containment_selectivity.out
 create mode 100644 regress/expected/extension_security.out
 create mode 100644 regress/expected/generated_columns.out
 create mode 100644 regress/expected/pattern_expression.out
 create mode 100644 regress/expected/predicate_functions.out
 create mode 100644 regress/expected/reserved_keyword_alias.out
 create mode 100644 regress/expected/subgraph.out
 create mode 100644 regress/sql/age_reduce.sql
 create mode 100644 regress/sql/age_shortest_path.sql
 create mode 100644 regress/sql/age_upgrade.sql
 create mode 100644 regress/sql/agehash.sql
 create mode 100644 regress/sql/agtype_jsonb_cast.sql
 create mode 100755 regress/sql/containment_selectivity.sql
 create mode 100644 regress/sql/extension_security.sql
 create mode 100644 regress/sql/generated_columns.sql
 create mode 100644 regress/sql/pattern_expression.sql
 create mode 100644 regress/sql/predicate_functions.sql
 create mode 100755 regress/sql/reserved_keyword_alias.sql
 create mode 100644 regress/sql/subgraph.sql
 create mode 100644 sql/age_pg_upgrade.sql
 create mode 100644 sql/age_subgraph.sql
 create mode 100644 src/backend/utils/cache/agehash.c
 create mode 100644 src/include/utils/agehash.h

Reply via email to