mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 10:37:32 +00:00
fix(db): add additional connection pool for projection spooling (#7094)
* fix(db): add additional connection pool for projection spooling * use correct connection pool for projections --------- Co-authored-by: Livio Spring <livio.a@gmail.com>
This commit is contained in:
@@ -23,8 +23,37 @@ type Matcher interface {
|
||||
Decode([]interface{}) (Connector, error)
|
||||
}
|
||||
|
||||
const (
|
||||
QueryAppName = "zitadel_queries"
|
||||
EventstorePusherAppName = "zitadel_es_pusher"
|
||||
ProjectionSpoolerAppName = "zitadel_projection_spooler"
|
||||
defaultAppName = "zitadel"
|
||||
)
|
||||
|
||||
// DBPurpose is what the resulting connection pool is used for.
|
||||
type DBPurpose int
|
||||
|
||||
const (
|
||||
DBPurposeQuery DBPurpose = iota
|
||||
DBPurposeEventPusher
|
||||
DBPurposeProjectionSpooler
|
||||
)
|
||||
|
||||
func (p DBPurpose) AppName() string {
|
||||
switch p {
|
||||
case DBPurposeQuery:
|
||||
return QueryAppName
|
||||
case DBPurposeEventPusher:
|
||||
return EventstorePusherAppName
|
||||
case DBPurposeProjectionSpooler:
|
||||
return ProjectionSpoolerAppName
|
||||
default:
|
||||
return defaultAppName
|
||||
}
|
||||
}
|
||||
|
||||
type Connector interface {
|
||||
Connect(useAdmin, isEventPusher bool, pusherRatio float32, appName string) (*sql.DB, error)
|
||||
Connect(useAdmin bool, pusherRatio, spoolerRatio float64, purpose DBPurpose) (*sql.DB, error)
|
||||
Password() string
|
||||
Database
|
||||
}
|
||||
|
Reference in New Issue
Block a user