GitHub user lomoree opened a pull request:
https://github.com/apache/phoenix/pull/222
PHOENIX-3355 Register Phoenix built-in functions as Calcite functions
This patch works for nearly all built in functions. Aggregate functions are
not yet supported.
Ultimately we may want to rework:
- The use of parse nodes as a factory
- Generic return types to explicit return types
These issues are hand in hand as abstract built in functions (NowFunction,
FloorFunction) are where the parse node factory & generic return types are
necessary.
Potential resolution from my point of view is 2 parts
- Create a link somewhere between an abstract function and its concrete
implementations (maybe require inheritance, create an annotation that links the
abstract function to its implementations, or include the logic in the below
mentioned factory)
- Create a new factory that replaces the use of parse nodes
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/bloomberg/phoenix builtinfunctions
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/phoenix/pull/222.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #222
----
commit 3f5d65ced67db31d2cd638e66a2ff0f93ae07e5a
Author: Eric <[email protected]>
Date: 2016-10-20T19:49:56Z
Builtin functions initial commit
commit 524423220e90205c40748f4b9e3339ad8e4ba315
Author: Eric <[email protected]>
Date: 2016-10-31T17:49:13Z
Argument overloading support
commit 53cc70317414f72650b3cff1649fbcf0ad5edf25
Author: ERIC LOMORE <[email protected]>
Date: 2016-11-02T20:14:01Z
Integration tests
commit b0cd8fa3f8229a54074d3d38e05b4ce09b6c99b1
Author: ERIC LOMORE <[email protected]>
Date: 2016-11-09T21:44:17Z
Use parsenode as a factory
commit 6c94c2290521d11313edf64e930ba9f687ed7861
Author: ERIC LOMORE <[email protected]>
Date: 2016-11-09T22:30:10Z
Generic return types - temp fix
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---