authz: use `INT[]` to store permissions
Created by: unknwon
Implements using INT[]
in addition to roaring bitmap (BYTEA
) to store permissions.
- By default, the read path reads from the new format (intarray), and falls back to old format (roaring bitmap) if the new format has empty data.
- Write path writes to tables in both formats.
This is a storage format transition step towards pure-SQL authz approach for more smooth experience for existing customers who are using repository permissions.
Fixes #11400
After merge
-
Create an issue to do load testing on GCP. #13739 -
Create an issue to remove read path of old format. #13740 -
Create an issue to completely remove authzFilter
: https://github.com/sourcegraph/sourcegraph/issues/11400#issuecomment-650838104 #11767