supabase-client-query 0.2.1

Query builder, filters, modifiers, and SQL/PostgREST execution for supabase-client
Documentation
# supabase-client-query

Query builder, filters, modifiers, and SQL/PostgREST execution for supabase-client.

> **Note:** This crate is part of the [`supabase-client-sdk`]https://crates.io/crates/supabase-client-sdk workspace. Most users should depend on `supabase-client-sdk` with the `query` feature (enabled by default) rather than using this crate directly.

## Key Features

- **`SupabaseClientQueryExt`** extension trait — adds `.from()`, `.from_typed()`, `.rpc()`, `.rpc_typed()` to `SupabaseClient`
- Fluent builders: `SelectBuilder`, `InsertBuilder`, `UpdateBuilder`, `DeleteBuilder`, `UpsertBuilder`, `RpcBuilder`
- 20+ filter methods: `eq`, `neq`, `gt`, `lt`, `gte`, `lte`, `like`, `ilike`, `in_`, `is`, `contains`, `overlaps`, `text_search`, `or_`, `not_`, and more
- Modifiers: `order`, `limit`, `range`, `single`, `count`, `head`, `explain`
- Response format overrides: `.csv()` and `.geojson()`
- Count options: `exact`, `planned`, `estimated` via `count_option()`
- RPC dry-run with `.rollback()`
- Optional `direct-sql` feature for direct PostgreSQL execution via sqlx

## Usage

```rust
use supabase_client_query::SupabaseClientQueryExt;

let response = client.from("cities")
    .select("id, name, country_id")
    .eq("country_id", 1)
    .order("name", OrderDirection::Ascending)
    .limit(10)
    .execute()
    .await;

let rows = response.into_result()?;
```

## License

Licensed under either of [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) or [MIT license](http://opensource.org/licenses/MIT) at your option.