Hi, we are interested in MemSQL’s row level security features and have read the following document:
But there are a few questions I like to get clarifications on:
We have both a Java based multi-tenant application and a 3rd party BI tool (Microstrategy) and our application connects to the MemSQL database as the schema owner and not the user that has logged into the web page. How does the actual front end client user’s granted roles get evaluated if the database connection is being made using an entirely different user (i.e. the schema owner) who won’t have those roles?
The document indicates that you have to create Views for each table that has the ACCESS_ROLES column. Does that mean that the application cannot query the tables but now have to be refactored to query the views instead? And if we have queries with lots of joins those will now be joins against views and not tables with indexes, etc? Would that be a performance hit for tables that are a mix of reference, rowstore, and columnstore?
Thanks for any help