Support extension schema contributors with IndexElement#754
Draft
griffio wants to merge 9 commits into
Draft
Conversation
similar to TableElement, represents CreateIndex, DropIndex, AlterIndex
Store IndexElement in Schema
Remove name and add new name. Type is not inlined as has to call private inline functions
Implements IndexElement SchemaContrib
Need to check extension statements for SchemaContrib types that a dialect creates e.g AlterIndex
1 task
Allows the index name to be overridden AlterIndex name
Should be SqlTypes.INDEX_NAME not SqlTypes.TABLE_NAME
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
🚧 🏗️ Shows new
IndexElementtype so that indexes are named types that can be stored in the schema and allow the indexElementName to be overridden.Introduces an
IndexElementtype likeTableElementas the schema object can then store index names and not specific types likeSqlCreateIndexStmt,SqlDropIndexStmtorPostgreSqlAlterIndexStmt.When PostgreSql dialect implements
PostgreSqlAlterIndexStmtit is stored asIndexElementand can replace the existingIndexElementwith a new name.Schema.replace(...), that is public and not inlined, to remove and then add type with a new name.For the IDEA plugin to work with the new
ALTER INDEXmixin, a stub must be created,SqlSchemaContributorImplis made public similar toSqlCompositeElementImpl.TODO
IndexElementmust be implemented by dialects and change any calls toschema<SqlCreateIndexStmt>withschema<TableElement>CHANGELOG.md's "Unreleased" section has been updated, if applicable.