Replies: 3 comments 1 reply
-
I've just had a little dig around in I'd suggest the way to resolve this, then, is add another option to the I'll look into making this change tomorrow and raise a PR for discussion. |
Beta Was this translation helpful? Give feedback.
-
You CAN disable the Select All functionality on a per-component basis. In Now... for the bigger issue, of "should it even be there?" In this case, I think I'm on your side, that this does more harm than good. If you want to open a PR disabling it, we can hash out any discussion there. Another option might be to find a way to make it dynamic, i.e. allowing Select All if there are less than ten tables or something along those lines. Then it can provide the handy utility for smaller instances that like it, but not explode anyone's server. CC @yousoph @kasiazjc in case they have particular context around how much people are clamoring to have that Select All in this particular menu. |
Beta Was this translation helpful? Give feedback.
-
Looks like @justinpark beat me to raising the PR for this one (#24120); thanks for the quick turnaround! |
Beta Was this translation helpful? Give feedback.
-
In SQL Lab, when you select a table it will automatically show the table schema and add a preview tab for some rows for the table. It makes a few backend requests for each one, as well as running a couple of queries against the database to fetch this data. It'll take at least a few seconds to do this, typically.
In 2.1, I've noticed there's a new feature: "Select All". This is problematic for us as we have thousands of tables, and the result of any one of our thousands of users (even accidentally) hitting "select all" will be locking up both their browser and our database cluster for a significant length of time.
This needs to be feature flagged at least, as we need it disabled, but in my opinion it's a mis-feature. It's likely our thousands of tables are more than many users have, but even with comparatively small numbers of tables it's implemented in a very inefficient way in terms of backend calls (each preview actually does a GET to one endpoint which retrieves a query to run, and then a POST to the general execute SQL json endpoint to execute that query, and performs a total of 6-7 backend requests for every individual table). And even if it were made more efficient, it's still necessary to run many distinct queries in quick succession.
With a handful of tables it's quite easy to select them all from the list, and with more than a handful it's unlikely to be useful to preview all the tables (and also unlikely you'd need to join across all the tables).
Any thoughts? Are others finding this feature useful, or problematic?
Beta Was this translation helpful? Give feedback.
All reactions