io.prestosql.execution.QueryManager.createQuery()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(4.0k)|赞(0)|评价(0)|浏览(99)

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

QueryManager.createQuery介绍

[英]Creates a new query. This method may be called multiple times for the same query id. The the first call will be accepted, and the other calls will be ignored.
[中]创建一个新查询。对于同一查询id,可以多次调用此方法。第一次调用将被接受,其他调用将被忽略。

代码示例

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

private synchronized void submitQuery()
{
  if (querySubmissionFuture != null) {
    return;
  }
  querySubmissionFuture = queryManager.createQuery(queryId, sessionContext, this.query);
  Futures.addCallback(querySubmissionFuture, new FutureCallback<Object>()
  {
    @Override
    public void onSuccess(Object result)
    {
      set(null);
    }
    @Override
    public void onFailure(Throwable t)
    {
      setException(t);
    }
  }, directExecutor());
}

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

@Test(timeOut = 60_000L)
  public void testLegacyQueryContext()
      throws Exception
  {
    QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();

    QueryId queryId = queryManager.createQueryId();
    queryManager.createQuery(
        queryId,
        new TestingSessionContext(TEST_SESSION),
        "SELECT * FROM lineitem")
        .get();

    waitForQueryState(queryRunner, queryId, RUNNING);

    // cancel query
    queryManager.failQuery(queryId, new PrestoException(GENERIC_INTERNAL_ERROR, "mock exception"));

    // assert that LegacyQueryContext is used instead of the DefaultQueryContext
    SqlTaskManager taskManager = (SqlTaskManager) queryRunner.getServers().get(0).getTaskManager();
    assertInstanceOf(taskManager.getQueryContext(queryId), LegacyQueryContext.class);
  }
}

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

@Test
public void testMetadataIsClearedAfterQueryCanceled()
    throws Exception
{
  QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
  QueryId queryId = queryManager.createQueryId();
  queryManager.createQuery(
      queryId,
      new TestingSessionContext(TEST_SESSION),
      "SELECT * FROM lineitem")
      .get();
  // wait until query starts running
  while (true) {
    QueryInfo queryInfo = queryManager.getFullQueryInfo(queryId);
    if (queryInfo.getState().isDone()) {
      assertEquals(queryInfo.getState(), FAILED);
      throw queryInfo.getFailureInfo().toException();
    }
    if (queryInfo.getState() == RUNNING) {
      break;
    }
    Thread.sleep(100);
  }
  // cancel query
  queryManager.cancelQuery(queryId);
  assertEquals(metadataManager.getCatalogsByQueryId().size(), 0);
}

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

private synchronized void submitQuery()
{
  if (querySubmissionFuture != null) {
    return;
  }
  querySubmissionFuture = queryManager.createQuery(queryId, sessionContext, this.query);
  Futures.addCallback(querySubmissionFuture, new FutureCallback<Object>()
  {
    @Override
    public void onSuccess(Object result)
    {
      set(null);
    }
    @Override
    public void onFailure(Throwable t)
    {
      setException(t);
    }
  }, directExecutor());
}

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

@Test(timeOut = 60_000L)
public void testFailQuery()
    throws Exception
{
  QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
  QueryId queryId = queryManager.createQueryId();
  queryManager.createQuery(
      queryId,
      new TestingSessionContext(TEST_SESSION),
      "SELECT * FROM lineitem")
      .get();
  // wait until query starts running
  while (true) {
    QueryState state = queryManager.getQueryState(queryId);
    if (state.isDone()) {
      fail("unexpected query state: " + state);
    }
    if (state == RUNNING) {
      break;
    }
    Thread.sleep(100);
  }
  // cancel query
  queryManager.failQuery(queryId, new PrestoException(GENERIC_INTERNAL_ERROR, "mock exception"));
  QueryInfo queryInfo = queryManager.getFullQueryInfo(queryId);
  assertEquals(queryInfo.getState(), FAILED);
  assertEquals(queryInfo.getErrorCode(), GENERIC_INTERNAL_ERROR.toErrorCode());
  assertNotNull(queryInfo.getFailureInfo());
  assertEquals(queryInfo.getFailureInfo().getMessage(), "mock exception");
}

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

public static QueryId createQuery(DistributedQueryRunner queryRunner, Session session, String sql)
{
  QueryManager queryManager = queryRunner.getCoordinator().getQueryManager();
  getFutureValue(queryManager.createQuery(session.getQueryId(), new TestingSessionContext(session), sql));
  return session.getQueryId();
}

相关文章