nidus-sync/models/geometry_columns.bob.go
Eli Ribble e48abb09c0
Go to h3 v4, Add initial h3 aggregation work
This calculates the summary information of data in h3 nodes and puts it
in the database for fast lookup.
2025-11-13 23:49:12 +00:00

120 lines
4.3 KiB
Go

// Code generated by BobGen psql v0.41.1. DO NOT EDIT.
// This file is meant to be re-generated in place and/or deleted at any time.
package models
import (
"context"
"github.com/aarondl/opt/null"
"github.com/stephenafamo/bob"
"github.com/stephenafamo/bob/dialect/psql"
"github.com/stephenafamo/bob/expr"
)
// GeometryColumn is an object representing the database table.
type GeometryColumn struct {
FTableCatalog null.Val[string] `db:"f_table_catalog" `
FTableSchema null.Val[string] `db:"f_table_schema" `
FTableName null.Val[string] `db:"f_table_name" `
FGeometryColumn null.Val[string] `db:"f_geometry_column" `
CoordDimension null.Val[int32] `db:"coord_dimension" `
Srid null.Val[int32] `db:"srid" `
Type null.Val[string] `db:"type" `
}
// GeometryColumnSlice is an alias for a slice of pointers to GeometryColumn.
// This should almost always be used instead of []*GeometryColumn.
type GeometryColumnSlice []*GeometryColumn
// GeometryColumns contains methods to work with the geometry_columns view
var GeometryColumns = psql.NewViewx[*GeometryColumn, GeometryColumnSlice]("", "geometry_columns", buildGeometryColumnColumns("geometry_columns"))
// GeometryColumnsQuery is a query on the geometry_columns view
type GeometryColumnsQuery = *psql.ViewQuery[*GeometryColumn, GeometryColumnSlice]
func buildGeometryColumnColumns(alias string) geometryColumnColumns {
return geometryColumnColumns{
ColumnsExpr: expr.NewColumnsExpr(
"f_table_catalog", "f_table_schema", "f_table_name", "f_geometry_column", "coord_dimension", "srid", "type",
).WithParent("geometry_columns"),
tableAlias: alias,
FTableCatalog: psql.Quote(alias, "f_table_catalog"),
FTableSchema: psql.Quote(alias, "f_table_schema"),
FTableName: psql.Quote(alias, "f_table_name"),
FGeometryColumn: psql.Quote(alias, "f_geometry_column"),
CoordDimension: psql.Quote(alias, "coord_dimension"),
Srid: psql.Quote(alias, "srid"),
Type: psql.Quote(alias, "type"),
}
}
type geometryColumnColumns struct {
expr.ColumnsExpr
tableAlias string
FTableCatalog psql.Expression
FTableSchema psql.Expression
FTableName psql.Expression
FGeometryColumn psql.Expression
CoordDimension psql.Expression
Srid psql.Expression
Type psql.Expression
}
func (c geometryColumnColumns) Alias() string {
return c.tableAlias
}
func (geometryColumnColumns) AliasedAs(alias string) geometryColumnColumns {
return buildGeometryColumnColumns(alias)
}
// AfterQueryHook is called after GeometryColumn is retrieved from the database
func (o *GeometryColumn) AfterQueryHook(ctx context.Context, exec bob.Executor, queryType bob.QueryType) error {
var err error
switch queryType {
case bob.QueryTypeSelect:
ctx, err = GeometryColumns.AfterSelectHooks.RunHooks(ctx, exec, GeometryColumnSlice{o})
}
return err
}
// AfterQueryHook is called after GeometryColumnSlice is retrieved from the database
func (o GeometryColumnSlice) AfterQueryHook(ctx context.Context, exec bob.Executor, queryType bob.QueryType) error {
var err error
switch queryType {
case bob.QueryTypeSelect:
ctx, err = GeometryColumns.AfterSelectHooks.RunHooks(ctx, exec, o)
}
return err
}
type geometryColumnWhere[Q psql.Filterable] struct {
FTableCatalog psql.WhereNullMod[Q, string]
FTableSchema psql.WhereNullMod[Q, string]
FTableName psql.WhereNullMod[Q, string]
FGeometryColumn psql.WhereNullMod[Q, string]
CoordDimension psql.WhereNullMod[Q, int32]
Srid psql.WhereNullMod[Q, int32]
Type psql.WhereNullMod[Q, string]
}
func (geometryColumnWhere[Q]) AliasedAs(alias string) geometryColumnWhere[Q] {
return buildGeometryColumnWhere[Q](buildGeometryColumnColumns(alias))
}
func buildGeometryColumnWhere[Q psql.Filterable](cols geometryColumnColumns) geometryColumnWhere[Q] {
return geometryColumnWhere[Q]{
FTableCatalog: psql.WhereNull[Q, string](cols.FTableCatalog),
FTableSchema: psql.WhereNull[Q, string](cols.FTableSchema),
FTableName: psql.WhereNull[Q, string](cols.FTableName),
FGeometryColumn: psql.WhereNull[Q, string](cols.FGeometryColumn),
CoordDimension: psql.WhereNull[Q, int32](cols.CoordDimension),
Srid: psql.WhereNull[Q, int32](cols.Srid),
Type: psql.WhereNull[Q, string](cols.Type),
}
}