You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by db...@apache.org on 2017/10/25 21:38:30 UTC
[1/2] incubator-trafodion git commit: [TRAFODION-2781] Omit LOB
columns from update stats sample tables
Repository: incubator-trafodion
Updated Branches:
refs/heads/master ea24774d7 -> 6b07d620e
[TRAFODION-2781] Omit LOB columns from update stats sample tables
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/328c1b2c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/328c1b2c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/328c1b2c
Branch: refs/heads/master
Commit: 328c1b2c8662cd11662f73e6a072cf5bf941be37
Parents: c66fca2
Author: Dave Birdsall <db...@apache.org>
Authored: Tue Oct 24 22:31:10 2017 +0000
Committer: Dave Birdsall <db...@apache.org>
Committed: Tue Oct 24 22:31:10 2017 +0000
----------------------------------------------------------------------
core/sql/common/OperTypeEnum.h | 1 +
core/sql/parser/ElemDDLLikeOptions.cpp | 26 ++++++++++++
core/sql/parser/ElemDDLLikeOptions.h | 28 +++++++++++++
core/sql/parser/ElemDDLNode.cpp | 5 +++
core/sql/parser/ElemDDLNode.h | 2 +
core/sql/parser/ParDDLLikeOpts.cpp | 16 ++++++++
core/sql/parser/ParDDLLikeOptsCreateTable.h | 14 +++++++
core/sql/parser/sqlparser.y | 5 +++
core/sql/regress/compGeneral/EXPECTED023 | 50 ++++++++++++------------
core/sql/sqlcomp/CmpDescribe.cpp | 14 ++++++-
core/sql/sqlcomp/CmpSeabaseDDLtable.cpp | 3 ++
core/sql/ustat/hs_cli.cpp | 4 +-
core/sql/ustat/hs_globals.cpp | 41 +++++++------------
core/sql/ustat/hs_la.cpp | 5 ++-
14 files changed, 158 insertions(+), 56 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/328c1b2c/core/sql/common/OperTypeEnum.h
----------------------------------------------------------------------
diff --git a/core/sql/common/OperTypeEnum.h b/core/sql/common/OperTypeEnum.h
index b917f23..bbf064c 100644
--- a/core/sql/common/OperTypeEnum.h
+++ b/core/sql/common/OperTypeEnum.h
@@ -1085,6 +1085,7 @@ enum OperatorTypeEnum {
ELM_LIKE_OPT_WITHOUT_DIVISION_ELEM,
ELM_LIKE_OPT_LIMIT_COLUMN_LENGTH,
ELM_LIKE_OPT_WITHOUT_ROW_FORMAT_ELEM,
+ ELM_LIKE_OPT_WITHOUT_LOB_COLUMNS,
ELM_LOCATION_ELEM,
ELM_OPTION_LIST,
ELM_PARALLEL_EXEC_ELEM,
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/328c1b2c/core/sql/parser/ElemDDLLikeOptions.cpp
----------------------------------------------------------------------
diff --git a/core/sql/parser/ElemDDLLikeOptions.cpp b/core/sql/parser/ElemDDLLikeOptions.cpp
index b4970bc..fa40bfd 100644
--- a/core/sql/parser/ElemDDLLikeOptions.cpp
+++ b/core/sql/parser/ElemDDLLikeOptions.cpp
@@ -272,6 +272,32 @@ const NAString ElemDDLLikeOptWithoutRowFormat::getText() const
return "ElemDDLLikeOptWithoutRowFormat";
}
+
+// -----------------------------------------------------------------------
+// methods for class ElemDDLLikeOptWithoutLobColumns
+// -----------------------------------------------------------------------
+
+// virtual destructor
+ElemDDLLikeOptWithoutLobColumns::~ElemDDLLikeOptWithoutLobColumns()
+{
+}
+
+// casting
+ElemDDLLikeOptWithoutLobColumns * ElemDDLLikeOptWithoutLobColumns::castToElemDDLLikeOptWithoutLobColumns()
+{
+ return this;
+}
+
+//
+// methods for tracing
+//
+
+const NAString ElemDDLLikeOptWithoutLobColumns::getText() const
+{
+ return "ElemDDLLikeOptWithoutLobColumns";
+}
+
+
//
// End of File
//
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/328c1b2c/core/sql/parser/ElemDDLLikeOptions.h
----------------------------------------------------------------------
diff --git a/core/sql/parser/ElemDDLLikeOptions.h b/core/sql/parser/ElemDDLLikeOptions.h
index acc2534..ef06865 100644
--- a/core/sql/parser/ElemDDLLikeOptions.h
+++ b/core/sql/parser/ElemDDLLikeOptions.h
@@ -320,4 +320,32 @@ private:
}; // class ElemDDLLikeOptWithoutRowFormat
+// -----------------------------------------------------------------------
+// definition of class ElemDDLLikeOptWithoutLobColumns
+// -----------------------------------------------------------------------
+class ElemDDLLikeOptWithoutLobColumns : public ElemDDLLikeOpt
+{
+
+public:
+
+ // constructor
+ ElemDDLLikeOptWithoutLobColumns()
+ : ElemDDLLikeOpt(ELM_LIKE_OPT_WITHOUT_LOB_COLUMNS)
+ { }
+
+ // virtual destructor
+ virtual ~ElemDDLLikeOptWithoutLobColumns();
+
+ // cast
+ virtual ElemDDLLikeOptWithoutLobColumns *
+ castToElemDDLLikeOptWithoutLobColumns();
+
+ // method for tracing
+ virtual const NAString getText() const;
+
+
+private:
+
+}; // class ElemDDLLikeOptWithoutLobColumns
+
#endif // ELEMDDLLIKEOPTIONS_H
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/328c1b2c/core/sql/parser/ElemDDLNode.cpp
----------------------------------------------------------------------
diff --git a/core/sql/parser/ElemDDLNode.cpp b/core/sql/parser/ElemDDLNode.cpp
index b973e72..5c7b602 100644
--- a/core/sql/parser/ElemDDLNode.cpp
+++ b/core/sql/parser/ElemDDLNode.cpp
@@ -578,6 +578,11 @@ ElemDDLLikeOptWithoutRowFormat * ElemDDLNode::castToElemDDLLikeOptWithoutRowForm
return NULL;
}
+ElemDDLLikeOptWithoutLobColumns * ElemDDLNode::castToElemDDLLikeOptWithoutLobColumns()
+{
+ return NULL;
+}
+
ElemDDLList *
ElemDDLNode::castToElemDDLList()
{
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/328c1b2c/core/sql/parser/ElemDDLNode.h
----------------------------------------------------------------------
diff --git a/core/sql/parser/ElemDDLNode.h b/core/sql/parser/ElemDDLNode.h
index e3dabe2..1c8b039 100644
--- a/core/sql/parser/ElemDDLNode.h
+++ b/core/sql/parser/ElemDDLNode.h
@@ -139,6 +139,7 @@ class ElemDDLLikeSaltClause;
class ElemDDLLikeOptWithoutDivision;
class ElemDDLLikeLimitColumnLength;
class ElemDDLLikeOptWithoutRowFormat;
+class ElemDDLLikeOptWithoutLobColumns;
class ElemDDLList;
class ElemDDLLocation;
class ElemDDLOptionList;
@@ -464,6 +465,7 @@ public:
virtual ElemDDLLikeOptWithoutDivision * castToElemDDLLikeOptWithoutDivision();
virtual ElemDDLLikeLimitColumnLength * castToElemDDLLikeLimitColumnLength();
virtual ElemDDLLikeOptWithoutRowFormat* castToElemDDLLikeOptWithoutRowFormat();
+ virtual ElemDDLLikeOptWithoutLobColumns * castToElemDDLLikeOptWithoutLobColumns();
virtual ElemDDLList * castToElemDDLList();
virtual ElemDDLLocation * castToElemDDLLocation();
virtual ElemDDLOptionList * castToElemDDLOptionList();
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/328c1b2c/core/sql/parser/ParDDLLikeOpts.cpp
----------------------------------------------------------------------
diff --git a/core/sql/parser/ParDDLLikeOpts.cpp b/core/sql/parser/ParDDLLikeOpts.cpp
index 9b37d99..c331b6b 100644
--- a/core/sql/parser/ParDDLLikeOpts.cpp
+++ b/core/sql/parser/ParDDLLikeOpts.cpp
@@ -115,6 +115,7 @@ ParDDLLikeOptsCreateTable::operator=(
isLikeOptWithoutDivisionSpec_ = likeOptions.isLikeOptWithoutDivisionSpec_;
isLikeOptLimitColumnLengthSpec_ = likeOptions.isLikeOptLimitColumnLengthSpec_;
isLikeOptWithoutRowFormatSpec_ = likeOptions.isLikeOptWithoutRowFormatSpec_;
+ isLikeOptWithoutLobColumnsSpec_ = likeOptions.isLikeOptWithoutLobColumnsSpec_;
isLikeOptWithComments_ = likeOptions.isLikeOptWithComments_;
isLikeOptWithoutConstraints_ = likeOptions.isLikeOptWithoutConstraints_;
@@ -125,6 +126,7 @@ ParDDLLikeOptsCreateTable::operator=(
isLikeOptWithoutDivision_ = likeOptions.isLikeOptWithoutDivision_;
isLikeOptColumnLengthLimit_ = likeOptions.isLikeOptColumnLengthLimit_;
isLikeOptWithoutRowFormat_ = likeOptions.isLikeOptWithoutRowFormat_;
+ isLikeOptWithoutLobColumns_ = likeOptions.isLikeOptWithoutLobColumns_;
if (this != &likeOptions) // make sure not assigning to self
{
@@ -161,6 +163,7 @@ ParDDLLikeOptsCreateTable::initializeDataMembers()
isLikeOptWithoutDivisionSpec_ = FALSE;
isLikeOptLimitColumnLengthSpec_ = FALSE;
isLikeOptWithoutRowFormatSpec_ = FALSE;
+ isLikeOptWithoutLobColumnsSpec_ = FALSE;
isLikeOptWithComments_ = FALSE;
isLikeOptWithoutConstraints_ = FALSE;
@@ -172,6 +175,7 @@ ParDDLLikeOptsCreateTable::initializeDataMembers()
isLikeOptWithoutDivision_ = FALSE;
isLikeOptColumnLengthLimit_ = UINT_MAX;
isLikeOptWithoutRowFormat_ = FALSE;
+ isLikeOptWithoutLobColumns_ = FALSE;
}
void
@@ -297,6 +301,18 @@ ParDDLLikeOptsCreateTable::setLikeOption(ElemDDLLikeOpt * pLikeOption)
isLikeOptWithoutRowFormatSpec_ = TRUE;
break;
+ case ELM_LIKE_OPT_WITHOUT_LOB_COLUMNS :
+ if (isLikeOptWithoutLobColumnsSpec_)
+ {
+ // ERROR[3152] Duplicate WITHOUT LOB COLUMNS phrases were specified
+ // in LIKE clause in CREATE TABLE statement.
+ *SqlParser_Diags << DgSqlCode(-3152) << DgString0("LOB COLUMNS");
+ }
+ ComASSERT(pLikeOption->castToElemDDLLikeOptWithoutLobColumns() != NULL);
+ isLikeOptWithoutLobColumns_ = TRUE;
+ isLikeOptWithoutLobColumnsSpec_ = TRUE;
+ break;
+
default :
NAAbort("ParDDLLikeOpts.C", __LINE__, "internal logic error");
break;
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/328c1b2c/core/sql/parser/ParDDLLikeOptsCreateTable.h
----------------------------------------------------------------------
diff --git a/core/sql/parser/ParDDLLikeOptsCreateTable.h b/core/sql/parser/ParDDLLikeOptsCreateTable.h
index 4851d33..844696d 100644
--- a/core/sql/parser/ParDDLLikeOptsCreateTable.h
+++ b/core/sql/parser/ParDDLLikeOptsCreateTable.h
@@ -143,6 +143,12 @@ public:
return isLikeOptWithoutRowFormat_;
}
+ const NABoolean
+ getIsWithoutLobColumns() const
+ {
+ return isLikeOptWithoutLobColumns_;
+ }
+
// mutators
void setLikeOption(ElemDDLLikeOpt * pLikeOptParseNode);
@@ -201,6 +207,12 @@ public:
isLikeOptWithoutRowFormat_ = setting;
}
+ void
+ setIsWithoutLobColumns(const NABoolean setting)
+ {
+ isLikeOptWithoutLobColumns_ = setting;
+ }
+
private:
// ---------------------------------------------------------------------
@@ -227,6 +239,7 @@ private:
NABoolean isLikeOptWithoutDivisionSpec_;
NABoolean isLikeOptLimitColumnLengthSpec_;
NABoolean isLikeOptWithoutRowFormatSpec_;
+ NABoolean isLikeOptWithoutLobColumnsSpec_;
// legal Like options in DDL Create Table statements
@@ -240,6 +253,7 @@ private:
NABoolean isLikeOptWithoutDivision_;
UInt32 isLikeOptColumnLengthLimit_; // in bytes; max UInt32 if no limit specified
NABoolean isLikeOptWithoutRowFormat_;
+ NABoolean isLikeOptWithoutLobColumns_;
}; // class ParDDLLikeOptsCreateTable
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/328c1b2c/core/sql/parser/sqlparser.y
----------------------------------------------------------------------
diff --git a/core/sql/parser/sqlparser.y b/core/sql/parser/sqlparser.y
index df09422..e019918 100755
--- a/core/sql/parser/sqlparser.y
+++ b/core/sql/parser/sqlparser.y
@@ -26285,6 +26285,11 @@ like_option : TOK_WITHOUT TOK_CONSTRAINTS
$$ = new (PARSERHEAP())
ElemDDLLikeOptWithoutRowFormat();
}
+ | TOK_WITHOUT TOK_LOB TOK_COLUMNS
+ {
+ $$ = new (PARSERHEAP())
+ ElemDDLLikeOptWithoutLobColumns();
+ }
/* type pElemDDL */
optional_create_table_attribute_list : create_table_as_attr_list_start
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/328c1b2c/core/sql/regress/compGeneral/EXPECTED023
----------------------------------------------------------------------
diff --git a/core/sql/regress/compGeneral/EXPECTED023 b/core/sql/regress/compGeneral/EXPECTED023
index 180a962..46352b8 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_08256920717490504707_1499123202_644772 M
+STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_04737367368240681236_1508882731_922052 M
--- 1 row(s) selected.
>>-- should see one row
@@ -141,7 +141,7 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_08256920717490504707_1499123202_644772
+TRAF_SAMPLE_04737367368240681236_1508882731_922052
--- 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_08256920717490504707_1499123287_739643
+TRAF_SAMPLE_04737367368240681236_1508882785_656325
--- SQL operation complete.
>> -- should be stest, stest_empty, stestc, sb_* tables + a different sample table
@@ -175,7 +175,7 @@ TRAF_SAMPLE_08256920717490504707_1499123287_739643
OBJECT_NAME SAMPLE_NAME REASON LAST_WHERE_PREDICATE
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_08256920717490504707_1499123287_739643 M
+STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_04737367368240681236_1508882785_656325 M
--- 1 row(s) selected.
>>-- should see one row
@@ -222,7 +222,7 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_08256920717490504707_1499123343_842843
+TRAF_SAMPLE_04737367368240681236_1508882823_902847
--- SQL operation complete.
>> -- should be stest, stest_empty, stestc, sb_* tables + another sample table
@@ -232,7 +232,7 @@ TRAF_SAMPLE_08256920717490504707_1499123343_842843
OBJECT_NAME SAMPLE_NAME REASON LAST_WHERE_PREDICATE
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_08256920717490504707_1499123343_842843 I
+STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_04737367368240681236_1508882823_902847 I
--- 1 row(s) selected.
>>-- should see one row
@@ -256,7 +256,7 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_08256920717490504707_1499123383_331045
+TRAF_SAMPLE_04737367368240681236_1508882873_484291
--- SQL operation complete.
>> -- should be stest, stest_empty, stestc, sb_* tables + another sample table
@@ -266,7 +266,7 @@ TRAF_SAMPLE_08256920717490504707_1499123383_331045
OBJECT_NAME SAMPLE_NAME REASON LAST_WHERE_PREDICATE
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_08256920717490504707_1499123383_331045 I
+STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_04737367368240681236_1508882873_484291 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_08256920717490504707_1499123383_331045 I c1 >= 100000
+STEST TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_04737367368240681236_1508882873_484291 I c1 >= 100000
--- 1 row(s) selected.
>>
@@ -384,8 +384,8 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_08256920717490504707_1499123383_331045
-TRAF_SAMPLE_08256920717490506747_1499123452_066783
+TRAF_SAMPLE_04737367368240681236_1508882873_484291
+TRAF_SAMPLE_04737367368240683297_1508882959_040281
--- SQL operation complete.
>>
@@ -394,7 +394,7 @@ TRAF_SAMPLE_08256920717490506747_1499123452_066783
OBJECT_NAME SAMPLE_NAME REASON LAST_WHERE_PREDICATE
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-STESTC TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_08256920717490506747_1499123452_066783 I c1 >= 'naaaa'
+STESTC TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_04737367368240683297_1508882959_040281 I c1 >= 'naaaa'
--- 1 row(s) selected.
>>
@@ -419,8 +419,8 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_08256920717490504707_1499123383_331045
-TRAF_SAMPLE_08256920717490506747_1499123452_066783
+TRAF_SAMPLE_04737367368240681236_1508882873_484291
+TRAF_SAMPLE_04737367368240683297_1508882959_040281
--- SQL operation complete.
>> -- should be the same as previous "get tables"
@@ -447,8 +447,8 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_08256920717490504707_1499123383_331045
-TRAF_SAMPLE_08256920717490506747_1499123452_066783
+TRAF_SAMPLE_04737367368240681236_1508882873_484291
+TRAF_SAMPLE_04737367368240683297_1508882959_040281
--- SQL operation complete.
>> -- should be the same as previous "get tables"
@@ -476,8 +476,8 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_08256920717490504707_1499123383_331045
-TRAF_SAMPLE_08256920717490506747_1499123452_066783
+TRAF_SAMPLE_04737367368240681236_1508882873_484291
+TRAF_SAMPLE_04737367368240683297_1508882959_040281
--- SQL operation complete.
>> -- should be the same as previous "get tables"
@@ -488,10 +488,10 @@ TRAF_SAMPLE_08256920717490506747_1499123452_066783
*** 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_08256920717490
-504707_1499123383_331045_I (SELECT * FROM TRAFODION.COMPGENERAL_TEST023.STEST W
-HERE 1 SAMPLE RANDOM 9.963000 PERCENT );
- ^ (180 characters from start of SQL statement)
+UPSERT USING LOAD INTO TRAFODION.COMPGENERAL_TEST023.TRAF_SAMPLE_04737367368240
+681236_1508882873_484291_I (SELECT "C1", "C2", "C3" FROM TRAFODION.COMPGENERAL_
+TEST023.STEST WHERE 1 SAMPLE RANDOM 9.943000 PERCENT );
+ ^ (195 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_08256920717490504707_1499123383_331045
-TRAF_SAMPLE_08256920717490506747_1499123452_066783
+TRAF_SAMPLE_04737367368240681236_1508882873_484291
+TRAF_SAMPLE_04737367368240683297_1508882959_040281
--- SQL operation complete.
>> -- should be the same as previous "get tables"
@@ -560,7 +560,7 @@ SB_PERSISTENT_SAMPLES
STEST
STESTC
STEST_EMPTY
-TRAF_SAMPLE_08256920717490504707_1499123383_331045
+TRAF_SAMPLE_04737367368240681236_1508882873_484291
--- 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/328c1b2c/core/sql/sqlcomp/CmpDescribe.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpDescribe.cpp b/core/sql/sqlcomp/CmpDescribe.cpp
index d731faf..6386ec5 100644
--- a/core/sql/sqlcomp/CmpDescribe.cpp
+++ b/core/sql/sqlcomp/CmpDescribe.cpp
@@ -201,6 +201,7 @@ short CmpDescribeSeabaseTable (
NABoolean withoutSalt = FALSE,
NABoolean withoutDivisioning = FALSE,
NABoolean withoutRowFormat = FALSE,
+ NABoolean withoutLobColumns = FALSE,
UInt32 columnLengthLimit = UINT_MAX,
NABoolean noTrailingSemi = FALSE,
@@ -2472,6 +2473,7 @@ short CmpDescribeHiveTable (
dummyBuf, dummyLen, heap,
NULL,
TRUE, FALSE, FALSE, FALSE,
+ FALSE,
UINT_MAX, TRUE,
NULL, 0, NULL, NULL, &space);
@@ -2747,6 +2749,7 @@ short cmpDisplayColumns(const NAColumnArray & naColArr,
Lng32 &identityColPos,
NABoolean isExternalTable,
NABoolean isAlignedRowFormat,
+ NABoolean omitLobColumns = FALSE,
char * inColName = NULL,
short ada = 0, // 0,add. 1,drop. 2,alter
const NAColumn * nacol = NULL,
@@ -2767,6 +2770,12 @@ short cmpDisplayColumns(const NAColumnArray & naColArr,
continue;
}
+ if (omitLobColumns &&
+ (nac->getType()->isLob()))
+ {
+ continue;
+ }
+
const NAString &colName = nac->getColName();
if ((inColName) && (ada == 1))
@@ -2894,6 +2903,7 @@ short CmpDescribeSeabaseTable (
NABoolean withoutSalt,
NABoolean withoutDivisioning,
NABoolean withoutRowFormat,
+ NABoolean withoutLobColumns,
UInt32 columnLengthLimit,
NABoolean noTrailingSemi,
char * colName,
@@ -3155,6 +3165,7 @@ short CmpDescribeSeabaseTable (
identityColPos,
(isExternalTable && (NOT isHbaseMapTable)),
naTable->isSQLMXAlignedTable(),
+ withoutLobColumns,
colName, ada, nacol, natype,
columnLengthLimit,
&truncatedColumnList);
@@ -3557,7 +3568,8 @@ short CmpDescribeSeabaseTable (
(type == 2),
dummy,
isExternalTable,
- isAligned);
+ isAligned,
+ withoutLobColumns);
outputShortLine(*space, " )");
sprintf(buf, " PRIMARY KEY ");
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/328c1b2c/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
index 177f7b5..bc33864 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
@@ -69,6 +69,7 @@ extern short CmpDescribeSeabaseTable (
NABoolean withoutSalt = FALSE,
NABoolean withoutDivisioning = FALSE,
NABoolean withoutRowFormat = FALSE,
+ NABoolean withoutLobColumns = FALSE,
UInt32 columnLengthLimit = UINT_MAX,
NABoolean noTrailingSemi = FALSE,
@@ -386,6 +387,7 @@ void CmpSeabaseDDL::createSeabaseTableLike(ExeCliInterface * cliInterface,
likeOptions.getIsWithoutSalt(),
likeOptions.getIsWithoutDivision(),
likeOptions.getIsWithoutRowFormat(),
+ likeOptions.getIsWithoutLobColumns(),
likeOptions.getIsLikeOptColumnLengthLimit(),
TRUE);
if (retcode)
@@ -5164,6 +5166,7 @@ short CmpSeabaseDDL::createSeabaseTableLike2(
NULL,
withPartns, withoutSalt, withoutDivision,
withoutRowFormat,
+ FALSE, // include LOB columns (if any)
UINT_MAX,
TRUE);
if (retcode)
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/328c1b2c/core/sql/ustat/hs_cli.cpp
----------------------------------------------------------------------
diff --git a/core/sql/ustat/hs_cli.cpp b/core/sql/ustat/hs_cli.cpp
index 22fce96..777a92b 100644
--- a/core/sql/ustat/hs_cli.cpp
+++ b/core/sql/ustat/hs_cli.cpp
@@ -602,7 +602,7 @@ Lng32 HSSample::create(NAString& tblName, NABoolean unpartitioned, NABoolean isP
NAString userLocation;
ComObjectName *sampleName;
- NAString tableOptions;
+ NAString tableOptions = " WITHOUT LOB COLUMNS";
HSTranMan *TM = HSTranMan::Instance();
if (objDef->getObjectFormat() == SQLMX)
@@ -611,7 +611,7 @@ Lng32 HSSample::create(NAString& tblName, NABoolean unpartitioned, NABoolean isP
// Do not emit the WITH PARTITIONS clause for native table.
// Rather, the SALT USING clause will be used.
if ( !isNativeTable )
- tableOptions = " WITH PARTITIONS";
+ tableOptions += " WITH PARTITIONS";
if (hs_globals->hasOversizedColumns)
{
// We will be truncating some columns when populating the sample table,
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/328c1b2c/core/sql/ustat/hs_globals.cpp
----------------------------------------------------------------------
diff --git a/core/sql/ustat/hs_globals.cpp b/core/sql/ustat/hs_globals.cpp
index e89eef4..b73b31b 100644
--- a/core/sql/ustat/hs_globals.cpp
+++ b/core/sql/ustat/hs_globals.cpp
@@ -4276,15 +4276,10 @@ Lng32 HSSample::make(NABoolean rowCountIsEstimate, // input
dml = insertType;
dml += sampleTable;
dml += " SELECT ";
- if (hs_globals->hasOversizedColumns)
- {
- // The source table has an oversized column. We have to generate
- // SUBSTRING calls on such columns to fit them into the sample
- // table.
- objDef->addTruncatedSelectList(dml);
- }
- else
- dml += "*";
+
+ // Generate the select list. Truncate any over-long char/varchar columns
+ // by using SUBSTRING calls. Omit any LOB columns.
+ objDef->addTruncatedSelectList(dml);
dml += " FROM ";
@@ -12636,15 +12631,11 @@ void HSGlobalsClass::generateIUSSelectInsertQuery(const NAString& smplTable,
queryText.append("UPSERT USING LOAD INTO "); // for algorithm 1
queryText.append(smplTable.data());
queryText.append(" (SELECT ");
- if (hasOversizedColumns)
- {
- // The source table has an oversized column. We have to generate
- // SUBSTRING calls on such columns to fit them into the sample
- // table.
- objDef->addTruncatedSelectList(queryText);
- }
- else
- queryText.append("*");
+
+ // Generate the select list. Truncate any over-long char/varchar columns
+ // by using SUBSTRING calls. Omit any LOB columns.
+ objDef->addTruncatedSelectList(queryText);
+
queryText.append(" FROM ");
if (CmpCommon::getDefault(USTAT_INCREMENTAL_UPDATE_STATISTICS) == DF_ON)
@@ -16354,15 +16345,11 @@ HSInMemoryTable::generateInsertSelectIQuery(NAString& targetTable,
queryText.append(targetTable.data());
queryText.append(" (SELECT ");
- if (hasOversizedColumns)
- {
- // The source table has an oversized column. We have to generate
- // SUBSTRING calls on such columns to fit them into the sample
- // table.
- objDef->addTruncatedSelectList(queryText);
- }
- else
- queryText.append("*");
+
+ // Generate the select list. Truncate any over-long char/varchar columns
+ // by using SUBSTRING calls. Omit any LOB columns.
+ objDef->addTruncatedSelectList(queryText);
+
queryText.append(" FROM ");
queryText.append(sourceTable.data());
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/328c1b2c/core/sql/ustat/hs_la.cpp
----------------------------------------------------------------------
diff --git a/core/sql/ustat/hs_la.cpp b/core/sql/ustat/hs_la.cpp
index b95f3b6..6609873 100644
--- a/core/sql/ustat/hs_la.cpp
+++ b/core/sql/ustat/hs_la.cpp
@@ -1357,7 +1357,7 @@ Lng32 HSHbaseTableDef::DescribeColumnNames()
// column references or a SUBSTRING
// on column references which truncates the
// column to the maximum length allowed in
-// UPDATE STATISTICS.
+// UPDATE STATISTICS. Also skips LOB columns.
//
// INPUT: 'qry' - the SQL query string to append the
// select list to.
@@ -1367,6 +1367,9 @@ void HSTableDef::addTruncatedSelectList(NAString & qry)
bool first = true;
for (Lng32 i = 0; i < getNumCols(); i++)
{
+ if (DFS2REC::isLOB(getColInfo(i).datatype)) // skip LOB columns
+ continue;
+
if (!ComTrafReservedColName(*getColInfo(i).colname))
{
if (!first)
[2/2] incubator-trafodion git commit: Merge [TRAFODION-2781] PR 1276
Omit LOB cols from update stats sample tables
Posted by db...@apache.org.
Merge [TRAFODION-2781] PR 1276 Omit LOB cols from update stats sample tables
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/6b07d620
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/6b07d620
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/6b07d620
Branch: refs/heads/master
Commit: 6b07d620ed28929068360e386105c3d2efc18f32
Parents: ea24774 328c1b2
Author: Dave Birdsall <db...@apache.org>
Authored: Wed Oct 25 21:37:08 2017 +0000
Committer: Dave Birdsall <db...@apache.org>
Committed: Wed Oct 25 21:37:08 2017 +0000
----------------------------------------------------------------------
core/sql/common/OperTypeEnum.h | 1 +
core/sql/parser/ElemDDLLikeOptions.cpp | 26 ++++++++++++
core/sql/parser/ElemDDLLikeOptions.h | 28 +++++++++++++
core/sql/parser/ElemDDLNode.cpp | 5 +++
core/sql/parser/ElemDDLNode.h | 2 +
core/sql/parser/ParDDLLikeOpts.cpp | 16 ++++++++
core/sql/parser/ParDDLLikeOptsCreateTable.h | 14 +++++++
core/sql/parser/sqlparser.y | 5 +++
core/sql/regress/compGeneral/EXPECTED023 | 50 ++++++++++++------------
core/sql/sqlcomp/CmpDescribe.cpp | 14 ++++++-
core/sql/sqlcomp/CmpSeabaseDDLtable.cpp | 3 ++
core/sql/ustat/hs_cli.cpp | 4 +-
core/sql/ustat/hs_globals.cpp | 41 +++++++------------
core/sql/ustat/hs_la.cpp | 5 ++-
14 files changed, 158 insertions(+), 56 deletions(-)
----------------------------------------------------------------------