本文整理汇总了Golang中github.com/youtube/vitess/go/vt/dbconfigs.DBConfig.EnableInvalidator方法的典型用法代码示例。如果您正苦于以下问题:Golang DBConfig.EnableInvalidator方法的具体用法?Golang DBConfig.EnableInvalidator怎么用?Golang DBConfig.EnableInvalidator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/youtube/vitess/go/vt/dbconfigs.DBConfig
的用法示例。
在下文中一共展示了DBConfig.EnableInvalidator方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Open
// Open must be called before sending requests to QueryEngine.
func (qe *QueryEngine) Open(dbconfig *dbconfigs.DBConfig, schemaOverrides []SchemaOverride, qrs *QueryRules, mysqld *mysqlctl.Mysqld) {
connFactory := dbconnpool.DBConnectionCreator(&dbconfig.ConnectionParams, mysqlStats)
strictMode := false
if qe.strictMode.Get() != 0 {
strictMode = true
}
if !strictMode && dbconfig.EnableRowcache {
panic(NewTabletError(FATAL, "Rowcache cannot be enabled when queryserver-config-strict-mode is false"))
}
if dbconfig.EnableRowcache {
qe.cachePool.Open()
log.Infof("rowcache is enabled")
} else {
// Invalidator should not be enabled if rowcache is not enabled.
dbconfig.EnableInvalidator = false
log.Infof("rowcache is not enabled")
}
start := time.Now()
// schemaInfo depends on cachePool. Every table that has a rowcache
// points to the cachePool.
qe.schemaInfo.Open(connFactory, schemaOverrides, qe.cachePool, qrs, strictMode)
log.Infof("Time taken to load the schema: %v", time.Now().Sub(start))
// Start the invalidator only after schema is loaded.
// This will allow qe to find the table info
// for the invalidation events that will start coming
// immediately.
if dbconfig.EnableInvalidator {
qe.invalidator.Open(dbconfig.DbName, mysqld)
}
qe.connPool.Open(connFactory)
qe.streamConnPool.Open(connFactory)
qe.txPool.Open(connFactory)
qe.activeTxPool.Open()
qe.connKiller.Open(connFactory)
qe.activePool.Open()
}