本文整理匯總了Golang中github.com/cloudwan/gohan/db/transaction.Transaction.Commit方法的典型用法代碼示例。如果您正苦於以下問題:Golang Transaction.Commit方法的具體用法?Golang Transaction.Commit怎麽用?Golang Transaction.Commit使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudwan/gohan/db/transaction.Transaction
的用法示例。
在下文中一共展示了Transaction.Commit方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: GohanDbDelete
//GohanDbDelete deletes resource from database
func GohanDbDelete(transaction transaction.Transaction, needCommit bool, schemaID, ID string) error {
schema, err := getSchema(schemaID)
if err != nil {
return fmt.Errorf("Error during gohan_db_delete: %s", err.Error())
}
if err := transaction.Delete(schema, ID); err != nil {
return fmt.Errorf("Error during gohan_db_delete: %s", err.Error())
}
if needCommit {
err := transaction.Commit()
if err != nil {
return fmt.Errorf("Error during gohan_db_delete: %s", err.Error())
}
}
return nil
}
示例2: GohanDbStateUpdate
//GohanDbStateUpdate updates resource's state in database
func GohanDbStateUpdate(transaction transaction.Transaction, needCommit bool, schemaID string,
dataMap map[string]interface{}) (*schema.Resource, error) {
manager := schema.GetManager()
resource, err := manager.LoadResource(schemaID, dataMap)
if err != nil {
return nil, fmt.Errorf("Error during gohan_db_state_update: %s", err.Error())
}
if err = transaction.StateUpdate(resource, nil); err != nil {
return nil, fmt.Errorf("Error during gohan_db_state_update: %s", err.Error())
}
if needCommit {
err = transaction.Commit()
if err != nil {
return nil, fmt.Errorf("Error during gohan_db_state_update: %s", err.Error())
}
}
return resource, nil
}
示例3: GohanDbQuery
//GohanDbQuery get resources from database with query
func GohanDbQuery(transaction transaction.Transaction, needCommit bool, schemaID,
sqlString string, arguments []interface{}) ([]map[string]interface{}, error) {
schema, err := getSchema(schemaID)
if err != nil {
return []map[string]interface{}{}, err
}
resources, err := transaction.Query(schema, sqlString, arguments)
if err != nil {
return []map[string]interface{}{}, fmt.Errorf("Error during gohan_db_query: %s", err.Error())
}
if needCommit {
err = transaction.Commit()
if err != nil {
return []map[string]interface{}{}, fmt.Errorf("Error during gohan_db_query: %s", err.Error())
}
}
resp := []map[string]interface{}{}
for _, resource := range resources {
resp = append(resp, resource.Data())
}
return resp, nil
}
示例4:
if os.Getenv("MYSQL_TEST") == "true" {
conn = "[email protected]/gohan_test"
dbType = "mysql"
} else {
conn = "./test.db"
dbType = "sqlite3"
}
})
Context("When the database is empty", func() {
It("Returns an empty list", func() {
list, num, err := tx.List(networkSchema, nil, nil)
Expect(err).ToNot(HaveOccurred())
Expect(num).To(Equal(uint64(0)))
Expect(list).To(BeEmpty())
Expect(tx.Commit()).To(Succeed())
})
It("Creates a resource", func() {
Expect(tx.Create(networkResource1)).To(Succeed())
Expect(tx.Commit()).To(Succeed())
})
})
Describe("When the database is not empty", func() {
JustBeforeEach(func() {
Expect(tx.Create(networkResource1)).To(Succeed())
Expect(tx.Create(networkResource2)).To(Succeed())
Expect(tx.Create(serverResource)).To(Succeed())
Expect(tx.Commit()).To(Succeed())
示例5: DBCommit
//DBCommit commits transaction
func DBCommit(tx transaction.Transaction) error {
return tx.Commit()
}