[ASTERIXDB-2170][SQL] Fix resolution order of implicit field access - user model changes: yes - storage format changes: no - interface changes: no
Details: - Improved name resolution rules - Resolve field access to the nearest variable in scope instead of raising compile-time error - Do not rely on type information when resolving names - Cleanup group variable handling in GroupBy clause, no longer use ‘with’ map for it - Fix ByNameToByIndexFieldAccessRule to use type environment of its input operator when analyzing its expression - Fix ExternalGroupByPOperator to use input schema of its aggregate function when generating runtime for that function - Fix invalid free variable computation for GroupBy clause
Fix ASTERIXDB-1875 UDF in SQL++ 1. Fix the bug that if a function created with SQLPP, the callExpr in the function body is not normalzied to list input functions. 2. Fix the bug that in SQL++ Query Rewritter, the variables are not expanded before the inline the functions. 3. Add test case for this issue. 4. Make SQL++ visitor visits decorVariableExpression. 5. Optimizer test cases update.