Skip to content
This repository has been archived by the owner on Jun 7, 2021. It is now read-only.

Commit

Permalink
Merge [TRAFODION-2529] PR 1007 Fix name passed to estimateRowCount fo…
Browse files Browse the repository at this point in the history
…r CELL
  • Loading branch information
DaveBirdsall committed Mar 14, 2017
2 parents 03fd040 + 1664d1b commit 2ba737c
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 10 deletions.
2 changes: 2 additions & 0 deletions core/sql/optimizer/NATable.cpp
Expand Up @@ -7778,6 +7778,8 @@ Int64 NATable::estimateHBaseRowCount(Int32 retryLimitMilliSeconds, Int32& errorC
{
HbaseStr fqTblName;
NAString tblName = getTableName().getQualifiedNameAsString();
if (getTableName().isHbaseCellOrRow())
tblName = getTableName().getObjectName();
fqTblName.len = tblName.length();
fqTblName.val = new(STMTHEAP) char[fqTblName.len+1];
strncpy(fqTblName.val, tblName.data(), fqTblName.len);
Expand Down
37 changes: 27 additions & 10 deletions core/sql/optimizer/ObjectNames.cpp
Expand Up @@ -676,6 +676,31 @@ NABoolean QualifiedName::isHbaseMappedName() const
(ComIsHbaseMappedSchemaName(getSchemaName())));
}

NABoolean QualifiedName::isHbaseCell() const
{
if (isHbase() && (getSchemaName() == "_CELL_"))
return TRUE;
else
return FALSE;
}

NABoolean QualifiedName::isHbaseRow() const
{
if (isHbase() && (getSchemaName() == "_ROW_"))
return TRUE;
else
return FALSE;
}

NABoolean QualifiedName::isHbaseCellOrRow() const
{
if (isHbase() &&
((getSchemaName() == "_CELL_") || (getSchemaName() == "_ROW_")))
return TRUE;
else
return FALSE;
}

// -----------------------------------------------------------------------
// Methods for class CorrName
// -----------------------------------------------------------------------
Expand Down Expand Up @@ -969,20 +994,12 @@ NABoolean CorrName::isHbase() const

NABoolean CorrName::isHbaseCell() const
{
if ((getQualifiedNameObj().isHbase()) &&
(getQualifiedNameObj().getSchemaName() == "_CELL_"))
return TRUE;
else
return FALSE;
return getQualifiedNameObj().isHbaseCell();
}

NABoolean CorrName::isHbaseRow() const
{
if ((getQualifiedNameObj().isHbase()) &&
(getQualifiedNameObj().getSchemaName() == "_ROW_"))
return TRUE;
else
return FALSE;
return getQualifiedNameObj().isHbaseRow();
}

NABoolean CorrName::isHbaseMap() const
Expand Down
4 changes: 4 additions & 0 deletions core/sql/optimizer/ObjectNames.h
Expand Up @@ -323,6 +323,10 @@ class QualifiedName : public SchemaName
NABoolean isSeabasePrivMgrMD() const;
NABoolean isHbaseMappedName() const;

NABoolean isHbaseCell() const;
NABoolean isHbaseRow() const;
NABoolean isHbaseCellOrRow() const;

NABoolean isHistograms() const;
NABoolean isHistogramIntervals() const;

Expand Down

0 comments on commit 2ba737c

Please sign in to comment.