func (a *Archiver) prepareDataParams(params *common.DataParams) (err error) { // parse and evaluate the where clause if we need to if len(params.Where) > 0 { params.UUIDs, err = a.mdStore.GetUUIDs(params.Where.ToBson()) if err != nil { return err } } // apply the streamlimit if it exists if params.StreamLimit > 0 && len(params.UUIDs) > params.StreamLimit { params.UUIDs = params.UUIDs[:params.StreamLimit] } // make sure that Begin/End are both in nanoseconds if begin_uot := common.GuessTimeUnit(params.Begin); begin_uot != common.UOT_NS { params.Begin, err = common.ConvertTime(params.Begin, begin_uot, common.UOT_NS) if err != nil { return err } } if end_uot := common.GuessTimeUnit(params.End); end_uot != common.UOT_NS { params.End, err = common.ConvertTime(params.End, end_uot, common.UOT_NS) if err != nil { return err } } return nil }
func (bdb *btrIface) ValidTimestamp(time uint64, uot common.UnitOfTime) bool { var err error if uot != common.UOT_NS { time, err = common.ConvertTime(time, uot, common.UOT_NS) } return time >= 0 && time <= MaximumTime && err == nil }