fix(mysql,mariadb): remove extra FROM
from showIndexes
#14657
Merged
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.
Pull Request Checklist
yarn test
oryarn test-DIALECT
pass with this change (including linting)?Description Of Change
Our implementation of MySQL schemas is very broken. MySQL does not have a concept of 'database', and when you see the word 'database' in the MySQL doc, it actually means what we understand as 'schema' in our codebase (
CREATE DATABASE
andCREATE SCHEMA
are synonymous in MySQL).This PR also fixes our MySQL implementation of
showIndexesQuery
.The query is defined as follows:
Our implementation would generate this:
Where
databaseName
is the name of the database from the connection credentials. The problem is that in MySQL, that is actually equivalent to doing this:Which breaks because there is no schema called
databaseName
.This PR fixes this by just removing the
FROM `databaseName`
part. The schema is already handled by ourquoteTable
function.