Coverage for packages/sql-smith/src/sql_smith/engine/sql_server_engine.py: 67%
12 statements
« prev ^ index » next coverage.py v7.11.0, created at 2024-01-01 00:00 +0000
« prev ^ index » next coverage.py v7.11.0, created at 2024-01-01 00:00 +0000
1from sql_smith.engine import BasicEngine
2from sql_smith.query.sql_server.delete_query import DeleteQuery
3from sql_smith.query.sql_server.select_query import SelectQuery
6class SqlServerEngine(BasicEngine):
7 """A custom engine for SQL Server SQL dialect."""
9 def make_select(self) -> "SelectQuery":
10 """Creates a custom SQL Server SELECT query.
12 SQL Server handles OFFSET and LIMIT differently.
13 """
14 return SelectQuery(self)
16 def make_delete(self) -> "DeleteQuery":
17 """Creates a custom SQL Server DELETE query.
19 SQL Server handles LIMIT differently.
20 """
21 return DeleteQuery(self)
23 def escape_identifier(self, identifier: str) -> str:
24 """Escapes identifiers with brackets."""
25 return "[{}]".format(identifier)
27 def escape_like(self, parameter: str) -> str:
28 """Escape like argument.
30 Also escapes character ranges.
31 """
32 return super().escape_like(parameter).replace("[", r"\[").replace("]", r"\]")