Skip to content

fix(postgrest): preserve text search negation - #1624

Open
Bortlesboat wants to merge 1 commit into
supabase:mainfrom
Bortlesboat:fix/postgrest-text-search-negation
Open

Bortlesboat wants to merge 1 commit into
supabase:mainfrom
Bortlesboat:fix/postgrest-text-search-negation

Conversation

@Bortlesboat

Copy link
Copy Markdown

not_.text_search() now negates the full-text search and consumes the pending negation flag. For example, plain English search produces not.plfts(english).fat cat; previously it produced plfts(english).fat cat and could negate a later filter instead.

Fixes #1623.

Related: #1616, #1619. The or_() change is separate from this text-search path.

Validation from src/postgrest: pytest tests --ignore=tests/_async/test_filter_request_builder_integration.py --ignore=tests/_sync/test_filter_request_builder_integration.py -q — 234 passed. The 32 sync/async regression cases cover all search modes, optional configuration, positive/negative searches and a subsequent filter; eight async cases fail before the fix. Ruff passes on the four changed files, and mypy src/postgrest tests passes. Live PostgREST integration tests were not run because no database service was started.

The async and sync changes match; existing unrelated drift in the sync generation output was excluded. No service deployment or new monitoring is needed for this query-construction fix.

Review requested: @olirice @silentworks, per the contribution guide.

Agent-assisted: Codex prepared the patch and ran the local checks listed above.


Compound Engineering

@Bortlesboat
Bortlesboat requested review from a team and o-santi as code owners September 8, 2026 13:58

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

not_.text_search() drops full-text search negation

1 participant