func (b *Between) Resolved() bool {
	return b.Val.Resolved() && b.Lower.Resolved() && b.Upper.Resolved()
}
Resolved implements the Expression interface.
package expression
import (
	"fmt"
	"github.com/src-d/go-mysql-server/sql"
)
type Between struct {
	Val   sql.Expression
	Lower sql.Expression
	Upper sql.Expression
}
func NewBetween(val, lower, upper sql.Expression) *Between {
	return &Between{val, lower, upper}
}
func (b *Between) String() string {
	return fmt.Sprintf("%s BETWEEN %s AND %s", b.Val, b.Lower, b.Upper)
}
func (b *Between) Children() []sql.Expression {
	return []sql.Expression{b.Val, b.Lower, b.Upper}
}
func (*Between) Type() sql.Type { return sql.Boolean }
func (b *Between) IsNullable() bool {
	return b.Val.IsNullable() || b.Lower.IsNullable() || b.Upper.IsNullable()
}