Improve overlapping indices action#7630
Open
labkey-adam wants to merge 14 commits intodevelopfrom
Open
Conversation
This was referenced Apr 29, 2026
This was referenced Apr 30, 2026
…Step #2. Generics in Junit management.
labkey-jeckels
approved these changes
May 2, 2026
| // Very simple binding for Java records: no support for binding errors, arrays, lists, disallowed fields, etc. | ||
| private <R> BindException defaultBindParametersToRecord(Class<R> recordClass, PropertyValues m) | ||
| { | ||
| ObjectFactory<R> factory = ObjectFactory.Registry.getFactory(recordClass); |
Contributor
There was a problem hiding this comment.
Standard form binding goes through getPropertyValuesForFormBinding(). Seems wise to do that here too, even if records are less likely to have problems
| void writeScript(Writer writer, IndexChange change, String schemaName, String tableName, IndexDefinition changeIndex) throws IOException | ||
| { | ||
| Drop.writeScript(writer, change); | ||
| String indexName = changeIndex.name().replace("uq", "ix").replace("unique", "index"); |
Contributor
There was a problem hiding this comment.
replace() replaces all instances. Do we want to just replace the first ones?
| } | ||
|
|
||
| @Test | ||
| public void testUniqueNotDroppedByLongerPk() |
Contributor
There was a problem hiding this comment.
Claude pointed this out as a problem. I pulled down the FB to confirm and ended up adding these test cases, plus fixing the issue with this (perhaps unlikely) scenario. See what you think.
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.
Rationale
Redundant indices waste disk space and degrade insert/update/delete performance. We can improve the existing action with per-schema processing, better documentation in the SQL scripts it generates, unique index vs. unique constraint detection, etc.
Also, add support for simple action parameter binding to Java records.