Skip to content

Commit

Permalink
forgotten query_datasources_by_name function (#2497)
Browse files Browse the repository at this point in the history
* forgotten query_datasources_by_name function

* use normal formats
  • Loading branch information
wyndhblb authored and mistercrunch committed Mar 29, 2017
1 parent 37783d6 commit 5399020
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 0 deletions.
7 changes: 7 additions & 0 deletions superset/connectors/connector_registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,10 @@ def get_eager_datasource(cls, session, datasource_type, datasource_id):
.filter_by(id=datasource_id)
.one()
)

@classmethod
def query_datasources_by_name(
cls, session, database, datasource_name, schema=None):
datasource_class = ConnectorRegistry.sources[database.type]
return datasource_class.query_datasources_by_name(
session, database, datasource_name, schema=None)
10 changes: 10 additions & 0 deletions superset/connectors/druid/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -1065,5 +1065,15 @@ def get_having_filters(self, raw_filters):
filters = cond
return filters

@classmethod
def query_datasources_by_name(
cls, session, database, datasource_name, schema=None):
return (
session.query(cls)
.filter_by(cluster_name=database.id)
.filter_by(datasource_name=datasource_name)
.all()
)

sa.event.listen(DruidDatasource, 'after_insert', set_perm)
sa.event.listen(DruidDatasource, 'after_update', set_perm)
12 changes: 12 additions & 0 deletions superset/connectors/sqla/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -680,5 +680,17 @@ def lookup_database(table):
db.session, i_datasource, lookup_database, lookup_sqlatable,
import_time)

@classmethod
def query_datasources_by_name(
cls, session, database, datasource_name, schema=None):
query = (
session.query(cls)
.filter_by(database_id=database.id)
.filter_by(table_name=datasource_name)
)
if schema:
query = query.filter_by(schema=schema)
return query.all()

sa.event.listen(SqlaTable, 'after_insert', set_perm)
sa.event.listen(SqlaTable, 'after_update', set_perm)

0 comments on commit 5399020

Please sign in to comment.