Use HBase estimated row count if no stats exist In the absence of statistics, the row count for an HBase table is estimated using information in its HFiles. Previouly, this estimate was calculated and assigned to the NATable's originalCardinality_ member variable, but this did not result in it being used by the optimizer (the correct row count did not appear in the results of an Explain). The code to calculate the estimate is now invoked from HSHbaseTableDef::getRowCount(), which has the effect of it being used as intended.
Fix histograms for primary key of salted tables Users attempting to use Update Statistics to create a multi-column histogram (MC) corresponding to the primary key of a salted table may be unaware that the "_SALT_" column is implicitly prepended to the key as stated in the Create Table statement, and omit it. This fix will cause Update Stats to detect a request for a multi-column histograms that specifies the primary key columns (or a prefix of the full key), and add _SALT_ to it if missing, and order the MC to match the order of the columns in the primary key.
The change only affects salted tables, and is only applied if neither the ON EVERY KEY nor ON EVERY COLUMN clauses is present, because an MC matching the full primary key is automatically generated in those cases.
A second part of this fix applies to cases where ON EVERY KEY or ON EVERY COLUMN is specified in an Update Statistics statement on a salted table. By default, MCs corresponding to subsets of the primary key will no longer be generated automatically in this case. The cqd USTAT_ADD_SALTED_KEY_PREFIXES_FOR_MC may be set to 'ON' to cause MCs for subsets of the primary key to be generated.