com.facebook.presto.sql.QueryUtil.ascending()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(7.9k)|赞(0)|评价(0)|浏览(95)

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

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);
}

相关文章