feat: draft partial index support #5567
Draft
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.
DRAFT
This PR is a quick attempt at providing Partial Index support for PostgreSQL and CockroachDB.
This is not a planned feature, but I figured I'd give it a shot.
Index expressions like
are stored in PSL like
This feature is gated behind
previewFeatures = ["partialIndexes"]
.Limitations:
provider = "postgresql"
andprovider = "cockroachdb"
are supported@@index([user_id, status], where: "status IN ('pending', 'processing')")
@@index([user_id, status], map: "Order_user_status_idx", where: "((status)::text = ANY ((ARRAY['pending'::character varying, 'processing'::character varying])::text[]))")