diff --git a/edb/pgsql/resolver/expr.py b/edb/pgsql/resolver/expr.py index fca1fb0685e..bd3a22d43b4 100644 --- a/edb/pgsql/resolver/expr.py +++ b/edb/pgsql/resolver/expr.py @@ -743,8 +743,9 @@ def resolve_ParamRef( # external params map one-to-one to internal params if expr.number < 1: raise errors.QueryError( - f'there is no parameter ${expr.number}', + f'param out of bounds: ${expr.number}', pgext_code=pgerror.ERROR_UNDEFINED_PARAMETER, + hint='query parameters start with 1', ) param = ctx.query_params[expr.number - 1] diff --git a/tests/test_sql_query.py b/tests/test_sql_query.py index 4a5153be7ed..59907ef4236 100644 --- a/tests/test_sql_query.py +++ b/tests/test_sql_query.py @@ -1053,7 +1053,8 @@ async def test_sql_query_53(self): async def test_sql_query_54(self): with self.assertRaisesRegex( - asyncpg.UndefinedParameterError, 'there is no parameter \\$0' + asyncpg.UndefinedParameterError, 'param out of bounds: \\$0', + hint='query parameters start with 1' ): await self.scon.fetch( '''