Draft: Use gitlab_schema to parse each query and track failures
What does this MR do and why?
This is based on top of !74076 (merged), which needs to be merged first.
Implements gitlab_schema semantic of config/database.yml as described in #342378 (closed).
This allows to enable and detect if a given connection used uses tables outside of defined schemas.
The idea here is that we hook into ActiveRecord SQL notification and depending on a connection in use
we apply a filter on allowed schemas. There's a separate filter for gitlab_primary_schemas and gitlab_replica_schemas
allowing to fine tune filtering. How it will be exactly used with #342378 (closed) is yet to define in a next MRs.
Related to:
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
- I have evaluated the MR acceptance checklist for this MR.