Paulo456 commented on issue #15854:
URL: https://github.com/apache/superset/issues/15854#issuecomment-1683732902
if u have 50k+ virtual datasets - to edit very slow in frontend superset.
to change this - check only phis datasets for access and parse virt dataset
for real tables, like sqllab.
u need to update security manager superset for check real tables and set sql
updates (example):
`ALTER TABLE public.ab_view_menu ADD "sql" boolean NULL;
UPDATE public.ab_view_menu SET "sql"=false where 1=1;
UPDATE public.ab_view_menu
SET "sql" = true
from tables t
WHERE t.perm = public.ab_view_menu."name"
and (t."sql" is not null or t."sql" != '');`
`class PermissionView(Model):
__tablename__ = "ab_permission_view"
__table_args__ = (UniqueConstraint("permission_id", "view_menu_id"),)
id = Column(Integer, Sequence("ab_permission_view_id_seq"),
primary_key=True)
permission_id = Column(Integer, ForeignKey("ab_permission.id"))
permission = relationship("Permission", lazy="joined")
view_menu_id = Column(Integer, ForeignKey("ab_view_menu.id"))
+view_menu = relationship(
ViewMenu,
primaryjoin="""and_(
ViewMenu.id==PermissionView.view_menu_id,
or_(ViewMenu.sql==False, ViewMenu.sql == None )
)""",
innerjoin=True,
lazy="joined",
)
....
class ViewMenu(Model):
__tablename__ = "ab_view_menu"
id = Column(Integer, Sequence("ab_view_menu_id_seq"), primary_key=True)
name = Column(String(250), unique=True, nullable=False)
+ sql = Column(Boolean)`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]