Fix issue with CALL/YIELD for user defined and qualified functions. by jrgemignani · Pull Request #2217 · apache/age

@jrgemignani

Fixed 2 issues with CALL/YIELD -

   1) If a user defined function was in search_path, the transform_FuncCall
      logic would only find it, if it were part of an extension.

   2) If a function were qualified, the transform_cypher_call_subquery
      logic would mistakenly extract the schema name instead of the
      function name.

NOTE: transform_FuncCall should be reviewed for possible refactor.

Added regression tests.

    modified:   src/backend/parser/cypher_clause.c
    modified:   src/backend/parser/cypher_expr.c
    modified:   regress/expected/cypher_call.out
    modified:   regress/sql/cypher_call.sql

MuhammadTahaNaveed

jrgemignani added a commit to jrgemignani/age that referenced this pull request

Jan 30, 2026
…pache#2217)

Fixed 2 issues with CALL/YIELD -

   1) If a user defined function was in search_path, the transform_FuncCall
      logic would only find it, if it were part of an extension.

   2) If a function were qualified, the transform_cypher_call_subquery
      logic would mistakenly extract the schema name instead of the
      function name.

NOTE: transform_FuncCall should be reviewed for possible refactor.

Added regression tests.

    modified:   src/backend/parser/cypher_clause.c
    modified:   src/backend/parser/cypher_expr.c
    modified:   regress/expected/cypher_call.out
    modified:   regress/sql/cypher_call.sql

MuhammadTahaNaveed pushed a commit that referenced this pull request

Feb 3, 2026
…2217)

Fixed 2 issues with CALL/YIELD -

   1) If a user defined function was in search_path, the transform_FuncCall
      logic would only find it, if it were part of an extension.

   2) If a function were qualified, the transform_cypher_call_subquery
      logic would mistakenly extract the schema name instead of the
      function name.

NOTE: transform_FuncCall should be reviewed for possible refactor.

Added regression tests.

    modified:   src/backend/parser/cypher_clause.c
    modified:   src/backend/parser/cypher_expr.c
    modified:   regress/expected/cypher_call.out
    modified:   regress/sql/cypher_call.sql

jrgemignani added a commit to jrgemignani/age that referenced this pull request

Mar 24, 2026
…pache#2217)

Fixed 2 issues with CALL/YIELD -

   1) If a user defined function was in search_path, the transform_FuncCall
      logic would only find it, if it were part of an extension.

   2) If a function were qualified, the transform_cypher_call_subquery
      logic would mistakenly extract the schema name instead of the
      function name.

NOTE: transform_FuncCall should be reviewed for possible refactor.

Added regression tests.

    modified:   src/backend/parser/cypher_clause.c
    modified:   src/backend/parser/cypher_expr.c
    modified:   regress/expected/cypher_call.out
    modified:   regress/sql/cypher_call.sql