本文整理汇总了Golang中github.com/ctdk/goiardi/datastore.Dbhandle类的典型用法代码示例。如果您正苦于以下问题:Golang Dbhandle类的具体用法?Golang Dbhandle怎么用?Golang Dbhandle使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Dbhandle类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: saveMySQL
func (n *Node) saveMySQL(tx datastore.Dbhandle, rlb, aab, nab, dab, oab []byte) error {
_, err := tx.Exec("INSERT INTO nodes (name, chef_environment, run_list, automatic_attr, normal_attr, default_attr, override_attr, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, NOW(), NOW()) ON DUPLICATE KEY UPDATE chef_environment = ?, run_list = ?, automatic_attr = ?, normal_attr = ?, default_attr = ?, override_attr = ?, updated_at = NOW()", n.Name, n.ChefEnvironment, rlb, aab, nab, dab, oab, n.ChefEnvironment, rlb, aab, nab, dab, oab)
if err != nil {
return err
}
return nil
}
示例2: savePostgreSQL
func (n *Node) savePostgreSQL(tx datastore.Dbhandle, rlb, aab, nab, dab, oab []byte) error {
_, err := tx.Exec("SELECT goiardi.merge_nodes($1, $2, $3, $4, $5, $6, $7)", n.Name, n.ChefEnvironment, rlb, aab, nab, dab, oab)
if err != nil {
return err
}
return nil
}
示例3: checkForReportSQL
func checkForReportSQL(dbhandle datastore.Dbhandle, runID string) (bool, error) {
var f int
var sqlStmt string
if config.Config.UseMySQL {
sqlStmt = "SELECT count(*) AS c FROM reports WHERE run_id = ?"
} else if config.Config.UsePostgreSQL {
sqlStmt = "SELECT count(*) AS c FROM goiardi.reports WHERE run_id = $1"
}
stmt, err := dbhandle.Prepare(sqlStmt)
if err != nil {
return false, err
}
defer stmt.Close()
err = stmt.QueryRow(runID).Scan(&f)
if err != nil {
if err == sql.ErrNoRows {
return false, nil
}
return false, err
}
if f > 0 {
return true, nil
}
return false, nil
}
示例4: actualWriteEventPostgreSQL
func (le *LogInfo) actualWriteEventPostgreSQL(tx datastore.Dbhandle, actorID int32) error {
var err error
if le.ID == 0 {
sqlStmt := "INSERT INTO goiardi.log_infos (actor_id, actor_type, actor_info, time, action, object_type, object_name, extended_info) VALUES ($1, $2, $3, $4, $5, $6, $7, $8)"
_, err = tx.Exec(sqlStmt, actorID, le.ActorType, le.ActorInfo, le.Time, le.Action, le.ObjectType, le.ObjectName, le.ExtendedInfo)
} else {
sqlStmt := "INSERT INTO goiardi.log_infos (id, actor_id, actor_type, actor_info, time, action, object_type, object_name, extended_info) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)"
_, err = tx.Exec(sqlStmt, le.ID, actorID, le.ActorType, le.ActorInfo, le.Time, le.Action, le.ObjectType, le.ObjectName, le.ExtendedInfo)
}
return err
}
示例5: actualWriteEventMySQL
func (le *LogInfo) actualWriteEventMySQL(tx datastore.Dbhandle, actorID int32) error {
var err error
if le.ID == 0 {
sqlStmt := "INSERT INTO log_infos (actor_id, actor_type, actor_info, time, action, object_type, object_name, extended_info) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"
_, err = tx.Exec(sqlStmt, actorID, le.ActorType, le.ActorInfo, le.Time, le.Action, le.ObjectType, le.ObjectName, le.ExtendedInfo)
} else {
sqlStmt := "INSERT INTO log_infos (id, actor_id, actor_type, actor_info, time, action, object_type, object_name, extended_info) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"
_, err = tx.Exec(sqlStmt, le.ID, actorID, le.ActorType, le.ActorInfo, le.Time, le.Action, le.ObjectType, le.ObjectName, le.ExtendedInfo)
}
return err
}
示例6: chkForClient
func chkForClient(handle datastore.Dbhandle, name string) error {
var userID int32
err := handle.QueryRow("SELECT id FROM clients WHERE name = ?", name).Scan(&userID)
if err != sql.ErrNoRows {
if err == nil {
err = fmt.Errorf("a client with id %d named %s was found that would conflict with this user", userID, name)
}
} else {
err = nil
}
return err
}