|
51 | 51 | )
|
52 | 52 | from superset.sql_parse import CtasMethod, ParsedQuery, Table
|
53 | 53 | from superset.sqllab.limiting_factor import LimitingFactor
|
54 |
| -from superset.superset_typing import ResultSetColumnType |
55 | 54 | from superset.utils.core import GenericDataType, QueryStatus, user_label
|
56 | 55 |
|
57 | 56 | if TYPE_CHECKING:
|
@@ -183,7 +182,7 @@ def sql_tables(self) -> List[Table]:
|
183 | 182 | return list(ParsedQuery(self.sql).tables)
|
184 | 183 |
|
185 | 184 | @property
|
186 |
| - def columns(self) -> List[ResultSetColumnType]: |
| 185 | + def columns(self) -> List[Dict[str, Any]]: |
187 | 186 | bool_types = ("BOOL",)
|
188 | 187 | num_types = (
|
189 | 188 | "DOUBLE",
|
@@ -217,7 +216,7 @@ def columns(self) -> List[ResultSetColumnType]:
|
217 | 216 | computed_column["column_name"] = col.get("name")
|
218 | 217 | computed_column["groupby"] = True
|
219 | 218 | columns.append(computed_column)
|
220 |
| - return columns # type: ignore |
| 219 | + return columns |
221 | 220 |
|
222 | 221 | @property
|
223 | 222 | def data(self) -> Dict[str, Any]:
|
@@ -288,7 +287,7 @@ def offset(self) -> int:
|
288 | 287 | def main_dttm_col(self) -> Optional[str]:
|
289 | 288 | for col in self.columns:
|
290 | 289 | if col.get("is_dttm"):
|
291 |
| - return col.get("column_name") # type: ignore |
| 290 | + return col.get("column_name") |
292 | 291 | return None
|
293 | 292 |
|
294 | 293 | @property
|
@@ -332,6 +331,14 @@ def tracking_url(self) -> Optional[str]:
|
332 | 331 | def tracking_url(self, value: str) -> None:
|
333 | 332 | self.tracking_url_raw = value
|
334 | 333 |
|
| 334 | + def get_column(self, column_name: Optional[str]) -> Optional[Dict[str, Any]]: |
| 335 | + if not column_name: |
| 336 | + return None |
| 337 | + for col in self.columns: |
| 338 | + if col.get("column_name") == column_name: |
| 339 | + return col |
| 340 | + return None |
| 341 | + |
335 | 342 |
|
336 | 343 | class SavedQuery(Model, AuditMixinNullable, ExtraJSONMixin, ImportExportMixin):
|
337 | 344 | """ORM model for SQL query"""
|
|
0 commit comments