func (o ReaderOptions) Check() error {
	var driverOK bool
	for _, d := range sql.Drivers() {
		if d == o.Driver {
			driverOK = true
		}
	}
	if !driverOK {
		return fmt.Errorf("missing driver '%s'", o.Driver)
	}
	if o.Query == "" {
		return fmt.Errorf("empty query")
	}
	return nil
}
Check if a combination of options is valid
this not guarantees that worker will not fail
package sql
import (
	"context"
	"database/sql"
	"encoding/json"
	"fmt"
	"github.com/licaonfee/magiccol"
	"github.com/licaonfee/selina"
)
var _ selina.Worker = (*Reader)(nil)
type ReaderOptions struct {
	Driver string
	ConnStr string
	Query string
	Mapper *magiccol.Mapper
	WriteFormat selina.Marshaler
}