MCPcopy Create free account
hub / github.com/temporalio/temporal / NewDatabaseHandle

Function NewDatabaseHandle

common/persistence/sql/sqlplugin/db_handle.go:49–69  ·  view source on GitHub ↗
(
	dbKind DbKind,
	connect func() (*sqlx.DB, error),
	needsRefresh func(error) bool,
	logger log.Logger,
	metricsHandler metrics.Handler,
	timeSource clock.TimeSource,
)

Source from the content-addressed store, hash-verified

47type invalidConn struct{}
48
49func NewDatabaseHandle(
50 dbKind DbKind,
51 connect func() (*sqlx.DB, error),
52 needsRefresh func(error) bool,
53 logger log.Logger,
54 metricsHandler metrics.Handler,
55 timeSource clock.TimeSource,
56) *DatabaseHandle {
57 handle := &DatabaseHandle{
58 running: true,
59 connect: connect,
60 needsRefresh: needsRefresh,
61 metrics: metricsHandler,
62 logger: logger,
63 timeSource: timeSource,
64 }
65 handle.reporter = newDBMetricReporter(dbKind, handle)
66 handle.reporter.Start()
67 handle.reconnect(true)
68 return handle
69}
70
71// Close and reopen the underlying database connection
72func (h *DatabaseHandle) reconnect(force bool) *sqlx.DB {

Callers 3

CreateDBMethod · 0.92
CreateDBMethod · 0.92

Calls 3

reconnectMethod · 0.95
newDBMetricReporterFunction · 0.85
StartMethod · 0.65

Tested by 1