Skip to content
This repository has been archived by the owner on Nov 3, 2023. It is now read-only.

Commit

Permalink
[revert] apache#8598
Browse files Browse the repository at this point in the history
  • Loading branch information
Grace committed Dec 10, 2019
1 parent d52d224 commit c31493e
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 27 deletions.
6 changes: 1 addition & 5 deletions superset/connectors/sqla/models.py
Expand Up @@ -530,11 +530,7 @@ def select_star(self) -> str:
# show_cols and latest_partition set to false to avoid
# the expensive cost of inspecting the DB
return self.database.select_star(
self.table_name,
sql=self.sql,
schema=self.schema,
show_cols=False,
latest_partition=False,
self.table_name, schema=self.schema, show_cols=False, latest_partition=False
)

def get_col(self, col_name: str) -> Optional[Column]:
Expand Down
27 changes: 11 additions & 16 deletions superset/db_engine_specs/base.py
Expand Up @@ -617,7 +617,6 @@ def select_star( # pylint: disable=too-many-arguments,too-many-locals
database,
table_name: str,
engine: Engine,
sql: Optional[str] = None,
schema: Optional[str] = None,
limit: int = 100,
show_cols: bool = False,
Expand All @@ -630,7 +629,6 @@ def select_star( # pylint: disable=too-many-arguments,too-many-locals
:param database: Database instance
:param table_name: Table name
:param sql: SQL defining a subselect
:param engine: SqlALchemy Engine instance
:param schema: Schema
:param limit: limit to impose on query
Expand All @@ -640,23 +638,20 @@ def select_star( # pylint: disable=too-many-arguments,too-many-locals
:param cols: Columns to include in query
:return: SQL query
"""
fields = "*"
cols = cols or []
if (show_cols or latest_partition) and not cols:
cols = database.get_columns(table_name, schema)

if show_cols:
fields = cls._get_fields(cols)
quote = engine.dialect.identifier_preparer.quote
if schema:
full_table_name = quote(schema) + "." + quote(table_name)
else:
full_table_name = quote(table_name)

if sql is not None:
subselect = f"(\n{sql}\n) AS {quote(table_name)}"
qry = select("*").select_from(text(subselect))
else:
fields = "*"
cols = cols or []
if (show_cols or latest_partition) and not cols:
cols = database.get_columns(table_name, schema)
if show_cols:
fields = cls._get_fields(cols)
qry = select(fields).select_from(text(full_table_name))
qry = select(fields).select_from(text(full_table_name))

if limit:
qry = qry.limit(limit)
Expand All @@ -666,10 +661,10 @@ def select_star( # pylint: disable=too-many-arguments,too-many-locals
)
if partition_query is not None:
qry = partition_query
select_star_query = database.compile_sqla_query(qry)
sql = database.compile_sqla_query(qry)
if indent:
select_star_query = sqlparse.format(select_star_query, reindent=True)
return select_star_query
sql = sqlparse.format(sql, reindent=True)
return sql

@classmethod
def estimate_statement_cost(
Expand Down
2 changes: 0 additions & 2 deletions superset/db_engine_specs/hive.py
Expand Up @@ -354,7 +354,6 @@ def select_star( # pylint: disable=too-many-arguments
database,
table_name: str,
engine: Engine,
sql: Optional[str] = None,
schema: str = None,
limit: int = 100,
show_cols: bool = False,
Expand All @@ -368,7 +367,6 @@ def select_star( # pylint: disable=too-many-arguments
database,
table_name,
engine,
sql,
schema,
limit,
show_cols,
Expand Down
2 changes: 0 additions & 2 deletions superset/db_engine_specs/presto.py
Expand Up @@ -409,7 +409,6 @@ def select_star( # pylint: disable=too-many-arguments
database,
table_name: str,
engine: Engine,
sql: Optional[str] = None,
schema: str = None,
limit: int = 100,
show_cols: bool = False,
Expand All @@ -433,7 +432,6 @@ def select_star( # pylint: disable=too-many-arguments
database,
table_name,
engine,
sql,
schema,
limit,
show_cols,
Expand Down
2 changes: 0 additions & 2 deletions superset/models/core.py
Expand Up @@ -1020,7 +1020,6 @@ def compile_sqla_query(self, qry: Select, schema: Optional[str] = None) -> str:
def select_star(
self,
table_name: str,
sql: Optional[str] = None,
schema: Optional[str] = None,
limit: int = 100,
show_cols: bool = False,
Expand All @@ -1035,7 +1034,6 @@ def select_star(
return self.db_engine_spec.select_star(
self,
table_name,
sql=sql,
schema=schema,
engine=eng,
limit=limit,
Expand Down

0 comments on commit c31493e

Please sign in to comment.