[NO-ISSUE][GRAPHIX] Updating rewriter for Graphix.

- Rewriter now generates SQLPP ASTs that a) minimize the nesting to
  reduce the time to compile and b) maximize the number of hash
  JOINs. This is accomplished by aiming for "wide" ASTs (via UNION-ALLs)
  as opposed to nested SELECT-EXPRs.
- Rewriter now pushes isomorphism conjuncts earlier (via a "correlated
  WHERE clause").
- Schema information for functions are now added in lazy manner, as
  opposed to eagerly.
- Added a DECLARE GRAPH statement.
- Added a SOURCE_VERTEX and DEST_VERTEX function.
- Fixed a bug w/ the element resolver not handling sub-paths properly.

Change-Id: I95c56b38e7a01e6f73fe59c2243f88646735ed39
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb-graph/+/16543
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Glenn Galvizo <ggalvizo@uci.edu>
190 files changed
tree: c65ac4e69a8c75f82801dbca5ffaad75bb1f14d0
  1. asterix-graphix/
  2. asterix-opt-bom/
  3. .gitignore
  4. pom.xml