refactor: EXPOSED-710 Move plain SQL for retrieving foreign keys from MysqlDialect #2380
+127
−102
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Summary of the change: Plain SQL in
MysqlDialect.fillConstraintCacheForTables()
is now inexposed-jdbc
undertableConstraints()
.Detailed description:
In preparation for R2DBC, JDBC-specific execution of plain SQL needs to be extracted from
exposed-core
.MysqlDialect.fillConstraintCacheForTables()
currently executes a custom SQL query to retrieve foreign key constraints associated with the provided table. This is an override for a protected method that is only called in 1 place:DatabaseDialect.columnConstraints()
. The latter is responsible for allSchemaUtils
methods that check foreign key consistency.tableConstraints()
, because this is the metadata query called by the default implementation offillConstraintCacheForTables()
. This is also the only place wheretableConstraints()
is invoked.tableConstraints()
directly. CallingcolumnConstraints()
ofSchemaUtils
methods has not changed behavior.Type of Change
Please mark the relevant options with an "X":
Affected databases:
Checklist
Related Issues
EXPOSED-710
R2DBC parent - EXPOSED-517