com.facebook.presto.testing.QueryRunner.getDefaultSession()方法的使用及代码示例

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

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

QueryRunner.getDefaultSession介绍

暂无

代码示例

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

protected Session getSession()
{
  return queryRunner.getDefaultSession();
}

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

@Override
  public void execute(String sql)
  {
    try {
      queryRunner.execute(queryRunner.getDefaultSession(), sql);
    }
    catch (Throwable e) {
      throw new RuntimeException("Error executing sql:\n" + sql, e);
    }
  }
}

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

public void execute(QueryRunner prestoExecutor, DataSetup dataSetup)
{
  execute(prestoExecutor, prestoExecutor.getDefaultSession(), dataSetup);
}

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

protected String formatSqlText(String sql)
{
  return formatSql(sqlParser.createStatement(sql, createParsingOptions(queryRunner.getDefaultSession())), Optional.empty());
}

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

private List<QualifiedObjectName> listBlackHoleTables()
{
  return queryRunner.listTables(queryRunner.getDefaultSession(), "blackhole", "default");
}

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

@Test
public void testShowSchemas()
{
  MaterializedResult actualSchemas = computeActual("SHOW SCHEMAS").toTestTypes();
  MaterializedResult.Builder resultBuilder = MaterializedResult.resultBuilder(getQueryRunner().getDefaultSession(), VARCHAR)
      .row(getQueryRunner().getDefaultSession().getSchema().orElse("tpch"));
  assertContains(actualSchemas, resultBuilder.build());
}

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

public void assertFails(@Language("SQL") String sql, @Language("RegExp") String expectedMessageRegExp)
{
  try {
    runner.execute(runner.getDefaultSession(), sql).toTestTypes();
    fail(format("Expected query to fail: %s", sql));
  }
  catch (RuntimeException exception) {
    if (!nullToEmpty(exception.getMessage()).matches(expectedMessageRegExp)) {
      fail(format("Expected exception message '%s' to match '%s' for query: %s", exception.getMessage(), expectedMessageRegExp, sql), exception);
    }
  }
}

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

@Test
public void testShowTables()
{
  MaterializedResult actualTables = computeActual("SHOW TABLES").toTestTypes();
  MaterializedResult expectedTables = MaterializedResult.resultBuilder(getQueryRunner().getDefaultSession(), VARCHAR)
      .row("orders")
      .build();
  assertContains(actualTables, expectedTables);
}

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

private static List<OptionalDouble> getEstimatedValues(List<Metric> metrics, String query, QueryRunner runner)
{
  return transaction(runner.getTransactionManager(), runner.getAccessControl())
      .singleStatement()
      .execute(runner.getDefaultSession(), (Session session) -> getEstimatedValuesInternal(metrics, query, runner, session));
}

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

private Session getSession(String user)
  {
    return testSessionBuilder()
        .setCatalog(queryRunner.getDefaultSession().getCatalog().get())
        .setSchema(queryRunner.getDefaultSession().getSchema().get())
        .setIdentity(new Identity(user, Optional.empty())).build();
  }
}

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

public String getGraphvizExplainPlan(String query, ExplainType.Type planType)
{
  QueryExplainer explainer = getQueryExplainer();
  return transaction(queryRunner.getTransactionManager(), queryRunner.getAccessControl())
      .singleStatement()
      .execute(queryRunner.getDefaultSession(), session -> {
        return explainer.getGraphvizPlan(session, sqlParser.createStatement(query, createParsingOptions(session)), planType, emptyList(), WarningCollector.NOOP);
      });
}

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

public String getExplainPlan(String query, ExplainType.Type planType)
{
  QueryExplainer explainer = getQueryExplainer();
  return transaction(queryRunner.getTransactionManager(), queryRunner.getAccessControl())
      .singleStatement()
      .execute(queryRunner.getDefaultSession(), session -> {
        return explainer.getPlan(session, sqlParser.createStatement(query, createParsingOptions(session)), planType, emptyList(), WarningCollector.NOOP);
      });
}

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

private Session getSession(String user)
  {
    return testSessionBuilder()
        .setCatalog(queryRunner.getDefaultSession().getCatalog().get())
        .setSchema(queryRunner.getDefaultSession().getSchema().get())
        .setIdentity(new Identity(user, Optional.empty())).build();
  }
}

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

public void assertQueryAndPlan(
    @Language("SQL") String actual,
    @Language("SQL") String expected,
    PlanMatchPattern pattern,
    Consumer<Plan> planValidator)
{
  assertQuery(actual, expected);
  Plan plan = runner.createPlan(runner.getDefaultSession(), actual, WarningCollector.NOOP);
  PlanAssert.assertPlan(runner.getDefaultSession(), runner.getMetadata(), runner.getStatsCalculator(), plan, pattern);
  planValidator.accept(plan);
}

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

@Test(timeOut = 240_000, expectedExceptions = RuntimeException.class, expectedExceptionsMessageRegExp = ".*Query exceeded per-query local spill limit of 10B")
public void testQueryMaxSpillPerNodeLimit()
{
  try (QueryRunner queryRunner = createLocalQueryRunner(new NodeSpillConfig().setQueryMaxSpillPerNode(DataSize.succinctBytes(10)))) {
    queryRunner.execute(queryRunner.getDefaultSession(), "SELECT COUNT(DISTINCT clerk) as count, orderdate FROM orders GROUP BY orderdate ORDER BY count, orderdate");
  }
}

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

@Test(timeOut = 240_000, expectedExceptions = RuntimeException.class, expectedExceptionsMessageRegExp = ".*Query exceeded local spill limit of 10B")
public void testMaxSpillPerNodeLimit()
{
  try (QueryRunner queryRunner = createLocalQueryRunner(new NodeSpillConfig().setMaxSpillPerNode(DataSize.succinctBytes(10)))) {
    queryRunner.execute(queryRunner.getDefaultSession(), "SELECT COUNT(DISTINCT clerk) as count, orderdate FROM orders GROUP BY orderdate ORDER BY count, orderdate");
  }
}

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

@Override
  @Test
  public void testShowSchemas()
  {
    MaterializedResult actualSchemas = computeActual("SHOW SCHEMAS").toTestTypes();
    MaterializedResult.Builder resultBuilder = MaterializedResult.resultBuilder(getQueryRunner().getDefaultSession(), VARCHAR)
        .row("tiny")
        .row("sf1");
    assertContains(actualSchemas, resultBuilder.build());
  }
}

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

/**
 * Overrides original implementation because of usage of 'extra' column.
 */
@Test
@Override
public void testDescribeTable()
{
  MaterializedResult actualColumns = this.computeActual("DESC orders").toTestTypes();
  MaterializedResult.Builder builder = MaterializedResult.resultBuilder(this.getQueryRunner().getDefaultSession(), VarcharType.VARCHAR, VarcharType.VARCHAR, VarcharType.VARCHAR, VarcharType.VARCHAR);
  for (MaterializedRow row : actualColumns.getMaterializedRows()) {
    builder.row(row.getField(0), row.getField(1), "", "");
  }
  MaterializedResult filteredActual = builder.build();
  builder = MaterializedResult.resultBuilder(this.getQueryRunner().getDefaultSession(), VarcharType.VARCHAR, VarcharType.VARCHAR, VarcharType.VARCHAR, VarcharType.VARCHAR);
  MaterializedResult expectedColumns = builder
      .row("orderkey", "bigint", "", "")
      .row("custkey", "bigint", "", "")
      .row("orderstatus", "varchar", "", "")
      .row("totalprice", "double", "", "")
      .row("orderdate", "varchar", "", "")
      .row("orderpriority", "varchar", "", "")
      .row("clerk", "varchar", "", "")
      .row("shippriority", "integer", "", "")
      .row("comment", "varchar", "", "").build();
  assertEquals(filteredActual, expectedColumns, String.format("%s != %s", filteredActual, expectedColumns));
}

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

@Test
  @Override
  public void testDescribeTable()
  {
    MaterializedResult actualColumns = computeActual("DESC orders").toTestTypes();
    MaterializedResult.Builder builder = resultBuilder(getQueryRunner().getDefaultSession(), VARCHAR, VARCHAR, VARCHAR, VARCHAR);
    for (MaterializedRow row : actualColumns.getMaterializedRows()) {
      builder.row(row.getField(0), row.getField(1), "", "");
    }
    MaterializedResult actualResult = builder.build();
    builder = resultBuilder(getQueryRunner().getDefaultSession(), VARCHAR, VARCHAR, VARCHAR, VARCHAR);
    MaterializedResult expectedColumns = builder
        .row("orderkey", "bigint", "", "")
        .row("custkey", "bigint", "", "")
        .row("orderstatus", "varchar", "", "")
        .row("totalprice", "double", "", "")
        .row("orderdate", "varchar", "", "")
        .row("orderpriority", "varchar", "", "")
        .row("clerk", "varchar", "", "")
        .row("shippriority", "bigint", "", "")
        .row("comment", "varchar", "", "").build();
    assertEquals(actualResult, expectedColumns, format("%s != %s", actualResult, expectedColumns));
  }
}

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

@Override
public void testDescribeTable()
{
  // we need specific implementation of this tests due to specific Presto<->Mysql varchar length mapping.
  MaterializedResult actualColumns = computeActual("DESC ORDERS").toTestTypes();
  MaterializedResult expectedColumns = MaterializedResult.resultBuilder(getQueryRunner().getDefaultSession(), VARCHAR, VARCHAR, VARCHAR, VARCHAR)
      .row("orderkey", "bigint", "", "")
      .row("custkey", "bigint", "", "")
      .row("orderstatus", "varchar(255)", "", "")
      .row("totalprice", "double", "", "")
      .row("orderdate", "date", "", "")
      .row("orderpriority", "varchar(255)", "", "")
      .row("clerk", "varchar(255)", "", "")
      .row("shippriority", "integer", "", "")
      .row("comment", "varchar(255)", "", "")
      .build();
  assertEquals(actualColumns, expectedColumns);
}

相关文章