com.facebook.presto.sql.tree.Window.getOrderBy()方法的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(6.7k)|赞(0)|评价(0)|浏览(146)

本文整理了Java中com.facebook.presto.sql.tree.Window.getOrderBy()方法的一些代码示例,展示了Window.getOrderBy()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Window.getOrderBy()方法的具体详情如下:
包路径:com.facebook.presto.sql.tree.Window
类名称:Window
方法名:getOrderBy

Window.getOrderBy介绍

暂无

代码示例

代码示例来源:origin: prestodb/presto

@Override
public String visitWindow(Window node, Void context)
{
  List<String> parts = new ArrayList<>();
  if (!node.getPartitionBy().isEmpty()) {
    parts.add("PARTITION BY " + joinExpressions(node.getPartitionBy()));
  }
  if (node.getOrderBy().isPresent()) {
    parts.add(formatOrderBy(node.getOrderBy().get(), parameters));
  }
  if (node.getFrame().isPresent()) {
    parts.add(process(node.getFrame().get(), context));
  }
  return '(' + Joiner.on(' ').join(parts) + ')';
}

代码示例来源:origin: prestodb/presto

@Override
public R visitWindow(Window node, C context)
{
  for (Expression expression : node.getPartitionBy()) {
    process(expression, context);
  }
  if (node.getOrderBy().isPresent()) {
    process(node.getOrderBy().get(), context);
  }
  if (node.getFrame().isPresent()) {
    process(node.getFrame().get(), context);
  }
  return null;
}

代码示例来源:origin: prestodb/presto

.addAll(windowFunction.getArguments())
    .addAll(window.getPartitionBy())
    .addAll(Iterables.transform(getSortItemsFromOrderBy(window.getOrderBy()), SortItem::getSortKey));
for (SortItem item : getSortItemsFromOrderBy(window.getOrderBy())) {
  Symbol symbol = subPlan.translate(item.getSortKey());

代码示例来源:origin: prestodb/presto

toExtract.addAll(windowFunction.getArguments());
toExtract.addAll(window.getPartitionBy());
window.getOrderBy().ifPresent(orderBy -> toExtract.addAll(orderBy.getSortItems()));
window.getFrame().ifPresent(toExtract::add);

代码示例来源:origin: prestodb/presto

@Override
public Boolean visitWindow(Window node, Void context)
{
  for (Expression expression : node.getPartitionBy()) {
    if (!process(expression, context)) {
      throw new SemanticException(MUST_BE_AGGREGATE_OR_GROUP_BY,
          expression,
          "PARTITION BY expression '%s' must be an aggregate expression or appear in GROUP BY clause",
          expression);
    }
  }
  for (SortItem sortItem : getSortItemsFromOrderBy(node.getOrderBy())) {
    Expression expression = sortItem.getSortKey();
    if (!process(expression, context)) {
      throw new SemanticException(MUST_BE_AGGREGATE_OR_GROUP_BY,
          expression,
          "ORDER BY expression '%s' must be an aggregate expression or appear in GROUP BY clause",
          expression);
    }
  }
  if (node.getFrame().isPresent()) {
    process(node.getFrame().get(), context);
  }
  return true;
}

代码示例来源:origin: prestodb/presto

for (SortItem sortItem : getSortItemsFromOrderBy(node.getWindow().get().getOrderBy())) {
  process(sortItem.getSortKey(), context);
  Type type = getExpressionType(sortItem.getSortKey());

代码示例来源:origin: rakam-io/rakam

@Override
public String visitWindow(Window node, Void context) {
  List<String> parts = new ArrayList<>();
  if (!node.getPartitionBy().isEmpty()) {
    parts.add("PARTITION BY " + joinExpressions(node.getPartitionBy()));
  }
  if (node.getOrderBy().isPresent()) {
    parts.add(formatOrderBy(node.getOrderBy().get(), tableNameMapper, columnNameMapper, queryWithTables, escape));
  }
  if (node.getFrame().isPresent()) {
    parts.add(process(node.getFrame().get(), context));
  }
  return '(' + Joiner.on(' ').join(parts) + ')';
}

代码示例来源:origin: com.facebook.presto/presto-parser

@Override
public String visitWindow(Window node, Void context)
{
  List<String> parts = new ArrayList<>();
  if (!node.getPartitionBy().isEmpty()) {
    parts.add("PARTITION BY " + joinExpressions(node.getPartitionBy()));
  }
  if (node.getOrderBy().isPresent()) {
    parts.add(formatOrderBy(node.getOrderBy().get(), parameters));
  }
  if (node.getFrame().isPresent()) {
    parts.add(process(node.getFrame().get(), context));
  }
  return '(' + Joiner.on(' ').join(parts) + ')';
}

代码示例来源:origin: uk.co.nichesolutions.presto/presto-parser

@Override
public String visitWindow(Window node, Boolean unmangleNames)
{
  List<String> parts = new ArrayList<>();
  if (!node.getPartitionBy().isEmpty()) {
    parts.add("PARTITION BY " + joinExpressions(node.getPartitionBy(), unmangleNames));
  }
  if (!node.getOrderBy().isEmpty()) {
    parts.add("ORDER BY " + formatSortItems(node.getOrderBy(), unmangleNames));
  }
  if (node.getFrame().isPresent()) {
    parts.add(process(node.getFrame().get(), unmangleNames));
  }
  return '(' + Joiner.on(' ').join(parts) + ')';
}

代码示例来源:origin: vqtran/EchoQuery

@Override
public String visitWindow(Window node, Boolean unmangleNames)
{
  List<String> parts = new ArrayList<>();
  if (!node.getPartitionBy().isEmpty()) {
    parts.add("PARTITION BY " + joinExpressions(node.getPartitionBy(), unmangleNames));
  }
  if (!node.getOrderBy().isEmpty()) {
    parts.add("ORDER BY " + formatSortItems(node.getOrderBy(), unmangleNames));
  }
  if (node.getFrame().isPresent()) {
    parts.add(process(node.getFrame().get(), unmangleNames));
  }
  return '(' + Joiner.on(' ').join(parts) + ')';
}

代码示例来源:origin: com.facebook.presto/presto-parser

@Override
public R visitWindow(Window node, C context)
{
  for (Expression expression : node.getPartitionBy()) {
    process(expression, context);
  }
  if (node.getOrderBy().isPresent()) {
    process(node.getOrderBy().get(), context);
  }
  if (node.getFrame().isPresent()) {
    process(node.getFrame().get(), context);
  }
  return null;
}

代码示例来源:origin: uk.co.nichesolutions.presto/presto-parser

@Override
public R visitWindow(Window node, C context)
{
  for (Expression expression : node.getPartitionBy()) {
    process(expression, context);
  }
  for (SortItem sortItem : node.getOrderBy()) {
    process(sortItem.getSortKey(), context);
  }
  if (node.getFrame().isPresent()) {
    process(node.getFrame().get(), context);
  }
  return null;
}

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

.addAll(windowFunction.getArguments())
    .addAll(window.getPartitionBy())
    .addAll(Iterables.transform(window.getOrderBy(), SortItem::getSortKey));
for (SortItem item : window.getOrderBy()) {
  Symbol symbol = subPlan.translate(item.getSortKey());
  orderings.put(symbol, toSortOrder(item));

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

@Override
public Boolean visitWindow(Window node, Void context)
{
  for (Expression expression : node.getPartitionBy()) {
    if (!process(expression, context)) {
      throw new SemanticException(MUST_BE_AGGREGATE_OR_GROUP_BY,
          expression,
          "PARTITION BY expression '%s' must be an aggregate expression or appear in GROUP BY clause",
          expression);
    }
  }
  for (SortItem sortItem : node.getOrderBy()) {
    Expression expression = sortItem.getSortKey();
    if (!process(expression, context)) {
      throw new SemanticException(MUST_BE_AGGREGATE_OR_GROUP_BY,
          expression,
          "ORDER BY expression '%s' must be an aggregate expression or appear in GROUP BY clause",
          expression);
    }
  }
  if (node.getFrame().isPresent()) {
    process(node.getFrame().get(), context);
  }
  return true;
}

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

for (SortItem sortItem : node.getWindow().get().getOrderBy()) {
  process(sortItem.getSortKey(), context);
  Type type = expressionTypes.get(sortItem.getSortKey());

代码示例来源:origin: uk.co.nichesolutions.presto/presto-main

for (SortItem sortItem : window.getOrderBy()) {
  nestedExtractor.process(sortItem.getSortKey(), null);

相关文章