Clone Tools
Constraints: committers
Constraints: files
Constraints: dates
Merge "Use HBase estimated row count if no stats exist"

  1. … 3 more files in changeset.
Change HSTableDef to recognize volatile tables

The redefinition of the isVolatile() virtual function for

some subclasses of HSTableDef originally returned FALSE, and

had not been updated since the addition of volatile tables.

Now the function always determines whether the table is volatile

based on the name of the containing schema.

The symptom of the bug was a core file produced for certain

operations on a virtual table, such as bulk load.

Change-Id: I1d592935d4922e8ce8202bf7429f929275ebae0f

Closes-Bug: #1388207

  1. … 1 more file in changeset.
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.

Change-Id: I3794e8368082b6f17e47fe686ec9a004aed27976

Closes-Bug: #1388918

  1. … 5 more files in changeset.
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.

Closes-Bug #1336983

Change-Id: I930fef13371d5d773a0df44601cf99a8a4dc8322

  1. … 8 more files in changeset.
enable embedded compiler support for fetch histogram queries

The fetch histogram logic executes queries against the user metadata

tables HISTOGAMS and HISTORAGM_INTERVALS that require the spawning of

external arkcmp processes. The work in this check-in enables embedded

compiler for these queries so the spawning of external arkcmps is avoided.

The change introduces a "switch context" to a meta data context when

compiling the user metadata queries and "switch back" to the user context

prior to fetching the rows from the cursors on the user metadata tables.

The main change is implemented in the "readHistogram" function in

hs_read.cpp file.

A new method (switchBackContext) was added to class CmpContext class

to enable switching back to a previous context. The purpose of the new

method is to ensure that thread globals are appropriately reset when

reverting back to a previous context.

The checkin also turns OFF CQD HBASE_SERIALIZATION in file regress/tools/sbdefs

as the hbase serialization feature is not enabled yet. The feature (CQD)

was enabled during regression testing prior to this checkin.

Change-Id: Iee1b8152dee3fea0ce3d3354719b5b7aa8fb198f

  1. … 12 more files in changeset.
Initial code drop of Trafodion

  1. … 4886 more files in changeset.