Hi Robert, Thanks for taking on this work. Is this message a heads up that a patch is coming/complete, or to spawn a discussion about including this in 4.0?
Thanks, -Jason On Tue, Sep 11, 2018 at 2:32 AM, Robert Stupp <sn...@snazy.de> wrote: > In an effort to clean up our hygiene and limit the dependencies used by > UDFs/UDAs, I think we should refactor the UDF code parts and remove the > dependency to the Java Driver in that area without breaking existing > UDFs/UDAs. > > A working prototype is in this branch: https://github.com/snazy/ > cassandra/tree/feature/remove-udf-driver-dep-trunk < > https://github.com/snazy/cassandra/tree/feature/remove- > udf-driver-dep-trunk> . The changes are rather trivial and provide 100% > backwards compatibility for existing UDFs. > > The prototype copies the necessary parts from the Java Driver into the C* > source tree to org.apache.cassandra.cql3.functions.types and adopts its > usages - i.e. UDF/UDA code plus CQLSSTableWriter + StressCQLSSTableWriter. > The latter two classes have a reference to UDF’s UDHelper and had to be > changed as well. > > Some functionality, like type parsing & handling, is duplicated in the > code base with this prototype - once in the “current” source tree and once > for UDFs. However, unifying the code paths is not trivial, since the UDF > sandbox prohibits the use of internal classes (direct and likely indirect > dependencies). > > Robert > > — > Robert Stupp > @snazy > >