Currently, Tavern (from #210) access control list model stores individual permissions in the TavernAccess model/table. The problem is that users can have multiple permissions per tavern table and because those are stored as multiple rows, we can't call a JOIN on them, causing significant slowdown.
The correct way would be to treat permissions as access bits, store them in one access row and thus make it joinable when querying for table permissions.
Currently, Tavern (from #210) access control list model stores individual permissions in the
TavernAccess
model/table. The problem is that users can have multiple permissions per tavern table and because those are stored as multiple rows, we can't call a JOIN on them, causing significant slowdown.The correct way would be to treat permissions as access bits, store them in one access row and thus make it joinable when querying for table permissions.