// Package database define database operation functions package database import ( "context" "time" "modelRT/orm" "gorm.io/gorm" "gorm.io/gorm/clause" ) // QueryZoneByTagName return the result of query circuit diagram Zone info by tagName from postgresDB func QueryZoneByTagName(ctx context.Context, tx *gorm.DB, tagName string) (orm.Zone, error) { var zone orm.Zone // ctx超时判断 cancelCtx, cancel := context.WithTimeout(ctx, 5*time.Second) defer cancel() result := tx.WithContext(cancelCtx).Where("TAGNAME = ? ", tagName).Clauses(clause.Locking{Strength: "UPDATE"}).Find(&zone) if result.Error != nil { return orm.Zone{}, result.Error } return zone, nil }