private static final List<WindowDefinition> parseWindowDefinitions(ParserContext ctx) { List<WindowDefinition> result = new ArrayList<WindowDefinition>(); do { Name name = parseIdentifier(ctx); parseKeyword(ctx, "AS"); parse(ctx, '('); result.add(name.as(parseWindowSpecificationIf(ctx, true))); parse(ctx, ')'); } while (parseIf(ctx, ',')); return result; }
parse(ctx, ')'); cte.add(dcl != null ? dcl.as(select) : table.as(select));