[ASTERIXDB-1983] Feed pipeline refactoring for SQL++ - user model changes: no - storage format changes: no - interface changes: no
Current implementation of feed uses handcraft AQL queries for creating feed pipeline. This causes a lot of issues and does not support SQL++ very well. Also, there is an overhead for parsing the query everytime. In this patch, it's replaced with compiled statement in SQL++ which provides support for attaching UDF to feed as well.
Details: 1. Remove SubscribeFeedStatement. 2. Remove SubscribeFeed related query compilation code, and reuse the upsert dataflow. 3. Added SQL++ User Defined Function support for feed, including adding multiple functions to one feed. 4. Related test cases added. 5. Change the default behavior of feed to be upsert instead of upsert. 'insert-feed' option is provided for experiment uses. 6. This patch also fixes several feed related bugs: [ASTERIXDB-2085] [ASTERIXDB-2124].