The join operator has opportunity to be improved. First it can use hash based join instead of inner loop join. Also parts of the condition for the join operation are only dependent on one side of the join.
VXQuery does not benefit from the AlgebricksBuiltinFunctions, since each function is created with a VXQuery namespace. The key builtin function for the join optimization is AND. Some rewrite rules in Algebricks use these builtin functions to modify the query plans. VXQuery does not benefit from these rewrite rule changes since VXQuery AND is different than the Algebricks AND. Is this a problem we fix by updating our definition of the AND function definition? Or do we need to make new rewrite rules for our system? Thanks for your feedback Preston Algebricks has the following builtin function identifiers: EQ, LE, GE, LT, GT, NEQ, AND, OR, NOT, ADD_NUMERIC, IS_NULL. Side note: AsterixDB system chooses to use these builtin function identifiers instead of defining there own. The system still implements the runtime, but does not define the identifier.
