// 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 models import ( "context" "github.com/Gleipnir-Technology/bob" "github.com/Gleipnir-Technology/bob/dialect/psql" "github.com/Gleipnir-Technology/bob/expr" "github.com/aarondl/opt/null" "github.com/lib/pq" ) // RasterColumn is an object representing the database table. type RasterColumn struct { RTableCatalog null.Val[string] `db:"r_table_catalog" ` RTableSchema null.Val[string] `db:"r_table_schema" ` RTableName null.Val[string] `db:"r_table_name" ` RRasterColumn null.Val[string] `db:"r_raster_column" ` Srid null.Val[int32] `db:"srid" ` ScaleX null.Val[float64] `db:"scale_x" ` ScaleY null.Val[float64] `db:"scale_y" ` BlocksizeX null.Val[int32] `db:"blocksize_x" ` BlocksizeY null.Val[int32] `db:"blocksize_y" ` SameAlignment null.Val[bool] `db:"same_alignment" ` RegularBlocking null.Val[bool] `db:"regular_blocking" ` NumBands null.Val[int32] `db:"num_bands" ` PixelTypes null.Val[pq.StringArray] `db:"pixel_types" ` NodataValues null.Val[pq.Float64Array] `db:"nodata_values" ` OutDB null.Val[pq.BoolArray] `db:"out_db" ` Extent null.Val[string] `db:"extent" ` SpatialIndex null.Val[bool] `db:"spatial_index" ` } // RasterColumnSlice is an alias for a slice of pointers to RasterColumn. // This should almost always be used instead of []*RasterColumn. type RasterColumnSlice []*RasterColumn // RasterColumns contains methods to work with the raster_columns view var RasterColumns = psql.NewViewx[*RasterColumn, RasterColumnSlice]("", "raster_columns", buildRasterColumnColumns("raster_columns")) // RasterColumnsQuery is a query on the raster_columns view type RasterColumnsQuery = *psql.ViewQuery[*RasterColumn, RasterColumnSlice] func buildRasterColumnColumns(alias string) rasterColumnColumns { return rasterColumnColumns{ ColumnsExpr: expr.NewColumnsExpr( "r_table_catalog", "r_table_schema", "r_table_name", "r_raster_column", "srid", "scale_x", "scale_y", "blocksize_x", "blocksize_y", "same_alignment", "regular_blocking", "num_bands", "pixel_types", "nodata_values", "out_db", "extent", "spatial_index", ).WithParent("raster_columns"), tableAlias: alias, RTableCatalog: psql.Quote(alias, "r_table_catalog"), RTableSchema: psql.Quote(alias, "r_table_schema"), RTableName: psql.Quote(alias, "r_table_name"), RRasterColumn: psql.Quote(alias, "r_raster_column"), Srid: psql.Quote(alias, "srid"), ScaleX: psql.Quote(alias, "scale_x"), ScaleY: psql.Quote(alias, "scale_y"), BlocksizeX: psql.Quote(alias, "blocksize_x"), BlocksizeY: psql.Quote(alias, "blocksize_y"), SameAlignment: psql.Quote(alias, "same_alignment"), RegularBlocking: psql.Quote(alias, "regular_blocking"), NumBands: psql.Quote(alias, "num_bands"), PixelTypes: psql.Quote(alias, "pixel_types"), NodataValues: psql.Quote(alias, "nodata_values"), OutDB: psql.Quote(alias, "out_db"), Extent: psql.Quote(alias, "extent"), SpatialIndex: psql.Quote(alias, "spatial_index"), } } type rasterColumnColumns struct { expr.ColumnsExpr tableAlias string RTableCatalog psql.Expression RTableSchema psql.Expression RTableName psql.Expression RRasterColumn psql.Expression Srid psql.Expression ScaleX psql.Expression ScaleY psql.Expression BlocksizeX psql.Expression BlocksizeY psql.Expression SameAlignment psql.Expression RegularBlocking psql.Expression NumBands psql.Expression PixelTypes psql.Expression NodataValues psql.Expression OutDB psql.Expression Extent psql.Expression SpatialIndex psql.Expression } func (c rasterColumnColumns) Alias() string { return c.tableAlias } func (rasterColumnColumns) AliasedAs(alias string) rasterColumnColumns { return buildRasterColumnColumns(alias) } // AfterQueryHook is called after RasterColumn is retrieved from the database func (o *RasterColumn) AfterQueryHook(ctx context.Context, exec bob.Executor, queryType bob.QueryType) error { var err error switch queryType { case bob.QueryTypeSelect: ctx, err = RasterColumns.AfterSelectHooks.RunHooks(ctx, exec, RasterColumnSlice{o}) } return err } // AfterQueryHook is called after RasterColumnSlice is retrieved from the database func (o RasterColumnSlice) AfterQueryHook(ctx context.Context, exec bob.Executor, queryType bob.QueryType) error { var err error switch queryType { case bob.QueryTypeSelect: ctx, err = RasterColumns.AfterSelectHooks.RunHooks(ctx, exec, o) } return err } type rasterColumnWhere[Q psql.Filterable] struct { RTableCatalog psql.WhereNullMod[Q, string] RTableSchema psql.WhereNullMod[Q, string] RTableName psql.WhereNullMod[Q, string] RRasterColumn psql.WhereNullMod[Q, string] Srid psql.WhereNullMod[Q, int32] ScaleX psql.WhereNullMod[Q, float64] ScaleY psql.WhereNullMod[Q, float64] BlocksizeX psql.WhereNullMod[Q, int32] BlocksizeY psql.WhereNullMod[Q, int32] SameAlignment psql.WhereNullMod[Q, bool] RegularBlocking psql.WhereNullMod[Q, bool] NumBands psql.WhereNullMod[Q, int32] PixelTypes psql.WhereNullMod[Q, pq.StringArray] NodataValues psql.WhereNullMod[Q, pq.Float64Array] OutDB psql.WhereNullMod[Q, pq.BoolArray] Extent psql.WhereNullMod[Q, string] SpatialIndex psql.WhereNullMod[Q, bool] } func (rasterColumnWhere[Q]) AliasedAs(alias string) rasterColumnWhere[Q] { return buildRasterColumnWhere[Q](buildRasterColumnColumns(alias)) } func buildRasterColumnWhere[Q psql.Filterable](cols rasterColumnColumns) rasterColumnWhere[Q] { return rasterColumnWhere[Q]{ RTableCatalog: psql.WhereNull[Q, string](cols.RTableCatalog), RTableSchema: psql.WhereNull[Q, string](cols.RTableSchema), RTableName: psql.WhereNull[Q, string](cols.RTableName), RRasterColumn: psql.WhereNull[Q, string](cols.RRasterColumn), Srid: psql.WhereNull[Q, int32](cols.Srid), ScaleX: psql.WhereNull[Q, float64](cols.ScaleX), ScaleY: psql.WhereNull[Q, float64](cols.ScaleY), BlocksizeX: psql.WhereNull[Q, int32](cols.BlocksizeX), BlocksizeY: psql.WhereNull[Q, int32](cols.BlocksizeY), SameAlignment: psql.WhereNull[Q, bool](cols.SameAlignment), RegularBlocking: psql.WhereNull[Q, bool](cols.RegularBlocking), NumBands: psql.WhereNull[Q, int32](cols.NumBands), PixelTypes: psql.WhereNull[Q, pq.StringArray](cols.PixelTypes), NodataValues: psql.WhereNull[Q, pq.Float64Array](cols.NodataValues), OutDB: psql.WhereNull[Q, pq.BoolArray](cols.OutDB), Extent: psql.WhereNull[Q, string](cols.Extent), SpatialIndex: psql.WhereNull[Q, bool](cols.SpatialIndex), } }