func (s *Select) Select(clauses []Clause) (err error) {
	s.ErrorFile.Clear()
	// obtain operation lock
	u := s.back.TryLock()
	if u == nil {
		s.ErrorFile.Set("another select or wait operation is blocking")
		return rh.ErrBusy
	}
	defer u.Unlock()
	//
	s.clauses.Lock()
	defer s.clauses.Unlock()
	if s.clauses.clauses != nil {
		s.ErrorFile.Set("selection already in progress")
		return fmt.Errorf("selection already in progress")
	}
	if clauses, err = verifyFiles(clauses); err != nil {
		s.ErrorFile.Set(err.Error())
		return err
	}
	s.clauses.clauses = clauses
	s.start(clauses)
	return nil
}
// Select initiates a selection process.
Select initiates a selection process.
// Select initiates a selection process .
func (s *Select) Select(clauses []Clause) (err error) {
	s.ErrorFile.Clear()
	u := s.back.TryLock()
	if u == nil {
		s.ErrorFile.Set("another select or wait operation is blocking")
		return rh.ErrBusy
	}
	defer u.Unlock()
	s.clauses.Lock()
	defer s.clauses.Unlock()
	if s.clauses.clauses != nil {
		s.ErrorFile.Set("selection already in progress")
		return fmt.Errorf("selection already in progress")
	}
	if clauses, err = verifyFiles(clauses); err != nil {
		s.ErrorFile.Set(err.Error())
		return err
	}
	s.clauses.clauses = clauses
	s.start(clauses)
	return nil
}
func ( s * Select ) Select ( clauses [ ] Clause ) ( err error ) { s . ErrorFile . Clear ( ) u := s . back . TryLock ( ) if u == nil { s . ErrorFile . Set ( " " ) return rh . ErrBusy } defer u . Unlock ( ) s . clauses . Lock ( ) defer s . clauses . Unlock ( ) if s . clauses . clauses != nil { s . ErrorFile . Set ( " " ) return fmt . Errorf ( " " ) } if clauses , err = verifyFiles ( clauses ) ; err != nil { s . ErrorFile . Set ( err . Error ( ) ) return err } s . clauses . clauses = clauses s . start ( clauses ) return nil }
Select initiates a selection process.
Select initiates a selection process .
// obtain operation lock //