diff --git a/pkg/dal/def_aggregate.go b/pkg/dal/def_aggregate.go index da7b98438..a98a48743 100644 --- a/pkg/dal/def_aggregate.go +++ b/pkg/dal/def_aggregate.go @@ -75,11 +75,6 @@ func (def *Aggregate) Optimize(reqFilter internalFilter) (rspFilter internalFilt } func (def *Aggregate) init(ctx context.Context) (err error) { - err = def.validate() - if err != nil { - return - } - if def.Filter != nil { def.filter, err = toInternalFilter(def.Filter) if err != nil { @@ -91,6 +86,11 @@ func (def *Aggregate) init(ctx context.Context) (err error) { def.SourceAttributes = collectAttributes(def.rel) } + err = def.validate() + if err != nil { + return + } + return nil } diff --git a/pkg/dal/def_datasource.go b/pkg/dal/def_datasource.go index 334fa8efd..10af9f24b 100644 --- a/pkg/dal/def_datasource.go +++ b/pkg/dal/def_datasource.go @@ -60,11 +60,6 @@ func (def *Datasource) Optimize(req internalFilter) (res internalFilter, err err } func (def *Datasource) init(ctx context.Context, s iterProvider) (err error) { - err = def.validate() - if err != nil { - return - } - if def.Filter != nil { def.filter, err = toInternalFilter(def.Filter) if err != nil { @@ -83,6 +78,11 @@ func (def *Datasource) init(ctx context.Context, s iterProvider) (err error) { def.auxIter = iter + err = def.validate() + if err != nil { + return + } + return nil } diff --git a/pkg/dal/def_join.go b/pkg/dal/def_join.go index 5b1dcd319..8895f16e2 100644 --- a/pkg/dal/def_join.go +++ b/pkg/dal/def_join.go @@ -84,11 +84,6 @@ func (def *Join) Optimize(req internalFilter) (res internalFilter, err error) { } func (def *Join) init(ctx context.Context) (err error) { - err = def.validate() - if err != nil { - return - } - if len(def.LeftAttributes) == 0 { def.LeftAttributes = collectAttributes(def.relLeft) } @@ -107,6 +102,11 @@ func (def *Join) init(ctx context.Context) (err error) { } } + err = def.validate() + if err != nil { + return + } + return nil }