// JOBテーブルへUPDATEする。 // // param - conn DBコネクション // // param - job JOBレコード構造体ポインタ func UpdateJob(conn db.IConnection, job *db.JobResult, mutex *sync.Mutex) error { mutex.Lock() defer mutex.Unlock() var isCommit bool tx, err := conn.GetDbMap().Begin() if err != nil { return err } defer func() { if !isCommit { tx.Rollback() } }() job.UpdateDate = utctime.Now().String() if _, err = tx.Update(job); err != nil { return err } if err = tx.Commit(); err != nil { return err } isCommit = true return nil }
// ジョブネットワークのインスタンスIDを指定して、ジョブ情報をマップ形式で取得する。 func GetJobMapOfTargetNetwork(conn db.IConnection, nid int) (map[string]*db.JobResult, error) { q := CreateJobQuery(conn) q.AddAndWhereID(nid) list, err := conn.GetDbMap().Select(db.JobResult{}, q.sql) if err != nil { return nil, err } results := make(map[string]*db.JobResult) for _, l := range list { r := l.(*db.JobResult) results[r.JobId] = r } return results, nil }
// ジョブネットワークのインスタンスIDを指定して、ジョブ情報を取得する。 // // param - conn 接続済みのDBコネクション。 // // param - nid 検索に使用するジョブネットワークのインスタンスID。 // // param - orderby 昇順(query.ORDERBY_ASC) / 降順(query.ORDERBY_DESC) // // return ジョブネットワークレコードのスライスとエラー情報 func GetJobsOfTargetNetwork(conn db.IConnection, nid int, orderby int) ([]*db.JobResult, error) { q := CreateJobQuery(conn) q.AddAndWhereID(nid) q.AddOrderBy(orderby) list, err := conn.GetDbMap().Select(db.JobResult{}, q.sql) if err != nil { return nil, err } var results []*db.JobResult for _, l := range list { r := l.(*db.JobResult) results = append(results, r) } return results, nil }
// JOBテーブルの総件数を取得する。 func JobCountAll(conn db.IConnection) int { num, _ := conn.GetDbMap().SelectInt("select count(*) from JOB") return int(num) }