Skip to content
This repository was archived by the owner on May 17, 2024. It is now read-only.

Commit 21f2537

Browse files
committed
Base optimizer_hints throws NotImplementedError
1 parent beba986 commit 21f2537

File tree

12 files changed

+9
-25
lines changed

12 files changed

+9
-25
lines changed

sqeleton/databases/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,8 @@ def current_timestamp(self) -> str:
168168
def explain_as_text(self, query: str) -> str:
169169
return f"EXPLAIN {query}"
170170

171-
def optimizer_hints(self, s: str):
172-
return f"/*+ {s} */ "
171+
def optimizer_hints(self, hints: str) -> str:
172+
raise NotImplementedError(f"Optimizer hints not yet implemented in {self.__class__}")
173173

174174
def _constant_value(self, v):
175175
if v is None:

sqeleton/databases/bigquery.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,6 @@ def type_repr(self, t) -> str:
137137
def set_timezone_to_utc(self) -> str:
138138
raise NotImplementedError()
139139

140-
def optimizer_hints(self, hints: str) -> str:
141-
raise NotImplementedError("Optimizer hints not yet implemented in bigquery")
142-
143140

144141
class BigQuery(Database):
145142
CONNECT_URI_HELP = "bigquery://<project>/<dataset>"

sqeleton/databases/clickhouse.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,6 @@ def set_timezone_to_utc(self) -> str:
162162
def current_timestamp(self) -> str:
163163
return "now()"
164164

165-
def optimizer_hints(self, hints: str) -> str:
166-
raise NotImplementedError("Optimizer hints not yet implemented in clickhouse")
167-
168165

169166
class Clickhouse(ThreadedDatabase):
170167
dialect = Dialect()

sqeleton/databases/databricks.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,6 @@ def _convert_db_precision_to_digits(self, p: int) -> int:
9494
def set_timezone_to_utc(self) -> str:
9595
return "SET TIME ZONE 'UTC'"
9696

97-
def optimizer_hints(self, hints: str) -> str:
98-
raise NotImplementedError("Optimizer hints not yet implemented in databricks")
9997

10098

10199
class Databricks(ThreadedDatabase):

sqeleton/databases/duckdb.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,6 @@ def set_timezone_to_utc(self) -> str:
136136
def current_timestamp(self) -> str:
137137
return "current_timestamp"
138138

139-
def optimizer_hints(self, hints: str) -> str:
140-
raise NotImplementedError("Optimizer hints not yet implemented in duckdb")
141-
142139

143140
class DuckDB(Database):
144141
dialect = Dialect()

sqeleton/databases/mysql.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ def type_repr(self, t) -> str:
109109
def explain_as_text(self, query: str) -> str:
110110
return f"EXPLAIN FORMAT=TREE {query}"
111111

112+
def optimizer_hints(self, s: str):
113+
return f"/*+ {s} */ "
114+
112115
def set_timezone_to_utc(self) -> str:
113116
return "SET @@session.time_zone='+00:00'"
114117

sqeleton/databases/oracle.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,9 @@ def constant_values(self, rows) -> str:
130130
def explain_as_text(self, query: str) -> str:
131131
raise NotImplementedError("Explain not yet implemented in Oracle")
132132

133+
def optimizer_hints(self, s: str):
134+
return f"/*+ {s} */ "
135+
133136
def parse_type(
134137
self,
135138
table_path: DbPath,

sqeleton/databases/postgresql.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,6 @@ def set_timezone_to_utc(self) -> str:
9696
def current_timestamp(self) -> str:
9797
return "current_timestamp"
9898

99-
def optimizer_hints(self, hints: str) -> str:
100-
raise NotImplementedError("Optimizer hints not yet implemented in postgresql")
101-
10299

103100
class PostgreSQL(ThreadedDatabase):
104101
dialect = PostgresqlDialect()

sqeleton/databases/presto.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,6 @@ def set_timezone_to_utc(self) -> str:
141141
def current_timestamp(self) -> str:
142142
return "current_timestamp"
143143

144-
def optimizer_hints(self, hints: str) -> str:
145-
raise NotImplementedError("Optimizer hints not yet implemented in presto")
146-
147144

148145
class Presto(Database):
149146
dialect = Dialect()

sqeleton/databases/redshift.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,6 @@ def concat(self, items: List[str]) -> str:
5757
def is_distinct_from(self, a: str, b: str) -> str:
5858
return f"({a} IS NULL != {b} IS NULL) OR ({a}!={b})"
5959

60-
def optimizer_hints(self, hints: str) -> str:
61-
raise NotImplementedError("Optimizer hints not yet implemented in redshift")
6260

6361
class Redshift(PostgreSQL):
6462
dialect = Dialect()

0 commit comments

Comments
 (0)