| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package dps
- import (
- "git.sxidc.com/service-supports/dps-sdk/client"
- "git.sxidc.com/service-supports/fslog"
- "sync"
- )
- var dpsClientMutex sync.Mutex
- var dpsClient client.Client
- func InitInstance(address string, clientVersion string, databaseID string) error {
- dpsClientMutex.Lock()
- defer dpsClientMutex.Unlock()
- if dpsClient == nil {
- return nil
- }
- c, err := NewClient(address, clientVersion, databaseID)
- if err != nil {
- return err
- }
- dpsClient = c
- return nil
- }
- func DestroyInstance(clientVersion string, databaseID string) error {
- dpsClientMutex.Lock()
- defer dpsClientMutex.Unlock()
- err := DestroyClient(clientVersion, databaseID)
- if err != nil {
- return err
- }
- dpsClient = nil
- return nil
- }
- func AutoMigrate(items ...client.AutoMigrateItem) error {
- if items == nil || len(items) == 0 {
- return nil
- }
- dpsClientMutex.Lock()
- defer dpsClientMutex.Unlock()
- if dpsClient == nil {
- return nil
- }
- return dpsClient.AutoMigrate(&client.AutoMigrateRequest{Items: items})
- }
- func Transaction(txFunc client.TransactionFunc) error {
- dpsClientMutex.Lock()
- defer dpsClientMutex.Unlock()
- if dpsClient == nil {
- return nil
- }
- return dpsClient.Transaction(txFunc)
- }
- func EndTransaction(tx client.Transaction) {
- dpsClientMutex.Lock()
- defer dpsClientMutex.Unlock()
- if dpsClient == nil {
- return
- }
- err := tx.End()
- if err != nil {
- fslog.Error("!!!!!!!!! END TRANSACTION" + err.Error() + "!!!!!!!!!")
- return
- }
- }
|