Add error position to an error message

Reviewed-by: Pavel Stehule <pavel.stehule@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/6e7aa4a1-be6a-1a75-b1f9-83a678e5184a@2ndquadrant.com
This commit is contained in:
Peter Eisentraut 2019-11-29 09:10:17 +01:00
parent c60e520f6e
commit d4feadeca1
2 changed files with 4 additions and 1 deletions

View File

@ -381,7 +381,8 @@ EvaluateParams(PreparedStatement *pstmt, List *params,
i + 1,
format_type_be(given_type_id),
format_type_be(expected_type_id)),
errhint("You will need to rewrite or cast the expression.")));
errhint("You will need to rewrite or cast the expression."),
parser_errposition(pstate, exprLocation(lfirst(l)))));
/* Take care of collations in the finished expression. */
assign_expr_collations(pstate, expr);

View File

@ -113,6 +113,8 @@ DETAIL: Expected 5 parameters but got 6.
-- wrong param types
EXECUTE q3(5::smallint, 10.5::float, false, 4::bigint, 'bytea');
ERROR: parameter $3 of type boolean cannot be coerced to the expected type double precision
LINE 1: EXECUTE q3(5::smallint, 10.5::float, false, 4::bigint, 'byte...
^
HINT: You will need to rewrite or cast the expression.
-- invalid type
PREPARE q4(nonexistenttype) AS SELECT $1;