io.prestosql.testing.QueryRunner类的使用及代码示例

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

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

QueryRunner介绍

暂无

代码示例

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

private void doTestCreateTable(String tableName, String createTable)
{
  String dropTable = "DROP TABLE IF EXISTS " + tableName;
  queryRunner.execute(dropTable);
  queryRunner.execute(createTable);
  String insert = "INSERT INTO " + tableName + " VALUES (1, TIMESTAMP '2001-08-22 03:04:05.321', 2.5)";
  queryRunner.execute(insert);
  MaterializedResult result = queryRunner.execute("SELECT id FROM " + tableName);
  assertEquals(result.getRowCount(), 1);
}

代码示例来源:origin: prestosql/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: prestosql/presto

@Override
public void close()
{
  runner.close();
}

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

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

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

protected void assertAccessAllowed(Session session, @Language("SQL") String sql, TestingPrivilege... deniedPrivileges)
{
  executeExclusively(() -> {
    try {
      queryRunner.getAccessControl().deny(deniedPrivileges);
      queryRunner.execute(session, sql);
    }
    finally {
      queryRunner.getAccessControl().reset();
    }
  });
}

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

private static void installKuduConnector(QueryRunner runner, String schema)
{
  String masterAddresses = System.getProperty("kudu.client.master-addresses", "localhost:7051");
  Map<String, String> properties;
  if (!isSchemaEmulationEnabled()) {
    properties = ImmutableMap.of(
        "kudu.schema-emulation.enabled", "false",
        "kudu.client.master-addresses", masterAddresses);
  }
  else {
    properties = ImmutableMap.of(
        "kudu.schema-emulation.enabled", "true",
        "kudu.schema-emulation.prefix", getSchemaEmulationPrefix(),
        "kudu.client.master-addresses", masterAddresses);
  }
  runner.installPlugin(new KuduPlugin());
  runner.createCatalog("kudu", "kudu", properties);
  if (isSchemaEmulationEnabled()) {
    runner.execute("DROP SCHEMA IF EXISTS " + schema);
    runner.execute("CREATE SCHEMA " + schema);
  }
}

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

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

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

@AfterClass(alwaysRun = true)
  public final void destroy()
  {
    System.setProperty("kudu.schema-emulation.prefix", oldPrefix);
    if (queryRunner != null) {
      queryRunner.execute(DROP_TABLE);
      queryRunner.execute(DROP_SCHEMA);
      queryRunner.close();
      queryRunner = null;
    }
  }
}

代码示例来源:origin: prestosql/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: io.prestosql/presto-main

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: prestosql/presto

public static void installKafkaPlugin(EmbeddedKafka embeddedKafka, QueryRunner queryRunner, Map<SchemaTableName, KafkaTopicDescription> topicDescriptions)
{
  KafkaPlugin kafkaPlugin = new KafkaPlugin();
  kafkaPlugin.setTableDescriptionSupplier(() -> topicDescriptions);
  queryRunner.installPlugin(kafkaPlugin);
  Map<String, String> kafkaConfig = ImmutableMap.of(
      "kafka.nodes", embeddedKafka.getConnectString(),
      "kafka.table-names", Joiner.on(",").join(topicDescriptions.keySet()),
      "kafka.connect-timeout", "120s",
      "kafka.default-schema", "default");
  queryRunner.createCatalog("kafka", "kafka", kafkaConfig);
}

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

@Test
public void testDropTableIfExists()
{
  assertFalse(getQueryRunner().tableExists(getSession(), "test_drop_if_exists"));
  assertUpdate("DROP TABLE IF EXISTS test_drop_if_exists");
  assertFalse(getQueryRunner().tableExists(getSession(), "test_drop_if_exists"));
}

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

@BeforeMethod
public void setUp()
    throws Exception
{
  SessionBuilder sessionBuilder = testSessionBuilder();
  generatedEvents = new EventsBuilder();
  queryRunner = DistributedQueryRunner.builder(sessionBuilder.build())
      .setExtraProperties(ImmutableMap.of("testing-warning-collector.preloaded-warnings", String.valueOf(TEST_WARNINGS)))
      .setNodeCount(1)
      .build();
  queryRunner.installPlugin(new TestingEventListenerPlugin(generatedEvents));
  generatedEvents.initialize(EXPECTED_EVENTS);
}

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

@Test
public void testCharTrailingSpace()
    throws Exception
{
  execute("CREATE TABLE tpch.char_trailing_space (x char(10))");
  assertUpdate("INSERT INTO char_trailing_space VALUES ('test')", 1);
  assertQuery("SELECT * FROM char_trailing_space WHERE x = char 'test'", "VALUES 'test'");
  assertQuery("SELECT * FROM char_trailing_space WHERE x = char 'test  '", "VALUES 'test'");
  assertQuery("SELECT * FROM char_trailing_space WHERE x = char 'test        '", "VALUES 'test'");
  assertEquals(getQueryRunner().execute("SELECT * FROM char_trailing_space WHERE x = char ' test'").getRowCount(), 0);
  Map<String, String> properties = ImmutableMap.of("deprecated.legacy-char-to-varchar-coercion", "true");
  Map<String, String> connectorProperties = ImmutableMap.of("connection-url", postgreSqlServer.getJdbcUrl());
  try (QueryRunner queryRunner = new DistributedQueryRunner(getSession(), 3, properties);) {
    queryRunner.installPlugin(new PostgreSqlPlugin());
    queryRunner.createCatalog("postgresql", "postgresql", connectorProperties);
    assertEquals(queryRunner.execute("SELECT * FROM char_trailing_space WHERE x = char 'test'").getRowCount(), 0);
    assertEquals(queryRunner.execute("SELECT * FROM char_trailing_space WHERE x = char 'test  '").getRowCount(), 0);
    assertEquals(queryRunner.execute("SELECT * FROM char_trailing_space WHERE x = char 'test       '").getRowCount(), 0);
    MaterializedResult result = queryRunner.execute("SELECT * FROM char_trailing_space WHERE x = char 'test      '");
    assertEquals(result.getRowCount(), 1);
    assertEquals(result.getMaterializedRows().get(0).getField(0), "test      ");
  }
  assertUpdate("DROP TABLE char_trailing_space");
}

代码示例来源:origin: prestosql/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: prestosql/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: prestosql/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: prestosql/presto

@BeforeClass
public void setUp()
{
  metadata = new TestMetadata();
  getQueryRunner().installPlugin(new TestPlugin(metadata));
  getQueryRunner().installPlugin(new TpchPlugin());
  getQueryRunner().createCatalog("test", "test", ImmutableMap.of());
  getQueryRunner().createCatalog("tpch", "tpch", ImmutableMap.of());
}

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

@Test
public void testCreateTable()
{
  assertUpdate("CREATE TABLE test_create (a bigint, b double, c varchar)");
  assertTrue(getQueryRunner().tableExists(getSession(), "test_create"));
  assertTableColumnNames("test_create", "a", "b", "c");
  assertUpdate("DROP TABLE test_create");
  assertFalse(getQueryRunner().tableExists(getSession(), "test_create"));
  assertQueryFails("CREATE TABLE test_create (a bad_type)", ".* Unknown type 'bad_type' for column 'a'");
  assertFalse(getQueryRunner().tableExists(getSession(), "test_create"));
  assertUpdate("CREATE TABLE test_create_table_if_not_exists (a bigint, b varchar, c double)");
  assertTrue(getQueryRunner().tableExists(getSession(), "test_create_table_if_not_exists"));
  assertTableColumnNames("test_create_table_if_not_exists", "a", "b", "c");
  assertUpdate("CREATE TABLE IF NOT EXISTS test_create_table_if_not_exists (d bigint, e varchar)");
  assertTrue(getQueryRunner().tableExists(getSession(), "test_create_table_if_not_exists"));
  assertTableColumnNames("test_create_table_if_not_exists", "a", "b", "c");
  assertUpdate("DROP TABLE test_create_table_if_not_exists");
  assertFalse(getQueryRunner().tableExists(getSession(), "test_create_table_if_not_exists"));
  // Test CREATE TABLE LIKE
  assertUpdate("CREATE TABLE test_create_original (a bigint, b double, c varchar)");
  assertTrue(getQueryRunner().tableExists(getSession(), "test_create_original"));
  assertTableColumnNames("test_create_original", "a", "b", "c");
  assertUpdate("CREATE TABLE test_create_like (LIKE test_create_original, d boolean, e varchar)");
  assertTrue(getQueryRunner().tableExists(getSession(), "test_create_like"));
  assertTableColumnNames("test_create_like", "a", "b", "c", "d", "e");
  assertUpdate("DROP TABLE test_create_original");
  assertFalse(getQueryRunner().tableExists(getSession(), "test_create_original"));
  assertUpdate("DROP TABLE test_create_like");
  assertFalse(getQueryRunner().tableExists(getSession(), "test_create_like"));
}

代码示例来源:origin: io.prestosql/presto-blackhole

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

相关文章