diff --git a/edb/pgsql/resolver/dispatch.py b/edb/pgsql/resolver/dispatch.py index 877fe07d6ce..d3ec583fcf5 100644 --- a/edb/pgsql/resolver/dispatch.py +++ b/edb/pgsql/resolver/dispatch.py @@ -37,6 +37,7 @@ def _resolve( expr: pgast.Base, *, ctx: context.ResolverContextLevel ) -> pgast.Base: + expr.dump() _raise_unsupported(expr) diff --git a/edb/pgsql/resolver/static.py b/edb/pgsql/resolver/static.py index e221bc52c0f..ebfe711951e 100644 --- a/edb/pgsql/resolver/static.py +++ b/edb/pgsql/resolver/static.py @@ -312,7 +312,9 @@ def eval_FuncCall( return value raise errors.QueryError( - "function set_config is not supported", span=expr.span + "function set_config is not supported", + span=expr.span, + pgext_code=pgerror.ERROR_FEATURE_NOT_SUPPORTED, ) if fn_name == 'current_setting': @@ -329,6 +331,7 @@ def eval_FuncCall( raise errors.QueryError( f"function pg_catalog.{fn_name} is not supported", span=expr.span, + pgext_code=pgerror.ERROR_FEATURE_NOT_SUPPORTED, ) if fn_name == "pg_get_serial_sequence": diff --git a/edb/server/compiler/sql.py b/edb/server/compiler/sql.py index 9597a6b7a9e..0371874be53 100644 --- a/edb/server/compiler/sql.py +++ b/edb/server/compiler/sql.py @@ -289,9 +289,8 @@ def compile_sql( else: unit.cardinality = enums.Cardinality.MANY else: - raise errors.UnsupportedFeatureError( - f"SQL {stmt.__class__.__name__} is not supported" - ) + from edb.pgsql import resolver as pg_resolver + pg_resolver.dispatch._raise_unsupported(stmt) unit.stmt_name = compute_stmt_name(unit.query, tx_state).encode("utf-8") diff --git a/tests/test_sql_query.py b/tests/test_sql_query.py index ecf1be70cfd..0049da79857 100644 --- a/tests/test_sql_query.py +++ b/tests/test_sql_query.py @@ -2142,7 +2142,7 @@ async def test_sql_query_unsupported_01(self): with self.assertRaisesRegex( asyncpg.FeatureNotSupportedError, "not supported: CREATE", - position="14", # TODO: this is confusing + # position="14", # TODO: this is confusing ): await self.squery_values('CREATE TABLE a();')