You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by su...@apache.org on 2017/07/03 17:01:03 UTC
[1/3] incubator-trafodion git commit: [TRAFODION-2674] Create index
sees error 2006 internal assertion
Repository: incubator-trafodion
Updated Branches:
refs/heads/master bfd4de2d7 -> 5899ba2e1
[TRAFODION-2674] Create index sees error 2006 internal assertion
RangePartitionFunction was missing region boundaries for indexes and using table's
boundaries incorrectly
Turned OFF OPT_PCODE_CACHE to avoid mem leak.
Unrelated testware change for compGeneral/TEST023
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/f47c2613
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/f47c2613
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/f47c2613
Branch: refs/heads/master
Commit: f47c26136d70b275d14a97e8b9cd1cacb3d6dedd
Parents: a5ab3d3
Author: Suresh Subbiah <su...@apache.org>
Authored: Sun Jul 2 20:59:25 2017 +0000
Committer: Suresh Subbiah <su...@apache.org>
Committed: Sun Jul 2 20:59:25 2017 +0000
----------------------------------------------------------------------
core/sql/optimizer/NATable.cpp | 196 ++++++++++++++------------
core/sql/regress/compGeneral/EXPECTED023 | 50 +++----
core/sql/sqlcat/TrafDDLdesc.cpp | 2 +
core/sql/sqlcat/TrafDDLdesc.h | 5 +-
core/sql/sqlcomp/CmpSeabaseDDL.h | 9 ++
core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp | 9 ++
core/sql/sqlcomp/CmpSeabaseDDLtable.cpp | 37 +++++
core/sql/sqlcomp/nadefaults.cpp | 2 +-
8 files changed, 191 insertions(+), 119 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/f47c2613/core/sql/optimizer/NATable.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/NATable.cpp b/core/sql/optimizer/NATable.cpp
index 7c2d8fe..ab3cb6d 100644
--- a/core/sql/optimizer/NATable.cpp
+++ b/core/sql/optimizer/NATable.cpp
@@ -1323,12 +1323,7 @@ ItemExpr * getRangePartitionBoundaryValues
Parser parser(CmpCommon::context());
//partKeyValue = parser.getItemExprTree(keyValue);
partKeyValue = parser.getItemExprTree(keyValue,length+1,strCharSet);
- // Check to see if the key values parsed successfully. An error
- // could occur if the table is an MP Table and the first key values
- // contain MP syntax that is not supported by MX. For instance
- // Datetime literals which do not have the max number of digits in
- // each field. (e.g. DATETIME '1999-2-4' YEAR TO DAY)
- //
+ // Check to see if the key values parsed successfully.
if(partKeyValue == NULL) {
return NULL;
}
@@ -1604,7 +1599,7 @@ static ItemExpr * getRangePartitionBoundaryValuesFromEncodedKeys(
// NOTE: This is generating un-encoded values, unlike
// the values we get from HBase. The next loop below
// will skip decoding for any values generated here.
- Lng32 remainingBufLen = valEncodedLength;
+ Lng32 remainingBufLen = colEncodedLength;
if (nullHdrSize && !nullHdrAlreadySet)
{
@@ -1883,7 +1878,7 @@ static RangePartitionBoundaries * createRangePartitionBoundaries
encodedKey = partns_desc->partnsDesc()->encodedkey;
size_t encodedKeyLen = partns_desc->partnsDesc()->encodedkeylen;
- if(heap != CmpCommon::statementHeap())
+ if(heap != CmpCommon::statementHeap() && encodedKeyLen > 0)
{
//we don't know here if encodedkey is a regular char or a wchar
//if it's a wchar then it should end with "\0\0", so add an extra
@@ -3678,14 +3673,6 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
// The clustering key has a keytag 0.
// ---------------------------------------------------------------------
- // this dictionary is used for hiding remote indexes; the remote indexes
- // are hidden when the CQD INDEX_ELIMINATION_LEVEL is set to aggressive
- NAHashDictionary<NAString, Int32> *indexFilesetMap =
- new (heap) NAHashDictionary<NAString, Int32>
- (naStringHashFunc, 101, FALSE, CmpCommon::statementHeap());
-
- NAList<NAString *> stringList (CmpCommon::statementHeap());
-
TrafDesc *indexes_desc = table_desc->tableDesc()->indexes_desc;
while (indexes_desc AND indexes_desc->indexesDesc()->keytag)
@@ -3755,7 +3742,8 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
NAColumnArray partitioningKeyColumns(CmpCommon::statementHeap());// the partitioning key columns
PartitioningFunction * partFunc = NULL;
NABoolean isPacked = FALSE;
- NABoolean indexAlignedRowFormat = (indexes_desc->indexesDesc()->rowFormat() == COM_ALIGNED_FORMAT_TYPE);
+ TrafIndexesDesc* currIndexDesc = indexes_desc->indexesDesc();
+ NABoolean indexAlignedRowFormat = (currIndexDesc->rowFormat() == COM_ALIGNED_FORMAT_TYPE);
NABoolean isNotAvailable = FALSE;
@@ -3765,7 +3753,7 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
// ---------------------------------------------------------------------
// loop over the clustering key columns of the index
// ---------------------------------------------------------------------
- const TrafDesc *keys_desc = indexes_desc->indexesDesc()->keys_desc;
+ const TrafDesc *keys_desc = currIndexDesc->keys_desc;
while (keys_desc)
{
// Add an index/VP key column.
@@ -3793,7 +3781,7 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
indexColumn = colArray.getColumn(tablecolnumber);
if ((table->isHbaseTable()) &&
- ((indexes_desc->indexesDesc()->keytag != 0) ||
+ ((currIndexDesc->keytag != 0) ||
(indexAlignedRowFormat && indexAlignedRowFormat != tableAlignedRowFormat)))
{
newIndexColumn = new(heap) NAColumn(*indexColumn);
@@ -3880,15 +3868,14 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
// These columns get added to the list of all the columns for the index/
// VP. Their length also contributes to the total record length.
// ---------------------------------------------------------------------
- const TrafDesc *non_keys_desc =
- indexes_desc->indexesDesc()->non_keys_desc;
+ const TrafDesc *non_keys_desc = currIndexDesc->non_keys_desc;
while (non_keys_desc)
{
Int32 tablecolnumber = non_keys_desc->keysDesc()->tablecolnumber;
indexColumn = colArray.getColumn(tablecolnumber);
if ((table->isHbaseTable()) &&
- ((indexes_desc->indexesDesc()->keytag != 0) ||
+ ((currIndexDesc->keytag != 0) ||
(indexAlignedRowFormat && indexAlignedRowFormat != tableAlignedRowFormat)))
{
newIndexColumn = new(heap) NAColumn(*indexColumn);
@@ -3928,11 +3915,11 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
isSystemTable = table_desc->tableDesc()->isSystemTableCode();
// Record length of clustering key is the same as that of the base table record
- indexes_desc->indexesDesc()->record_length = table_desc->tableDesc()->record_length;
+ currIndexDesc->record_length = table_desc->tableDesc()->record_length;
} // endif (isTheClusteringKey)
else
{
- if (indexes_desc->indexesDesc()->isUnique())
+ if (currIndexDesc->isUnique())
{
// As mentioned above, if this is a unique index,
// the last numClusteringKeyColumns are actually not
@@ -3950,8 +3937,8 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
// indexKeyColumns.removeAt(indexKeyColumns.entries() - 1);
}
- files_desc = indexes_desc->indexesDesc()->files_desc;
- isSystemTable = indexes_desc->indexesDesc()->isSystemTableCode();
+ files_desc = currIndexDesc->files_desc;
+ isSystemTable = currIndexDesc->isSystemTableCode();
} // endif (NOT isTheClusteringKey)
@@ -4020,7 +4007,10 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
// beginning of this function.
TrafDesc * partns_desc;
Int32 indexLevels = 1;
- Int32 blockSize = indexes_desc->indexesDesc()->blocksize;
+ Int32 blockSize = currIndexDesc->blocksize;
+ // Create fully qualified ANSI name from indexname
+ QualifiedName qualIndexName(currIndexDesc->indexname, 1, heap,
+ bindWA);
if (files_desc)
{
if( (table->getSpecialType() != ExtendedQualName::VIRTUAL_TABLE AND
@@ -4028,7 +4018,7 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
OR files_desc->filesDesc()->partns_desc )
{
nodeMap = new (heap) NodeMap(heap);
- createNodeMap(files_desc->filesDesc()->partns_desc,
+ createNodeMap(files_desc->filesDesc()->partns_desc,
nodeMap,
heap,
table_desc->tableDesc()->tablename,
@@ -4037,7 +4027,7 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
}
// Check whether the index has any remote partitions.
if (checkRemote(files_desc->filesDesc()->partns_desc,
- indexes_desc->indexesDesc()->indexname))
+ currIndexDesc->indexname))
hasRemotePartition = TRUE;
else
hasRemotePartition = FALSE;
@@ -4046,7 +4036,7 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
// partitioned same as the indexes, hence we used table partitioning
// to create partitionining function. But this is not true. Hence
// we now use the indexes partitioning function
- switch (indexes_desc->indexesDesc()->partitioningScheme())
+ switch (currIndexDesc->partitioningScheme())
{
case COM_ROUND_ROBIN_PARTITIONING :
// Round Robin partitioned table
@@ -4082,47 +4072,75 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
case COM_RANGE_PARTITIONING :
case COM_SYSTEM_PARTITIONING :
{
- // If this is an MP Table, parse the first key
- // values as MP Stored Text.
- //
-
- TrafDesc* hbd = table_desc->tableDesc()->hbase_regionkey_desc;
-
- // splits will be 1 for single partitioned table.
- Int32 splits = findDescEntries(hbd);
-
- // Do Hash2 only if the table is salted orignally
- // and the current number of HBase regions is greater than 1.
+ // Do Hash2 only if the table is salted orignally.
if ( doHash2 )
- doHash2 = (numOfSaltedPartitions > 0 && splits > 1);
+ doHash2 = (numOfSaltedPartitions > 0);
- if ( hbd )
- if ( doHash2 ) {
- partFunc = createHash2PartitioningFunctionForHBase(
- table_desc->tableDesc()->hbase_regionkey_desc,
- table,
- numOfSaltedPartitions,
- heap);
-
- partitioningKeyColumns = hbaseSaltOnColumns;
+ if ( doHash2 )
+ {
+ partFunc = createHash2PartitioningFunctionForHBase(
+ NULL,
+ table,
+ numOfSaltedPartitions,
+ heap);
+
+ partitioningKeyColumns = hbaseSaltOnColumns;
}
- else
- partFunc = createRangePartitioningFunctionForHBase(
- table_desc->tableDesc()->hbase_regionkey_desc,
- table,
- partitioningKeyColumns,
- heap);
- else {
-
- // no region descriptor, range partitioned or single partition table
- partFunc = createRangePartitioningFunction(
- files_desc->filesDesc()->partns_desc,
- partitioningKeyColumns,
- nodeMap,
- heap);
- }
-
+ else
+ {
+ // need hbase region descs for range partitioning for
+ // the following cases:
+ // -- cqd HBASE_HASH2_PARTITIONING is OFF
+ // -- or num salted partitions is 0
+ // -- or load command is being processed
+ // If not already present, generate it now.
+ NABoolean genHbaseRegionDesc = FALSE;
+ TrafTableDesc* tDesc = table_desc->tableDesc();
+ if (((! currIndexDesc->hbase_regionkey_desc) &&
+ (table->getSpecialType() != ExtendedQualName::VIRTUAL_TABLE) &&
+ (NOT table->isSeabaseMDTable()) &&
+ (NOT table->isHistogramTable())) &&
+ ((currIndexDesc->numSaltPartns == 0) ||
+ (CmpCommon::getDefault(HBASE_HASH2_PARTITIONING) == DF_OFF) ||
+ (bindWA && bindWA->isTrafLoadPrep())))
+ genHbaseRegionDesc = TRUE;
+ else
+ genHbaseRegionDesc = FALSE;
+
+ if (genHbaseRegionDesc)
+ {
+ CmpSeabaseDDL cmpSBD((NAHeap *)heap);
+ cmpSBD.genHbaseRegionDescs
+ (currIndexDesc,
+ qualIndexName.getCatalogName(),
+ qualIndexName.getSchemaName(),
+ qualIndexName.getObjectName());
+
+ if(currIndexDesc->keytag == 0)
+ tDesc->hbase_regionkey_desc =
+ currIndexDesc->hbase_regionkey_desc;
+ }
+ if ((! tDesc->hbase_regionkey_desc) &&
+ ((table->getSpecialType() == ExtendedQualName::VIRTUAL_TABLE) ||
+ (table->isSeabaseMDTable()) ||
+ (table->isHistogramTable())))
+ {
+ partFunc = createRangePartitioningFunction(
+ files_desc->filesDesc()->partns_desc,
+ partitioningKeyColumns,
+ nodeMap,
+ heap);
+ }
+ else
+ {
+ partFunc = createRangePartitioningFunctionForHBase(
+ currIndexDesc->hbase_regionkey_desc,
+ table,
+ partitioningKeyColumns,
+ heap);
+ }
+ } // else
break;
}
case COM_UNKNOWN_PARTITIONING:
@@ -4172,12 +4190,7 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
// $$$ to be computed by examining the EOFs of each individual
// $$$ file that belongs to the file set.
- // Create fully qualified ANSI name from indexname, the PHYSICAL name.
- // If this descriptor was created for a sql/mp table, then the
- // indexname is a fully qualified NSK name (\sys.$vol.subvol.name).
- QualifiedName qualIndexName(indexes_desc->indexesDesc()->indexname,
- 1, heap, bindWA);
-
+
// This ext_indexname is expected to be set up correctly as an
// EXTERNAL-format name (i.e., dquoted if any delimited identifiers)
// by sqlcat/read*.cpp. The ...AsAnsiString() is just-in-case (MP?).
@@ -4186,8 +4199,6 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
CmpCommon::statementHeap());
QualifiedName qualExtIndexName;
-
- //if (indexes_desc->indexesDesc()->isVolatile)
if (table->getSpecialType() != ExtendedQualName::VIRTUAL_TABLE)
qualExtIndexName = QualifiedName(extIndexName, 1, heap, bindWA);
else
@@ -4195,7 +4206,7 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
// for volatile tables, set the object part as the external name.
// cat/sch parts are internal and should not be shown.
- if (indexes_desc->indexesDesc()->isVolatile())
+ if (currIndexDesc->isVolatile())
{
ComObjectName con(extIndexName);
extIndexName = con.getObjectNamePartAsAnsiString();
@@ -4204,12 +4215,12 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
if (partFunc)
numberOfFiles = partFunc->getCountOfPartitions();
- CMPASSERT(indexes_desc->indexesDesc()->blocksize > 0);
+ CMPASSERT(currIndexDesc->blocksize > 0);
NAList<HbaseCreateOption*>* hbaseCreateOptions = NULL;
- if ((indexes_desc->indexesDesc()->hbaseCreateOptions) &&
+ if ((currIndexDesc->hbaseCreateOptions) &&
(CmpSeabaseDDL::genHbaseCreateOptions
- (indexes_desc->indexesDesc()->hbaseCreateOptions,
+ (currIndexDesc->hbaseCreateOptions,
hbaseCreateOptions,
heap,
NULL,
@@ -4221,6 +4232,7 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
indexLevels = hbtIndexLevels;
blockSize = hbtBlockSize;
}
+
newIndex = new (heap)
NAFileSet(
qualIndexName, // QN containing "\NSK.$VOL", FUNNYSV, FUNNYNM
@@ -4230,14 +4242,14 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
isSystemTable,
numberOfFiles,
100,
- indexes_desc->indexesDesc()->record_length,
+ currIndexDesc->record_length,
blockSize,
indexLevels,
allColumns,
indexKeyColumns,
partitioningKeyColumns,
partFunc,
- indexes_desc->indexesDesc()->keytag,
+ currIndexDesc->keytag,
0,
files_desc ? files_desc->filesDesc()->isAudited() : 0,
0,
@@ -4248,33 +4260,33 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
0,
isPacked,
hasRemotePartition,
- ((indexes_desc->indexesDesc()->keytag != 0) &&
- (indexes_desc->indexesDesc()->isUnique())),
+ ((currIndexDesc->keytag != 0) &&
+ (currIndexDesc->isUnique())),
0,
0,
- (indexes_desc->indexesDesc()->isVolatile()),
- (indexes_desc->indexesDesc()->isInMemoryObject()),
- indexes_desc->indexesDesc()->indexUID,
- indexes_desc->indexesDesc()->keys_desc,
+ (currIndexDesc->isVolatile()),
+ (currIndexDesc->isInMemoryObject()),
+ currIndexDesc->indexUID,
+ currIndexDesc->keys_desc,
NULL, // no Hive stats
- indexes_desc->indexesDesc()->numSaltPartns,
+ currIndexDesc->numSaltPartns,
hbaseCreateOptions,
heap);
if (isNotAvailable)
newIndex->setNotAvailable(TRUE);
- newIndex->setRowFormat(indexes_desc->indexesDesc()->rowFormat());
+ newIndex->setRowFormat(currIndexDesc->rowFormat());
// Mark each NAColumn in the list
indexKeyColumns.setIndexKey();
- if ((table->isHbaseTable()) && (indexes_desc->indexesDesc()->keytag != 0))
+ if ((table->isHbaseTable()) && (currIndexDesc->keytag != 0))
saveNAColumns.setIndexKey();
- if (indexes_desc->indexesDesc()->isExplicit())
+ if (currIndexDesc->isExplicit())
newIndex->setIsCreatedExplicitly(TRUE);
//if index is unique and is on one column, then mark column as unique
- if ((indexes_desc->indexesDesc()->isUnique()) &&
+ if ((currIndexDesc->isUnique()) &&
(indexKeyColumns.entries() == 1))
indexKeyColumns[0]->setIsUnique();
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/f47c2613/core/sql/regress/compGeneral/EXPECTED023
----------------------------------------------------------------------
diff --git a/core/sql/regress/compGeneral/EXPECTED023 b/core/sql/regress/compGeneral/EXPECTED023
index 2502092..6245669 100644
--- a/core/sql/regress/compGeneral/EXPECTED023
+++ b/core/sql/regress/compGeneral/EXPECTED023
@@ -125,7 +125,7 @@ STEST_EMPTY
OBJECT_NAME SAMPLE_NAME REASON LAST_WHERE_PREDICATE
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_39_1498171331_472639 M
+STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_28_1498938882_957928 M
--- 1 row(s) selected.
>>-- should see one row
@@ -141,7 +141,7 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_39_1498171331_472639
+TRAF_SAMPLE_28_1498938882_957928
--- SQL operation complete.
>> -- should be stest, stest_empty, stestc, sb_* tables + a sample table
@@ -165,7 +165,7 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_35_1498171373_208835
+TRAF_SAMPLE_66_1498938923_301766
--- SQL operation complete.
>> -- should be stest, stest_empty, stestc, sb_* tables + a different sample table
@@ -175,7 +175,7 @@ TRAF_SAMPLE_35_1498171373_208835
OBJECT_NAME SAMPLE_NAME REASON LAST_WHERE_PREDICATE
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_35_1498171373_208835 M
+STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_66_1498938923_301766 M
--- 1 row(s) selected.
>>-- should see one row
@@ -222,7 +222,7 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_9_1498171400_69439
+TRAF_SAMPLE_96_1498938956_797796
--- SQL operation complete.
>> -- should be stest, stest_empty, stestc, sb_* tables + another sample table
@@ -232,7 +232,7 @@ TRAF_SAMPLE_9_1498171400_69439
OBJECT_NAME SAMPLE_NAME REASON LAST_WHERE_PREDICATE
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_9_1498171400_69439 I
+STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_96_1498938956_797796 I
--- 1 row(s) selected.
>>-- should see one row
@@ -256,7 +256,7 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_81_1498171430_382581
+TRAF_SAMPLE_95_1498938997_236495
--- SQL operation complete.
>> -- should be stest, stest_empty, stestc, sb_* tables + another sample table
@@ -266,7 +266,7 @@ TRAF_SAMPLE_81_1498171430_382581
OBJECT_NAME SAMPLE_NAME REASON LAST_WHERE_PREDICATE
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_81_1498171430_382581 I
+STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_95_1498938997_236495 I
--- 1 row(s) selected.
>>-- should see one row
@@ -327,7 +327,7 @@ STEST
OBJECT_NAME SAMPLE_NAME REASON LAST_WHERE_PREDICATE
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_81_1498171430_382581 I c1 >= 100000
+STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_95_1498938997_236495 I c1 >= 100000
--- 1 row(s) selected.
>>
@@ -384,8 +384,8 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_19_1498171490_891019
-TRAF_SAMPLE_81_1498171430_382581
+TRAF_SAMPLE_61_1498939068_810961
+TRAF_SAMPLE_95_1498938997_236495
--- SQL operation complete.
>>
@@ -394,7 +394,7 @@ TRAF_SAMPLE_81_1498171430_382581
OBJECT_NAME SAMPLE_NAME REASON LAST_WHERE_PREDICATE
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-STESTC TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_19_1498171490_891019 I c1 >= 'naaaa'
+STESTC TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_61_1498939068_810961 I c1 >= 'naaaa'
--- 1 row(s) selected.
>>
@@ -419,8 +419,8 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_19_1498171490_891019
-TRAF_SAMPLE_81_1498171430_382581
+TRAF_SAMPLE_61_1498939068_810961
+TRAF_SAMPLE_95_1498938997_236495
--- SQL operation complete.
>> -- should be the same as previous "get tables"
@@ -447,8 +447,8 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_19_1498171490_891019
-TRAF_SAMPLE_81_1498171430_382581
+TRAF_SAMPLE_61_1498939068_810961
+TRAF_SAMPLE_95_1498938997_236495
--- SQL operation complete.
>> -- should be the same as previous "get tables"
@@ -476,8 +476,8 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_19_1498171490_891019
-TRAF_SAMPLE_81_1498171430_382581
+TRAF_SAMPLE_61_1498939068_810961
+TRAF_SAMPLE_95_1498938997_236495
--- SQL operation complete.
>> -- should be the same as previous "get tables"
@@ -488,9 +488,9 @@ TRAF_SAMPLE_81_1498171430_382581
*** ERROR[9219] Incremental UPDATE STATISTICS: An operation failed, possibly due to an invalid WHERE clause.
*** ERROR[15001] A syntax error occurred at or before:
-UPSERT USING LOAD INTO TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_81_1498171430_
-382581_I (SELECT * FROM TRAFODION.COMPGENERAL_TEST023.STEST WHERE 1 SAMPLE RA
-NDOM 9.794000 PERCENT );
+UPSERT USING LOAD INTO TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_95_1498938997_
+236495_I (SELECT * FROM TRAFODION.COMPGENERAL_TEST023.STEST WHERE 1 SAMPLE RA
+NDOM 10.056000 PERCENT );
^ (162 characters from start of SQL statement)
*** ERROR[8822] The statement was not prepared.
@@ -508,8 +508,8 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_19_1498171490_891019
-TRAF_SAMPLE_81_1498171430_382581
+TRAF_SAMPLE_61_1498939068_810961
+TRAF_SAMPLE_95_1498938997_236495
--- SQL operation complete.
>> -- should be the same as previous "get tables"
@@ -519,7 +519,7 @@ TRAF_SAMPLE_81_1498171430_382581
*** ERROR[9219] Incremental UPDATE STATISTICS: An operation failed, possibly due to an invalid WHERE clause.
-*** ERROR[4001] Column BADCOL is not found. Tables in scope: TRAFODION.COMPGENERAL_TEST023.STEST. Default schema: TRAFODION.SEABASE.
+*** ERROR[4001] Column BADCOL is not found. Tables in scope: TRAFODION.COMPGENERAL_TEST023.STEST. Default schema: TRAFODION.SCH.
*** ERROR[8822] The statement was not prepared.
@@ -560,7 +560,7 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_81_1498171430_382581
+TRAF_SAMPLE_95_1498938997_236495
--- SQL operation complete.
>> -- should be the same as previous "get tables" except only one sample table
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/f47c2613/core/sql/sqlcat/TrafDDLdesc.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcat/TrafDDLdesc.cpp b/core/sql/sqlcat/TrafDDLdesc.cpp
index d9fa39b..d3074fb 100644
--- a/core/sql/sqlcat/TrafDDLdesc.cpp
+++ b/core/sql/sqlcat/TrafDDLdesc.cpp
@@ -420,6 +420,7 @@ Long TrafIndexesDesc::pack(void * space)
files_desc.pack(space);
keys_desc.pack(space);
non_keys_desc.pack(space);
+ hbase_regionkey_desc.pack(space);
return TrafDesc::pack(space);
}
@@ -434,6 +435,7 @@ Lng32 TrafIndexesDesc::unpack(void * base, void * reallocator)
if (files_desc.unpack(base, reallocator)) return -1;
if (keys_desc.unpack(base, reallocator)) return -1;
if (non_keys_desc.unpack(base, reallocator)) return -1;
+ if (hbase_regionkey_desc.unpack(base, reallocator)) return -1;
return TrafDesc::unpack(base, reallocator);
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/f47c2613/core/sql/sqlcat/TrafDDLdesc.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcat/TrafDDLdesc.h b/core/sql/sqlcat/TrafDDLdesc.h
index 53678b9..733ffa9 100644
--- a/core/sql/sqlcat/TrafDDLdesc.h
+++ b/core/sql/sqlcat/TrafDDLdesc.h
@@ -654,7 +654,10 @@ public:
// Used specially for vertical partition column(s).
DescStructPtr non_keys_desc;
- char filler[24];
+ // for hbase's region keys
+ DescStructPtr hbase_regionkey_desc;
+
+ char filler[16];
};
class TrafKeysDesc : public TrafDesc {
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/f47c2613/core/sql/sqlcomp/CmpSeabaseDDL.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDL.h b/core/sql/sqlcomp/CmpSeabaseDDL.h
index 437d7a7..9da0b01 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDL.h
+++ b/core/sql/sqlcomp/CmpSeabaseDDL.h
@@ -206,6 +206,11 @@ class CmpSeabaseDDL
static short invalidateStats(Int64 tableUID);
+ short genHbaseRegionDescs(TrafDesc * desc,
+ const NAString &catName,
+ const NAString &schName,
+ const NAString &objName);
+
NABoolean isAuthorizationEnabled();
short existsInHbase(const NAString &objName,
@@ -1439,6 +1444,10 @@ public:
short upgradeReposComplete(ExeCliInterface * cliInterface, CmpDDLwithStatusInfo *mdui);
short upgradeReposUndo(ExeCliInterface * cliInterface, CmpDDLwithStatusInfo *mdui);
+ NAString genHBaseObjName(const NAString &catName,
+ const NAString &schName,
+ const NAString &objName);
+
protected:
void processRepository(NABoolean createR, NABoolean dropR, NABoolean upgradeR);
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/f47c2613/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
index a0ae4fb..f23134e 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
@@ -3337,6 +3337,15 @@ static short isValidHbaseName(const char * str)
return -1; // valid name
}
+NAString CmpSeabaseDDL::genHBaseObjName(const NAString &catName,
+ const NAString &schName,
+ const NAString &objName)
+{
+ NAString extNameForHbase = "" ;
+ extNameForHbase += catName + "." + schName + "." + objName;
+ return extNameForHbase;
+}
+
// RETURN: 1, exists. 0, does not exists. -1, error.
short CmpSeabaseDDL::existsInSeabaseMDTable(
ExeCliInterface *cliInterface,
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/f47c2613/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
index 182f4b2..c94d377 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
@@ -11691,6 +11691,43 @@ TrafDesc * CmpSeabaseDDL::getSeabaseSequenceDesc(const NAString &catName,
return tableDesc;
}
+short CmpSeabaseDDL::genHbaseRegionDescs(TrafDesc * desc,
+ const NAString &catName,
+ const NAString &schName,
+ const NAString &objName)
+{
+ if (! desc)
+ return -1;
+
+ ExpHbaseInterface* ehi = allocEHI();
+ if (ehi == NULL)
+ return -1;
+
+ const NAString extNameForHbase = genHBaseObjName
+ (catName, schName, objName);
+
+ NAArray<HbaseStr>* endKeyArray =
+ ehi->getRegionEndKeys(extNameForHbase);
+
+ TrafDesc * regionKeyDesc =
+ Generator::assembleDescs(endKeyArray, heap_);
+
+ deallocEHI(ehi);
+
+ TrafTableDesc* tDesc = desc->tableDesc();
+ if (tDesc)
+ tDesc->hbase_regionkey_desc = regionKeyDesc;
+ else {
+ TrafIndexesDesc* iDesc = desc->indexesDesc();
+ if (iDesc)
+ iDesc->hbase_regionkey_desc = regionKeyDesc;
+ else
+ return -1;
+ }
+
+ return 0;
+}
+
TrafDesc * CmpSeabaseDDL::getSeabaseUserTableDesc(const NAString &catName,
const NAString &schName,
const NAString &objName,
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/f47c2613/core/sql/sqlcomp/nadefaults.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/nadefaults.cpp b/core/sql/sqlcomp/nadefaults.cpp
index 1cba380..59910ba 100644
--- a/core/sql/sqlcomp/nadefaults.cpp
+++ b/core/sql/sqlcomp/nadefaults.cpp
@@ -2839,7 +2839,7 @@ SDDkwd__(ISO_MAPPING, (char *)SQLCHARSETSTRING_ISO88591),
DD_____(PCODE_DEBUG_LOGDIR, "" ), // Pathname of log directory for PCode work
DDint__(PCODE_EXPR_CACHE_CMP_ONLY, "0" ), // PCode Expr Cache compare-only mode
DDint__(PCODE_EXPR_CACHE_DEBUG, "0" ), // PCode Expr Cache debug (set to 1 to enable dbg logging)
- DDint__(PCODE_EXPR_CACHE_ENABLED, "1" ), // PCode Expr Cache Enabled (set to 0 to disable the cache)
+ DDint__(PCODE_EXPR_CACHE_ENABLED, "0" ), // PCode Expr Cache Enabled (set to 0 to disable the cache)
DD0_10485760(PCODE_EXPR_CACHE_SIZE,"2000000"), // PCode Expr Cache Max Size
// Maximum number of PCODE Branch Instructions in an Expr
[3/3] incubator-trafodion git commit: Merge [TRAFODION-2674] PR-1159
Create index sees error 2006 internal assertion
Posted by su...@apache.org.
Merge [TRAFODION-2674] PR-1159 Create index sees error 2006 internal assertion
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/5899ba2e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/5899ba2e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/5899ba2e
Branch: refs/heads/master
Commit: 5899ba2e14909d2f5189bf22c77ad27a38ec7101
Parents: bfd4de2 dcc32dd
Author: Suresh Subbiah <su...@apache.org>
Authored: Mon Jul 3 17:00:38 2017 +0000
Committer: Suresh Subbiah <su...@apache.org>
Committed: Mon Jul 3 17:00:38 2017 +0000
----------------------------------------------------------------------
core/sql/optimizer/NATable.cpp | 196 ++++++++++++++------------
core/sql/regress/compGeneral/EXPECTED023 | 48 +++----
core/sql/sqlcat/TrafDDLdesc.cpp | 2 +
core/sql/sqlcat/TrafDDLdesc.h | 5 +-
core/sql/sqlcomp/CmpSeabaseDDL.h | 9 ++
core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp | 9 ++
core/sql/sqlcomp/CmpSeabaseDDLtable.cpp | 37 +++++
core/sql/sqlcomp/nadefaults.cpp | 2 +-
8 files changed, 190 insertions(+), 118 deletions(-)
----------------------------------------------------------------------
[2/3] incubator-trafodion git commit: Resolve merge conflict in
EXPECTED023
Posted by su...@apache.org.
Resolve merge conflict in EXPECTED023
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/dcc32dd9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/dcc32dd9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/dcc32dd9
Branch: refs/heads/master
Commit: dcc32dd97b703232dce181b1442f8e8665c5d7ca
Parents: f47c261 bfd4de2
Author: Suresh Subbiah <su...@apache.org>
Authored: Mon Jul 3 00:20:24 2017 +0000
Committer: Suresh Subbiah <su...@apache.org>
Committed: Mon Jul 3 00:20:24 2017 +0000
----------------------------------------------------------------------
core/.gitignore | 2 +-
core/Makefile | 2 +-
core/dbsecurity/auth/src/authEvents.cpp | 2 +-
core/sqf/commonLogger/CommonLogger.cpp | 17 +-
core/sqf/conf/log4j.sql.config | 6 +-
core/sqf/conf/trafodion-site.xml | 38 +
core/sqf/conf/trafodion.udr.config | 2 +-
core/sqf/sqenvcom.sh | 1 +
core/sqf/sql/scripts/genms | 3 +
core/sqf/sql/scripts/install_local_hadoop | 8 -
core/sqf/sql/scripts/sqgen | 84 +-
core/sqf/sql/scripts/trafodion-site.xml | 38 -
.../transactional/TrxRegionEndpoint.java.tmpl | 45 +-
.../transactional/TrxTransactionState.java.tmpl | 1 -
.../seatrans/tm/hbasetmlib2/TMInterface.java | 6 +-
.../java/org/trafodion/dtm/HBaseTxClient.java | 8 +-
.../main/java/org/trafodion/dtm/TrafInfo.java | 2 +-
core/sqf/sysinstall/home/trafodion/.bashrc | 2 +-
core/sql/common/Ipc.h | 2 +-
core/sql/executor/ExExeUtil.h | 5 +
core/sql/executor/ExExeUtilGet.cpp | 186 ++-
core/sql/executor/HBaseClient_JNI.cpp | 38 +-
core/sql/executor/HBaseClient_JNI.h | 4 +
core/sql/executor/JavaObjectInterface.cpp | 282 ++--
core/sql/executor/JavaObjectInterface.h | 19 +-
core/sql/executor/OrcFileReader.cpp | 1 -
core/sql/executor/SequenceFileReader.cpp | 3 -
core/sql/executor/ex_frag_rt.cpp | 7 +-
core/sql/exp/ExpError.cpp | 8 +-
core/sql/exp/ExpError.h | 3 +-
core/sql/exp/ExpHbaseInterface.cpp | 19 +
core/sql/exp/ExpHbaseInterface.h | 3 +-
core/sql/exp/exp_conv.cpp | 6 +-
core/sql/langman/LmJavaOptions.cpp | 11 +
core/sql/langman/LmJavaOptions.h | 3 +
core/sql/lib_mgmt/Makefile | 4 -
core/sql/lib_mgmt/README.rst | 36 +-
core/sql/lib_mgmt/pom.xml | 27 +-
.../java/org/trafodion/libmgmt/FileMgmt.java | 487 ++++---
.../java/org/trafodion/libmgmt/SyncLibUDF.java | 171 +++
.../lib_mgmt/src/main/resources/init_libmgmt.sh | 206 ---
core/sql/optimizer/BindRelExpr.cpp | 7 -
core/sql/optimizer/OptPhysRelExpr.cpp | 14 +-
core/sql/optimizer/RelExeUtil.cpp | 1 -
core/sql/optimizer/RelExpr.cpp | 5 -
core/sql/optimizer/RelMisc.h | 9 -
core/sql/regress/compGeneral/FILTER023 | 4 +
core/sql/regress/privs1/EXPECTED125 | 1329 ++++++++++++++++++
core/sql/regress/privs1/TEST125 | 243 ++++
core/sql/regress/privs1/TestHive.java | 91 ++
core/sql/regress/privs1/Utils.java | 279 ++++
core/sql/regress/privs2/EXPECTED144 | Bin 59453 -> 59453 bytes
core/sql/regress/udr/EXPECTED001 | 43 +-
core/sql/regress/udr/EXPECTED002 | 6 +-
core/sql/regress/udr/EXPECTED102 | 49 +-
core/sql/regress/udr/TEST001 | 18 +-
core/sql/regress/udr/TEST002 | 6 +-
core/sql/regress/udr/TEST102 | 27 +-
core/sql/sort/scratchfile_sq.cpp | 1 -
core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp | 4 +-
core/sql/sqlcomp/CmpSeabaseDDLroutine.cpp | 11 +-
core/sql/sqlcomp/CmpSeabaseDDLroutine.h | 77 +-
core/sql/sqlcomp/CmpSeabaseDDLtable.cpp | 25 +-
core/sql/sqlcomp/DefaultConstants.h | 4 +-
core/sql/sqlcomp/PrivMgr.cpp | 6 +-
core/sql/sqlcomp/PrivMgrComponentPrivileges.cpp | 7 +
core/sql/sqlcomp/nadefaults.cpp | 3 +-
core/sql/sqludr/SqlUdrPredefLogReader.cpp | 42 +-
.../java/org/trafodion/sql/HBaseClient.java | 29 +-
.../main/java/org/trafodion/sql/HiveClient.java | 2 +-
.../java/org/trafodion/sql/OrcFileReader.java | 25 +-
.../org/trafodion/sql/SequenceFileReader.java | 23 +-
.../org/trafodion/sql/SequenceFileWriter.java | 3 +-
.../org/trafodion/sql/TrafConfiguration.java | 61 +-
.../java/org/trafodion/sql/TrafRegionStats.java | 12 +-
core/sql/udrserv/UdrCfgParser.cpp | 4 +-
core/sql/udrserv/udrglobals.cpp | 85 +-
core/sql/udrserv/udrserv.cpp | 37 +-
core/sql/ustat/hs_globals.cpp | 42 +-
core/sql/ustat/hs_globals.h | 2 +-
core/trafodion.spec | 4 +-
.../src/asciidoc/_chapters/ambari_install.adoc | 29 +-
.../src/asciidoc/_chapters/requirements.adoc | 18 -
install/ambari-installer/mpack.json | 3 +
.../TRAFODION/2.1/configuration/dcs-env.xml | 1 +
.../TRAFODION/2.1/package/scripts/params.py | 1 +
.../2.1/package/scripts/trafodionmaster.py | 2 +-
.../python-installer/scripts/traf_sqconfig.py | 8 +
88 files changed, 3484 insertions(+), 1016 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/dcc32dd9/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/dcc32dd9/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/dcc32dd9/core/sql/sqlcomp/nadefaults.cpp
----------------------------------------------------------------------