func (p LogicalSelection) Init(ctx sctx.Context) *LogicalSelection {
	p.baseLogicalPlan = newBaseLogicalPlan(ctx, plancodec.TypeSel, &p)
	return &p
}
Init initializes LogicalSelection.
package planner
import (
	"github.com/pingcap/parser/ast"
	parser_model "github.com/pingcap/parser/model"
	"github.com/pingcap/parser/opcode"
	"github.com/pingcap/tidb/sessionctx/stmtctx"
	"github.com/pingcap/tidb/types"
	"github.com/pingcap/tidb/util/plancodec"
	"github.com/zhihu/zetta/pkg/model"
	"github.com/zhihu/zetta/tablestore/mysql/expression"
	"github.com/zhihu/zetta/tablestore/mysql/expression/aggregation"
	"github.com/zhihu/zetta/tablestore/mysql/sctx"
	"github.com/zhihu/zetta/tablestore/table"
	"github.com/zhihu/zetta/tablestore/util"
)
type LogicalUpdate struct {
	baseLogicalPlan
	Table table.Table
	ColValues  map[int64]types.Datum
	DataSource Plan
}
func (p LogicalUpdate) Init(ctx sctx.Context) *LogicalUpdate {
	p.baseLogicalPlan = newBaseLogicalPlan(ctx, plancodec.TypeUpdate, &p)
	return &p
}
type LogicalSelection struct {
	baseLogicalPlan
	Conditions []expression.Expression
}