func (c *CreateIndex) Resolved() bool {
	if !c.Table.Resolved() {
		return false
	}
	for _, e := range c.Exprs {
		if !e.Resolved() {
			return false
		}
	}
	return true
}
Resolved implements the Node interface.
package plan
import (
	"fmt"
	"strings"
	"time"
	opentracing "github.com/opentracing/opentracing-go"
	otlog "github.com/opentracing/opentracing-go/log"
	"github.com/sirupsen/logrus"
	"github.com/src-d/go-mysql-server/sql"
	"github.com/src-d/go-mysql-server/sql/expression"
	errors "gopkg.in/src-d/go-errors.v1"
)
var (
	ErrNotIndexable = errors.NewKind("the table is not indexable")
	ErrInvalidIndexDriver = errors.NewKind("invalid driver index %q")
	ErrExprTypeNotIndexable = errors.NewKind("expression %q with type %s cannot be indexed")
)
type CreateIndex struct {
	Name            string
	Table           sql.Node
	Exprs           []sql.Expression
	Driver          string
	Config          map[string]string
	Catalog         *sql.Catalog
	CurrentDatabase string
	Async           bool
}
func NewCreateIndex(
	name string,
	table sql.Node,
	exprs []sql.Expression,
	driver string,
	config map[string]string,
) *CreateIndex {
	async, ok := config["async"]
	return &CreateIndex{
		Name:   name,
		Table:  table,
		Exprs:  exprs,
		Driver: driver,
		Config: config,
		Async:  async != "false" || !ok,
	}
}
func (c *CreateIndex) Children() []sql.Node { return []sql.Node{c.Table} }