nidus-sync/models/bob_joins.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

192 lines
13 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 (
"hash/maphash"
"github.com/stephenafamo/bob"
"github.com/stephenafamo/bob/clause"
"github.com/stephenafamo/bob/dialect/psql/dialect"
)
var (
SelectJoins = getJoins[*dialect.SelectQuery]()
UpdateJoins = getJoins[*dialect.UpdateQuery]()
DeleteJoins = getJoins[*dialect.DeleteQuery]()
)
type joinSet[Q interface{ aliasedAs(string) Q }] struct {
InnerJoin Q
LeftJoin Q
RightJoin Q
}
func (j joinSet[Q]) AliasedAs(alias string) joinSet[Q] {
return joinSet[Q]{
InnerJoin: j.InnerJoin.aliasedAs(alias),
LeftJoin: j.LeftJoin.aliasedAs(alias),
RightJoin: j.RightJoin.aliasedAs(alias),
}
}
type joins[Q dialect.Joinable] struct {
FieldseekerSyncs joinSet[fieldseekerSyncJoins[Q]]
FSContainerrelates joinSet[fsContainerrelateJoins[Q]]
FSFieldscoutinglogs joinSet[fsFieldscoutinglogJoins[Q]]
FSHabitatrelates joinSet[fsHabitatrelateJoins[Q]]
FSInspectionsamples joinSet[fsInspectionsampleJoins[Q]]
FSInspectionsampledetails joinSet[fsInspectionsampledetailJoins[Q]]
FSLinelocations joinSet[fsLinelocationJoins[Q]]
FSLocationtrackings joinSet[fsLocationtrackingJoins[Q]]
FSMosquitoinspections joinSet[fsMosquitoinspectionJoins[Q]]
FSPointlocations joinSet[fsPointlocationJoins[Q]]
FSPolygonlocations joinSet[fsPolygonlocationJoins[Q]]
FSPools joinSet[fsPoolJoins[Q]]
FSPooldetails joinSet[fsPooldetailJoins[Q]]
FSProposedtreatmentareas joinSet[fsProposedtreatmentareaJoins[Q]]
FSQamosquitoinspections joinSet[fsQamosquitoinspectionJoins[Q]]
FSRodentlocations joinSet[fsRodentlocationJoins[Q]]
FSSamplecollections joinSet[fsSamplecollectionJoins[Q]]
FSSamplelocations joinSet[fsSamplelocationJoins[Q]]
FSServicerequests joinSet[fsServicerequestJoins[Q]]
FSSpeciesabundances joinSet[fsSpeciesabundanceJoins[Q]]
FSStormdrains joinSet[fsStormdrainJoins[Q]]
FSTimecards joinSet[fsTimecardJoins[Q]]
FSTrapdata joinSet[fsTrapdatumJoins[Q]]
FSTraplocations joinSet[fsTraplocationJoins[Q]]
FSTreatments joinSet[fsTreatmentJoins[Q]]
FSTreatmentareas joinSet[fsTreatmentareaJoins[Q]]
FSZones joinSet[fsZoneJoins[Q]]
FSZones2s joinSet[fsZones2Joins[Q]]
H3Aggregations joinSet[h3AggregationJoins[Q]]
HistoryContainerrelates joinSet[historyContainerrelateJoins[Q]]
HistoryFieldscoutinglogs joinSet[historyFieldscoutinglogJoins[Q]]
HistoryHabitatrelates joinSet[historyHabitatrelateJoins[Q]]
HistoryInspectionsamples joinSet[historyInspectionsampleJoins[Q]]
HistoryInspectionsampledetails joinSet[historyInspectionsampledetailJoins[Q]]
HistoryLinelocations joinSet[historyLinelocationJoins[Q]]
HistoryLocationtrackings joinSet[historyLocationtrackingJoins[Q]]
HistoryMosquitoinspections joinSet[historyMosquitoinspectionJoins[Q]]
HistoryPointlocations joinSet[historyPointlocationJoins[Q]]
HistoryPolygonlocations joinSet[historyPolygonlocationJoins[Q]]
HistoryPools joinSet[historyPoolJoins[Q]]
HistoryPooldetails joinSet[historyPooldetailJoins[Q]]
HistoryProposedtreatmentareas joinSet[historyProposedtreatmentareaJoins[Q]]
HistoryQamosquitoinspections joinSet[historyQamosquitoinspectionJoins[Q]]
HistoryRodentlocations joinSet[historyRodentlocationJoins[Q]]
HistorySamplecollections joinSet[historySamplecollectionJoins[Q]]
HistorySamplelocations joinSet[historySamplelocationJoins[Q]]
HistoryServicerequests joinSet[historyServicerequestJoins[Q]]
HistorySpeciesabundances joinSet[historySpeciesabundanceJoins[Q]]
HistoryStormdrains joinSet[historyStormdrainJoins[Q]]
HistoryTimecards joinSet[historyTimecardJoins[Q]]
HistoryTrapdata joinSet[historyTrapdatumJoins[Q]]
HistoryTraplocations joinSet[historyTraplocationJoins[Q]]
HistoryTreatments joinSet[historyTreatmentJoins[Q]]
HistoryTreatmentareas joinSet[historyTreatmentareaJoins[Q]]
HistoryZones joinSet[historyZoneJoins[Q]]
HistoryZones2s joinSet[historyZones2Joins[Q]]
Notifications joinSet[notificationJoins[Q]]
OauthTokens joinSet[oauthTokenJoins[Q]]
Organizations joinSet[organizationJoins[Q]]
Users joinSet[userJoins[Q]]
}
func buildJoinSet[Q interface{ aliasedAs(string) Q }, C any, F func(C, string) Q](c C, f F) joinSet[Q] {
return joinSet[Q]{
InnerJoin: f(c, clause.InnerJoin),
LeftJoin: f(c, clause.LeftJoin),
RightJoin: f(c, clause.RightJoin),
}
}
func getJoins[Q dialect.Joinable]() joins[Q] {
return joins[Q]{
FieldseekerSyncs: buildJoinSet[fieldseekerSyncJoins[Q]](FieldseekerSyncs.Columns, buildFieldseekerSyncJoins),
FSContainerrelates: buildJoinSet[fsContainerrelateJoins[Q]](FSContainerrelates.Columns, buildFSContainerrelateJoins),
FSFieldscoutinglogs: buildJoinSet[fsFieldscoutinglogJoins[Q]](FSFieldscoutinglogs.Columns, buildFSFieldscoutinglogJoins),
FSHabitatrelates: buildJoinSet[fsHabitatrelateJoins[Q]](FSHabitatrelates.Columns, buildFSHabitatrelateJoins),
FSInspectionsamples: buildJoinSet[fsInspectionsampleJoins[Q]](FSInspectionsamples.Columns, buildFSInspectionsampleJoins),
FSInspectionsampledetails: buildJoinSet[fsInspectionsampledetailJoins[Q]](FSInspectionsampledetails.Columns, buildFSInspectionsampledetailJoins),
FSLinelocations: buildJoinSet[fsLinelocationJoins[Q]](FSLinelocations.Columns, buildFSLinelocationJoins),
FSLocationtrackings: buildJoinSet[fsLocationtrackingJoins[Q]](FSLocationtrackings.Columns, buildFSLocationtrackingJoins),
FSMosquitoinspections: buildJoinSet[fsMosquitoinspectionJoins[Q]](FSMosquitoinspections.Columns, buildFSMosquitoinspectionJoins),
FSPointlocations: buildJoinSet[fsPointlocationJoins[Q]](FSPointlocations.Columns, buildFSPointlocationJoins),
FSPolygonlocations: buildJoinSet[fsPolygonlocationJoins[Q]](FSPolygonlocations.Columns, buildFSPolygonlocationJoins),
FSPools: buildJoinSet[fsPoolJoins[Q]](FSPools.Columns, buildFSPoolJoins),
FSPooldetails: buildJoinSet[fsPooldetailJoins[Q]](FSPooldetails.Columns, buildFSPooldetailJoins),
FSProposedtreatmentareas: buildJoinSet[fsProposedtreatmentareaJoins[Q]](FSProposedtreatmentareas.Columns, buildFSProposedtreatmentareaJoins),
FSQamosquitoinspections: buildJoinSet[fsQamosquitoinspectionJoins[Q]](FSQamosquitoinspections.Columns, buildFSQamosquitoinspectionJoins),
FSRodentlocations: buildJoinSet[fsRodentlocationJoins[Q]](FSRodentlocations.Columns, buildFSRodentlocationJoins),
FSSamplecollections: buildJoinSet[fsSamplecollectionJoins[Q]](FSSamplecollections.Columns, buildFSSamplecollectionJoins),
FSSamplelocations: buildJoinSet[fsSamplelocationJoins[Q]](FSSamplelocations.Columns, buildFSSamplelocationJoins),
FSServicerequests: buildJoinSet[fsServicerequestJoins[Q]](FSServicerequests.Columns, buildFSServicerequestJoins),
FSSpeciesabundances: buildJoinSet[fsSpeciesabundanceJoins[Q]](FSSpeciesabundances.Columns, buildFSSpeciesabundanceJoins),
FSStormdrains: buildJoinSet[fsStormdrainJoins[Q]](FSStormdrains.Columns, buildFSStormdrainJoins),
FSTimecards: buildJoinSet[fsTimecardJoins[Q]](FSTimecards.Columns, buildFSTimecardJoins),
FSTrapdata: buildJoinSet[fsTrapdatumJoins[Q]](FSTrapdata.Columns, buildFSTrapdatumJoins),
FSTraplocations: buildJoinSet[fsTraplocationJoins[Q]](FSTraplocations.Columns, buildFSTraplocationJoins),
FSTreatments: buildJoinSet[fsTreatmentJoins[Q]](FSTreatments.Columns, buildFSTreatmentJoins),
FSTreatmentareas: buildJoinSet[fsTreatmentareaJoins[Q]](FSTreatmentareas.Columns, buildFSTreatmentareaJoins),
FSZones: buildJoinSet[fsZoneJoins[Q]](FSZones.Columns, buildFSZoneJoins),
FSZones2s: buildJoinSet[fsZones2Joins[Q]](FSZones2s.Columns, buildFSZones2Joins),
H3Aggregations: buildJoinSet[h3AggregationJoins[Q]](H3Aggregations.Columns, buildH3AggregationJoins),
HistoryContainerrelates: buildJoinSet[historyContainerrelateJoins[Q]](HistoryContainerrelates.Columns, buildHistoryContainerrelateJoins),
HistoryFieldscoutinglogs: buildJoinSet[historyFieldscoutinglogJoins[Q]](HistoryFieldscoutinglogs.Columns, buildHistoryFieldscoutinglogJoins),
HistoryHabitatrelates: buildJoinSet[historyHabitatrelateJoins[Q]](HistoryHabitatrelates.Columns, buildHistoryHabitatrelateJoins),
HistoryInspectionsamples: buildJoinSet[historyInspectionsampleJoins[Q]](HistoryInspectionsamples.Columns, buildHistoryInspectionsampleJoins),
HistoryInspectionsampledetails: buildJoinSet[historyInspectionsampledetailJoins[Q]](HistoryInspectionsampledetails.Columns, buildHistoryInspectionsampledetailJoins),
HistoryLinelocations: buildJoinSet[historyLinelocationJoins[Q]](HistoryLinelocations.Columns, buildHistoryLinelocationJoins),
HistoryLocationtrackings: buildJoinSet[historyLocationtrackingJoins[Q]](HistoryLocationtrackings.Columns, buildHistoryLocationtrackingJoins),
HistoryMosquitoinspections: buildJoinSet[historyMosquitoinspectionJoins[Q]](HistoryMosquitoinspections.Columns, buildHistoryMosquitoinspectionJoins),
HistoryPointlocations: buildJoinSet[historyPointlocationJoins[Q]](HistoryPointlocations.Columns, buildHistoryPointlocationJoins),
HistoryPolygonlocations: buildJoinSet[historyPolygonlocationJoins[Q]](HistoryPolygonlocations.Columns, buildHistoryPolygonlocationJoins),
HistoryPools: buildJoinSet[historyPoolJoins[Q]](HistoryPools.Columns, buildHistoryPoolJoins),
HistoryPooldetails: buildJoinSet[historyPooldetailJoins[Q]](HistoryPooldetails.Columns, buildHistoryPooldetailJoins),
HistoryProposedtreatmentareas: buildJoinSet[historyProposedtreatmentareaJoins[Q]](HistoryProposedtreatmentareas.Columns, buildHistoryProposedtreatmentareaJoins),
HistoryQamosquitoinspections: buildJoinSet[historyQamosquitoinspectionJoins[Q]](HistoryQamosquitoinspections.Columns, buildHistoryQamosquitoinspectionJoins),
HistoryRodentlocations: buildJoinSet[historyRodentlocationJoins[Q]](HistoryRodentlocations.Columns, buildHistoryRodentlocationJoins),
HistorySamplecollections: buildJoinSet[historySamplecollectionJoins[Q]](HistorySamplecollections.Columns, buildHistorySamplecollectionJoins),
HistorySamplelocations: buildJoinSet[historySamplelocationJoins[Q]](HistorySamplelocations.Columns, buildHistorySamplelocationJoins),
HistoryServicerequests: buildJoinSet[historyServicerequestJoins[Q]](HistoryServicerequests.Columns, buildHistoryServicerequestJoins),
HistorySpeciesabundances: buildJoinSet[historySpeciesabundanceJoins[Q]](HistorySpeciesabundances.Columns, buildHistorySpeciesabundanceJoins),
HistoryStormdrains: buildJoinSet[historyStormdrainJoins[Q]](HistoryStormdrains.Columns, buildHistoryStormdrainJoins),
HistoryTimecards: buildJoinSet[historyTimecardJoins[Q]](HistoryTimecards.Columns, buildHistoryTimecardJoins),
HistoryTrapdata: buildJoinSet[historyTrapdatumJoins[Q]](HistoryTrapdata.Columns, buildHistoryTrapdatumJoins),
HistoryTraplocations: buildJoinSet[historyTraplocationJoins[Q]](HistoryTraplocations.Columns, buildHistoryTraplocationJoins),
HistoryTreatments: buildJoinSet[historyTreatmentJoins[Q]](HistoryTreatments.Columns, buildHistoryTreatmentJoins),
HistoryTreatmentareas: buildJoinSet[historyTreatmentareaJoins[Q]](HistoryTreatmentareas.Columns, buildHistoryTreatmentareaJoins),
HistoryZones: buildJoinSet[historyZoneJoins[Q]](HistoryZones.Columns, buildHistoryZoneJoins),
HistoryZones2s: buildJoinSet[historyZones2Joins[Q]](HistoryZones2s.Columns, buildHistoryZones2Joins),
Notifications: buildJoinSet[notificationJoins[Q]](Notifications.Columns, buildNotificationJoins),
OauthTokens: buildJoinSet[oauthTokenJoins[Q]](OauthTokens.Columns, buildOauthTokenJoins),
Organizations: buildJoinSet[organizationJoins[Q]](Organizations.Columns, buildOrganizationJoins),
Users: buildJoinSet[userJoins[Q]](Users.Columns, buildUserJoins),
}
}
type modAs[Q any, C interface{ AliasedAs(string) C }] struct {
c C
f func(C) bob.Mod[Q]
}
func (m modAs[Q, C]) Apply(q Q) {
m.f(m.c).Apply(q)
}
func (m modAs[Q, C]) AliasedAs(alias string) bob.Mod[Q] {
m.c = m.c.AliasedAs(alias)
return m
}
func randInt() int64 {
out := int64(new(maphash.Hash).Sum64())
if out < 0 {
return -out % 10000
}
return out % 10000
}