func (p *Values) Resolved() bool {
	for _, et := range p.ExpressionTuples {
		if !expressionsResolved(et...) {
			return false
		}
	}
	return true
}
Resolved implements the Resolvable interface.
package plan
import (
	"fmt"
	"github.com/src-d/go-mysql-server/sql"
)
type Values struct {
	ExpressionTuples [][]sql.Expression
}
func NewValues(tuples [][]sql.Expression) *Values {
	return &Values{tuples}
}
func (p *Values) Schema() sql.Schema {
	if len(p.ExpressionTuples) == 0 {
		return nil
	}
	exprs := p.ExpressionTuples[0]
	s := make(sql.Schema, len(exprs))
	for i, e := range exprs {
		var name string
		if n, ok := e.(sql.Nameable); ok {
			name = n.Name()
		} else {
			name = e.String()
		}
		s[i] = &sql.Column{
			Name:     name,
			Type:     e.Type(),
			Nullable: e.IsNullable(),
		}
	}
	return nil
}
func (p *Values) Children() []sql.Node {
	return nil
}