func (db *DB) Explain(ctx context.Context, query interface{}) (*QueryPlan, error) {
	if explainer, ok := db.driverDB.(driver.Explainer); ok {
		plan, err := explainer.Explain(ctx, query)
		if err != nil {
			return nil, err
		}
		qp := QueryPlan(*plan)
		return &qp, nil
	}
	return nil, errors.Status(StatusNotImplemented, "kivik: driver does not support explain")
}
// Explain returns the query plan for a given query. Explain takes the same
// arguments as Find.
Explain returns the query plan for a given query. Explain takes the same
arguments as Find.
// Explain returns the query plan for a given query . Explain takes the same // arguments as Find .
func (db *DB) Explain(ctx context.Context, query interface{}) (*QueryPlan, error) {
	if explainer, ok := db.driverDB.(driver.Explainer); ok {
		plan, err := explainer.Explain(ctx, query)
		if err != nil {
			return nil, err
		}
		qp := QueryPlan(*plan)
		return &qp, nil
	}
	return nil, errors.Status(StatusNotImplemented, "kivik: driver does not support explain")
}
func ( db * DB ) Explain ( ctx context . Context , query interface { } ) ( * QueryPlan , error ) { if explainer , ok := db . driverDB . ( driver . Explainer ) ; ok { plan , err := explainer . Explain ( ctx , query ) if err != nil { return nil , err } qp := QueryPlan ( * plan ) return & qp , nil } return nil , errors . Status ( StatusNotImplemented , " " ) }
Explain returns the query plan for a given query.
Explain returns the query plan for a given query .