本文整理了Java中com.facebook.presto.sql.QueryUtil.ascending
方法的一些代码示例,展示了QueryUtil.ascending
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryUtil.ascending
方法的具体详情如下:
包路径:com.facebook.presto.sql.QueryUtil
类名称:QueryUtil
方法名:ascending
暂无
代码示例来源:origin: prestodb/presto
@Override
protected Node visitShowCatalogs(ShowCatalogs node, Void context)
{
List<Expression> rows = listCatalogs(session, metadata, accessControl).keySet().stream()
.map(name -> row(new StringLiteral(name)))
.collect(toList());
Optional<Expression> predicate = Optional.empty();
Optional<String> likePattern = node.getLikePattern();
if (likePattern.isPresent()) {
predicate = Optional.of(new LikePredicate(identifier("Catalog"), new StringLiteral(likePattern.get()), Optional.empty()));
}
return simpleQuery(
selectList(new AllColumns()),
aliased(new Values(rows), "catalogs", ImmutableList.of("Catalog")),
predicate,
Optional.of(ordering(ascending("Catalog"))));
}
代码示例来源:origin: prestodb/presto
SortItem.Ordering.ASCENDING,
SortItem.NullOrdering.UNDEFINED),
ascending("return_type"),
ascending("argument_types"),
ascending("function_type")));
代码示例来源:origin: prestodb/presto
@Override
protected Node visitShowSchemas(ShowSchemas node, Void context)
{
if (!node.getCatalog().isPresent() && !session.getCatalog().isPresent()) {
throw new SemanticException(CATALOG_NOT_SPECIFIED, node, "Catalog must be specified when session catalog is not set");
}
String catalog = node.getCatalog().map(Identifier::getValue).orElseGet(() -> session.getCatalog().get());
accessControl.checkCanShowSchemas(session.getRequiredTransactionId(), session.getIdentity(), catalog);
Optional<Expression> predicate = Optional.empty();
Optional<String> likePattern = node.getLikePattern();
if (likePattern.isPresent()) {
predicate = Optional.of(new LikePredicate(
identifier("schema_name"),
new StringLiteral(likePattern.get()),
node.getEscape().map(StringLiteral::new)));
}
return simpleQuery(
selectList(aliasedName("schema_name", "Schema")),
from(catalog, TABLE_SCHEMATA),
predicate,
Optional.of(ordering(ascending("schema_name"))));
}
代码示例来源: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
from(catalogName, TABLE_TABLE_PRIVILEGES),
predicate,
Optional.of(ordering(ascending("grantee"), ascending("table_name"))));
代码示例来源:origin: prestodb/presto
@Override
protected Node visitShowColumns(ShowColumns showColumns, Void context)
{
QualifiedObjectName tableName = createQualifiedObjectName(session, showColumns, showColumns.getTable());
if (!metadata.getView(session, tableName).isPresent() &&
!metadata.getTableHandle(session, tableName).isPresent()) {
throw new SemanticException(MISSING_TABLE, showColumns, "Table '%s' does not exist", tableName);
}
return simpleQuery(
selectList(
aliasedName("column_name", "Column"),
aliasedName("data_type", "Type"),
aliasedNullToEmpty("extra_info", "Extra"),
aliasedNullToEmpty("comment", "Comment")),
from(tableName.getCatalogName(), TABLE_COLUMNS),
logicalAnd(
equal(identifier("table_schema"), new StringLiteral(tableName.getSchemaName())),
equal(identifier("table_name"), new StringLiteral(tableName.getObjectName()))),
ordering(ascending("ordinal_position")));
}
代码示例来源:origin: prestodb/presto
@Override
protected Node visitShowTables(ShowTables showTables, Void context)
{
CatalogSchemaName schema = createCatalogSchemaName(session, showTables, showTables.getSchema());
accessControl.checkCanShowTablesMetadata(session.getRequiredTransactionId(), session.getIdentity(), schema);
if (!metadata.catalogExists(session, schema.getCatalogName())) {
throw new SemanticException(MISSING_CATALOG, showTables, "Catalog '%s' does not exist", schema.getCatalogName());
}
if (!metadata.schemaExists(session, schema)) {
throw new SemanticException(MISSING_SCHEMA, showTables, "Schema '%s' does not exist", schema.getSchemaName());
}
Expression predicate = equal(identifier("table_schema"), new StringLiteral(schema.getSchemaName()));
Optional<String> likePattern = showTables.getLikePattern();
if (likePattern.isPresent()) {
Expression likePredicate = new LikePredicate(
identifier("table_name"),
new StringLiteral(likePattern.get()),
showTables.getEscape().map(StringLiteral::new));
predicate = logicalAnd(predicate, likePredicate);
}
return simpleQuery(
selectList(aliasedName("table_name", "Table")),
from(schema.getCatalogName(), TABLE_TABLES),
predicate,
ordering(ascending("table_name")));
}
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
@Override
protected RelationType visitShowSchemas(ShowSchemas node, AnalysisContext context)
{
if (!node.getCatalog().isPresent() && !session.getCatalog().isPresent()) {
throw new SemanticException(CATALOG_NOT_SPECIFIED, node, "Catalog must be specified when session catalog is not set");
}
Query query = simpleQuery(
selectList(aliasedName("schema_name", "Schema")),
from(node.getCatalog().orElseGet(() -> session.getCatalog().get()), TABLE_SCHEMATA),
ordering(ascending("schema_name")));
return process(query, context);
}
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
aliased(new Values(rows.build()), "functions", ImmutableList.copyOf(columns.keySet())),
ordering(
ascending("function_name"),
ascending("return_type"),
ascending("argument_types"),
ascending("function_type")));
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
from(catalogName, TABLE_TABLES),
predicate,
ordering(ascending("table_name")));
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
ImmutableList.<SortItem>builder()
.addAll(showPartitions.getOrderBy())
.add(ascending("partition_number"))
.build(),
showPartitions.getLimit());
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
@Override
protected RelationType visitShowColumns(ShowColumns showColumns, AnalysisContext context)
{
QualifiedObjectName tableName = createQualifiedObjectName(session, showColumns, showColumns.getTable());
if (!metadata.getView(session, tableName).isPresent() &&
!metadata.getTableHandle(session, tableName).isPresent()) {
throw new SemanticException(MISSING_TABLE, showColumns, "Table '%s' does not exist", tableName);
}
Query query = simpleQuery(
selectList(
aliasedName("column_name", "Column"),
aliasedName("data_type", "Type"),
aliasedNullToEmpty("comment", "Comment")),
from(tableName.getCatalogName(), TABLE_COLUMNS),
logicalAnd(
equal(nameReference("table_schema"), new StringLiteral(tableName.getSchemaName())),
equal(nameReference("table_name"), new StringLiteral(tableName.getObjectName()))),
ordering(ascending("ordinal_position")));
return process(query, context);
}
内容来源于网络,如有侵权,请联系作者删除!