Documentation
¶
Index ¶
- Variables
- func ApplyQueryParams(e Engine, query string, params []any) (string, int, error)
- func Ident(s string) string
- func JsonToStruct(field *ast.Field, prefix string, useNativeTypes bool, byFieldFieldSource bool) string
- func SQLValueArrayFormatter[T types.ScalarTypes](e Engine, values []T) (string, error)
- type DuckDB
- func (e DuckDB) AddObjectFields(sqlName string, fields map[string]string) string
- func (e DuckDB) AggregateFuncAny(sql string) string
- func (e DuckDB) AggregateFuncSQL(funcName, sql, path, factor string, field *ast.FieldDefinition, _ bool, ...) (string, []any, error)
- func (e DuckDB) ApplyFieldTransforms(sql string, field *ast.Field, args compiler.FieldQueryArguments) string
- func (e DuckDB) ExtractJSONStruct(sql string, jsonStruct map[string]any) string
- func (e DuckDB) ExtractJSONTypedValue(sql, path, t string) string
- func (e DuckDB) ExtractNestedTypedValue(sql, path, t string) string
- func (e *DuckDB) FieldValueByPath(sqlName, path string) string
- func (e *DuckDB) FilterOperationSQLValue(sqlName, path, op string, value any, params []any) (string, []any, error)
- func (e *DuckDB) FunctionCall(name string, positional []any, named map[string]any) (string, error)
- func (e DuckDB) GeometryTransform(sql string, field *ast.Field, args compiler.FieldQueryArguments) string
- func (e DuckDB) JSONTypeCast(sql string) string
- func (e *DuckDB) LateralJoin(sql, alias string) string
- func (e DuckDB) MakeObject(fields map[string]string) string
- func (e DuckDB) PackFieldsToObject(prefix string, field *ast.Field) string
- func (e *DuckDB) RepackObject(sql string, field *ast.Field) string
- func (e *DuckDB) SQLValue(v any) (string, error)
- func (e DuckDB) TimestampTransform(sql string, field *ast.Field, args compiler.FieldQueryArguments) string
- func (e *DuckDB) Type() Type
- func (e *DuckDB) UnpackObjectToFieldList(sql string, field *ast.Field) string
- type Engine
- type EngineAggregator
- type EngineKeyWordExtender
- type EngineQueryScanner
- type EngineTypeCaster
- type HttpEngine
- type Postgres
- func (e *Postgres) AddObjectFields(sqlName string, fields map[string]string) string
- func (e Postgres) AggregateFuncAny(sql string) string
- func (e Postgres) AggregateFuncSQL(funcName, sql, path, factor string, field *ast.FieldDefinition, ...) (string, []any, error)
- func (e Postgres) ApplyFieldTransforms(sql string, field *ast.Field, args compiler.FieldQueryArguments) string
- func (e *Postgres) CastFromIntermediateType(f *ast.Field, toJSON bool) (string, error)
- func (e Postgres) ExtractJSONStruct(sql string, jsonStruct map[string]any) string
- func (e Postgres) ExtractNestedTypedValue(sql, path, t string) string
- func (e *Postgres) FieldValueByPath(sqlName, path string) string
- func (e *Postgres) FilterOperationSQLValue(sqlName, path, op string, value any, params []any) (string, []any, error)
- func (e *Postgres) FunctionCall(name string, positional []any, named map[string]any) (string, error)
- func (e Postgres) GeometryTransform(sql string, field *ast.Field, args compiler.FieldQueryArguments) string
- func (e Postgres) JSONTypeCast(sql string) string
- func (e Postgres) LateralJoin(sql, alias string) string
- func (e Postgres) MakeObject(fields map[string]string) string
- func (e Postgres) PackFieldsToObject(prefix string, field *ast.Field) string
- func (e *Postgres) RepackObject(sql string, field *ast.Field) string
- func (e *Postgres) SQLValue(v any) (string, error)
- func (e Postgres) TimestampTransform(sql string, field *ast.Field, args compiler.FieldQueryArguments) string
- func (e *Postgres) ToIntermediateType(f *ast.Field) (string, error)
- func (e *Postgres) Type() Type
- func (e *Postgres) UnpackObjectToFieldList(sql string, field *ast.Field) string
- func (e *Postgres) WarpScann(db, query string) string
- func (e *Postgres) WrapExec(db, query string) string
- type SelectedField
- type SelectionSet
- func (ss SelectionSet) AsSelectionSet() ast.SelectionSet
- func (ss SelectionSet) ForAlias(alias string) *SelectedField
- func (ss SelectionSet) ForName(name string) *SelectedField
- func (ss SelectionSet) ForPath(path string) *SelectedField
- func (ss SelectionSet) ScalarForPath(path string) *SelectedField
- type Type
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNotEnoughParamsToApply = fmt.Errorf("not enough params to apply to query") ErrNotLastNParamsWasApplied = fmt.Errorf("not all last N params was applied") )
Functions ¶
func ApplyQueryParams ¶
func JsonToStruct ¶
func SQLValueArrayFormatter ¶
func SQLValueArrayFormatter[T types.ScalarTypes](e Engine, values []T) (string, error)
Types ¶
type DuckDB ¶
type DuckDB struct { }
func (DuckDB) AddObjectFields ¶
func (DuckDB) AggregateFuncAny ¶
func (DuckDB) AggregateFuncSQL ¶
func (DuckDB) ApplyFieldTransforms ¶
func (DuckDB) ExtractJSONStruct ¶
func (DuckDB) ExtractJSONTypedValue ¶
func (DuckDB) ExtractNestedTypedValue ¶
func (*DuckDB) FieldValueByPath ¶
func (*DuckDB) FilterOperationSQLValue ¶
func (*DuckDB) FunctionCall ¶ added in v0.1.5
func (DuckDB) GeometryTransform ¶
func (DuckDB) JSONTypeCast ¶
func (*DuckDB) LateralJoin ¶
func (DuckDB) PackFieldsToObject ¶
func (DuckDB) TimestampTransform ¶
type Engine ¶
type Engine interface { Type() Type SQLValue(any) (string, error) FunctionCall(name string, positional []any, named map[string]any) (string, error) RepackObject(sqlName string, field *ast.Field) string UnpackObjectToFieldList(sqlName string, field *ast.Field) string FilterOperationSQLValue(sqlName, path, op string, value any, params []any) (string, []any, error) FieldValueByPath(sqlName, path string) string PackFieldsToObject(prefix string, field *ast.Field) string MakeObject(fields map[string]string) string AddObjectFields(sqlName string, fields map[string]string) string ApplyFieldTransforms(sql string, field *ast.Field, args compiler.FieldQueryArguments) string ExtractJSONStruct(sql string, jsonStruct map[string]any) string TimestampTransform(sql string, field *ast.Field, args compiler.FieldQueryArguments) string // ExtractNestedTypedValue extracts value from nested field by path and cast it to type // type can be one of: number, string, bool, "" (empty string) - for extract json as is ExtractNestedTypedValue(sql, path, t string) string LateralJoin(sql, alias string) string }
type EngineAggregator ¶
type EngineAggregator interface { // AggregateFuncSQL returns SQL for aggregate function Engine AggregateFuncSQL(funcName, sql, path, factor string, originField *ast.FieldDefinition, isHyperTable bool, args map[string]any, params []any) (string, []any, error) AggregateFuncAny(sql string) string JSONTypeCast(sql string) string }
type EngineKeyWordExtender ¶
type EngineKeyWordExtender interface {
KeyWords() []string
}
type EngineQueryScanner ¶
type EngineTypeCaster ¶
type HttpEngine ¶
type HttpEngine struct {
*DuckDB
}
func NewHttp ¶
func NewHttp() *HttpEngine
func (*HttpEngine) Type ¶
func (e *HttpEngine) Type() Type
type Postgres ¶
type Postgres struct { }
func NewPostgres ¶
func NewPostgres() *Postgres
func (*Postgres) AddObjectFields ¶
func (Postgres) AggregateFuncAny ¶
func (Postgres) AggregateFuncSQL ¶
func (Postgres) ApplyFieldTransforms ¶
func (*Postgres) CastFromIntermediateType ¶
func (Postgres) ExtractJSONStruct ¶
func (Postgres) ExtractNestedTypedValue ¶
func (*Postgres) FieldValueByPath ¶
func (*Postgres) FilterOperationSQLValue ¶
func (e *Postgres) FilterOperationSQLValue(sqlName, path, op string, value any, params []any) (string, []any, error)
TODO add compiler options to enable/disable type of operations and types support
func (*Postgres) FunctionCall ¶ added in v0.1.5
func (Postgres) GeometryTransform ¶
func (Postgres) JSONTypeCast ¶
func (Postgres) LateralJoin ¶
func (Postgres) PackFieldsToObject ¶
func (*Postgres) RepackObject ¶
func (Postgres) TimestampTransform ¶
func (*Postgres) ToIntermediateType ¶
func (*Postgres) UnpackObjectToFieldList ¶
type SelectedField ¶
type SelectionSet ¶
type SelectionSet []SelectedField
func SelectedFields ¶
func SelectedFields(ss ast.SelectionSet) SelectionSet
func (SelectionSet) AsSelectionSet ¶ added in v0.1.18
func (ss SelectionSet) AsSelectionSet() ast.SelectionSet
func (SelectionSet) ForAlias ¶
func (ss SelectionSet) ForAlias(alias string) *SelectedField
func (SelectionSet) ForName ¶
func (ss SelectionSet) ForName(name string) *SelectedField
func (SelectionSet) ForPath ¶
func (ss SelectionSet) ForPath(path string) *SelectedField
func (SelectionSet) ScalarForPath ¶ added in v0.1.15
func (ss SelectionSet) ScalarForPath(path string) *SelectedField
Click to show internal directories.
Click to hide internal directories.