本文整理了Java中com.facebook.presto.sql.QueryUtil.values
方法的一些代码示例,展示了QueryUtil.values
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryUtil.values
方法的具体详情如下:
包路径:com.facebook.presto.sql.QueryUtil
类名称:QueryUtil
方法名:values
暂无
代码示例来源:origin: prestodb/presto
public static Query singleValueQuery(String columnName, boolean value)
{
Relation values = values(row(value ? TRUE_LITERAL : FALSE_LITERAL));
return simpleQuery(
selectList(new AllColumns()),
aliased(values, "t", ImmutableList.of(columnName)));
}
代码示例来源:origin: prestodb/presto
public static Query singleValueQuery(String columnName, String value)
{
Relation values = values(row(new StringLiteral((value))));
return simpleQuery(
selectList(new AllColumns()),
aliased(values, "t", ImmutableList.of(columnName)));
}
代码示例来源:origin: prestodb/presto
@Override
protected Node visitDescribeInput(DescribeInput node, Void context)
throws SemanticException
{
String sqlString = session.getPreparedStatement(node.getName().getValue());
Statement statement = parser.createStatement(sqlString, createParsingOptions(session));
// create analysis for the query we are describing.
Analyzer analyzer = new Analyzer(session, metadata, parser, accessControl, queryExplainer, parameters, warningCollector);
Analysis analysis = analyzer.analyze(statement, true);
// get all parameters in query
List<Parameter> parameters = getParameters(statement);
// return the positions and types of all parameters
Row[] rows = parameters.stream().map(parameter -> createDescribeInputRow(parameter, analysis)).toArray(Row[]::new);
Optional<String> limit = Optional.empty();
if (rows.length == 0) {
rows = new Row[] {row(new NullLiteral(), new NullLiteral())};
limit = Optional.of("0");
}
return simpleQuery(
selectList(identifier("Position"), identifier("Type")),
aliased(
values(rows),
"Parameter Input",
ImmutableList.of("Position", "Type")),
Optional.empty(),
Optional.empty(),
Optional.empty(),
Optional.of(ordering(ascending("Position"))),
limit);
}
代码示例来源:origin: prestodb/presto
identifier("Aliased")),
aliased(
values(rows),
"Statement Output",
ImmutableList.of("Column Name", "Catalog", "Schema", "Table", "Type", "Type Size", "Aliased")),
代码示例来源:origin: prestodb/presto
@Test
public void testLimitAll()
{
Query valuesQuery = query(values(
row(new LongLiteral("1"), new StringLiteral("1")),
row(new LongLiteral("2"), new StringLiteral("2"))));
assertStatement("SELECT * FROM (VALUES (1, '1'), (2, '2')) LIMIT ALL",
simpleQuery(selectList(new AllColumns()),
subquery(valuesQuery),
Optional.empty(),
Optional.empty(),
Optional.empty(),
Optional.empty(),
Optional.of("ALL")));
}
代码示例来源:origin: prestodb/presto
@Test
public void testValues()
{
Query valuesQuery = query(values(
row(new StringLiteral("a"), new LongLiteral("1"), new DoubleLiteral("2.2")),
row(new StringLiteral("b"), new LongLiteral("2"), new DoubleLiteral("3.3"))));
assertStatement("VALUES ('a', 1, 2.2e0), ('b', 2, 3.3e0)", valuesQuery);
assertStatement("SELECT * FROM (VALUES ('a', 1, 2.2e0), ('b', 2, 3.3e0))",
simpleQuery(
selectList(new AllColumns()),
subquery(valuesQuery)));
}
代码示例来源:origin: prestodb/presto
@Test
public void testQuantifiedComparison()
{
assertExpression("col1 < ANY (SELECT col2 FROM table1)",
new QuantifiedComparisonExpression(
LESS_THAN,
QuantifiedComparisonExpression.Quantifier.ANY,
identifier("col1"),
new SubqueryExpression(simpleQuery(selectList(new SingleColumn(identifier("col2"))), table(QualifiedName.of("table1"))))));
assertExpression("col1 = ALL (VALUES ROW(1), ROW(2))",
new QuantifiedComparisonExpression(
ComparisonExpression.Operator.EQUAL,
QuantifiedComparisonExpression.Quantifier.ALL,
identifier("col1"),
new SubqueryExpression(query(values(row(new LongLiteral("1")), row(new LongLiteral("2")))))));
assertExpression("col1 >= SOME (SELECT 10)",
new QuantifiedComparisonExpression(
ComparisonExpression.Operator.GREATER_THAN_OR_EQUAL,
QuantifiedComparisonExpression.Quantifier.SOME,
identifier("col1"),
new SubqueryExpression(simpleQuery(selectList(new LongLiteral("10"))))));
}
代码示例来源:origin: com.facebook.presto/presto-parser
public static Query singleValueQuery(String columnName, boolean value)
{
Relation values = values(row(value ? TRUE_LITERAL : FALSE_LITERAL));
return simpleQuery(
selectList(new AllColumns()),
aliased(values, "t", ImmutableList.of(columnName)));
}
代码示例来源:origin: com.facebook.presto/presto-parser
public static Query singleValueQuery(String columnName, String value)
{
Relation values = values(row(new StringLiteral((value))));
return simpleQuery(
selectList(new AllColumns()),
aliased(values, "t", ImmutableList.of(columnName)));
}
代码示例来源:origin: com.facebook.presto/presto-parser
@Test
public void testLimitAll()
{
Query valuesQuery = query(values(
row(new LongLiteral("1"), new StringLiteral("1")),
row(new LongLiteral("2"), new StringLiteral("2"))));
assertStatement("SELECT * FROM (VALUES (1, '1'), (2, '2')) LIMIT ALL",
simpleQuery(selectList(new AllColumns()),
subquery(valuesQuery),
Optional.empty(),
Optional.empty(),
Optional.empty(),
Optional.empty(),
Optional.of("ALL")));
}
代码示例来源:origin: uk.co.nichesolutions.presto/presto-parser
@Test
public void testLimitAll()
{
Query valuesQuery = query(values(
row(new LongLiteral("1"), new StringLiteral("1")),
row(new LongLiteral("2"), new StringLiteral("2"))));
assertStatement("SELECT * FROM (VALUES (1, '1'), (2, '2')) LIMIT ALL",
simpleQuery(selectList(new AllColumns()),
subquery(valuesQuery),
Optional.empty(),
Optional.empty(),
Optional.empty(),
ImmutableList.of(),
Optional.of("ALL")));
}
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
selectList(new AllColumns()),
aliased(
values(row(new StringLiteral((queryPlan)))),
"plan",
ImmutableList.of("Query Plan")));
代码示例来源:origin: uk.co.nichesolutions.presto/presto-parser
@Test
public void testValues()
{
Query valuesQuery = query(values(
row(new StringLiteral("a"), new LongLiteral("1"), new DoubleLiteral("2.2")),
row(new StringLiteral("b"), new LongLiteral("2"), new DoubleLiteral("3.3"))));
assertStatement("VALUES ('a', 1, 2.2), ('b', 2, 3.3)", valuesQuery);
assertStatement("SELECT * FROM (VALUES ('a', 1, 2.2), ('b', 2, 3.3))",
simpleQuery(
selectList(new AllColumns()),
subquery(valuesQuery)));
}
代码示例来源:origin: com.facebook.presto/presto-parser
@Test
public void testValues()
{
Query valuesQuery = query(values(
row(new StringLiteral("a"), new LongLiteral("1"), new DoubleLiteral("2.2")),
row(new StringLiteral("b"), new LongLiteral("2"), new DoubleLiteral("3.3"))));
assertStatement("VALUES ('a', 1, 2.2e0), ('b', 2, 3.3e0)", valuesQuery);
assertStatement("SELECT * FROM (VALUES ('a', 1, 2.2e0), ('b', 2, 3.3e0))",
simpleQuery(
selectList(new AllColumns()),
subquery(valuesQuery)));
}
代码示例来源:origin: com.facebook.presto/presto-parser
@Test
public void testQuantifiedComparison()
{
assertExpression("col1 < ANY (SELECT col2 FROM table1)",
new QuantifiedComparisonExpression(
LESS_THAN,
QuantifiedComparisonExpression.Quantifier.ANY,
identifier("col1"),
new SubqueryExpression(simpleQuery(selectList(new SingleColumn(identifier("col2"))), table(QualifiedName.of("table1"))))));
assertExpression("col1 = ALL (VALUES ROW(1), ROW(2))",
new QuantifiedComparisonExpression(
ComparisonExpression.Operator.EQUAL,
QuantifiedComparisonExpression.Quantifier.ALL,
identifier("col1"),
new SubqueryExpression(query(values(row(new LongLiteral("1")), row(new LongLiteral("2")))))));
assertExpression("col1 >= SOME (SELECT 10)",
new QuantifiedComparisonExpression(
ComparisonExpression.Operator.GREATER_THAN_OR_EQUAL,
QuantifiedComparisonExpression.Quantifier.SOME,
identifier("col1"),
new SubqueryExpression(simpleQuery(selectList(new LongLiteral("10"))))));
}
内容来源于网络,如有侵权,请联系作者删除!