mirror of
https://github.com/apache/superset.git
synced 2026-04-20 16:44:46 +00:00
chore: Cleanup database sessions (#10427)
Co-authored-by: John Bodley <john.bodley@airbnb.com>
This commit is contained in:
@@ -507,7 +507,7 @@ class SupersetSecurityManager( # pylint: disable=too-many-public-methods
|
||||
user_perms = self.user_view_menu_names("datasource_access")
|
||||
schema_perms = self.user_view_menu_names("schema_access")
|
||||
user_datasources = ConnectorRegistry.query_datasources_by_permissions(
|
||||
self.get_session, database, user_perms, schema_perms
|
||||
database, user_perms, schema_perms
|
||||
)
|
||||
if schema:
|
||||
names = {d.table_name for d in user_datasources if d.schema == schema}
|
||||
@@ -568,7 +568,7 @@ class SupersetSecurityManager( # pylint: disable=too-many-public-methods
|
||||
self.add_permission_view_menu(view_menu, perm)
|
||||
|
||||
logger.info("Creating missing datasource permissions.")
|
||||
datasources = ConnectorRegistry.get_all_datasources(self.get_session)
|
||||
datasources = ConnectorRegistry.get_all_datasources()
|
||||
for datasource in datasources:
|
||||
merge_pv("datasource_access", datasource.get_perm())
|
||||
merge_pv("schema_access", datasource.get_schema_perm())
|
||||
@@ -901,7 +901,7 @@ class SupersetSecurityManager( # pylint: disable=too-many-public-methods
|
||||
|
||||
if not (schema_perm and self.can_access("schema_access", schema_perm)):
|
||||
datasources = SqlaTable.query_datasources_by_name(
|
||||
self.get_session, database, table_.table, schema=table_.schema
|
||||
database, table_.table, schema=table_.schema
|
||||
)
|
||||
|
||||
# Access to any datasource is suffice.
|
||||
|
||||
Reference in New Issue
Block a user