bilalsp opened a new issue, #2583: URL: https://github.com/apache/age/issues/2583
**Describe the bug** Executing a variable-length edge (VLE) traversal that starts with a zero-hop evaluation (*0..) triggers an unexpected relational engine crash: `ERROR: Invalid number of attributes for <graph_name>.<vertex_label_name>`. Even though the vertex and edge tables exist and are populated, the internal VLE execution planner fails to map the column definitions of the target label table when matching variable-length paths. This is a severe regression introduced in the PG15/1.8.0 release due to this fix https://github.com/apache/age/issues/2450. **How are you accessing AGE (Command line, driver, etc.)?** Directly via cypher() SQL function (IN psql client). **What data setup do we need to do?** ```pgsql ... -- 1. Create a fresh graph and register both vertex and edge labels SELECT create_graph('age_bug'); SELECT create_vlabel('age_bug', 'Product'); SELECT create_elabel('age_bug', 'HAVE'); -- 2. Add generated column (this triggers the bug) ALTER TABLE age_bug."Product" ADD COLUMN category VARCHAR(25) GENERATED ALWAYS AS (agtype_access_operator(properties, '"category"')) STORED; -- 3. Populate data with three linked dummy products forming a continuous path SELECT * FROM cypher('age_bug', $$ CREATE (p1:Product {category: 'device', type: 'D123', version: 1}) CREATE (p2:Product {category: 'cpu', type: 'I123', version: 1}) CREATE (p3:Product {category: 'chip', type: 'C123', version: 1}) // Create the structural edge links between them CREATE (p1)-[:HAVE]->(p2) CREATE (p2)-[:HAVE]->(p3) $$) AS (_ agtype); ... ``` **What is the necessary configuration info needed?** - No configuration needed **What is the command that caused the error?** ```pgsql SELECT * FROM cypher('age_bug', $$ MATCH (_:Product { category: 'device', type: 'D123', version: 1 })-[have_path:HAVE*1..]->(product:Product) RETURN product $$) AS (node agtype); ``` ``` ERROR: psql client log: SQL Error [42P01]: ERROR: Invalid number of attributes for age_bug.Product server log: ERROR: Invalid number of attributes for age_bug.Product STATEMENT: SELECT * FROM cypher('age_bug', $$ MATCH (_:Product { category: 'device', type: 'D123', version: 1 })-[have_path:HAVE*1..]->(product:Product) RETURN product $$) AS (node agtype) ``` **Expected behavior** The query execution should succeed without a schema exception. For a *0.. quantifier, it should evaluate the initial root matched node as a valid 0-hop result set, and then cleanly walk down the 1-hop and 2-hop graph layers instead of crashing with a table attribute mapping mismatch. **Environment (please complete the following information):** - AGE Version: release/PG15/1.8.0 ```pgsql admin=> \dx age; List of installed extensions Name | Version | Schema | Description ------+---------+------------+------------------------ age | 1.8.0 | ag_catalog | AGE database extension (1 row) ``` - PostgreSQL Version: PostgreSQL 15.8 (Debian 15.8-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit - OS: Linux **Additional context** Add any other context about the problem here. -- 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]
