Clone
Ali Alsuliman <ali.al.solaiman@gmail.com>
committed
on 12 May
[ASTERIXDB-2564][RT] Too many objects created in min() and max()
- user model changes: no
- storage format changes: no
- interface changes: … Show more
[ASTERIXDB-2564][RT] Too many objects created in min() and max()

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

During min() and max() aggregation, the functions keep track of

the aggregation type in order to handle heterogeneous  lists.

It promotes the aggregation type if needed (e.g. encountered double).

Don't switch to new aggregation type and create a new comparator

when the new input value type is the same as the previously

aggregated values. That is because canPromote(agg_type, new_val_type)

will always return true for same types.

Change-Id: I0bb9f0715985ae555de00bbf3173c80371d8968b

Reviewed-on: https://asterix-gerrit.ics.uci.edu/3391

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

Show less