@Override
public ListenableFuture<Long> visitAddColumnAnalysis(final AddColumnAnalysis analysis, Void context) {
final SettableFuture<Long> result = SettableFuture.create();
if (analysis.newPrimaryKeys()) {
Plan plan = genCountStarPlan(analysis.table());
Job job = executorProvider.get().newJob(plan);
ListenableFuture<List<TaskResult>> resultFuture = Futures.allAsList(executorProvider.get().execute(job));
Futures.addCallback(resultFuture, new FutureCallback<List<TaskResult>>() {
@Override
public void onSuccess(@Nullable List<TaskResult> resultList) {
assert resultList != null && resultList.size() == 1;