nedpals / supabase-go

Unofficial Supabase client library for Go.
https://pkg.go.dev/github.com/nedpals/supabase-go
MIT License
380 stars 73 forks source link

Looking for help to figure out what Supabase functions these RequestBuilder methods connect to? #31

Closed whoiscarlo closed 11 months ago

whoiscarlo commented 11 months ago

Hey I was wondering if there is a way to find out what these functions do?

Like
Ilike
Fts
Plfts
Phfts
Wfts
Cs
Cd
Ov
Sl
Sr
Nxl
Nxr
Adj

The intellisense for VS code gives no real information about any of the function or what they do, the file github.com/nedpals/postgrest-go/pkg/request_builder.go doesn't have comments about them, and I can't figure out which Supabase function they correlate to.

Would anyone be able to provide some insight or help me figure them out?

whoiscarlo commented 11 months ago

Figured out these:

Like - matches pattern case-sensitively. Ilike - matches pattern case-insensitively Cs - Contains Cd - ContainedBy Ov - Overlap Adj - Range Adjacent

Fritte795 commented 11 months ago

These are postgrest operators and not supabase functionality.

This supabase library uses an unofficial postgrest wrapper repository. Therefore all your requested information can be found in the official postgrest documentation.

whoiscarlo commented 11 months ago

@Fritte795 thanks that! The repo has been updated so all of the functions now have comments describing what they do!


// Select starts building a SELECT request with the specified columns.
Select(columns ...string)

// Insert starts building an INSERT request with the provided JSON data.
Insert(json interface{})

// Upsert starts building an UPSERT request with the provided JSON data.
Upsert(json interface{})

// Update starts building an UPDATE request with the provided JSON data.
Update(json interface{})

// Delete starts building a DELETE request.
Delete()

// Execute sends the query request and unmarshals the response JSON into the provided object.
Execute(r interface{})

// ExecuteWithContext sends the query request with the provided context and unmarshals the response JSON into the provided object.
ExecuteWithContext(ctx context.Context, r interface{})

// Not negates the next filter condition.
Not()

// Filter adds a filter condition to the request.
Filter(column, operator, criteria string)

// Eq adds an equality filter condition to the request.
Eq(column, value string)

// Neq adds a not-equal filter condition to the request.
Neq(column, value string)

// Gt adds a greater-than filter condition to the request.
Gt(column, value string)

// Gte adds a greater-than-or-equal filter condition to the request.
Gte(column, value string)

// Lt adds a less-than filter condition to the request.
Lt(column, value string)

// Lte adds a less-than-or-equal filter condition to the request.
Lte(column, value string)

// Is adds an IS filter condition to the request.
Is(column, value string)

// Like adds a LIKE filter condition to the request.
Like(column, value string)

// Ilike adds a ILIKE filter condition to the request.
Ilike(column, value string)

// Fts adds a full-text search filter condition to the request.
Fts(column, value string)

// Plfts adds a phrase-level full-text search filter condition to the request.
Plfts(column, value string)

// Phfts adds a phrase-headline-level full-text search filter condition to the request.
Phfts(column, value string)

// Wfts adds a word-level full-text search filter condition to the request.
Wfts(column, value string)

// In adds an IN filter condition to the request.
In(column string, values []string)

// Cs adds a contains set filter condition to the request.
Cs(column string, values []string)

// Cd adds a contained by set filter condition to the request.
Cd(column string, values []string)

// Ov adds an overlaps set filter condition to the request.
Ov(column string, values []string)

// Sl adds a strictly left of filter condition to the request.
Sl(column string, from, to int)

// Sr adds a strictly right of filter condition to the request.
Sr(column string, from, to int)

// Nxl adds a not strictly left of filter condition to the request.
Nxl(column string, from, to int)

// Nxr adds a not strictly right of filter condition to the request.
Nxr(column string, from, to int)

// Ad adds an adjacent to filter condition to the request.
Ad(column string, values []string)

// OrderBy sets the ordering column and direction for the SELECT request.
OrderBy(column, direction string)

// Range sets the range of rows to be returned for the SELECT request.
Range(from, to int)

// SingleRow sets the single row behavior for the SELECT request.
SingleRow()

// OnlyPayload sets the only payload behavior for the SELECT request.
OnlyPayload()

// WithoutCount sets the without count behavior for the SELECT request.
WithoutCount()

// SingleValue sets the single value behavior for the SELECT request.
SingleValue()