Re: [DISCUSS] Apache AGE 1.4.0 Release for PostgreSQL 13

2023-09-28 Thread Dehowe Feng
This release is a great update to AGE for PG13. I hope we can bring this
release to the AGE community soon.

I did the usual checks:
- Signature and hash
- Links and tags
- LICENSE and NOTICE
- No unexpected binary files

Cheers

On Mon, Sep 25, 2023 at 2:50 PM John Gemignani 
wrote:

> Dear Apache Community,
>
> We would like to open a discussion for the Apache AGE release 1.4.0 for
> PostgreSQL 13.
>
> To learn more about Apache AGE, please see http://age.apache.org/
>
> Functionalities included and addressed in this release are:
>
> *
> Release Notes for Apache AGE release v1.4.0 for PostgreSQL 13
>
> NOTE: Some of these reference the master branch PR that was
>either applied to lower versions via a separate PR or
>merged into a newly created branch.
>
> Added license in Python driver README.md (#956)
> Added the toStringList() function (#1128)
> Added toBooleanList() (#1165)
> Added toFloatList() function (#1016)
> Added toIntegerList() function (#1025)
> Added regression tests for MATCH clause using labels only (#1019)
> Added REGTYPEOID to toString function (#1036)
> Added Dockerfile.dev & move docker-related files to "docker/" (#943)
> Fixed complex MERGE causes crash (#897) (#961)
> Fixed docker build files (#1104)
> Fixed case sensitivity on label usage of reserved keyword (#1040)
> Fixed issue 1000: Indexes created on WHERE (#1133)
> Fixed issue 1002: Invalid reuse of variables in MATCH clause (#1003)
> Fixed issue 1033: access operator on vle edge lists (#1037)
> Fixed issue 1043: ERROR:  container must be an array or object (#1046)
> Fixed issue 1124: Segmentation fault when using specific tables (#1125)
> Fixed issue 395: ERROR: container is not an agtype array (#1039)
> Fixed issue 870: regarding orderability and added regression tests (#994)
> Fixed issue 876: column reference "_age_default_alias_0" is ambiguous
> (#931)
> Fixed issue 975: Invalid reuse of variables in CREATE clause (#977)
> Fixed issue 989: Impossible to create array with > 100 items (#1001)
> Fixed memory leak issues with age_load (#1142)
> Fixed memory leaks in MERGE (merge_edge & merge_vertex) (#958)
> Fixed MERGE crashes due to incorrect label type (#957)
> Fixed MERGE variable reuse (#997)
> Fixed misspellings in many AGE files (#985)
> Fixed warning messages in DockerHub builds. (#1075)
> Modified test_agtypes to view useful testing message (#992)
> Optimised Antlr4ResultHandler initialization (#1169)
> Updated CIs to pull correct image based on branch (#1105)
> Updated files, format, and version information (#1063)
> Updated README.
>
> *
>
> The git tag to be discussed and voted on:
> https://github.com/apache/age/releases/tag/PG13/v1.4.0-rc0
>
> The git commit hash:
> commit 01ccda78ad06186aaba8975dd6d1cf67e91535bc
>
> The release files for 1.4.0, can be found at:
> https://dist.apache.org/repos/dist/dev/age/PG13/1.4.0.rc0/
>
> Signatures used for AGE RCs can be found in this file:
> https://downloads.apache.org/age/KEYS
>
> The fingerprint of key to sign release artifacts:
> 4293 0603 8E35 AC05 4DBB  4B58 26B6 CD9D CD5B 0045
>
> For information about the contents of this release see:
> https://github.com/apache/age/releases/tag/PG13/v1.4.0-rc0
>
> Please verify the above links, files, and signatures in addition to sharing
> your thoughts and feedback and if we can call for a vote.
>
> Thank you for your time.
>
> John Gemignani
>


[GitHub] [age] dehowef commented on issue #1255: Confusing git tags with -rc suffix

2023-09-28 Thread via GitHub


dehowef commented on issue #1255:
URL: https://github.com/apache/age/issues/1255#issuecomment-1740122653

   @jirutka When we do our releases, our process is we tag it with a RC tag to 
demarcate that that branch is the one that is our release candidate. It does 
seem a little confusing now that you mention it. Moving forward maybe we'll 
change the process for doing so.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [age] eyab commented on issue #1255: Confusing git tags with -rc suffix

2023-09-28 Thread via GitHub


eyab commented on issue #1255:
URL: https://github.com/apache/age/issues/1255#issuecomment-1740100392

   @jirutka, It is a final (stable) version. The RC0 tag is stable, 
well-tested, and has gone through all necessary quality checks. Hope this 
helps!! 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [age] Amr-Shams commented on issue #1254: Renaming a Label

2023-09-28 Thread via GitHub


Amr-Shams commented on issue #1254:
URL: https://github.com/apache/age/issues/1254#issuecomment-1740051425

   I could think of a similar function that does the above. 
   I believe the sequence of actions taken in the preceding function refers to 
the following actions 
   
   ``` 
   CREATE OR REPLACE FUNCTION age_rename_label(
   graph_name text, 
   old_label text,
   new_label text)
   RETURNS void 
   AS $$
   BEGIN
  -- Update label name in age metadata tables
  UPDATE age_graph_labels 
  SET label = new_label 
  WHERE graph = graph_name AND label = old_label;
   
  -- Update label name in vertex tables
  EXECUTE format('ALTER TABLE %I.%I RENAME TO %I', graph_name, old_label, 
new_label);
  
  -- Update label name in edge tables
  EXECUTE format('ALTER TABLE %I.edge_of_%I RENAME TO edge_of_%I', 
graph_name, old_label, new_label);
   
  -- Rename related sequences
  EXECUTE format('ALTER TABLE %I.%I_id_seq RENAME TO %I_id_seq', 
graph_name, old_label, new_label);
  EXECUTE format('ALTER TABLE %I.edge_of_%I_id_seq RENAME TO 
edge_of_%I_id_seq', graph_name, old_label, new_label);
   END;
   $$ LANGUAGE plpgsql;
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [age] yadav9887 commented on issue #1255: Confusing git tags with -rc suffix

2023-09-28 Thread via GitHub


yadav9887 commented on issue #1255:
URL: https://github.com/apache/age/issues/1255#issuecomment-1740049127

   Hi @jirutka 
   Thank you very much for sharing this issue. Our team is already looking into 
it. In the meantime, please do not hesitate to reach out if you have any 
questions. @dehowef @eyab


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [age] jirutka opened a new issue, #1255: Confusing git tags with -rc suffix

2023-09-28 Thread via GitHub


jirutka opened a new issue, #1255:
URL: https://github.com/apache/age/issues/1255

   The latest release for PG15 is named [Release v1.4.0 for 
PG15](https://github.com/apache/age/releases/tag/PG15%2Fv1.4.0-rc0), but it’s 
created from the tag 
[PG15/v1.4.0-**rc0**](https://github.com/apache/age/releases/tag/PG15%2Fv1.4.0-rc0).
 So, is it an RC (Release Candidate) version or a final (stable) version?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [age] MatheusFarias03 opened a new issue, #1254: Renaming a Label

2023-09-28 Thread via GitHub


MatheusFarias03 opened a new issue, #1254:
URL: https://github.com/apache/age/issues/1254

   Hi! I was thinking about the possibility of a user wanting to rename a 
label, because there's a 
[page](https://neo4j.com/docs/apoc/current/graph-refactoring/rename-label-type-property/#rename-node-labels)
 in Neo4j's documentation dedicated to that. I tried just renaming the tables 
in Postgres, but I'm not sure if that's the correct way or if this may cause 
any errors. Here's what I've done:
   
   ```sql
   -- Create the graph.
   SELECT * FROM create_graph('PeopleGraph');
   NOTICE:  graph "PeopleGraph" has been created
create_graph 
   --

   (1 row)
   
   -- Create a "People" node label.
   SELECT * FROM create_vlabel('PeopleGraph', 'People');
   NOTICE:  VLabel "People" has been created
create_vlabel 
   ---

   (1 row)
   
   -- Alter the "People" label to "Actors".
   ALTER TABLE "PeopleGraph"."People" RENAME TO "Actors";
   ALTER TABLE
   
   SELECT * FROM "PeopleGraph"."Actors";
id | properties 
   +
   (0 rows)
   
   ALTER TABLE "PeopleGraph"."People_id_seq" RENAME TO "Actors_id_seq";
   ALTER TABLE
   
   SELECT * FROM "PeopleGraph"."Actors_id_seq" ;
last_value | log_cnt | is_called 
   +-+---
 1 |   0 | f
   (1 row)
   
   ```
   
   Is there another way to do that in AGE? I was also thinking about creating a 
function just for that using SPI, but it would probably lack performance, and 
queries such as the one that is shown in Neo4j wouldn't be possible just with 
SPI, I guess. If this is something that would be interesting to add to AGE, 
which structures and/or functions should I study to create a function to rename 
labels?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [age-website] Muhammad-Adil-Shahid-1054 commented on pull request #210: Fixing the spelling error

2023-09-28 Thread via GitHub


Muhammad-Adil-Shahid-1054 commented on PR #210:
URL: https://github.com/apache/age-website/pull/210#issuecomment-1739968860

   @dehowef Done


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [age-website] Muhammad-Adil-Shahid-1054 opened a new pull request, #215: Update doc text spacing

2023-09-28 Thread via GitHub


Muhammad-Adil-Shahid-1054 opened a new pull request, #215:
URL: https://github.com/apache/age-website/pull/215

   Added the space in the text of documentation.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [age-website] dehowef commented on pull request #210: Fixing the spelling error

2023-09-28 Thread via GitHub


dehowef commented on PR #210:
URL: https://github.com/apache/age-website/pull/210#issuecomment-1739930857

   Can you fix the description @Muhammad-Adil-Shahid-1054 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [age-website] Muhammad-Adil-Shahid-1054 commented on pull request #210: Fixing the spelling error

2023-09-28 Thread via GitHub


Muhammad-Adil-Shahid-1054 commented on PR #210:
URL: https://github.com/apache/age-website/pull/210#issuecomment-1739888404

   @dehowef I have update my commit title. Please review


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [age-website] markgomer commented on a diff in pull request #164: Fixed some information and typos on agload.md

2023-09-28 Thread via GitHub


markgomer commented on code in PR #164:
URL: https://github.com/apache/age-website/pull/164#discussion_r1340344408


##
docs/intro/agload.md:
##
@@ -32,7 +32,7 @@ load_labels_from_file('',
   false)
 ```
 
-Function `load_edges_from_file` can be used to load properties from the CSV 
file. Please see the file structure in the following. 
+Function `load_edges_from_file` can be used to load edges from the CSV file. 
Please see the file structure in the following. 

Review Comment:
   Changed this to conform with the prior sentence, which said "(...) to load 
***vertices*** from the CSV files. "



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [age-website] markgomer closed pull request #164: Fixed some information and typos on agload.md

2023-09-28 Thread via GitHub


markgomer closed pull request #164: Fixed some information and typos on 
agload.md
URL: https://github.com/apache/age-website/pull/164


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [age] CapnSpek commented on issue #1219: MERGE does not set properties involving variables

2023-09-28 Thread via GitHub


CapnSpek commented on issue #1219:
URL: https://github.com/apache/age/issues/1219#issuecomment-1739124705

   I am not very sure but can `transform_cypher_merge` function have something 
to do with it?
   
   The comments mention this, and the function is also hit during debugging.
   
   It is proving to be difficult to trace this bug because there seems to be no 
particular variable where I can check whether x is being passed or not, and no 
way to check what would be an SQL equivalent of the cypher query, specially 
when the query plan trees look fine.
   
   Can anyone suggest a way to track the source of this bug?
   
   ```
   \*
   * 2. If there is a previous clause then the query will have two subqueries.
* The first query will be for the previous clause that we recursively 
handle.
* The second query will be for the path that this MERGE clause defines. The
* two subqueries will be joined together using a LATERAL LEFT JOIN with the
* previous query on the left and the MERGE path subquery on the right. Like
* case 1 the targetList will have all the declared variables and a FuncExpr
* that represents the MERGE clause with its needed metadata information, 
that
* will be caught in the planner phase and converted into a path.
*
* This will allow us to be capable of handling the 2 cases that exist with a
* MERGE clause correctly.
*
* Case 1: the path already exists. In this case we do not need to create
* the path and MERGE will simply pass the tuple information up the execution
* tree.
*
* Case 2: the path does not exist. In this case the LEFT part of the join
* will not prevent the tuples from the previous clause from being emitted. 
We
* can catch when this happens in the execution phase and create the missing
* data, before passing up the execution tree.
*
* It should be noted that both cases can happen in the same query. If the
* MERGE clause references a variable from a previous clause, it could be 
that
* for one tuple the path exists (or there is multiple paths that exist and 
all
* paths must be emitted) and for another the path does not exist. This is
* similar to OPTIONAL MATCH, however with the added feature of creating the
* path if not there, rather than just emitting NULL.
*/
   
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@age.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org