package eventstore import ( "context" "github.com/zitadel/zitadel/internal/database" ) // pushPlaceholderFmt defines how data are inserted into the events table var pushPlaceholderFmt string type Eventstore struct { client *database.DB } func NewEventstore(client *database.DB) *Eventstore { switch client.Type() { case "cockroach": pushPlaceholderFmt = "($%d, $%d, $%d, $%d, $%d, $%d, $%d, $%d, $%d, hlc_to_timestamp(cluster_logical_timestamp()), cluster_logical_timestamp(), $%d)" case "postgres": pushPlaceholderFmt = "($%d, $%d, $%d, $%d, $%d, $%d, $%d, $%d, $%d, statement_timestamp(), EXTRACT(EPOCH FROM clock_timestamp()), $%d)" } return &Eventstore{client: client} } func (es *Eventstore) Health(ctx context.Context) error { return es.client.PingContext(ctx) }