[GitHub] [age] humzakt commented on issue #859: How are include statements being referenced in files like "age.c"?

2023-04-28 Thread via GitHub


humzakt commented on issue #859:
URL: https://github.com/apache/age/issues/859#issuecomment-1527102686

   When you see #include statements like #include "postgres.h" and #include 
"fmgr.h" in the age.c file, it means that the source code relies on the header 
files postgres.h and fmgr.h provided by the PostgreSQL source code.
   
   The PostgreSQL build system uses the Makefile to specify the necessary 
include paths, libraries, and compilation flags. When compiling the Apache AGE 
extension, the PostgreSQL build system will automatically include the required 
header files from the PostgreSQL source code.
   
   The Makefile or Makefile.in (if using autoconf) in the Apache AGE extension 
should have a line similar to the following:
   
   
   `PG_CPPFLAGS = -I$(libpq_srcdir)`
   
   This line specifies that the PostgreSQL header files should be included from 
the libpq_srcdir directory, which is defined in the pg_config output. This 
allows the build system to find the required PostgreSQL header files without 
having to move them around manually.
   
   To build the extension, you should use the make command along with the 
appropriate PostgreSQL build environment. The pg_config tool provides 
information about the installed PostgreSQL instance, including the include 
paths and library paths.
   
   To ensure the correct paths are used when building the extension, you should 
use the pgxs build infrastructure. In the extension's Makefile, you'll 
typically find a line like:
   
   `PG_CONFIG = pg_config
   PGXS := $(shell $(PG_CONFIG) --pgxs)
   include $(PGXS)`
   
   This sets up the necessary build environment for your extension, including 
the proper include paths for the PostgreSQL header files.
   
   In summary, you don't need to move the header files around as long as your 
build environment is set up correctly with the appropriate PostgreSQL paths. 
The Makefile and pg_config tool handle locating the required header files 
during the build process.


-- 
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] JawadAliAbbasi commented on issue #864: Why is cursor closed after execCypher() is executed?

2023-04-28 Thread via GitHub


JawadAliAbbasi commented on issue #864:
URL: https://github.com/apache/age/issues/864#issuecomment-1527361703

   This is the default behaviour of the function execCypher(). It is designed 
this way to free up system resources and prevent memory leaks but you can 
modify this behaviour by changing options when calling it.


-- 
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 merged pull request #145: Updated docs/intro/agload.md

2023-04-28 Thread via GitHub


dehowef merged PR #145:
URL: https://github.com/apache/age-website/pull/145


-- 
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] moaz178 commented on issue #580: Unable to connect Apache Age-Viewer to PostgreSQL Database

2023-04-28 Thread via GitHub


moaz178 commented on issue #580:
URL: https://github.com/apache/age/issues/580#issuecomment-1527903324

   It is possible that there is some issues related to the versions. I suggest 
you change your postgres and AGE versions. Here is the link for a step-by-step 
guide on how to do it and which versions are the best.
   
   https://theundersurfers.netlify.app/age-installation/
   
   Try to use the steps in this article. Video is also attached for guidance.


-- 
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



[DISCUSS] Apache AGE 1.3.0 Release for PostgreSQL 11

2023-04-28 Thread John Gemignani
Dear Apache Community,

We would like to open a discussion for the Apache AGE release 1.3.0 for
PostgreSQL 11.

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.3.0 for PostgreSQL 11

Add additional comments for create_graph function. (#582)
Optimize age_exists function. (#586)
Implement plus-equal operator in SET clause. (#638)
Implement CI test for python driver. (#587)
Move from travis CI to github actions for build. (#673)
Update all driver CIs to Github actions.
Fix build warnings.
Fix golang driver workflow (#563)
Updated Readme for drivers folder. (#642)
Removed async from function definitions. (#680)
Barbell graph generation (#648) and Barbell regress tests. (#708)
Updated Python Driver ANTLR 4.9.3 -> 4.11.1 (#706)
Modify docker url for JDBC driver tests (#716)
Fix WITH ignoring WHERE clause. (#646)
Implement isEmpty() predicate function. (#710)
Fix cypher function input argument checks. (#718)
Fix Issue 693 - server termination from return exists(path). (#721)
Update regression tests for cypher_with. (#725)
Fix issue 733 - create_complete_graph() terminates the server. (#734)
Prevent MATCH from following OPTIONAL MATCH. (#740)
Fix property constraints against resolved variables. (#724) (#751) (#701)
(#747)
Include invalid labels in reused variables. (#751) (#762)
Remove check for scalar agtypes in unwind. (#736)
Update PG11 CI workflows.
Update readme and version for python driver. (#780)
Update README.md
*

The git tag to be discussed and voted on:
https://github.com/apache/age/releases/tag/PG11/v1.3.0-rc0

The git commit hash:
commit 1a452595fe59975c1df4941e4f8eeb12c097bab7

The release files for 1.3.0, can be found at:
https://dist.apache.org/repos/dist/dev/age/PG11/1.3.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/PG11/v1.3.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] CapnSpek opened a new issue, #870: Odd behavior in context of orderability of different agtypes.

2023-04-28 Thread via GitHub


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

   **Describe the bug**
   While evaluating the inequality between an edge and a path, it appears that 
the orderability is totally bypassed and true/false is returned based on the 
sign of the inequality.
   
   **How are you accessing AGE (Command line, driver, etc.)?**
   Command line
   
   **What data setup do we need to do?**
   Apache AGE, and any graph with atleast 2 vertices and 1 edge.
   ...
   SELECT * from cypher('my_graph_name', $$
 CREATE (:Person {name: 'John'})-[:Knows]->(:Person {name: 'Jonh'})
   $$) as (a agtype);
   ...
   ```
   
   **What is the necessary configuration info needed?**
   Any graph with atleast 2 vertices and 1 edge.
   
   **What is the command that caused the error?**
   
   0
   
   In regards to orderability between different agtypes: - 
   https://age.apache.org/age-manual/master/intro/comparability.html
   
   I was testing the orderability between path and an edge, and I found this 
odd behavior: -
   
   Comparing a path with an edge with p > e inequality: -
   
   test=# SELECT *
   FROM cypher('test', $$
   WITH [{id: 0, label: "label_name_1", properties: {i: 0}}::vertex,
   {id: 2, start_id: 0, end_id: 1, label: "edge_label", properties: 
{i: 0}}::edge,
  {id: 1, label: "label_name_2", properties: {}}::vertex
  ]::path as p
   MATCH (n)-[e]-(m) RETURN p>e
   $$) AS (e agtype);
 e   
   --
true
true
true
true
   (4 rows)
   
   Fair enough, same result holds when we compare it with p < e inequality
   
   test=# SELECT *
   FROM cypher('test', $$
   WITH [{id: 0, label: "label_name_1", properties: {i: 0}}::vertex,
   {id: 2, start_id: 0, end_id: 1, label: "edge_label", properties: 
{i: 0}}::edge,
  {id: 1, label: "label_name_2", properties: {}}::vertex
  ]::path as p
   MATCH (n)-[e]-(m) RETURN p p
   
   test=# SELECT *
   FROM cypher('test', $$
   WITH [{id: 0, label: "label_name_1", properties: {i: 0}}::vertex,
   {id: 2, start_id: 0, end_id: 1, label: "edge_label", properties: 
{i: 0}}::edge,
  {id: 1, label: "label_name_2", properties: {}}::vertex
  ]::path as p
   MATCH (n)-[e]-(m) RETURN e>p
   $$) AS (e agtype);
 e   
   --
true
true
true
true
   (4 rows)
   
   We get true again, which is in direct contradiction to p > e inequality
   
   And when we check for e < p, we get false again
   
   test=# SELECT *
   FROM cypher('test', $$
   WITH [{id: 0, label: "label_name_1", properties: {i: 0}}::vertex,
   {id: 2, start_id: 0, end_id: 1, label: "edge_label", properties: 
{i: 0}}::edge,
  {id: 1, label: "label_name_2", properties: {}}::vertex
  ]::path as p
   MATCH (n)-[e]-(m) RETURN ee to be true under all scenarios.
   
   **Environment (please complete the following information):**
   - Version: [age 1.3.0]
   
   **Additional context**
   -
   


-- 
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] aru-d-at opened a new issue, #871: Using CALL with a function and a RETURN crashes psql while processing query

2023-04-28 Thread via GitHub


aru-d-at opened a new issue, #871:
URL: https://github.com/apache/age/issues/871

   **Description**
   CALL function with a RETURN crashes psql process instead of throwing Syntax 
error
   
   **Mode:**
   - Command line
   
   **Data Setup:**
   - None
   
   **Configuration:**
   - Default AGE installation with PostgreSQL 12
   
   **Command**
   ```pgsql
   SELECT * FROM cypher('test', $$
   CALL toInteger('1')
   RETURN v
   $$) as (v agtype);
   ```
   ```
   server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
   The connection to the server was lost. Attempting reset: Failed.
   !> 
   ```
   
   From Log file
   ```
   TRAP: FailedAssertion("!(self->yield_items)", File: 
"src/backend/parser/cypher_clause.c", Line: 1067)
   2023-04-29 03:14:15.986 +08 [18837] LOG:  server process (PID 19391) was 
terminated by signal 6: Aborted
   2023-04-29 03:14:15.986 +08 [18837] DETAIL:  Failed process was running: 
SELECT * FROM cypher('test', $$
CALL toInteger('1') RETURN v
$$) as (v agtype);
   ```
   
   **Expected behavior**
   Should throw syntax error at `RETURN v` instead of crashing
   
   Similar to
   ```
   ERROR:  could not find rte for v
   LINE 3: RETURN v
  ^
   ```
   
   **Environment:**
   - Version: Tested using 1.1.0 and 1.3.0
   
   **Debugging using GDB**
   ```
   Breakpoint 1, transform_cypher_call_stmt (cpstate=0x28ce0a0, 
clause=0x28ce040) at src/backend/parser/cypher_clause.c:1037
   1037ParseState *pstate = (ParseState *)cpstate;
   (gdb) s
   1038cypher_call *self = (cypher_call *)clause->self;
   (gdb) 
   1040if (!clause->prev && !clause->next) /* CALL [YIELD] -- the most 
simple call */
   (gdb) 
   1067Assert(self->yield_items);
   (gdb) 
   ExceptionalCondition (conditionName=0x7f205029fb6b "!(self->yield_items)", 
errorType=0x7f205029f716 "FailedAssertion", fileName=0x7f205029f778 
"src/backend/parser/cypher_clause.c", lineNumber=1067) at assert.c:31
   31   if (!PointerIsValid(conditionName)
   (gdb) 
   37   write_stderr("TRAP: %s(\"%s\", File: \"%s\", Line: 
%d)\n",
   (gdb) 
   write_stderr (fmt=fmt@entry=0xa161b0 "TRAP: %s(\"%s\", File: \"%s\", Line: 
%d)\n") at elog.c:3383
   3383 {
   (gdb) 
   3392 va_start(ap, fmt);
   ```
   


-- 
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] dukeofhazardz commented on issue #287: can we install Apache AGE ins windows?

2023-04-28 Thread via GitHub


dukeofhazardz commented on issue #287:
URL: https://github.com/apache/age/issues/287#issuecomment-1528010786

   As a Windows user you can download and install Apache-Age by first 
installing the Windows subsystem for Linux (WSL) using the steps stated in this 
[link](https://www.google.com/url?sa=t&source=web&rct=j&url=https://pureinfotech.com/install-windows-subsystem-linux-2-windows-10/&ved=2ahUKEwji-qHXh8X-AhUStKQKHW2oCGoQFnoECAcQBQ&usg=AOvVaw1kjmj7cVtnHaGAsSWSBP54)
   
   After the installation you'll be able to run Linux on Windows by running 
`bash` on the Windows PowerShell CLI:
   
   ```
   PS C:\Users\MY_PC> bash
   ```
   Or `wsl`
   ```
   PS C:\Users\MY_PC> wsl
   ```
   
   Alternatively you could download and set up a vagrant box for Windows 
[install 
vagrant](https://www.google.com/url?sa=t&source=web&rct=j&url=https://developer.hashicorp.com/vagrant/downloads&ved=2ahUKEwjPo7rWi8X-AhVKgv0HHfBiCAYQFnoECBkQAQ&usg=AOvVaw2g05jiILkpmV9vwLycvKBT),
 for more info visit [vagrant 
up](https://www.google.com/url?sa=t&source=web&rct=j&url=https://www.vagrantup.com/&ved=2ahUKEwi2z9_lisX-AhWJhP0HHaJnBjEQFnoECAgQAQ&usg=AOvVaw0lzNIUGBehSatw_YuBPwUb)


-- 
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] dehowef commented on issue #871: Using CALL with a function and a RETURN crashes psql while processing query

2023-04-28 Thread via GitHub


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

   Hi, thanks for catching this~ can you go ahead and modify the code to throw 
the appropiate error? thx!


-- 
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] titoausten closed issue #864: Why is cursor closed after execCypher() is executed?

2023-04-28 Thread via GitHub


titoausten closed issue #864: Why is cursor closed after execCypher() is 
executed?
URL: https://github.com/apache/age/issues/864


-- 
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] aru-d-at commented on issue #871: Using CALL with a function and a RETURN crashes psql while processing query

2023-04-28 Thread via GitHub


aru-d-at commented on issue #871:
URL: https://github.com/apache/age/issues/871#issuecomment-1528064113

   @dehowef Sure, working on it.


-- 
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] farooquememon385 commented on issue #849: [ageviewer_go] isn't there a README file giving instructions on how to setup the frontend and backend server of ageviewer_go + how to use?

2023-04-28 Thread via GitHub


farooquememon385 commented on issue #849:
URL: https://github.com/apache/age/issues/849#issuecomment-1528117697

   > > Also, the backend is not connected to the front end for now. To run the 
backend:
   > > 
   > > 1. Got to the backend folder.
   > > 2. Run `go run .`, this will start the backend server.
   > > 3. and then run `node APIfunctions.js` in another terminal, this will 
provide you cmd menu to interact with the backend server.
   > 
   > I've tried running `node APIfunctions.js` in a new terminal but I did not 
get a command menu, instead it just returned nothing. Also running `wails dev` 
brings up the application but nothing happens when I click on the start button. 
Is this expected?
   
   @kenwoon make necessary changes in APIfunctions.js as directed in this pull 
request https://github.com/apache/age/pull/869 if you get an error while 
running APIfunctions,js after uncommenting the code


-- 
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 #870: Odd behavior in context of orderability of different agtypes.

2023-04-28 Thread via GitHub


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

   The bug can be easily fixed by modifying the
   "static int get_type_sort_priority(enum agtype_value_type type)"
   function in agtype_util.c file.
   The reason for the bug is that there is no priority assigned for neither 
edge, nor path.
   The function returns -1 for both.
   
   And because the value is checked like this
   
   ```
   res = (get_type_sort_priority(va.type) <
  get_type_sort_priority(vb.type)) ?
 -1 :
 1;
   ```
   
   It means even if the function returns the same value for both the types, we 
get 1 (true) result for both
   edge > path
   and
   path > edge.
   
   I would suggest modifying the function to declare priorities concretely.


-- 
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] jrgemignani commented on issue #870: Odd behavior in context of orderability of different agtypes.

2023-04-28 Thread via GitHub


jrgemignani commented on issue #870:
URL: https://github.com/apache/age/issues/870#issuecomment-1528170467

   @CapnSpek Then it needs to be discussed as to what the priority should be 
for those types. I would look to Neo4j.


-- 
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