postgres icon indicating copy to clipboard operation
postgres copied to clipboard

Respect index option param.

Open abbyssoul opened this issue 1 year ago • 1 comments

  • [X ] Do only one thing
  • [ X] Non breaking API changes
  • [ X] Tested

What did this pull request do?

When creating indexes, the option argument is taken into account.

User Case Description

When creating indexes, users might need greater control over the resulting DDL statement. For example, users need a way to specify "NULLS [ NOT ] DISTINCT" SQL option when working with Postgres as described here: https://www.postgresql.org/docs/current/sql-createindex.html Despite documentation stating that option param is supported: https://gorm.io/docs/indexes.html, Postgres Mirgator implementation does not use it. Example of use opened issue that will be closed by this PR: https://github.com/go-gorm/gorm/issues/6085

abbyssoul avatar Oct 16 '24 13:10 abbyssoul

Hi @a631807682 , Thank you for approving this PR. Unfortunately, I don't have write access to this repo. Would you or someone else with permissions, be able to merge it in plz.

abbyssoul avatar Oct 17 '24 09:10 abbyssoul

Can this be merged? This is a blocker on a project of mine.

JacobPotter avatar Nov 06 '24 13:11 JacobPotter

Can this be merged? This is a blocker on a project of mine.

same!

gagnonalex avatar Nov 08 '24 23:11 gagnonalex

@abbyssoul @jinzhu this did not seem to resolve the issue. I have updated to version created from this PR and the options are still not being added when Automigrate is ran

JacobPotter avatar Nov 23 '24 16:11 JacobPotter

Hi @JacobPotter, Please check if a proper index with options is created for new tables. I suspect Gorm auto migration does not update indexes. That's something to look into next.

abbyssoul avatar Nov 24 '24 22:11 abbyssoul

This change broke the use of setting option:CONCURRENTLY. With this change if you use that option the SQL generated is CREATE INDEX CONCURRENTLY IF NOT EXISTS "deploymentscontainers_idx" ON "deployments_containers" USING btree("idx") CONCURRENTLY Blindly appending the options is not good. And why do we push a change without updating a test case?

I will try to follow a ticket with a reproduction later today.

dashrews78 avatar Dec 09 '24 12:12 dashrews78

https://github.com/go-gorm/postgres/issues/293

dashrews78 avatar Dec 09 '24 15:12 dashrews78