parse
BEGIN
  CALL p();
END
----
BEGIN
CALL p();
END;
 -- normalized!
BEGIN
CALL p();
END;
 -- fully parenthesized
BEGIN
CALL p();
END;
 -- literals removed
BEGIN
CALL _();
END;
 -- identifiers removed

parse
BEGIN
  CALL p(1, 2);
END
----
BEGIN
CALL p(1, 2);
END;
 -- normalized!
BEGIN
CALL p((1), (2));
END;
 -- fully parenthesized
BEGIN
CALL p(_, _);
END;
 -- literals removed
BEGIN
CALL _(1, 2);
END;
 -- identifiers removed

parse
DECLARE
  x INT;
  y TEXT;
BEGIN
  CALL p(x, y);
END
----
DECLARE
x INT8;
y STRING;
BEGIN
CALL p(x, y);
END;
 -- normalized!
DECLARE
x INT8;
y STRING;
BEGIN
CALL p((x), (y));
END;
 -- fully parenthesized
DECLARE
x INT8;
y STRING;
BEGIN
CALL p(x, y);
END;
 -- literals removed
DECLARE
_ INT8;
_ STRING;
BEGIN
CALL _(_, _);
END;
 -- identifiers removed

error
BEGIN
  CALL p;
END
----
at or near ";": syntax error: CALL statement target must be a stored procedure
DETAIL: source SQL:
BEGIN
  CALL p;
        ^

error
BEGIN
  CALL 123;
END
----
at or near ";": syntax error: CALL statement target must be a stored procedure
DETAIL: source SQL:
BEGIN
  CALL 123;
          ^

error
BEGIN
  CALL p 1 2;
END
----
at or near ";": at or near "1": syntax error
DETAIL: source SQL:
SET ROW (p 1 2)
           ^
--
source SQL:
BEGIN
  CALL p 1 2;
            ^
HINT: try \h SET SESSION
