本文整理了Java中com.facebook.presto.sql.tree.Window.getFrame()
方法的一些代码示例,展示了Window.getFrame()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Window.getFrame()
方法的具体详情如下:
包路径:com.facebook.presto.sql.tree.Window
类名称:Window
方法名:getFrame
暂无
代码示例来源: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
@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
toExtract.addAll(window.getPartitionBy());
window.getOrderBy().ifPresent(orderBy -> toExtract.addAll(orderBy.getSortItems()));
window.getFrame().ifPresent(toExtract::add);
if (window.getFrame().isPresent()) {
analyzeWindowFrame(window.getFrame().get());
代码示例来源:origin: prestodb/presto
@Override
public boolean equals(Object object)
{
if (this == object) {
return true;
}
if (object == null || !(object instanceof FunctionCall)) {
return false;
}
FunctionCall other = (FunctionCall) object;
return Objects.equals(name, other.getName()) &&
other.getWindow().isPresent() &&
Objects.equals(frame, other.getWindow().get().getFrame()) &&
Objects.equals(distinct, other.isDistinct()) &&
Objects.equals(getArguments(), other.getArguments());
}
代码示例来源:origin: prestodb/presto
Expression frameEnd = null;
if (window.getFrame().isPresent()) {
WindowFrame frame = window.getFrame().get();
frameType = frame.getType();
代码示例来源:origin: prestodb/presto
if (node.getWindow().get().getFrame().isPresent()) {
WindowFrame frame = node.getWindow().get().getFrame().get();
代码示例来源: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
@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
Expression frameEnd = null;
if (window.getFrame().isPresent()) {
WindowFrame frame = window.getFrame().get();
frameType = frame.getType();
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
if (window.getFrame().isPresent()) {
nestedExtractor.process(window.getFrame().get(), null);
if (window.getFrame().isPresent()) {
analyzeWindowFrame(window.getFrame().get());
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
if (node.getWindow().get().getFrame().isPresent()) {
WindowFrame frame = node.getWindow().get().getFrame().get();
内容来源于网络,如有侵权,请联系作者删除!