@Test public void invalidPrepareHandle() throws Exception { final ServerPreparedStatementState state = ServerPreparedStatementState.newBuilder() .setHandle(-23) // Handles start from 0 in the sever. This is relying on server implementation detail. May need to find a better way to test it. .setSqlQuery("SELECT sales_city, count(*) as cnt FROM cp.\"region.json\" " + "GROUP BY sales_city ORDER BY sales_city DESC LIMIT 2") .setPrepareId(QueryId.newBuilder().build()) .build(); PreparedStatement preparedStatement = PreparedStatement.newBuilder() .setServerHandle(PreparedStatementHandle.newBuilder().setServerInfo(state.toByteString()).build()) .build(); testBuilder() .unOrdered() .preparedStatement(preparedStatement.getServerHandle()) .baselineColumns("sales_city", "cnt") .baselineValues("Yakima", 1L) .baselineValues("Woodland Hills", 1L) .go(); }
public static CreatePreparedStatementResp build(BatchSchema schema, ServerPreparedStatementState handle, QueryId queryId, String catalogName) { final CreatePreparedStatementResp.Builder respBuilder = CreatePreparedStatementResp.newBuilder(); final PreparedStatement.Builder prepStmtBuilder = PreparedStatement.newBuilder(); prepStmtBuilder.setServerHandle(PreparedStatementHandle.newBuilder().setServerInfo(handle.toByteString())); for (Field field : schema) { prepStmtBuilder.addColumns(serializeColumn(field, catalogName)); } respBuilder.setStatus(RequestStatus.OK); respBuilder.setPreparedStatement(prepStmtBuilder.build()); respBuilder.setQueryId(queryId); return respBuilder.build(); }