Fix assertion failure when vacuuming an AO table in utility mode.
Fix assertion failure when vacuuming an AO table in utility mode.

There's an assertion in vac_update_relstats(), that if num_tuples is
non-zero, num_pages must also be non-zero. Makes sense: if the table takes
up no space, there can't be any tuples in it. But we hit that case, on
vacuum of an AO table in the QD node in utility mode. The QD has the total
tuple counts in each AO segment in the pg_aoseg table, across the whole
cluster, but it doesn't have the physical sizes. So it reported N tuples,
but 0 bytes.

We started hitting that assertion after commit c0ce2eb9fb, which fixed the
rounding in RelationGuessNumberOfBlocks(), so that it now returns 0
blocks, for 0-byte relation. It used to return 1, which masked the
problem.

Fix by reporting 0 tuples and 0 blocks in the QD. That's a change from the
old behaviour, which was to report N tuples and 1 block, but it's
consistent with heap tables.

Reviewed-by: Jacob Champion <487ac4c1c30bb8aa1aeea1526e59eafc939d7768@pivotal.io>
Reviewed-by: Ashwin Agrawal <924bf3437ad315c1c74f9c41d83153600b05f548@pivotal.io>

ashwinstar/gpdb,adam8157/gpdb,adam8157/gpdb,xinzweb/gpdb,jmcatamney/gpdb,xinzweb/gpdb,50wu/gpdb,jmcatamney/gpdb,50wu/gpdb,jmcatamney/gpdb,greenplum-db/gpdb,lisakowen/gpdb,lisakowen/gpdb,adam8157/gpdb,jmcatamney/gpdb,adam8157/gpdb,xinzweb/gpdb,jmcatamney/gpdb,greenplum-db/gpdb,jmcatamney/gpdb,50wu/gpdb,lisakowen/gpdb,50wu/gpdb,lisakowen/gpdb,ashwinstar/gpdb,lisakowen/gpdb,ashwinstar/gpdb,50wu/gpdb,xinzweb/gpdb,lisakowen/gpdb,ashwinstar/gpdb,xinzweb/gpdb,ashwinstar/gpdb,greenplum-db/gpdb,ashwinstar/gpdb,lisakowen/gpdb,xinzweb/gpdb,50wu/gpdb,greenplum-db/gpdb,xinzweb/gpdb,greenplum-db/gpdb,greenplum-db/gpdb,jmcatamney/gpdb,ashwinstar/gpdb,xinzweb/gpdb,50wu/gpdb,greenplum-db/gpdb,greenplum-db/gpdb,adam8157/gpdb,50wu/gpdb,adam8157/gpdb,adam8157/gpdb,lisakowen/gpdb,ashwinstar/gpdb,adam8157/gpdb,jmcatamney/gpdb