code: func GetOperand(p plannercore.LogicalPlan) Operand {
  	switch p.(type) {
  	case *plannercore.LogicalJoin:
  		return OperandJoin
  	case *plannercore.LogicalAggregation:
  		return OperandAggregation
  	case *plannercore.LogicalProjection:
  		return OperandProjection
  	case *plannercore.LogicalSelection:
  		return OperandSelection
  	case *plannercore.LogicalApply:
  		return OperandApply
  	case *plannercore.LogicalMaxOneRow:
  		return OperandMaxOneRow
  	case *plannercore.LogicalTableDual:
  		return OperandTableDual
  	case *plannercore.DataSource:
  		return OperandDataSource
  	case *plannercore.LogicalUnionScan:
  		return OperandUnionScan
  	case *plannercore.LogicalUnionAll:
  		return OperandUnionAll
  	case *plannercore.LogicalSort:
  		return OperandSort
  	case *plannercore.LogicalTopN:
  		return OperandTopN
  	case *plannercore.LogicalLock:
  		return OperandLock
  	case *plannercore.LogicalLimit:
  		return OperandLimit
  	default:
  		return OperandUnsupported
  	}
  }
docs: // GetOperand maps logical plan operator to Operand.