michael-s-molina commented on issue #26395: URL: https://github.com/apache/superset/issues/26395#issuecomment-1875316419
Thank you for the SIP @justinpark. Some thoughts to help with the discussion: > @justinpark it seems like the left-hand panel will likely define (for searching purposes) an exhaustive list of all database and namespaces (schemas) which i) our current API doesn't handle, and ii) could be rather costly to fetch if the corpus of databases, schemas, and table is large. > 2. What happens when databases have thousands of tables? Are we going to paginate the sidebar? > While the tree list view has the capability to manage large lists through virtual rendering, it doesn't currently have a plan to provide an option for pagination, as the backend API does not support this feature yet. I think the answer here is lazy loading and if necessary pagination. Even if the Ant Design tree does not natively support pagination, we can still implement it by adding a link to load more items of a specific node. We should also keep in mind that we already load all the tables once a particular database and schema are selected, and that's why lazy loading the items will probably be sufficient. There's an example of this type of tree [here](https://ant.design/components/tree#components-tree-demo-dynamic). > As @john-bodley pointed out, we lack an API to search for a specific table name across the entire database, hence it's slated to be executed by the frontend. Thus, it will only highlight a record from the already fetched recordset, leading to some limitations in discovery. > Consequently, I'm leaning towards maintaining the dropdown UI (as opposed to a treeview UI) for the table schema selector (and designing the layout as per @betodealmeida 's first point) for the initial proposal until the API is fully equipped to handle pagination and search functions. My vote would be to enhance our current API to support the changes proposed here instead of trying to adapt the interface to our current API limitations. The tree view for displaying database/schema/tables is widely used in most database/sql editors and I think the UI and API changes are what justifies the SIP in the first place. > 3. Currently we have some affordances to show extra table metadata (in Presto, Hive, Trino, BigQuery, and GSheets). How are these going to be displayed in the new design? > 4. We've been discussing https://github.com/apache/superset/issues/22862 (projects, in BigQuery terms) to Superset. It would be nice to keep that in mind during this redesign, to make that work easier. Great callout from @betodealmeida. Let's think about these concepts now while we're still in the design/prototype phase as it's way more costly to think about the after. If we could enhance the mockups with these concepts it would be great. -- 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]
