private Query compileViewQuery(Session session, String sql, boolean literalsChecked, String viewName) { Prepared p; session.setParsingCreateView(true, viewName); try { p = session.prepare(sql, false, literalsChecked); } finally { session.setParsingCreateView(false, viewName); } if (!(p instanceof Query)) { throw DbException.getSyntaxError(sql, 0); } Query q = (Query) p; // only potentially recursive cte queries need to be non-lazy if (isTableExpression && allowRecursive) { q.setNeverLazy(true); } return q; }
try { Query query; session.setParsingCreateView(true, viewName); try { query = parseSelect(); query.prepare(); } finally { session.setParsingCreateView(false, viewName);