tree ff13ca18d30ed3e2cd016873b44bf9a98ea6024c
parent 17d0215385f3d72d6b899d104cf258e0f3fe174f
author Makoto Yui <myui@apache.org> 1583217844 +0900
committer Makoto Yui <myui@apache.org> 1583217844 +0900
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEemuhoQzGq/RxWRUhk/TQjcjOgBsFAl5d/LQACgkQk/TQjcjO
 gBvBPxAAtarWlK3ioUmhdBhvfS6dU3GXy4IttCnHJ1QT3fMI3n1MY0zMq/Egg6tx
 50NQEocaPdgoJv5XgwQ3NVlRFVzxwri8eLcjuDhEeeLH5niuKw41H0H2E6SRwT8C
 kunvOoGAf0x5YZhdZEedPVffWz+cZKm5Ae6h7CZqPUqjOM6occ5MC+nVnmCiqG17
 RdJcDk70FutbCGWM9VlufPxOwrB305cNNlNsogjFIPFScRqkvvNOLyA2luG10TlI
 70X++HSDu+Oj6nhqyqmkN1SgaAHThKdohJefBGMT1JPWWtJOxgwGH7Qm1JUHgRC/
 W3LjLbtdMi68Z1dfPuufoq6BcqinxXGtkjwW7+J8MtR85PXa8Pt5e9ffwYM+z5tx
 IFU40RzxNlhyagrf95ioQcRRk0Pyjv4OwZF+kPVgd0HKzOr0pKL33ZzXwFrJT8Dq
 HsFhjm+PWTiezp90DMBmc3UJpjZIX1/B2oxPekZM65iXSRVwSDHHsk7f8N3LYF7Z
 FpSNbwvLtRDEkLhWPQew60cZjOgP12sIHbS2YByHZ/swecuqAYsI7DHhqsnsVlaC
 0fJpi9W5WLrkPe7ZblPWJSt9qAxmez3DcLCF9QZQpX2VxOtqZe4DW3rux1R11nQU
 Z9VUAbd4f8jF6OdleEp0F3AcNYfJ/7p6qy8MZDtzd5RuzjkmoCI=
 =A6Te
 -----END PGP SIGNATURE-----

[HIVEMALL-291] Fixed dedup behavior of to_ordered_list UDAF

## What changes were proposed in this pull request?

Fixed dedup behavior of to_ordered_list UDAF

## What type of PR is it?

Hot Fix

## What is the Jira issue?

https://issues.apache.org/jira/browse/HIVEMALL-291

## How was this patch tested?

unit tests

## Checklist

- [x] Did you apply source code formatter, i.e., `./bin/format_code.sh`, for your commit?
- [x] Did you run system tests on Hive (or Spark)?

Author: Makoto Yui <myui@apache.org>

Closes #227 from myui/HIVEMALL-291-2.
