MironAtHome commented on issue #1933:
URL: https://github.com/apache/age/issues/1933#issuecomment-2212033441
All you need is to wrap exists() into ag_catalog.agtype_to_bool() and
declare output column as boolean.
The way your query currently written it makes no sense, as if this "Node"
has 1 vertice, than it would be just one "true" or "false", but if it has many,
it will be a column of many true or false, without a way to discern which is
which.
You might want to modify query a bit to produce something like a key next to
existance check.
Here is example:
LOAD 'age';
SET search_path = ag_catalog, "$user", public;
SELECT t.existscheck
FROM cypher('test_graph', $$
MATCH (n:Node)
OPTIONAL MATCH (u)
WITH ag_catalog.agtype_to_bool(exists((n)-[e:START]->(u))) AS
existscheck, id(n)
RETURN existscheck
$$) as t(existscheck boolean);
---
Please note, I have verified it using latest build off of branch PG16.
Feel free to share version of Postgress and Apache Age to clarify, so that
check matching version you are using can be provided.
Please note, similar conversion functions are available to support various
data types in PG16. Here is the list ( have extracted it from files under /sql
subfolder of the github repository clone):
Apache Age function -> Postgres native data type
ag_catalog.agtype_to_bool -> boolean
ag_catalog.agtype_to_int2 -> smallint
ag_catalog.agtype_to_int4 -> int
ag_catalog.agtype_to_int8 -> bigint
ag_catalog.agtype_to_float8 -> float8
ag_catalog.agtype_to_text -> text
ag_catalog.agtype_to_int4_array -> int[]
Please see if you need any additional cast / convert functions and file as a
request / feature enhancements.
Hope it helps.
--cheers
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]