udaf_default.sql 728 B

12345678910111213141516171819202122232425
  1. /* syntax version 1 */
  2. /* postgres can not */
  3. /* syntax version 1 */
  4. $create = ($item, $_parent) -> { return AsList($item) };
  5. $add = ($state, $item, $_parent) -> { return Yql::Append($state, $item) };
  6. $merge = ($state1, $state2) -> { return ListExtend($state1,$state2) };
  7. $get_result = ($state) -> { return $state };
  8. $serialize = ($state) -> { return $state };
  9. $deserialize = ($state) -> { return $state };
  10. $default = ($result_type)->{ return Yql::List($result_type) };
  11. $udaf_factory = AGGREGATION_FACTORY(
  12. "UDAF",
  13. $create,
  14. $add,
  15. $merge,
  16. $get_result,
  17. $serialize,
  18. $deserialize,
  19. $default
  20. );
  21. select ListAggregate(AsList(1,2),$udaf_factory);
  22. select ListAggregate(ListCreate(Int32),$udaf_factory);