Add database-backend-specific checks
|Reported by:||Shai Berger||Owned by:||nobody|
|Component:||Core (System checks)||Version:||master|
|Cc:||Michael Manfre||Triage Stage:||Accepted|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Different database backends have different features and behaviors. As a result, some definitions which may be ok on some backends, may warrant warnings or even errors on other backends.
As one example, a 65-chars-long field name is a problem on PostgreSQL, but not on any other core backend; as another, column named "timestamp" warrants a warning on Oracle (it might work or not...) but not anywhere else.
The place where such definitions are checked is the checks framework; and to account for the different behaviors, we need database-backend-specific checks.
This is a spin-off from #13711 -- which, in its last iteration, needed special care for the field-name-too-long check.