Skip to content

Conversation

@jrgemignani
Copy link
Contributor

@jrgemignani jrgemignani commented Jul 8, 2023

PLEASE DO NOT MERGE until thoroughly reviewed and approved by all reviewers. Reviewers must state their approval as a comment in the thread below. Additionally, this merge needs to be appropriately squashed before merging.

PR for moving the PG12 branch up to the current master branch.

It contains all of the latest work in the master branch, which is currently at PostgreSQL version 12. When this PR is merged PG12 will be the latest and represent PostgreSQL version 12 as the master moves to PostgreSQL version 13.

Everyone listed as a reviewer needs to review this PR

jrgemignani and others added 30 commits August 10, 2022 12:46
Added upgrade script for 1.0.0 to 1.1.0
Upgrade AGE version to 1.1.0
Updated NOTICE file to remove 'incubating'
Queries can now call functions using the form CALL ... YIELD.

CALL ... YIELD can be used in some of the following forms:

    Individual:
    CALL
    CALL YIELD
    CALL YIELD WHERE UPDATE/RETURN

    Subqueries:
    READING_CLAUSE CALL YIELD UPDATE/RETURN
    CALL YIELD READING_CLAUSE UPDATE/RETURN

In the future, CALL YIELD support for record returning functions and
multiple variable output functions can be added.

Known Issue with WHERE clause where a WHERE in a MATCH + CALL subquery
does not filter results is known.
Updating the latest release
fixes
- documentation link
- age viewer description
Add another important use-case.
fix typo.
Improve wording.
Typo fix where an if statement check was causing a logic error that
caused the where statement to be ignored.

Regression tests added to address this and thoroughly check WHERE
clauses as well.

Co-authored by: John Gemignani <jrgemignani@gmail.com>
Fixed the EXPLAIN command to allow for nested cypher commands within
more complex SQL queries.
Updated latest version link in : 
Latest happenings
The latest Apache AGE release, Apache AGE 1.1.0.
updated release badge
Changed overall stuff like grammar, word choices, and format.
- Deleted outdated sentence in 'Graph Visualization tool for AGE' to avoid misunderstanding
- Renamed Community to Community-driven Driver
- Deleted Apache AGE Python driver in Community-driven Driver since it has already merged into Python driver available in 'Built-in' category.
- Rearranged some header images and badges alignment
Changed the category orders to : Documentation -> Installation(as is) -> Language Specifc Drivers(as is) -> Graph Visualization Tool for AGE

Changes in Overview
- Apache AGE is currently being developed for the PostgreSQL 12 release, not 11.
- Replaced the old message (adding all features of AgensGraph) to (make it compatible with all RDBs) 

Changes in Latest Events:
- Removed section about Documentation, since there's a category regarding documentation below (repetitive)
- Changed statement about Apache AGE roadmap to "Renewed Apache AGE Homepage" since the roadmap isn't available on the renewed homepage anymore.
- Rephrased sentence regarding support for postgresql

Changes in Documentation:
- Rephrased sentence

Changes in Installation:
- Added age.apache.org/download link to Installing from source
- Added Apache AGE setup guide and its link to setup documentation
- Replaced and edited Use a docker image - official ver to Installing via docker image and added documentation link to installing via docker image. 

Change to Contribution
- Replaced link of Apache AGE Official Site - Developer Guidelines to https://age.apache.org/contribution/guide
Fixed the delete_global_graphs function. It was not keeping track of
the previous graph global context pointer.

This was causing a memory leak for multiple graph contexts if
individual graphs were deleted.
Removed "Incubator"
Removed DISCLAIMER file
Removed "incubator"
Removed incubating from GO driver.
Fixed the GO driver module version.
Removed incubating from the Python driver.
Removed incubation from ag_load.
Added Discord Badge
Munmud and others added 9 commits June 15, 2023 16:59
…les (apache#976)

Co-authored-by: John Gemignani <jrgemignani@gmail.com>
Fixed the MERGE clause to allow for correct variable reuse in
both the transform and execution phase.

Fixed an incorrect usage in MATCH where a variable was compared
with pg_strcasecmp instead of strcmp.

Refactored some of the code using the volatile wrapper.

Verified and corrected old regression tests that were in error.

Added regression tests.
…ache#1001)

Fixed issue 989: Impossible to create an object with an array field
of more than 100 elements.

This issue is due to the function agtype_build_list taking elements
as arguments. As the elements can be anything, expressions too,
they need to be processed by the transform phase and resolved in
the execution phase. As PG has a limitation of 100 function
arguments, this restricts the size of arrays built through
agtype_build_list.

The fix was to break up large lists into segments of 100 items or
less and then use the concatenation operator to join them in the
execution phase.

Added regression tests (thanks Taha!).
…che#1003)

* Fix invalid reuse of variables in MATCH

- Added checks for invalid reuse of variables, mainly path and VLE.
- Added regression tests.

* Fix invalid reuse of variables in MATCH (VLE)
…dded regression tests (apache#994)

Fixed issue apache#870
 Odd behavior in context of orderability of different agtypes.

Implemented the solution suggested here:
apache#870 (comment)

Clearance given here:
apache#870 (comment)

-Added regression tests for both comparibility and orderability
Merge PG12 version 1.3.0 into the master branch

PR 1015 contains the merge of the branch PG12 (version 1.3.0) into
the master branch. This will fold in all of the changes that are
specific to the branch PG12 and future branches. As the master branch
is already ahead of version 1.3.0, it will also create a master branch
that is on PostgreSQL 12 and completely up-to-date. PG11 is already
completely up-to-date.

Note: Effective as of the merge of this PR, the master branch will be on
PostgreSQL 12.

* Post merge corrections and modifications

On branch master_PG12 modified the following files to
correct whitespace, typos, duplicates, and clarity -

    modified:   src/backend/executor/cypher_set.c
    modified:   src/backend/parser/cypher_clause.c
    modified:   src/backend/utils/adt/agtype.c
    modified:   src/backend/utils/adt/graphid.c
    modified:   age--1.3.0.sql
    modified:   regress/expected/catalog.out
    modified:   regress/sql/catalog.sql
    modified:   src/backend/nodes/cypher_readfuncs.c
    modified:   src/include/nodes/cypher_nodes.h
    modified:   src/backend/catalog/ag_graph.c
    modified:   src/backend/executor/cypher_create.c
    modified:   src/backend/executor/cypher_merge.c
    modified:   src/backend/utils/adt/graphid.c
    modified:   src/backend/utils/graph_generation.c
    modified:   src/backend/commands/label_commands.c
    modified:   src/backend/parser/cypher_analyze.c
    modified:   src/backend/utils/load/ag_load_edges.c
    modified:   src/backend/utils/load/ag_load_labels.c

These files were modified from specifying PG12 specifically
to specifying the master. Mostly related to the CI work flow -

    modified:   .github/workflows/installcheck.yaml
    modified:   META.json
    modified:   drivers/docker-compose.yml
    modified:   drivers/jdbc/lib/src/test/java/org/apache/age/jdbc/BaseDockerizedTest.java
    renamed:    .github/workflows/installcheck.yml -> .github/workflows/installcheck.yaml

For work specific to PG12 branch and PG11 to 12 -

Co-authored-by: John Gemignani <jrgemignani@gmail.com>
Co-authored-by: Shoaib <muhemmed.shoaib@gmail.com>
Co-authored-by: Alex Kwak <emotionbug@apache.org>
Co-authored-by: Ibrar Ahmad <ibrar.ahmed@percona.com>
Co-authored-by: Josh Innis <JoshInnis@gmail.com>
Co-authored-by: eyab <badaleya@gmail.com>
Co-authored-by: Dehowe Feng <dehowefeng@gmail.com>
Co-authored-by: jbiz805 <49049733+jbiz805@users.noreply.github.com>
Co-authored-by: Rafsun Masud <rafsun82@gmail.com>
Co-authored-by: Utkarsh Kansal <u_kansal@yahoo.com>
Co-authored-by: Dehowe Feng <8065116+dehowef@users.noreply.github.com>
Co-authored-by: Muhammad Taha Naveed <m.taha.naveed27@gmail.com>
@jrgemignani
Copy link
Contributor Author

jrgemignani commented Jul 11, 2023

Updated PR description, please read.

@dehowef
Copy link
Member

dehowef commented Jul 11, 2023

The current changes look good to me. Good work

@jrgemignani
Copy link
Contributor Author

Updated all mentioned issues and a few others found. Please review.

Copy link
Member

@rafsun42 rafsun42 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks good to me.

@eyab
Copy link
Member

eyab commented Jul 11, 2023

Looks good to me. Great work.

Copy link
Contributor

@muhammadshoaib muhammadshoaib left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

Copy link
Member

@MuhammadTahaNaveed MuhammadTahaNaveed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added some questions/suggestions. Otherwise, looks good to me 👍🏻 .

Conflicts:
	.github/workflows/go-driver.yml
	.github/workflows/jdbc-driver.yaml
	.github/workflows/nodejs-driver.yaml
	.github/workflows/python-driver.yaml
	Dockerfile
	META.json
	README.md
	age--1.3.0.sql
	drivers/README
	drivers/docker-compose.yml
	drivers/golang/README.md
	drivers/golang/age/builder.go
	drivers/golang/age/mapper.go
	drivers/golang/go.mod
	drivers/golang/go.sum
	drivers/golang/parser/README.md
	drivers/jdbc/README.md
	drivers/jdbc/lib/build.gradle.kts
	drivers/jdbc/lib/src/test/java/org/apache/age/jdbc/BaseDockerizedTest.java
	drivers/nodejs/README.md
	drivers/python/README.md
	drivers/python/age/age.py
	drivers/python/age/exceptions.py
	drivers/python/setup.py
	drivers/python/test_age_py.py
	regress/expected/age_global_graph.out
	regress/expected/catalog.out
	regress/expected/cypher_call.out
	regress/expected/cypher_match.out
	regress/expected/cypher_merge.out
	regress/expected/cypher_set.out
	regress/sql/age_global_graph.sql
	regress/sql/catalog.sql
	regress/sql/cypher_call.sql
	regress/sql/cypher_match.sql
	regress/sql/cypher_set.sql
	src/backend/commands/label_commands.c
	src/backend/executor/cypher_create.c
	src/backend/executor/cypher_merge.c
	src/backend/executor/cypher_set.c
	src/backend/nodes/cypher_readfuncs.c
	src/backend/parser/cypher_analyze.c
	src/backend/parser/cypher_clause.c
	src/backend/parser/cypher_gram.y
	src/backend/utils/adt/agtype.c
	src/backend/utils/adt/graphid.c
	src/backend/utils/cache/ag_cache.c
	src/backend/utils/graph_generation.c
	src/backend/utils/load/ag_load_edges.c
	src/backend/utils/load/ag_load_labels.c
	src/include/nodes/cypher_nodes.h
@jrgemignani jrgemignani merged commit c750cf5 into apache:PG12 Jul 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.