SelectTaskFromTaskPb create plan task for SqlSelect from pb.
(pb *PlanPb, ctx *Context, sel *rel.SqlSelect)
| 329 | |
| 330 | // SelectTaskFromTaskPb create plan task for SqlSelect from pb. |
| 331 | func SelectTaskFromTaskPb(pb *PlanPb, ctx *Context, sel *rel.SqlSelect) (Task, error) { |
| 332 | switch { |
| 333 | case pb.Source != nil: |
| 334 | return SourceFromPB(pb, ctx) |
| 335 | case pb.Where != nil: |
| 336 | return WhereFromPB(pb), nil |
| 337 | case pb.Having != nil: |
| 338 | return HavingFromPB(pb), nil |
| 339 | case pb.GroupBy != nil: |
| 340 | return GroupByFromPB(pb), nil |
| 341 | case pb.Order != nil: |
| 342 | return OrderFromPB(pb), nil |
| 343 | case pb.Projection != nil: |
| 344 | return ProjectionFromPB(pb, sel), nil |
| 345 | case pb.JoinMerge != nil: |
| 346 | u.Warnf("JoinMerge not implemented: %T", pb) |
| 347 | case pb.JoinKey != nil: |
| 348 | u.Warnf("JoinKey not implemented: %T", pb) |
| 349 | default: |
| 350 | u.Warnf("not implemented: %#v", pb) |
| 351 | } |
| 352 | return nil, ErrNotImplemented |
| 353 | } |
| 354 | func NewPlanBase(isParallel bool) *PlanBase { |
| 355 | return &PlanBase{tasks: make([]Task, 0), parallel: isParallel} |
| 356 | } |
no test coverage detected