Skip to content

not_.text_search() drops full-text search negation #1623

Description

@Bortlesboat

Calling .not_.text_search(...) sends a positive full-text filter. For example:

client.table("documents").select("*").not_.text_search(
    "content", "cat", {"type": "plain", "config": "english"}
)

The current builder sends content=plfts(english).cat; the negated form is content=not.plfts(english).cat. The sync and async text_search() methods append parameters directly instead of going through filter(), which consumes negate_next. The convenience fts() methods already use filter().

This is the separate text_search case mentioned in #1616. #1619 changes or_() and does not change either text_search() method. I plan to route these methods through the existing filter path and add sync/async regressions for search modes, language configuration, and the next filter remaining positive.

Agent-assisted contribution: Codex inspected the current source and prepared this report under Bortlesboat's direction. No database writes or live Supabase requests were made.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Client Library - PythonPostgRESTIssues related to postgrest-pybugSomething isn't workingpythonPull requests that update Python code

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions