コード例 #1
0
func (self mysqlStorageProvider) get(conn *autorc.Conn, group string) (*GroupInfo, error) {
	errorMsgPrefix := fmt.Sprintf("Occur error when get group info (group=%v)", group)
	rawSql := "select `start`, `step`, `count`, `begin`, `end`, `last_modified` from `%s` where `name`='%s'"
	sql := fmt.Sprintf(rawSql, TABLE_NAME, group)
	row, _, err := conn.QueryFirst(sql)
	if err != nil {
		errorMsg := fmt.Sprintf("%s (sql=%s): %s", errorMsgPrefix, sql, err)
		Logger().Errorln(errorMsg)
		return nil, errors.New(errorMsg)
	}
	if row == nil {
		return nil, nil
	}
	start := row.Uint64(0)
	step := uint32(row.Uint(1))
	count := row.Uint64(2)
	begin := row.Uint64(3)
	end := row.Uint64(4)
	lastModified := row.Time(5, time.Local)
	idRange := IdRange{Begin: begin, End: end}
	groupInfo := GroupInfo{Name: group, Start: start, Step: step, Count: count, Range: idRange, LastModified: lastModified}
	return &groupInfo, nil
}