Logical operators for combining filter conditions.
Members
| Member | Value |
|---|---|
| AND | "and" |
| OR | "or" |
Comparison operators available for filtering a single field. Only one operator should be set per FieldOptions object.
String operators compare the field value against the provided string.
Boolean operators (is/isNot) check for equality with true/false.
Properties
| Property | Type | Modifiers |
|---|---|---|
| eq? | string | — |
| neq? | string | — |
| in? | string | — |
| notIn? | string | — |
| lt? | string | — |
| lte? | string | — |
| gt? | string | — |
| gte? | string | — |
| like? | string | — |
| notLike? | string | — |
| is? | boolean | — |
| isNot? | boolean | — |
Defines the sort order for a query result.
Type Parameters
| Parameter | Constraint | Default |
|---|---|---|
TableDefinition | — | — |
Properties
| Property | Type | Modifiers |
|---|---|---|
| field | SelectExpression<KyselyDatabase<TableDefinition>, "tablename"> | — |
Column name to sort by. Constrained to valid column names from the table type. | ||
| direction | string | — |
Sort direction — | ||
Controls offset-based pagination.
Properties
| Property | Type | Modifiers |
|---|---|---|
| limit? | number | — |
Maximum number of rows to return. | ||
| offset? | number | — |
Number of rows to skip before fetching. | ||
A single field condition — a record where the key is the field name and the value is a FieldOptions object describing the comparison.
Type
FieldA recursive filter structure that can contain AND/OR groups, each holding field conditions or further nested groups.
Properties
| Property | Type | Modifiers |
|---|---|---|
| and? | Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | undefined | — |
| or? | Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | undefined | — |
Parameters for generating a Trino-compatible SQL query from GraphQL resolve info.
Type Parameters
| Parameter | Constraint | Default |
|---|---|---|
TableDefinition | — | — |
Properties
| Property | Type | Modifiers |
|---|---|---|
| catalog | string | — |
The Trino catalog name (e.g. “hive”). | ||
| schema | string | — |
The Trino schema name (e.g. “sales”). | ||
| table | string | — |
The table name to query. | ||
| selectFields | Array<SelectExpression<KyselyDatabase<TableDefinition>, "tablename">> | — |
The columns to select, derived from GraphQL field selections. | ||
| userQuery | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | — |
The user-provided filter query (WHERE clause). | ||
| paging? | PagingInput | — |
Pagination parameters (limit and offset). | ||
| sorting | Array<SortInput<TableDefinition>> | — |
Sort order definitions. | ||
| transformFields? | Record<string, string> | — |
Maps GraphQL field names to database column names. | ||
| dateFields? | Array<string> | — |
Fields that should be wrapped in | ||
Parameters for building a single field comparison expression.
Type Parameters
| Parameter | Constraint | Default |
|---|---|---|
TableDefinition | — | — |
Properties
| Property | Type | Modifiers |
|---|---|---|
| eb | ExpressionBuilder<KyselyDatabase<TableDefinition>, "tablename"> | — |
The Kysely expression builder for constructing SQL expressions. | ||
| fieldName | string | — |
The column name to filter on. | ||
| operator | string | — |
The comparison operator (eq, neq, lt, like, etc.). | ||
| value | unknown | — |
The value to compare against. | ||
Builds a single field comparison expression for use in WHERE clauses.
Type Parameters
| Parameter | Constraint | Default |
|---|---|---|
TableDefinition | — | — |
Parameters
| Parameter | Type | Default Value |
|---|---|---|
| { eb, fieldName, operator, value, } | GetFieldQueryProps<TableDefinition> | — |
Returns
ExpressionWrapper<KyselyDatabase<TableDefinition>, "tablename", SqlBool>Normalizes filter objects by ensuring each field is in its own object within and/or arrays.
Splits multi-field filter objects into separate entries so the query builder can process each field condition independently.
Parameters
| Parameter | Type | Default Value |
|---|---|---|
| filter | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | — |
Returns
| Property | Type | Modifiers |
|---|---|---|
| and? | Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | undefined | — |
| or? | Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | undefined | — |
Wraps bare field-level filters into an AND-rooted structure.
If the query already has a single and or or key at the root, it is returned as-is.
Otherwise, all entries are combined under an and key.
Parameters
| Parameter | Type | Default Value |
|---|---|---|
| userQuery | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | — |
Returns
| Property | Type | Modifiers |
|---|---|---|
| and? | Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | undefined | — |
| or? | Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, Array<Field | Partial<Record<WhereOperator, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | undefined | — |
Generates a compiled SQL query with pagination metadata for Trino.
Returns a Kysely CompiledQuery containing the generated SQL and parameters.
The query uses two CTEs internally:
-
total_count— providestotal_records(total matching rows before paging) -
records— the actual rows based onselectFields, filtering, sorting, and paging
The compiled query is executed by the Trino client which returns the row data.
Type Parameters
| Parameter | Constraint | Default |
|---|---|---|
TableDefinition | — | — |
Parameters
| Parameter | Type | Default Value |
|---|---|---|
| { catalog, schema, table, selectFields, userQuery, sorting, paging, transformFields, dateFields = [], }? | GenerateQueryProps<TableDefinition> | {"dateFields":[]} |
Returns
CompiledQuery<{ total_records: number; }>Parameters for formatting a compiled SQL query.
Type Parameters
| Parameter | Constraint | Default |
|---|---|---|
T | — | — |
Properties
| Property | Type | Modifiers |
|---|---|---|
| query | CompiledQuery<T> | — |
The compiled Kysely query to format. | ||
Formats a compiled SQL query for readability.
Applies uppercase keywords, PostgreSQL dialect, and interpolates parameters.
Type Parameters
| Parameter | Constraint | Default |
|---|---|---|
T | — | — |
Parameters
| Parameter | Type | Default Value |
|---|---|---|
| { query } | FormatQueryProps<T> | — |
Returns
stringExtracts selected field names from a GraphQL resolve info object.
Type Parameters
| Parameter | Constraint | Default |
|---|---|---|
T | — | — |
Parameters
| Parameter | Type | Default Value |
|---|---|---|
| graphqlInfo | GraphQLResolveInfo | — |
| withNodes? | boolean | false |
Returns
Array<SelectExpression<KyselyDatabase<T>, "tablename">>