// Code generated by BobGen psql v0.42.5. DO NOT EDIT. // This file is meant to be re-generated in place and/or deleted at any time. package sql import ( "context" _ "embed" "io" "iter" "github.com/Gleipnir-Technology/bob" "github.com/Gleipnir-Technology/bob/clause" "github.com/Gleipnir-Technology/bob/dialect/psql" "github.com/Gleipnir-Technology/bob/dialect/psql/dialect" "github.com/Gleipnir-Technology/bob/orm" "github.com/aarondl/opt/null" "github.com/stephenafamo/scan" ) //go:embed publicreport_publicid_suggestion.bob.sql var formattedQueries_publicreport_publicid_suggestion string var publicreportPublicIDSuggestionSQL = formattedQueries_publicreport_publicid_suggestion[168:428] type PublicreportPublicIDSuggestionQuery = orm.ModQuery[*dialect.SelectQuery, publicreportPublicIDSuggestion, PublicreportPublicIDSuggestionRow, []PublicreportPublicIDSuggestionRow, publicreportPublicIDSuggestionTransformer] func PublicreportPublicIDSuggestion(Arg1 string) *PublicreportPublicIDSuggestionQuery { var expressionTypArgs publicreportPublicIDSuggestion expressionTypArgs.Arg1 = psql.Arg(Arg1) return &PublicreportPublicIDSuggestionQuery{ Query: orm.Query[publicreportPublicIDSuggestion, PublicreportPublicIDSuggestionRow, []PublicreportPublicIDSuggestionRow, publicreportPublicIDSuggestionTransformer]{ ExecQuery: orm.ExecQuery[publicreportPublicIDSuggestion]{ BaseQuery: bob.BaseQuery[publicreportPublicIDSuggestion]{ Expression: expressionTypArgs, Dialect: dialect.Dialect, QueryType: bob.QueryTypeSelect, }, }, Scanner: func(context.Context, []string) (func(*scan.Row) (any, error), func(any) (PublicreportPublicIDSuggestionRow, error)) { return func(row *scan.Row) (any, error) { var t PublicreportPublicIDSuggestionRow row.ScheduleScanByIndex(0, &t.TableName) row.ScheduleScanByIndex(1, &t.PublicID) row.ScheduleScanByIndex(2, &t.Location) return &t, nil }, func(v any) (PublicreportPublicIDSuggestionRow, error) { return *(v.(*PublicreportPublicIDSuggestionRow)), nil } }, }, Mod: bob.ModFunc[*dialect.SelectQuery](func(q *dialect.SelectQuery) { q.AppendSelect(expressionTypArgs.subExpr(10, 59)) q.SetTable(expressionTypArgs.subExpr(68, 89)) q.AppendWhere(expressionTypArgs.subExpr(99, 116)) q.AppendCombine(clause.Combine{ Strategy: "UNION", All: true, Query: bob.BaseQuery[bob.Expression]{ Expression: expressionTypArgs.subExpr(129, 239), QueryType: bob.QueryTypeSelect, Dialect: dialect.Dialect, }, }) q.CombinedOrder.AppendOrder(expressionTypArgs.subExpr(251, 260)) }), } } type PublicreportPublicIDSuggestionRow = struct { TableName string `db:"table_name"` PublicID string `db:"public_id"` Location null.Val[string] `db:"location"` } type publicreportPublicIDSuggestionTransformer = bob.SliceTransformer[PublicreportPublicIDSuggestionRow, []PublicreportPublicIDSuggestionRow] type publicreportPublicIDSuggestion struct { Arg1 bob.Expression } func (o publicreportPublicIDSuggestion) args() iter.Seq[orm.ArgWithPosition] { return func(yield func(arg orm.ArgWithPosition) bool) { if !yield(orm.ArgWithPosition{ Name: "arg1", Start: 114, Stop: 116, Expression: o.Arg1, }) { return } if !yield(orm.ArgWithPosition{ Name: "arg1", Start: 237, Stop: 239, Expression: o.Arg1, }) { return } } } func (o publicreportPublicIDSuggestion) raw(from, to int) string { return publicreportPublicIDSuggestionSQL[from:to] } func (o publicreportPublicIDSuggestion) subExpr(from, to int) bob.Expression { return orm.ArgsToExpression(publicreportPublicIDSuggestionSQL, from, to, o.args()) } func (o publicreportPublicIDSuggestion) WriteSQL(ctx context.Context, w io.StringWriter, d bob.Dialect, start int) ([]any, error) { return o.subExpr(0, len(publicreportPublicIDSuggestionSQL)).WriteSQL(ctx, w, d, start) }