[DRIVERS-758] Support for JavaScript User Defined Functions Created: 21/Oct/19  Updated: 28/Oct/23  Resolved: 28/Apr/20

Status: Closed
Project: Drivers
Component/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Backlog - Core Eng Program Management Team Assignee: Unassigned
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on JAVA-3471 Support for JavaScript User Defined F... Closed
depends on CSHARP-2804 Support for JavaScript User Defined F... Closed
Server Compat: 4.4
Driver Compliance:
Key Status/Resolution FixVersion
JAVA-3471 Won't Do
CSHARP-2804 Fixed 2.11.0

 Description   
Downstream Change Summary

null

Description of Linked Ticket

Epic Summary

Summary

Allow users to specify JavaScript user-defined functions (expressions) and accumulators in Agg pipelines. This functionality was delivered as part of “MapReduce in Agg” (PM-776) and will be exposed through this project.

Motivation

We want to empower users to write custom expressions in order to implement behaviors not supported by MQL. This will bring us closer to parity with many databases, in particular DocumentDB, that support UDFs in JS and several other languages. It was also a critical feature for ETL pipelines in Tableau Prep.

The most common use case is projecting computed columns and filtering, however, the concept can also be used to parameterize operations like sorting with a custom comparator or clustering with a distance function, as well as custom $group keys.
Last but not least, this effort is a prerequisite to deprecate the MR command (PM-1470).

Documentation

Scope Document
Technical Design Document


Generated at Thu Feb 08 08:22:17 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.