I have a table with an editable column. That column is mapped to a query that hits a view in my database. On its own, the query works fine, returns all the values that I expect.
However, each time I click into the column that is mapped to the query to select a new value, the dropdown hangs and eventually crashes my entire tab. Screenshot of what the dropdown looks like:
Some things I've tried but haven't worked:
- Create a simpler app that contains the very bare minimum of queries.
- Change the query to hit a table instead of a view
- Cache the query
I'm more of a SQL guy than JS guy, so I'm not sure if there are JS/transformer workarounds that might get passed this issue. Greatly appreciative of any suggestions.
Hey @shu, is this still an issue you're seeing?
I'd be curious to know more about the query you're pulling the options from, particularly how much data it's returning. The fact that your whole tab is crashing may suggest that Retool is trying to process too much at once. If you have any additional mappers in the column settings that would be good to see as well.
Would also be interested to hear more about your use case generally! What is this column for?
We use the app to map strings from our database ingestion layer to single strings that we use for reporting. The column that's crashing is a list of names, so that we can select whatever name we want that record mapped to.
I've adjusted the query to only pull names from already approved names, but this isn't an ideal solution since we often get new records that we want to be in the approved list. At the moment we manually insert new names into the list of approved names, but like I said it's not ideal.
The query itself returns a little less than 10,000 records.
Honestly, there are a lot of mappers in the app. The database table only contains keys, so the Retool table maps all the keys to their string names. Without adjusting the underlying architecture, we won't be able to get away from mapping the column IDs to a string name in Retool.
Hopefully that answers your question. Let me know if you have any thoughts on this.
I see, how do things behave in a standalone select component?
I also ran a quick baseline test on the table for comparison, it would also be nice to see the specific mappers you're using along with a sample of the data.