1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

MCOL-104 First pass of InfiniDB rename in code

This commit is contained in:
Andrew Hutchings
2019-08-12 09:41:28 +01:00
parent 7b006b6e74
commit 9d83b49fca
35 changed files with 170 additions and 170 deletions

8
README
View File

@ -1,9 +1,9 @@
This is MariaDB ColumnStore 1.2 This is MariaDB ColumnStore 1.4
MariaDB ColumnStore 1.2 is the GA version of MariaDB ColumnStore. MariaDB ColumnStore 1.4 is the GA version of MariaDB ColumnStore.
It is built by porting InfiniDB 4.6.7 on MariaDB 10.2 and adding entirely It is built by porting InfiniDB 4.6.7 on MariaDB and adding entirely
new features not found anywhere else. new features not found anywhere else.
MariaDB ColumnStore 1.2 is a GA. MariaDB ColumnStore 1.4 is a Alpha.
Additional features will be pushed in future releases. Additional features will be pushed in future releases.
A few things to notice: A few things to notice:

View File

@ -269,28 +269,28 @@ const CalpontSystemCatalog::TableName make_table(const string& s, const string&
return tn; return tn;
} }
const CalpontSystemCatalog::TableAliasName make_aliastable(const string& s, const string& t, const string& a, const bool isInfiniDB) const CalpontSystemCatalog::TableAliasName make_aliastable(const string& s, const string& t, const string& a, const bool isColumnStore)
{ {
CalpontSystemCatalog::TableAliasName tn; CalpontSystemCatalog::TableAliasName tn;
tn.schema = s; tn.schema = s;
tn.table = t; tn.table = t;
tn.alias = a; tn.alias = a;
tn.view = ""; tn.view = "";
tn.fIsInfiniDB = isInfiniDB; tn.fisColumnStore = isColumnStore;
transform (tn.schema.begin(), tn.schema.end(), tn.schema.begin(), to_lower()); transform (tn.schema.begin(), tn.schema.end(), tn.schema.begin(), to_lower());
transform (tn.table.begin(), tn.table.end(), tn.table.begin(), to_lower()); transform (tn.table.begin(), tn.table.end(), tn.table.begin(), to_lower());
transform (tn.alias.begin(), tn.alias.end(), tn.alias.begin(), to_lower()); transform (tn.alias.begin(), tn.alias.end(), tn.alias.begin(), to_lower());
return tn; return tn;
} }
const CalpontSystemCatalog::TableAliasName make_aliasview(const string& s, const string& t, const string& a, const string& v, const bool isInfiniDB) const CalpontSystemCatalog::TableAliasName make_aliasview(const string& s, const string& t, const string& a, const string& v, const bool isColumnStore)
{ {
CalpontSystemCatalog::TableAliasName tn; CalpontSystemCatalog::TableAliasName tn;
tn.schema = s; tn.schema = s;
tn.table = t; tn.table = t;
tn.alias = a; tn.alias = a;
tn.view = v; tn.view = v;
tn.fIsInfiniDB = isInfiniDB; tn.fisColumnStore = isColumnStore;
transform (tn.schema.begin(), tn.schema.end(), tn.schema.begin(), to_lower()); transform (tn.schema.begin(), tn.schema.end(), tn.schema.begin(), to_lower());
transform (tn.table.begin(), tn.table.end(), tn.table.begin(), to_lower()); transform (tn.table.begin(), tn.table.end(), tn.table.begin(), to_lower());
transform (tn.alias.begin(), tn.alias.end(), tn.alias.begin(), to_lower()); transform (tn.alias.begin(), tn.alias.end(), tn.alias.begin(), to_lower());
@ -380,7 +380,7 @@ bool CalpontSystemCatalog::TableAliasName::operator<(const TableAliasName& rhs)
} }
else if (view == rhs.view) else if (view == rhs.view)
{ {
if (fIsInfiniDB < rhs.fIsInfiniDB) if (fisColumnStore < rhs.fisColumnStore)
return true; return true;
} }
} }
@ -396,7 +396,7 @@ void CalpontSystemCatalog::TableAliasName::serialize(messageqcpp::ByteStream& b)
b << table; b << table;
b << alias; b << alias;
b << view; b << view;
b << static_cast<const ByteStream::doublebyte>(fIsInfiniDB); b << static_cast<const ByteStream::doublebyte>(fisColumnStore);
} }
void CalpontSystemCatalog::TableAliasName::unserialize(messageqcpp::ByteStream& b) void CalpontSystemCatalog::TableAliasName::unserialize(messageqcpp::ByteStream& b)
@ -405,7 +405,7 @@ void CalpontSystemCatalog::TableAliasName::unserialize(messageqcpp::ByteStream&
b >> table; b >> table;
b >> alias; b >> alias;
b >> view; b >> view;
b >> reinterpret_cast< ByteStream::doublebyte&>(fIsInfiniDB); b >> reinterpret_cast< ByteStream::doublebyte&>(fisColumnStore);
} }
/*static*/ /*static*/
@ -5649,7 +5649,7 @@ const string CalpontSystemCatalog::TableName::toString() const
ostream& operator<<(ostream& os, const CalpontSystemCatalog::TableAliasName& rhs) ostream& operator<<(ostream& os, const CalpontSystemCatalog::TableAliasName& rhs)
{ {
os << rhs.schema << '.' << rhs.table << "(" << rhs.alias << "/" << rhs.view os << rhs.schema << '.' << rhs.table << "(" << rhs.alias << "/" << rhs.view
<< ") engineType=" << (rhs.fIsInfiniDB ? "ColumnStore" : "ForeignEngine"); << ") engineType=" << (rhs.fisColumnStore ? "ColumnStore" : "ForeignEngine");
return os; return os;
} }

View File

@ -429,16 +429,16 @@ public:
*/ */
struct TableAliasName struct TableAliasName
{ {
TableAliasName (): fIsInfiniDB (true) {} TableAliasName (): fisColumnStore (true) {}
TableAliasName (std::string sch, std::string tb, std::string al) : TableAliasName (std::string sch, std::string tb, std::string al) :
schema (sch), table (tb), alias (al), fIsInfiniDB(true) {} schema (sch), table (tb), alias (al), fisColumnStore(true) {}
TableAliasName (std::string sch, std::string tb, std::string al, std::string v) : TableAliasName (std::string sch, std::string tb, std::string al, std::string v) :
schema (sch), table (tb), alias (al), view(v), fIsInfiniDB(true) {} schema (sch), table (tb), alias (al), view(v), fisColumnStore(true) {}
std::string schema; std::string schema;
std::string table; std::string table;
std::string alias; std::string alias;
std::string view; std::string view;
bool fIsInfiniDB; bool fisColumnStore;
void clear(); void clear();
bool operator<(const TableAliasName& rhs) const; bool operator<(const TableAliasName& rhs) const;
bool operator>=(const TableAliasName& rhs) const bool operator>=(const TableAliasName& rhs) const
@ -451,7 +451,7 @@ public:
table == rhs.table && table == rhs.table &&
alias == rhs.alias && alias == rhs.alias &&
view == rhs.view && view == rhs.view &&
fIsInfiniDB == rhs.fIsInfiniDB); fisColumnStore == rhs.fisColumnStore);
} }
bool operator!=(const TableAliasName& rhs) const bool operator!=(const TableAliasName& rhs) const
{ {
@ -962,8 +962,8 @@ const CalpontSystemCatalog::TableColName make_tcn(const std::string& s, const st
*/ */
const CalpontSystemCatalog::TableName make_table(const std::string& s, const std::string& t); const CalpontSystemCatalog::TableName make_table(const std::string& s, const std::string& t);
const CalpontSystemCatalog::TableAliasName make_aliastable(const std::string& s, const std::string& t, const std::string& a, const CalpontSystemCatalog::TableAliasName make_aliastable(const std::string& s, const std::string& t, const std::string& a,
const bool fIsInfiniDB = true); const bool fisColumnStore = true);
const CalpontSystemCatalog::TableAliasName make_aliasview(const std::string& s, const std::string& t, const std::string& a, const std::string& v, const bool fIsInfiniDB = true); const CalpontSystemCatalog::TableAliasName make_aliasview(const std::string& s, const std::string& t, const std::string& a, const std::string& v, const bool fisColumnStore = true);
/** convenience function to determine if column type is a char /** convenience function to determine if column type is a char
* type * type

View File

@ -72,10 +72,10 @@ PseudoColumn::PseudoColumn(const string& schemaName,
PseudoColumn::PseudoColumn(const string& schemaName, PseudoColumn::PseudoColumn(const string& schemaName,
const string& tableName, const string& tableName,
const string& columnName, const string& columnName,
const bool isInfiniDB, const bool isColumnStore,
const uint32_t pseudoType, const uint32_t pseudoType,
const uint32_t sessionID): const uint32_t sessionID):
SimpleColumn(schemaName, tableName, columnName, isInfiniDB, sessionID), SimpleColumn(schemaName, tableName, columnName, isColumnStore, sessionID),
fPseudoType(pseudoType) fPseudoType(pseudoType)
{ {
adjustResultType(); adjustResultType();
@ -122,7 +122,7 @@ PseudoColumn& PseudoColumn::operator=(const PseudoColumn& rhs)
fData = rhs.data(); fData = rhs.data();
fSequence = rhs.sequence(); fSequence = rhs.sequence();
fDistinct = rhs.distinct(); fDistinct = rhs.distinct();
fIsInfiniDB = rhs.isInfiniDB(); fisColumnStore = rhs.isColumnStore();
fPseudoType = rhs.pseudoType(); fPseudoType = rhs.pseudoType();
} }
@ -155,7 +155,7 @@ const string PseudoColumn::toString() const
<< cardinality() << '/' << cardinality() << '/'
<< joinInfo() << '/' << joinInfo() << '/'
<< colSource() << '/' << colSource() << '/'
<< (isInfiniDB() ? "ColumnStore" : "ForeignEngine") << endl; << (isColumnStore() ? "ColumnStore" : "ForeignEngine") << endl;
output << "Pseudotype=" << fPseudoType << endl; output << "Pseudotype=" << fPseudoType << endl;
return output.str(); return output.str();

View File

@ -78,7 +78,7 @@ public:
PseudoColumn(const std::string& schema, PseudoColumn(const std::string& schema,
const std::string& table, const std::string& table,
const std::string& col, const std::string& col,
const bool isInfiniDB, const bool isColumnStore,
const uint32_t pseudoType, const uint32_t pseudoType,
const uint32_t sessionID = 0); const uint32_t sessionID = 0);
PseudoColumn(const SimpleColumn& rhs, const uint32_t pseudoType, const uint32_t sessionID = 0); PseudoColumn(const SimpleColumn& rhs, const uint32_t pseudoType, const uint32_t sessionID = 0);

View File

@ -139,7 +139,7 @@ ParseTree* replaceRefCol(ParseTree*& n, CalpontSelectExecutionPlan::ReturnedColu
SimpleColumn::SimpleColumn(): SimpleColumn::SimpleColumn():
ReturnedColumn(), ReturnedColumn(),
fOid (0), fOid (0),
fIsInfiniDB (true) fisColumnStore (true)
{ {
fDistinct = false; fDistinct = false;
} }
@ -148,7 +148,7 @@ SimpleColumn::SimpleColumn(const string& token, const uint32_t sessionID):
ReturnedColumn(sessionID), ReturnedColumn(sessionID),
fOid (0), fOid (0),
fData(token), fData(token),
fIsInfiniDB (true) fisColumnStore (true)
{ {
parse (token); parse (token);
setOID(); setOID();
@ -163,7 +163,7 @@ SimpleColumn::SimpleColumn(const string& schemaName,
fSchemaName (schemaName), fSchemaName (schemaName),
fTableName (tableName), fTableName (tableName),
fColumnName (columnName), fColumnName (columnName),
fIsInfiniDB (true) fisColumnStore (true)
{ {
setOID(); setOID();
fDistinct = false; fDistinct = false;
@ -172,15 +172,15 @@ SimpleColumn::SimpleColumn(const string& schemaName,
SimpleColumn::SimpleColumn(const string& schemaName, SimpleColumn::SimpleColumn(const string& schemaName,
const string& tableName, const string& tableName,
const string& columnName, const string& columnName,
const bool isInfiniDB, const bool isColumnStore,
const uint32_t sessionID): const uint32_t sessionID):
ReturnedColumn(sessionID), ReturnedColumn(sessionID),
fSchemaName (schemaName), fSchemaName (schemaName),
fTableName (tableName), fTableName (tableName),
fColumnName (columnName), fColumnName (columnName),
fIsInfiniDB (isInfiniDB) fisColumnStore (isColumnStore)
{ {
if (isInfiniDB) if (isColumnStore)
setOID(); setOID();
fDistinct = false; fDistinct = false;
@ -197,7 +197,7 @@ SimpleColumn::SimpleColumn (const SimpleColumn& rhs, const uint32_t sessionID):
fIndexName (rhs.indexName()), fIndexName (rhs.indexName()),
fViewName (rhs.viewName()), fViewName (rhs.viewName()),
fTimeZone (rhs.timeZone()), fTimeZone (rhs.timeZone()),
fIsInfiniDB (rhs.isInfiniDB()) fisColumnStore (rhs.isColumnStore())
{ {
} }
@ -234,7 +234,7 @@ SimpleColumn& SimpleColumn::operator=(const SimpleColumn& rhs)
fData = rhs.data(); fData = rhs.data();
fSequence = rhs.sequence(); fSequence = rhs.sequence();
fDistinct = rhs.distinct(); fDistinct = rhs.distinct();
fIsInfiniDB = rhs.isInfiniDB(); fisColumnStore = rhs.isColumnStore();
} }
return *this; return *this;
@ -264,7 +264,7 @@ const string SimpleColumn::toString() const
<< cardinality() << '/' << cardinality() << '/'
<< joinInfo() << '/' << joinInfo() << '/'
<< colSource() << '/' << colSource() << '/'
<< (isInfiniDB() ? "ColumnStore" : "ForeignEngine") << '/' << (isColumnStore() ? "ColumnStore" : "ForeignEngine") << '/'
<< colPosition() << endl; << colPosition() << endl;
return output.str(); return output.str();
@ -352,7 +352,7 @@ void SimpleColumn::serialize(messageqcpp::ByteStream& b) const
b << fData; b << fData;
b << fTableAlias; b << fTableAlias;
b << (uint32_t) fSequence; b << (uint32_t) fSequence;
b << static_cast<const ByteStream::doublebyte>(fIsInfiniDB); b << static_cast<const ByteStream::doublebyte>(fisColumnStore);
} }
void SimpleColumn::unserialize(messageqcpp::ByteStream& b) void SimpleColumn::unserialize(messageqcpp::ByteStream& b)
@ -369,7 +369,7 @@ void SimpleColumn::unserialize(messageqcpp::ByteStream& b)
b >> fData; b >> fData;
b >> fTableAlias; b >> fTableAlias;
b >> (uint32_t&) fSequence; b >> (uint32_t&) fSequence;
b >> reinterpret_cast< ByteStream::doublebyte&>(fIsInfiniDB); b >> reinterpret_cast< ByteStream::doublebyte&>(fisColumnStore);
} }
bool SimpleColumn::operator==(const SimpleColumn& t) const bool SimpleColumn::operator==(const SimpleColumn& t) const
@ -412,7 +412,7 @@ bool SimpleColumn::operator==(const SimpleColumn& t) const
if (fReturnAll != t.fReturnAll) if (fReturnAll != t.fReturnAll)
return false; return false;
if (fIsInfiniDB != t.fIsInfiniDB) if (fisColumnStore != t.fisColumnStore)
return false; return false;
return true; return true;
@ -452,7 +452,7 @@ bool SimpleColumn::sameColumn(const ReturnedColumn* rc) const
fColumnName.compare(sc->columnName()) == 0 && fColumnName.compare(sc->columnName()) == 0 &&
fTableAlias.compare(sc->tableAlias()) == 0 && fTableAlias.compare(sc->tableAlias()) == 0 &&
fViewName.compare(sc->viewName()) == 0 && fViewName.compare(sc->viewName()) == 0 &&
fIsInfiniDB == sc->isInfiniDB()); fisColumnStore == sc->isColumnStore());
} }
void SimpleColumn::setDerivedTable() void SimpleColumn::setDerivedTable()

View File

@ -70,7 +70,7 @@ public:
SimpleColumn(const std::string& schema, SimpleColumn(const std::string& schema,
const std::string& table, const std::string& table,
const std::string& col, const std::string& col,
const bool isInfiniDB, const bool isColumnStore,
const uint32_t sessionID = 0); const uint32_t sessionID = 0);
SimpleColumn(const SimpleColumn& rhs, const uint32_t sessionID = 0); SimpleColumn(const SimpleColumn& rhs, const uint32_t sessionID = 0);
@ -160,13 +160,13 @@ public:
{ {
fTimeZone = timeZone; fTimeZone = timeZone;
} }
inline const bool isInfiniDB() const inline const bool isColumnStore() const
{ {
return fIsInfiniDB; return fisColumnStore;
} }
inline void isInfiniDB(const bool isInfiniDB) inline void isColumnStore(const bool isColumnStore)
{ {
fIsInfiniDB = isInfiniDB; fisColumnStore = isColumnStore;
} }
/** return a copy of this pointer /** return a copy of this pointer
@ -261,7 +261,7 @@ protected:
// if belong to view, view name is non-empty // if belong to view, view name is non-empty
std::string fViewName; std::string fViewName;
std::string fTimeZone; std::string fTimeZone;
bool fIsInfiniDB; bool fisColumnStore;
/** @brief parse SimpleColumn text /** @brief parse SimpleColumn text
* *

View File

@ -60,7 +60,7 @@ public:
SimpleColumn_Decimal(const std::string& schema, SimpleColumn_Decimal(const std::string& schema,
const std::string& table, const std::string& table,
const std::string& col, const std::string& col,
const bool isInfiniDB, const bool isColumnStore,
const uint32_t sessionID = 0); const uint32_t sessionID = 0);
SimpleColumn_Decimal(const SimpleColumn& rhs, const uint32_t sessionID = 0); SimpleColumn_Decimal(const SimpleColumn& rhs, const uint32_t sessionID = 0);
@ -107,9 +107,9 @@ template<int len>
SimpleColumn_Decimal<len>::SimpleColumn_Decimal(const std::string& schema, SimpleColumn_Decimal<len>::SimpleColumn_Decimal(const std::string& schema,
const std::string& table, const std::string& table,
const std::string& col, const std::string& col,
const bool isInfiniDB, const bool isColumnStore,
const uint32_t sessionID) : const uint32_t sessionID) :
SimpleColumn(schema, table, col, isInfiniDB, sessionID) SimpleColumn(schema, table, col, isColumnStore, sessionID)
{ {
setNullVal(); setNullVal();
} }

View File

@ -58,7 +58,7 @@ public:
SimpleColumn_INT(const std::string& schema, SimpleColumn_INT(const std::string& schema,
const std::string& table, const std::string& table,
const std::string& col, const std::string& col,
const bool isInfiniDB, const bool isColumnStore,
const uint32_t sessionID = 0); const uint32_t sessionID = 0);
SimpleColumn_INT(const SimpleColumn& rhs, const uint32_t sessionID = 0); SimpleColumn_INT(const SimpleColumn& rhs, const uint32_t sessionID = 0);
@ -106,9 +106,9 @@ template<int len>
SimpleColumn_INT<len>::SimpleColumn_INT(const std::string& schema, SimpleColumn_INT<len>::SimpleColumn_INT(const std::string& schema,
const std::string& table, const std::string& table,
const std::string& col, const std::string& col,
const bool isInfiniDB, const bool isColumnStore,
const uint32_t sessionID) : const uint32_t sessionID) :
SimpleColumn(schema, table, col, isInfiniDB, sessionID) SimpleColumn(schema, table, col, isColumnStore, sessionID)
{ {
setNullVal(); setNullVal();
} }

View File

@ -58,7 +58,7 @@ public:
SimpleColumn_UINT(const std::string& schema, SimpleColumn_UINT(const std::string& schema,
const std::string& table, const std::string& table,
const std::string& col, const std::string& col,
const bool isInfiniDB, const bool isColumnStore,
const uint32_t sessionID = 0); const uint32_t sessionID = 0);
SimpleColumn_UINT(const SimpleColumn& rhs, const uint32_t sessionID = 0); SimpleColumn_UINT(const SimpleColumn& rhs, const uint32_t sessionID = 0);
@ -106,9 +106,9 @@ template<int len>
SimpleColumn_UINT<len>::SimpleColumn_UINT(const std::string& schema, SimpleColumn_UINT<len>::SimpleColumn_UINT(const std::string& schema,
const std::string& table, const std::string& table,
const std::string& col, const std::string& col,
const bool isInfiniDB, const bool isColumnStore,
const uint32_t sessionID) : const uint32_t sessionID) :
SimpleColumn(schema, table, col, isInfiniDB, sessionID) SimpleColumn(schema, table, col, isColumnStore, sessionID)
{ {
setNullVal(); setNullVal();
} }

View File

@ -387,7 +387,7 @@ void ExpressionStep::populateColumnInfo(SimpleColumn* sc, JobInfo& jobInfo)
sc->oid(tblOid + 1 + sc->colPosition()); sc->oid(tblOid + 1 + sc->colPosition());
ct = sc->resultType(); ct = sc->resultType();
} }
else if (sc->isInfiniDB() == false) else if (sc->isColumnStore() == false)
{ {
ct = sc->colType(); ct = sc->colType();
} }
@ -515,7 +515,7 @@ void ExpressionStep::updateInputIndex(map<uint32_t, uint32_t>& indexMap, const J
{ {
ct = sc->resultType(); ct = sc->resultType();
} }
else if (sc->isInfiniDB() == false) else if (sc->isColumnStore() == false)
{ {
ct = sc->colType(); ct = sc->colType();
} }

View File

@ -378,7 +378,7 @@ CalpontSystemCatalog::OID tableOid(const SimpleColumn* sc, boost::shared_ptr<Cal
if (sc->schemaName().empty()) if (sc->schemaName().empty())
return execplan::CNX_VTABLE_ID; return execplan::CNX_VTABLE_ID;
if (sc->isInfiniDB() == false) if (sc->isColumnStore() == false)
return 0; return 0;
CalpontSystemCatalog::ROPair p = cat->tableRID(make_table(sc->schemaName(), CalpontSystemCatalog::ROPair p = cat->tableRID(make_table(sc->schemaName(),
@ -395,7 +395,7 @@ uint32_t getTupleKey(const JobInfo& jobInfo,
return getTupleKey_(jobInfo, sc->oid(), sc->columnName(), extractTableAlias(sc), return getTupleKey_(jobInfo, sc->oid(), sc->columnName(), extractTableAlias(sc),
sc->schemaName(), sc->viewName(), sc->schemaName(), sc->viewName(),
((sc->joinInfo() & execplan::JOIN_CORRELATED) != 0), ((sc->joinInfo() & execplan::JOIN_CORRELATED) != 0),
pseudoType, (sc->isInfiniDB() ? 0 : 1)); pseudoType, (sc->isColumnStore() ? 0 : 1));
} }
@ -503,7 +503,7 @@ uint32_t makeTableKey(JobInfo& jobInfo, const execplan::SimpleColumn* sc)
{ {
CalpontSystemCatalog::OID o = tableOid(sc, jobInfo.csc); CalpontSystemCatalog::OID o = tableOid(sc, jobInfo.csc);
return uniqTupleKey(jobInfo, o, o, "", "", sc->tableName(), extractTableAlias(sc), return uniqTupleKey(jobInfo, o, o, "", "", sc->tableName(), extractTableAlias(sc),
sc->schemaName(), sc->viewName(), 0, (sc->isInfiniDB() ? 0 : 1), sc->schemaName(), sc->viewName(), 0, (sc->isColumnStore() ? 0 : 1),
((sc->joinInfo() & execplan::JOIN_CORRELATED) != 0)); ((sc->joinInfo() & execplan::JOIN_CORRELATED) != 0));
} }
@ -561,7 +561,7 @@ TupleInfo setTupleInfo(const execplan::CalpontSystemCatalog::ColType& ct,
return setTupleInfo_(ct, col_oid, jobInfo, tbl_oid, sc->columnName(), sc->alias(), return setTupleInfo_(ct, col_oid, jobInfo, tbl_oid, sc->columnName(), sc->alias(),
sc->schemaName(), sc->tableName(), alias, sc->viewName(), sc->schemaName(), sc->tableName(), alias, sc->viewName(),
((sc->joinInfo() & execplan::JOIN_CORRELATED) != 0), ((sc->joinInfo() & execplan::JOIN_CORRELATED) != 0),
pseudoType, (sc->isInfiniDB() ? 0 : 1)); pseudoType, (sc->isColumnStore() ? 0 : 1));
} }

View File

@ -649,10 +649,10 @@ const JobStepVector doColFilter(const SimpleColumn* sc1, const SimpleColumn* sc2
//XXX use this before connector sets colType in sc correctly. //XXX use this before connector sets colType in sc correctly.
// type of pseudo column is set by connector // type of pseudo column is set by connector
if (!sc1->schemaName().empty() && sc1->isInfiniDB() && !pc1) if (!sc1->schemaName().empty() && sc1->isColumnStore() && !pc1)
ct1 = jobInfo.csc->colType(sc1->oid()); ct1 = jobInfo.csc->colType(sc1->oid());
if (!sc2->schemaName().empty() && sc2->isInfiniDB() && !pc2) if (!sc2->schemaName().empty() && sc2->isColumnStore() && !pc2)
ct2 = jobInfo.csc->colType(sc2->oid()); ct2 = jobInfo.csc->colType(sc2->oid());
//X //X
@ -1074,10 +1074,10 @@ const JobStepVector doJoin(
//XXX use this before connector sets colType in sc correctly. //XXX use this before connector sets colType in sc correctly.
// type of pseudo column is set by connector // type of pseudo column is set by connector
if (!sc1->schemaName().empty() && sc1->isInfiniDB() && !pc1) if (!sc1->schemaName().empty() && sc1->isColumnStore() && !pc1)
ct1 = jobInfo.csc->colType(sc1->oid()); ct1 = jobInfo.csc->colType(sc1->oid());
if (!sc2->schemaName().empty() && sc2->isInfiniDB() && !pc2) if (!sc2->schemaName().empty() && sc2->isColumnStore() && !pc2)
ct2 = jobInfo.csc->colType(sc2->oid()); ct2 = jobInfo.csc->colType(sc2->oid());
//X //X
@ -1341,7 +1341,7 @@ const JobStepVector doSemiJoin(const SimpleColumn* sc, const ReturnedColumn* rc,
//XXX use this before connector sets colType in sc correctly. //XXX use this before connector sets colType in sc correctly.
// type of pseudo column is set by connector // type of pseudo column is set by connector
if (!sc->schemaName().empty() && sc->isInfiniDB() && !pc1) if (!sc->schemaName().empty() && sc->isColumnStore() && !pc1)
ct1 = jobInfo.csc->colType(sc->oid()); ct1 = jobInfo.csc->colType(sc->oid());
//X //X
@ -1650,7 +1650,7 @@ const JobStepVector doSimpleFilter(SimpleFilter* sf, JobInfo& jobInfo)
//XXX use this before connector sets colType in sc correctly. //XXX use this before connector sets colType in sc correctly.
// type of pseudo column is set by connector // type of pseudo column is set by connector
if (!sc->schemaName().empty() && sc->isInfiniDB() && !pc) if (!sc->schemaName().empty() && sc->isColumnStore() && !pc)
ct = jobInfo.csc->colType(sc->oid()); ct = jobInfo.csc->colType(sc->oid());
//X //X
@ -1902,7 +1902,7 @@ const JobStepVector doSimpleFilter(SimpleFilter* sf, JobInfo& jobInfo)
else else
pcs = new PseudoColStep(sc->oid(), tbl_oid, pc->pseudoType(), ct, jobInfo); pcs = new PseudoColStep(sc->oid(), tbl_oid, pc->pseudoType(), ct, jobInfo);
if (sc->isInfiniDB()) if (sc->isColumnStore())
pcs->addFilter(cop, value, rf); pcs->addFilter(cop, value, rf);
pcs->alias(alias); pcs->alias(alias);
@ -2339,7 +2339,7 @@ const JobStepVector doOuterJoinOnFilter(OuterJoinOnFilter* oj, JobInfo& jobInfo)
// MCOL-1182 if we are doing a join between a cross engine // MCOL-1182 if we are doing a join between a cross engine
// step and a constant then keep the filter for the cross // step and a constant then keep the filter for the cross
// engine step instead of deleting it further down. // engine step instead of deleting it further down.
if (!sc->isInfiniDB()) if (!sc->isColumnStore())
{ {
keepFilters = true; keepFilters = true;
} }
@ -2724,7 +2724,7 @@ const JobStepVector doConstantFilter(const ConstantFilter* cf, JobInfo& jobInfo)
//XXX use this before connector sets colType in sc correctly. //XXX use this before connector sets colType in sc correctly.
// type of pseudo column is set by connector // type of pseudo column is set by connector
if (!sc->schemaName().empty() && sc->isInfiniDB() && !pc) if (!sc->schemaName().empty() && sc->isColumnStore() && !pc)
ct = jobInfo.csc->colType(sc->oid()); ct = jobInfo.csc->colType(sc->oid());
//X //X
@ -2950,7 +2950,7 @@ const JobStepVector doConstantFilter(const ConstantFilter* cf, JobInfo& jobInfo)
pcs->name(sc->columnName()); pcs->name(sc->columnName());
pcs->schema(sc->schemaName()); pcs->schema(sc->schemaName());
if (sc->isInfiniDB()) if (sc->isColumnStore())
{ {
if (op) if (op)
pcs->setBOP(bop2num(op)); pcs->setBOP(bop2num(op));
@ -3001,7 +3001,7 @@ const JobStepVector doConstantFilter(const ConstantFilter* cf, JobInfo& jobInfo)
//XXX use this before connector sets colType in sc correctly. //XXX use this before connector sets colType in sc correctly.
CalpontSystemCatalog::ColType ct = sc->colType(); CalpontSystemCatalog::ColType ct = sc->colType();
if (!sc->schemaName().empty() && sc->isInfiniDB() && !pc) if (!sc->schemaName().empty() && sc->isColumnStore() && !pc)
ct = jobInfo.csc->colType(sc->oid()); ct = jobInfo.csc->colType(sc->oid());
TupleInfo ti(setTupleInfo(ct, sc->oid(), jobInfo, tblOid, sc.get(), alias)); TupleInfo ti(setTupleInfo(ct, sc->oid(), jobInfo, tblOid, sc.get(), alias));

View File

@ -802,7 +802,7 @@ void addOrderByAndLimit(CalpontSelectExecutionPlan* csep, JobInfo& jobInfo)
//XXX use this before connector sets colType in sc correctly. //XXX use this before connector sets colType in sc correctly.
// type of pseudo column is set by connector // type of pseudo column is set by connector
if (sc->isInfiniDB() && !(dynamic_cast<PseudoColumn*>(sc))) if (sc->isColumnStore() && !(dynamic_cast<PseudoColumn*>(sc)))
ct = jobInfo.csc->colType(sc->oid()); ct = jobInfo.csc->colType(sc->oid());
//X //X

View File

@ -127,7 +127,7 @@ void projectSimpleColumn(const SimpleColumn* sc, JobStepVector& jsv, JobInfo& jo
//XXX use this before connector sets colType in sc correctly. //XXX use this before connector sets colType in sc correctly.
// type of pseudo column is set by connector // type of pseudo column is set by connector
if (sc->isInfiniDB() && !pc) if (sc->isColumnStore() && !pc)
ct = jobInfo.csc->colType(sc->oid()); ct = jobInfo.csc->colType(sc->oid());
//X //X
@ -708,7 +708,7 @@ const JobStepVector doAggProject(const CalpontSelectExecutionPlan* csep, JobInfo
ct = sc->colType(); ct = sc->colType();
//XXX use this before connector sets colType in sc correctly. //XXX use this before connector sets colType in sc correctly.
if (sc->isInfiniDB() && dynamic_cast<const PseudoColumn*>(sc) == NULL) if (sc->isColumnStore() && dynamic_cast<const PseudoColumn*>(sc) == NULL)
ct = jobInfo.csc->colType(sc->oid()); ct = jobInfo.csc->colType(sc->oid());
//X //X
@ -994,7 +994,7 @@ const JobStepVector doAggProject(const CalpontSelectExecutionPlan* csep, JobInfo
ct = sc->colType(); ct = sc->colType();
//XXX use this before connector sets colType in sc correctly. //XXX use this before connector sets colType in sc correctly.
if (sc->isInfiniDB() && dynamic_cast<const PseudoColumn*>(sc) == NULL) if (sc->isColumnStore() && dynamic_cast<const PseudoColumn*>(sc) == NULL)
ct = jobInfo.csc->colType(sc->oid()); ct = jobInfo.csc->colType(sc->oid());
//X //X
@ -1142,7 +1142,7 @@ const JobStepVector doAggProject(const CalpontSelectExecutionPlan* csep, JobInfo
ct = sc->colType(); ct = sc->colType();
//XXX use this before connector sets colType in sc correctly. //XXX use this before connector sets colType in sc correctly.
if (sc->isInfiniDB() && dynamic_cast<const PseudoColumn*>(sc) == NULL) if (sc->isColumnStore() && dynamic_cast<const PseudoColumn*>(sc) == NULL)
ct = jobInfo.csc->colType(sc->oid()); ct = jobInfo.csc->colType(sc->oid());
//X //X
@ -1623,7 +1623,7 @@ void parseExecutionPlan(CalpontSelectExecutionPlan* csep, JobInfo& jobInfo,
CalpontSystemCatalog::ColType ct = sc->colType(); CalpontSystemCatalog::ColType ct = sc->colType();
//XXX use this before connector sets colType in sc correctly. //XXX use this before connector sets colType in sc correctly.
if (sc->isInfiniDB() && dynamic_cast<const PseudoColumn*>(sc) == NULL) if (sc->isColumnStore() && dynamic_cast<const PseudoColumn*>(sc) == NULL)
ct = jobInfo.csc->colType(sc->oid()); ct = jobInfo.csc->colType(sc->oid());
//X //X
@ -1759,7 +1759,7 @@ void makeJobSteps(CalpontSelectExecutionPlan* csep, JobInfo& jobInfo,
if (it->schema.empty()) if (it->schema.empty())
oid = doFromSubquery(fromSubquery[i++].get(), it->alias, it->view, jobInfo); oid = doFromSubquery(fromSubquery[i++].get(), it->alias, it->view, jobInfo);
else if (it->fIsInfiniDB) else if (it->fisColumnStore)
oid = jobInfo.csc->tableRID(*it).objnum; oid = jobInfo.csc->tableRID(*it).objnum;
else else
oid = 0; oid = 0;

View File

@ -71,7 +71,7 @@ pthread_mutex_t calpont_mutex;
Function we use in the creation of our hash to get key. Function we use in the creation of our hash to get key.
*/ */
static uchar* calpont_get_key(INFINIDB_SHARE* share, size_t* length, static uchar* calpont_get_key(COLUMNSTORE_SHARE* share, size_t* length,
my_bool not_used __attribute__((unused))) my_bool not_used __attribute__((unused)))
{ {
*length = share->table_name_length; *length = share->table_name_length;

View File

@ -25,7 +25,7 @@ extern handlerton* calpont_hton;
extern handlerton* mcs_hton; extern handlerton* mcs_hton;
/** @brief /** @brief
INFINIDB_SHARE is a structure that will be shared among all open handlers. COLUMNSTORE_SHARE is a structure that will be shared among all open handlers.
This example implements the minimum of what you will probably need. This example implements the minimum of what you will probably need.
*/ */
typedef struct st_calpont_share typedef struct st_calpont_share
@ -34,7 +34,7 @@ typedef struct st_calpont_share
uint32_t table_name_length, use_count; uint32_t table_name_length, use_count;
pthread_mutex_t mutex; pthread_mutex_t mutex;
THR_LOCK lock; THR_LOCK lock;
} INFINIDB_SHARE; } COLUMNSTORE_SHARE;
/** @brief /** @brief
Class definition for the storage engine Class definition for the storage engine
@ -42,7 +42,7 @@ typedef struct st_calpont_share
class ha_calpont: public handler class ha_calpont: public handler
{ {
THR_LOCK_DATA lock; ///< MySQL lock THR_LOCK_DATA lock; ///< MySQL lock
INFINIDB_SHARE* share; ///< Shared lock info COLUMNSTORE_SHARE* share; ///< Shared lock info
ulonglong int_table_flags; ulonglong int_table_flags;
public: public:

View File

@ -2370,7 +2370,7 @@ SimpleColumn* buildSimpleColFromDerivedTable(gp_walk_info& gwi, Item_field* ifp)
sc->hasAggregate(cols[j]->hasAggregate()); sc->hasAggregate(cols[j]->hasAggregate());
if (col) if (col)
sc->isInfiniDB(col->isInfiniDB()); sc->isColumnStore(col->isColumnStore());
// @bug5634, @bug5635. mark used derived col on derived table. // @bug5634, @bug5635. mark used derived col on derived table.
// outer join inner table filter can not be moved in // outer join inner table filter can not be moved in
@ -2823,14 +2823,14 @@ SimpleColumn* getSmallestColumn(boost::shared_ptr<CalpontSystemCatalog> csc,
} }
// check engine type // check engine type
if (!tan.fIsInfiniDB) if (!tan.fisColumnStore)
{ {
// get the first column to project. @todo optimization to get the smallest one for foreign engine. // get the first column to project. @todo optimization to get the smallest one for foreign engine.
Field* field = *(table->field); Field* field = *(table->field);
SimpleColumn* sc = new SimpleColumn(table->s->db.str, table->s->table_name.str, field->field_name.str, tan.fIsInfiniDB, gwi.sessionid); SimpleColumn* sc = new SimpleColumn(table->s->db.str, table->s->table_name.str, field->field_name.str, tan.fisColumnStore, gwi.sessionid);
string alias(table->alias.ptr()); string alias(table->alias.ptr());
sc->tableAlias(lower(alias)); sc->tableAlias(lower(alias));
sc->isInfiniDB(false); sc->isColumnStore(false);
sc->timeZone(gwi.thd->variables.time_zone->get_name()->ptr()); sc->timeZone(gwi.thd->variables.time_zone->get_name()->ptr());
sc->resultType(fieldType_MysqlToIDB(field)); sc->resultType(fieldType_MysqlToIDB(field));
sc->oid(field->field_index + 1); sc->oid(field->field_index + 1);
@ -4182,16 +4182,16 @@ FunctionColumn* buildCaseFunction(Item_func* item, gp_walk_info& gwi, bool& nonS
ConstantColumn* buildDecimalColumn(Item* item, gp_walk_info& gwi) ConstantColumn* buildDecimalColumn(Item* item, gp_walk_info& gwi)
{ {
Item_decimal* idp = (Item_decimal*)item; Item_decimal* idp = (Item_decimal*)item;
IDB_Decimal infinidb_decimal; IDB_Decimal columnstore_decimal;
String val, *str = item->val_str(&val); String val, *str = item->val_str(&val);
string valStr; string valStr;
valStr.assign(str->ptr(), str->length()); valStr.assign(str->ptr(), str->length());
ostringstream infinidb_decimal_val; ostringstream columnstore_decimal_val;
uint32_t i = 0; uint32_t i = 0;
if (str->ptr()[0] == '+' || str->ptr()[0] == '-') if (str->ptr()[0] == '+' || str->ptr()[0] == '-')
{ {
infinidb_decimal_val << str->ptr()[0]; columnstore_decimal_val << str->ptr()[0];
i = 1; i = 1;
} }
@ -4200,22 +4200,22 @@ ConstantColumn* buildDecimalColumn(Item* item, gp_walk_info& gwi)
if (str->ptr()[i] == '.') if (str->ptr()[i] == '.')
continue; continue;
infinidb_decimal_val << str->ptr()[i]; columnstore_decimal_val << str->ptr()[i];
} }
infinidb_decimal.value = strtoll(infinidb_decimal_val.str().c_str(), 0, 10); columnstore_decimal.value = strtoll(columnstore_decimal_val.str().c_str(), 0, 10);
if (gwi.internalDecimalScale >= 0 && idp->decimals > (uint)gwi.internalDecimalScale) if (gwi.internalDecimalScale >= 0 && idp->decimals > (uint)gwi.internalDecimalScale)
{ {
infinidb_decimal.scale = gwi.internalDecimalScale; columnstore_decimal.scale = gwi.internalDecimalScale;
double val = (double)(infinidb_decimal.value / pow((double)10, idp->decimals - gwi.internalDecimalScale)); double val = (double)(columnstore_decimal.value / pow((double)10, idp->decimals - gwi.internalDecimalScale));
infinidb_decimal.value = (int64_t)(val > 0 ? val + 0.5 : val - 0.5); columnstore_decimal.value = (int64_t)(val > 0 ? val + 0.5 : val - 0.5);
} }
else else
infinidb_decimal.scale = idp->decimals; columnstore_decimal.scale = idp->decimals;
infinidb_decimal.precision = idp->max_length - idp->decimals; columnstore_decimal.precision = idp->max_length - idp->decimals;
ConstantColumn* cc = new ConstantColumn(valStr, infinidb_decimal); ConstantColumn* cc = new ConstantColumn(valStr, columnstore_decimal);
cc->timeZone(gwi.thd->variables.time_zone->get_name()->ptr()); cc->timeZone(gwi.thd->variables.time_zone->get_name()->ptr());
return cc; return cc;
} }
@ -4239,18 +4239,18 @@ SimpleColumn* buildSimpleColumn(Item_field* ifp, gp_walk_info& gwi)
return buildSimpleColFromDerivedTable(gwi, ifp); return buildSimpleColFromDerivedTable(gwi, ifp);
CalpontSystemCatalog::ColType ct; CalpontSystemCatalog::ColType ct;
bool infiniDB = true; bool columnStore = true;
try try
{ {
// check foreign engine // check foreign engine
if (ifp->cached_table && ifp->cached_table->table) if (ifp->cached_table && ifp->cached_table->table)
infiniDB = isMCSTable(ifp->cached_table->table); columnStore = isMCSTable(ifp->cached_table->table);
// @bug4509. ifp->cached_table could be null for myisam sometimes // @bug4509. ifp->cached_table could be null for myisam sometimes
else if (ifp->field && ifp->field->table) else if (ifp->field && ifp->field->table)
infiniDB = isMCSTable(ifp->field->table); columnStore = isMCSTable(ifp->field->table);
if (infiniDB) if (columnStore)
{ {
ct = gwi.csc->colType( ct = gwi.csc->colType(
gwi.csc->lookupOID(make_tcn(ifp->db_name, bestTableName(ifp), ifp->field_name.str))); gwi.csc->lookupOID(make_tcn(ifp->db_name, bestTableName(ifp), ifp->field_name.str)));
@ -4273,10 +4273,10 @@ SimpleColumn* buildSimpleColumn(Item_field* ifp, gp_walk_info& gwi)
{ {
case CalpontSystemCatalog::TINYINT: case CalpontSystemCatalog::TINYINT:
if (ct.scale == 0) if (ct.scale == 0)
sc = new SimpleColumn_INT<1>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, infiniDB, gwi.sessionid); sc = new SimpleColumn_INT<1>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, columnStore, gwi.sessionid);
else else
{ {
sc = new SimpleColumn_Decimal<1>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, infiniDB, gwi.sessionid); sc = new SimpleColumn_Decimal<1>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, columnStore, gwi.sessionid);
ct.colDataType = CalpontSystemCatalog::DECIMAL; ct.colDataType = CalpontSystemCatalog::DECIMAL;
} }
@ -4284,10 +4284,10 @@ SimpleColumn* buildSimpleColumn(Item_field* ifp, gp_walk_info& gwi)
case CalpontSystemCatalog::SMALLINT: case CalpontSystemCatalog::SMALLINT:
if (ct.scale == 0) if (ct.scale == 0)
sc = new SimpleColumn_INT<2>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, infiniDB, gwi.sessionid); sc = new SimpleColumn_INT<2>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, columnStore, gwi.sessionid);
else else
{ {
sc = new SimpleColumn_Decimal<2>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, infiniDB, gwi.sessionid); sc = new SimpleColumn_Decimal<2>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, columnStore, gwi.sessionid);
ct.colDataType = CalpontSystemCatalog::DECIMAL; ct.colDataType = CalpontSystemCatalog::DECIMAL;
} }
@ -4296,10 +4296,10 @@ SimpleColumn* buildSimpleColumn(Item_field* ifp, gp_walk_info& gwi)
case CalpontSystemCatalog::INT: case CalpontSystemCatalog::INT:
case CalpontSystemCatalog::MEDINT: case CalpontSystemCatalog::MEDINT:
if (ct.scale == 0) if (ct.scale == 0)
sc = new SimpleColumn_INT<4>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, infiniDB, gwi.sessionid); sc = new SimpleColumn_INT<4>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, columnStore, gwi.sessionid);
else else
{ {
sc = new SimpleColumn_Decimal<4>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, infiniDB, gwi.sessionid); sc = new SimpleColumn_Decimal<4>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, columnStore, gwi.sessionid);
ct.colDataType = CalpontSystemCatalog::DECIMAL; ct.colDataType = CalpontSystemCatalog::DECIMAL;
} }
@ -4307,34 +4307,34 @@ SimpleColumn* buildSimpleColumn(Item_field* ifp, gp_walk_info& gwi)
case CalpontSystemCatalog::BIGINT: case CalpontSystemCatalog::BIGINT:
if (ct.scale == 0) if (ct.scale == 0)
sc = new SimpleColumn_INT<8>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, infiniDB, gwi.sessionid); sc = new SimpleColumn_INT<8>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, columnStore, gwi.sessionid);
else else
{ {
sc = new SimpleColumn_Decimal<8>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, infiniDB, gwi.sessionid); sc = new SimpleColumn_Decimal<8>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, columnStore, gwi.sessionid);
ct.colDataType = CalpontSystemCatalog::DECIMAL; ct.colDataType = CalpontSystemCatalog::DECIMAL;
} }
break; break;
case CalpontSystemCatalog::UTINYINT: case CalpontSystemCatalog::UTINYINT:
sc = new SimpleColumn_UINT<1>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, infiniDB, gwi.sessionid); sc = new SimpleColumn_UINT<1>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, columnStore, gwi.sessionid);
break; break;
case CalpontSystemCatalog::USMALLINT: case CalpontSystemCatalog::USMALLINT:
sc = new SimpleColumn_UINT<2>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, infiniDB, gwi.sessionid); sc = new SimpleColumn_UINT<2>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, columnStore, gwi.sessionid);
break; break;
case CalpontSystemCatalog::UINT: case CalpontSystemCatalog::UINT:
case CalpontSystemCatalog::UMEDINT: case CalpontSystemCatalog::UMEDINT:
sc = new SimpleColumn_UINT<4>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, infiniDB, gwi.sessionid); sc = new SimpleColumn_UINT<4>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, columnStore, gwi.sessionid);
break; break;
case CalpontSystemCatalog::UBIGINT: case CalpontSystemCatalog::UBIGINT:
sc = new SimpleColumn_UINT<8>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, infiniDB, gwi.sessionid); sc = new SimpleColumn_UINT<8>(ifp->db_name, bestTableName(ifp), ifp->field_name.str, columnStore, gwi.sessionid);
break; break;
default: default:
sc = new SimpleColumn(ifp->db_name, bestTableName(ifp), ifp->field_name.str, infiniDB, gwi.sessionid); sc = new SimpleColumn(ifp->db_name, bestTableName(ifp), ifp->field_name.str, columnStore, gwi.sessionid);
} }
sc->resultType(ct); sc->resultType(ct);
@ -4352,10 +4352,10 @@ SimpleColumn* buildSimpleColumn(Item_field* ifp, gp_walk_info& gwi)
sc->viewName(lower(getViewName(ifp->cached_table))); sc->viewName(lower(getViewName(ifp->cached_table)));
sc->alias(ifp->name.str); sc->alias(ifp->name.str);
sc->isInfiniDB(infiniDB); sc->isColumnStore(columnStore);
sc->timeZone(gwi.thd->variables.time_zone->get_name()->ptr()); sc->timeZone(gwi.thd->variables.time_zone->get_name()->ptr());
if (!infiniDB && ifp->field) if (!columnStore && ifp->field)
sc->oid(ifp->field->field_index + 1); // ExeMgr requires offset started from 1 sc->oid(ifp->field->field_index + 1); // ExeMgr requires offset started from 1
if (ifp->depended_from) if (ifp->depended_from)
@ -4584,7 +4584,7 @@ ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi)
parm.reset(sc); parm.reset(sc);
gwi.columnMap.insert(CalpontSelectExecutionPlan::ColumnMap::value_type(string(ifp->field_name.str), parm)); gwi.columnMap.insert(CalpontSelectExecutionPlan::ColumnMap::value_type(string(ifp->field_name.str), parm));
TABLE_LIST* tmp = (ifp->cached_table ? ifp->cached_table : 0); TABLE_LIST* tmp = (ifp->cached_table ? ifp->cached_table : 0);
gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isInfiniDB())] = make_pair(1, tmp); gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isColumnStore())] = make_pair(1, tmp);
break; break;
} }
@ -5084,7 +5084,7 @@ void gp_walk(const Item* item, void* arg)
if (!((scp->joinInfo() & JOIN_CORRELATED) || scp->colType().colDataType == CalpontSystemCatalog::VARBINARY)) if (!((scp->joinInfo() & JOIN_CORRELATED) || scp->colType().colDataType == CalpontSystemCatalog::VARBINARY))
{ {
TABLE_LIST* tmp = (ifp->cached_table ? ifp->cached_table : 0); TABLE_LIST* tmp = (ifp->cached_table ? ifp->cached_table : 0);
gwip->tableMap[make_aliastable(scp->schemaName(), scp->tableName(), scp->tableAlias(), scp->isInfiniDB())] = gwip->tableMap[make_aliastable(scp->schemaName(), scp->tableName(), scp->tableAlias(), scp->isColumnStore())] =
make_pair(1, tmp); make_pair(1, tmp);
} }
} }
@ -6132,10 +6132,10 @@ int getSelectPlan(gp_walk_info& gwi, SELECT_LEX& select_lex,
else else
{ {
// check foreign engine tables // check foreign engine tables
bool infiniDB = (table_ptr->table ? isMCSTable(table_ptr->table) : true); bool columnStore = (table_ptr->table ? isMCSTable(table_ptr->table) : true);
// trigger system catalog cache // trigger system catalog cache
if (infiniDB) if (columnStore)
csc->columnRIDs(make_table(table_ptr->db.str, table_ptr->table_name.str), true); csc->columnRIDs(make_table(table_ptr->db.str, table_ptr->table_name.str), true);
string table_name = table_ptr->table_name.str; string table_name = table_ptr->table_name.str;
@ -6144,9 +6144,9 @@ int getSelectPlan(gp_walk_info& gwi, SELECT_LEX& select_lex,
if (table_ptr->db.length && strcmp(table_ptr->db.str, "information_schema") == 0) if (table_ptr->db.length && strcmp(table_ptr->db.str, "information_schema") == 0)
table_name = (table_ptr->schema_table_name.length ? table_ptr->schema_table_name.str : table_ptr->alias.str); table_name = (table_ptr->schema_table_name.length ? table_ptr->schema_table_name.str : table_ptr->alias.str);
CalpontSystemCatalog::TableAliasName tn = make_aliasview(table_ptr->db.str, table_name, table_ptr->alias.str, viewName, infiniDB); CalpontSystemCatalog::TableAliasName tn = make_aliasview(table_ptr->db.str, table_name, table_ptr->alias.str, viewName, columnStore);
gwi.tbList.push_back(tn); gwi.tbList.push_back(tn);
CalpontSystemCatalog::TableAliasName tan = make_aliastable(table_ptr->db.str, table_name, table_ptr->alias.str, infiniDB); CalpontSystemCatalog::TableAliasName tan = make_aliastable(table_ptr->db.str, table_name, table_ptr->alias.str, columnStore);
gwi.tableMap[tan] = make_pair(0, table_ptr); gwi.tableMap[tan] = make_pair(0, table_ptr);
#ifdef DEBUG_WALK_COND #ifdef DEBUG_WALK_COND
cerr << tn << endl; cerr << tn << endl;
@ -6523,7 +6523,7 @@ int getSelectPlan(gp_walk_info& gwi, SELECT_LEX& select_lex,
if (ifp->cached_table) if (ifp->cached_table)
tmp = ifp->cached_table; tmp = ifp->cached_table;
gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isInfiniDB())] = gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isColumnStore())] =
make_pair(1, tmp); make_pair(1, tmp);
} }
else else
@ -7090,7 +7090,7 @@ int getSelectPlan(gp_walk_info& gwi, SELECT_LEX& select_lex,
string fullname; string fullname;
fullname = str.c_ptr(); fullname = str.c_ptr();
TABLE_LIST* tmp = (funcFieldVec[i]->cached_table ? funcFieldVec[i]->cached_table : 0); TABLE_LIST* tmp = (funcFieldVec[i]->cached_table ? funcFieldVec[i]->cached_table : 0);
gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isInfiniDB())] = gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isColumnStore())] =
make_pair(1, tmp); make_pair(1, tmp);
} }
} }
@ -7630,7 +7630,7 @@ int getSelectPlan(gp_walk_info& gwi, SELECT_LEX& select_lex,
gwi.returnedCols.push_back(srcp); gwi.returnedCols.push_back(srcp);
gwi.columnMap.insert(CalpontSelectExecutionPlan::ColumnMap::value_type(string(fieldVec[i]->field_name.str), srcp)); gwi.columnMap.insert(CalpontSelectExecutionPlan::ColumnMap::value_type(string(fieldVec[i]->field_name.str), srcp));
TABLE_LIST* tmp = (fieldVec[i]->cached_table ? fieldVec[i]->cached_table : 0); TABLE_LIST* tmp = (fieldVec[i]->cached_table ? fieldVec[i]->cached_table : 0);
gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isInfiniDB())] = gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isColumnStore())] =
make_pair(1, tmp); make_pair(1, tmp);
} }
} }
@ -8367,10 +8367,10 @@ int getGroupPlan(gp_walk_info& gwi, SELECT_LEX& select_lex, SCSEP& csep, cal_gro
else else
{ {
// check foreign engine tables // check foreign engine tables
bool infiniDB = (table_ptr->table ? isMCSTable(table_ptr->table) : true); bool columnStore = (table_ptr->table ? isMCSTable(table_ptr->table) : true);
// trigger system catalog cache // trigger system catalog cache
if (infiniDB) if (columnStore)
csc->columnRIDs(make_table(table_ptr->db.str, table_ptr->table_name.str), true); csc->columnRIDs(make_table(table_ptr->db.str, table_ptr->table_name.str), true);
string table_name = table_ptr->table_name.str; string table_name = table_ptr->table_name.str;
@ -8379,9 +8379,9 @@ int getGroupPlan(gp_walk_info& gwi, SELECT_LEX& select_lex, SCSEP& csep, cal_gro
if (table_ptr->db.length && strcmp(table_ptr->db.str, "information_schema") == 0) if (table_ptr->db.length && strcmp(table_ptr->db.str, "information_schema") == 0)
table_name = (table_ptr->schema_table_name.length ? table_ptr->schema_table_name.str : table_ptr->alias.str); table_name = (table_ptr->schema_table_name.length ? table_ptr->schema_table_name.str : table_ptr->alias.str);
CalpontSystemCatalog::TableAliasName tn = make_aliasview(table_ptr->db.str, table_name, table_ptr->alias.str, viewName, infiniDB); CalpontSystemCatalog::TableAliasName tn = make_aliasview(table_ptr->db.str, table_name, table_ptr->alias.str, viewName, columnStore);
gwi.tbList.push_back(tn); gwi.tbList.push_back(tn);
CalpontSystemCatalog::TableAliasName tan = make_aliastable(table_ptr->db.str, table_name, table_ptr->alias.str, infiniDB); CalpontSystemCatalog::TableAliasName tan = make_aliastable(table_ptr->db.str, table_name, table_ptr->alias.str, columnStore);
gwi.tableMap[tan] = make_pair(0, table_ptr); gwi.tableMap[tan] = make_pair(0, table_ptr);
#ifdef DEBUG_WALK_COND #ifdef DEBUG_WALK_COND
cerr << tn << endl; cerr << tn << endl;
@ -8646,7 +8646,7 @@ int getGroupPlan(gp_walk_info& gwi, SELECT_LEX& select_lex, SCSEP& csep, cal_gro
if (ifp->cached_table) if (ifp->cached_table)
tmp = ifp->cached_table; tmp = ifp->cached_table;
gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isInfiniDB())] = gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isColumnStore())] =
make_pair(1, tmp); make_pair(1, tmp);
} }
else else
@ -9235,7 +9235,7 @@ int getGroupPlan(gp_walk_info& gwi, SELECT_LEX& select_lex, SCSEP& csep, cal_gro
string fullname; string fullname;
fullname = str.c_ptr(); fullname = str.c_ptr();
TABLE_LIST* tmp = (funcFieldVec[i]->cached_table ? funcFieldVec[i]->cached_table : 0); TABLE_LIST* tmp = (funcFieldVec[i]->cached_table ? funcFieldVec[i]->cached_table : 0);
gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isInfiniDB())] = gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isColumnStore())] =
make_pair(1, tmp); make_pair(1, tmp);
} }
} }

View File

@ -94,7 +94,7 @@ public:
* derived_handler API methods. Could be used by the server * derived_handler API methods. Could be used by the server
* tp process sub-queries. * tp process sub-queries.
* More details in server/sql/dervied_handler.h * More details in server/sql/dervied_handler.h
* INFINIDB_SHARE* hton share * COLUMNSTORE_SHARE* hton share
* tbl in the constructor is the list of the tables involved. * tbl in the constructor is the list of the tables involved.
* Methods: * Methods:
* init_scan - get plan and send it to ExeMgr. Get the execution result. * init_scan - get plan and send it to ExeMgr. Get the execution result.
@ -104,7 +104,7 @@ public:
class ha_columnstore_derived_handler: public derived_handler class ha_columnstore_derived_handler: public derived_handler
{ {
private: private:
INFINIDB_SHARE *share; COLUMNSTORE_SHARE *share;
public: public:
ha_columnstore_derived_handler(THD* thd_arg, TABLE_LIST *tbl); ha_columnstore_derived_handler(THD* thd_arg, TABLE_LIST *tbl);
@ -121,7 +121,7 @@ public:
* select_handler API methods. Could be used by the server * select_handler API methods. Could be used by the server
* tp pushdown the whole query described by SELECT_LEX. * tp pushdown the whole query described by SELECT_LEX.
* More details in server/sql/select_handler.h * More details in server/sql/select_handler.h
* INFINIDB_SHARE* hton share * COLUMNSTORE_SHARE* hton share
* sel in the constructor is the semantic tree for the query. * sel in the constructor is the semantic tree for the query.
* Methods: * Methods:
* init_scan - get plan and send it to ExeMgr. Get the execution result. * init_scan - get plan and send it to ExeMgr. Get the execution result.
@ -131,7 +131,7 @@ public:
class ha_columnstore_select_handler: public select_handler class ha_columnstore_select_handler: public select_handler
{ {
private: private:
INFINIDB_SHARE *share; COLUMNSTORE_SHARE *share;
public: public:
ha_columnstore_select_handler(THD* thd_arg, SELECT_LEX* sel); ha_columnstore_select_handler(THD* thd_arg, SELECT_LEX* sel);

View File

@ -134,7 +134,7 @@ static MYSQL_THDVAR_BOOL(
static MYSQL_THDVAR_BOOL( static MYSQL_THDVAR_BOOL(
double_for_decimal_math, double_for_decimal_math,
PLUGIN_VAR_NOCMDARG, PLUGIN_VAR_NOCMDARG,
"Enable/disable the InfiniDB to replace DECIMAL with DOUBLE in arithmetic operation.", "Enable/disable for ColumnStore to replace DECIMAL with DOUBLE in arithmetic operation.",
NULL, NULL,
NULL, NULL,
0 0
@ -227,7 +227,7 @@ static MYSQL_THDVAR_ULONG(
static MYSQL_THDVAR_ULONG( static MYSQL_THDVAR_ULONG(
local_query, local_query,
PLUGIN_VAR_RQCMDARG, PLUGIN_VAR_RQCMDARG,
"Enable/disable the Infinidb local PM query only feature.", "Enable/disable the ColumnStore local PM query only feature.",
NULL, NULL,
NULL, NULL,
0, 0,

View File

@ -540,7 +540,7 @@ execplan::ReturnedColumn* buildPseudoColumn(Item* item,
{ {
SRCP srcp(sc); SRCP srcp(sc);
gwi.columnMap.insert(CalpontSelectExecutionPlan::ColumnMap::value_type(sc->columnName(), srcp)); gwi.columnMap.insert(CalpontSelectExecutionPlan::ColumnMap::value_type(sc->columnName(), srcp));
gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isInfiniDB())] = gwi.tableMap[make_aliastable(sc->schemaName(), sc->tableName(), sc->tableAlias(), sc->isColumnStore())] =
make_pair(1, field->cached_table); make_pair(1, field->cached_table);
} }
else if (!gwi.rcWorkStack.empty()) else if (!gwi.rcWorkStack.empty())

View File

@ -120,13 +120,13 @@ void View::transform()
else else
{ {
// check foreign engine tables // check foreign engine tables
bool infiniDB = (table_ptr->table ? isMCSTable(table_ptr->table) : true); bool columnStore = (table_ptr->table ? isMCSTable(table_ptr->table) : true);
// trigger system catalog cache // trigger system catalog cache
if (infiniDB) if (columnStore)
csc->columnRIDs(make_table(table_ptr->db.str, table_ptr->table_name.str), true); csc->columnRIDs(make_table(table_ptr->db.str, table_ptr->table_name.str), true);
CalpontSystemCatalog::TableAliasName tn = make_aliasview(table_ptr->db.str, table_ptr->table_name.str, table_ptr->alias.str, viewName, infiniDB); CalpontSystemCatalog::TableAliasName tn = make_aliasview(table_ptr->db.str, table_ptr->table_name.str, table_ptr->alias.str, viewName, columnStore);
gwi.tbList.push_back(tn); gwi.tbList.push_back(tn);
gwi.tableMap[tn] = make_pair(0, table_ptr); gwi.tableMap[tn] = make_pair(0, table_ptr);
fParentGwip->tableMap[tn] = make_pair(0, table_ptr); fParentGwip->tableMap[tn] = make_pair(0, table_ptr);

View File

@ -454,7 +454,7 @@ tpl_close ( cpsm_tplh_t* ntplh,
status_t status_t
sm_init ( uint32_t sid, sm_init ( uint32_t sid,
cpsm_conhdl_t** conn_hdl, cpsm_conhdl_t** conn_hdl,
uint32_t infinidb_local_query) uint32_t columnstore_local_query)
{ {
// clear file content // clear file content
#if IDB_SM_DEBUG #if IDB_SM_DEBUG
@ -465,7 +465,7 @@ sm_init ( uint32_t sid,
// @bug5660 Connection changes related to the local pm setting // @bug5660 Connection changes related to the local pm setting
/** /**
* when local PM is detected, or infinidb_local_query is set: * when local PM is detected, or columnstore_local_query is set:
* 1. SELECT query connect to local ExeMgr 127.0.0.1:8601; * 1. SELECT query connect to local ExeMgr 127.0.0.1:8601;
* 2. DML/DDL is disallowed. * 2. DML/DDL is disallowed.
* once local connection is determined, no need to check * once local connection is determined, no need to check
@ -474,14 +474,14 @@ sm_init ( uint32_t sid,
if (*conn_hdl) if (*conn_hdl)
{ {
// existing connection is local, ok. // existing connection is local, ok.
if ((*conn_hdl)->exeMgr->localQuery() || ! infinidb_local_query) if ((*conn_hdl)->exeMgr->localQuery() || ! columnstore_local_query)
return STATUS_OK; return STATUS_OK;
// if session variable changes to local, re-establish the connection to loopback. // if session variable changes to local, re-establish the connection to loopback.
else else
sm_cleanup(*conn_hdl); sm_cleanup(*conn_hdl);
} }
cpsm_conhdl_t* hndl = new cpsm_conhdl_t(time(0), sid, infinidb_local_query); cpsm_conhdl_t* hndl = new cpsm_conhdl_t(time(0), sid, columnstore_local_query);
*conn_hdl = hndl; *conn_hdl = hndl;
hndl->sessionID = sid; hndl->sessionID = sid;

View File

@ -198,9 +198,9 @@ typedef boost::shared_ptr<cpsm_tplsch_t> sp_cpsm_tplsch_t;
class cpsm_conhdl_t class cpsm_conhdl_t
{ {
public: public:
cpsm_conhdl_t(time_t v, const uint32_t sid, bool infinidb_local_query) : cpsm_conhdl_t(time_t v, const uint32_t sid, bool columnstore_local_query) :
value(v), sessionID(sid), queryState (NO_QUERY), value(v), sessionID(sid), queryState (NO_QUERY),
exeMgr( new execplan::ClientRotator(sid, "ExeMgr", infinidb_local_query)), exeMgr( new execplan::ClientRotator(sid, "ExeMgr", columnstore_local_query)),
tblinfo_idx(0), idxinfo_idx(0), curFetchTb (0) tblinfo_idx(0), idxinfo_idx(0), curFetchTb (0)
{ } { }
@ -275,7 +275,7 @@ struct cpsm_tid_t
int value; int value;
}; };
extern status_t sm_init(uint32_t, cpsm_conhdl_t**, uint32_t infinidb_local_query = false); extern status_t sm_init(uint32_t, cpsm_conhdl_t**, uint32_t columnstore_local_query = false);
extern status_t sm_cleanup(cpsm_conhdl_t*); extern status_t sm_cleanup(cpsm_conhdl_t*);
extern status_t tpl_open(tableid_t, cpsm_tplh_t*, cpsm_conhdl_t*); extern status_t tpl_open(tableid_t, cpsm_tplh_t*, cpsm_conhdl_t*);

View File

@ -1,6 +1,6 @@
# List of my.cnf arguments that should be checked and saved during upgrade install # List of my.cnf arguments that should be checked and saved during upgrade install
# #
infinidb_local_query columnstore_local_query
log-bin log-bin
server-id server-id
max_length_for_sort_data max_length_for_sort_data
@ -15,4 +15,4 @@ collation-server
init-connect init-connect
binlog_format binlog_format
secure-auth secure-auth
port port

View File

@ -394,12 +394,12 @@ int main(int argc, char** argv)
// check if standby never replied, if so, shutdown // check if standby never replied, if so, shutdown
if ( count >= 120 ) if ( count >= 120 )
{ {
log.writeLog(__LINE__, "Standby PM not responding, infinidb shutting down", LOG_TYPE_CRITICAL); log.writeLog(__LINE__, "Standby PM not responding, ColumnStore shutting down", LOG_TYPE_CRITICAL);
//Set the alarm //Set the alarm
// aMonitor.sendAlarm(config.moduleName().c_str(), STARTUP_DIAGNOTICS_FAILURE, SET); // aMonitor.sendAlarm(config.moduleName().c_str(), STARTUP_DIAGNOTICS_FAILURE, SET);
// sleep (1); // sleep (1);
string cmd = startup::StartUp::installDir() + "/bin/infinidb stop > /dev/null 2>&1"; string cmd = startup::StartUp::installDir() + "/bin/columnstore stop > /dev/null 2>&1";
system(cmd.c_str()); system(cmd.c_str());
} }

View File

@ -5109,11 +5109,11 @@ int ProcessMonitor::changeMyCnf(std::string type)
// set local query flag if on pm // set local query flag if on pm
if ( (PMwithUM == "y") && config.moduleType() == "pm" ) if ( (PMwithUM == "y") && config.moduleType() == "pm" )
{ {
pos = buf.find("infinidb_local_query", 0); pos = buf.find("columnstore_local_query", 0);
if ( pos != string::npos ) if ( pos != string::npos )
{ {
buf = "infinidb_local_query=1"; buf = "columnstore_local_query=1";
string command = "SET GLOBAL " + buf + ";"; string command = "SET GLOBAL " + buf + ";";
@ -5129,11 +5129,11 @@ int ProcessMonitor::changeMyCnf(std::string type)
else else
{ {
// disable, if needed // disable, if needed
pos = buf.find("infinidb_local_query", 0); pos = buf.find("columnstore_local_query", 0);
if ( pos != string::npos ) if ( pos != string::npos )
{ {
buf = "infinidb_local_query=0"; buf = "columnstore_local_query=0";
string command = "SET GLOBAL " + buf + ";"; string command = "SET GLOBAL " + buf + ";";
int ret = runMariaDBCommandLine(command); int ret = runMariaDBCommandLine(command);

View File

@ -123,9 +123,9 @@ void semDoit(key_t sem_key, const string& label)
void usage() void usage()
{ {
cout << "usage: clearShm [-cvnh]" << endl; cout << "usage: clearShm [-cvnh]" << endl;
cout << " delete all InfiniDB shared memory data" << endl; cout << " delete all ColumnStore shared memory data" << endl;
cout << " -h display this help" << endl; cout << " -h display this help" << endl;
cout << " -c only clear InfiniDB Engine data, leave OAM intact" << endl; cout << " -c only clear ColumnStore Engine data, leave OAM intact" << endl;
cout << " -v verbose output" << endl; cout << " -v verbose output" << endl;
cout << " -n don't actually delete anything (implies -v)" << endl; cout << " -n don't actually delete anything (implies -v)" << endl;
} }

View File

@ -509,7 +509,7 @@ int main(int argc, char** argv)
if (brm.getSystemReady() < 1) if (brm.getSystemReady() < 1)
{ {
std::cout << "System is not ready. Verify that InfiniDB " std::cout << "System is not ready. Verify that ColumnStore "
"is up and ready before running this program" << std::endl; "is up and ready before running this program" << std::endl;
return 1; return 1;
} }

View File

@ -146,7 +146,7 @@ int main(int argc, char** argv)
if (dbrm.getSystemReady() < 1) if (dbrm.getSystemReady() < 1)
{ {
std::string errMsg( std::string errMsg(
"System is not ready. Verify that InfiniDB is up and ready " "System is not ready. Verify that ColumnStore is up and ready "
"before running colxml."); "before running colxml.");
if (bUseLogFile) if (bUseLogFile)

View File

@ -53,7 +53,7 @@ using namespace logging;
namespace namespace
{ {
const int64_t infinidb_precision[19] = const int64_t columnstore_precision[19] =
{ {
0, 0,
9, 9,
@ -415,7 +415,7 @@ int64_t number_int_value(const string& data,
(ct.colDataType == CalpontSystemCatalog::UDECIMAL) || (ct.colDataType == CalpontSystemCatalog::UDECIMAL) ||
(ct.scale > 0)) (ct.scale > 0))
{ {
int64_t rangeUp = infinidb_precision[ct.precision]; int64_t rangeUp = columnstore_precision[ct.precision];
int64_t rangeLow = -rangeUp; int64_t rangeLow = -rangeUp;
if (intVal > rangeUp) if (intVal > rangeUp)

View File

@ -1168,7 +1168,7 @@ IDB_Decimal Func_cast_decimal::getDecimalVal(Row& row,
int32_t decimals = parm[1]->data()->getIntVal(row, isNull); int32_t decimals = parm[1]->data()->getIntVal(row, isNull);
int64_t max_length = parm[2]->data()->getIntVal(row, isNull); int64_t max_length = parm[2]->data()->getIntVal(row, isNull);
// As of 2.0, max length infiniDB can support is 18 // As of 2.0, max length columnStore can support is 18
// decimal(0,0) is valid, and no limit on integer number // decimal(0,0) is valid, and no limit on integer number
if (max_length > 18 || max_length <= 0) if (max_length > 18 || max_length <= 0)
max_length = 18; max_length = 18;

View File

@ -86,13 +86,13 @@
2045 ERR_PRIMPROC_DOWN At least one PrimProc closed the connection unexpectedly. 2045 ERR_PRIMPROC_DOWN At least one PrimProc closed the connection unexpectedly.
2046 ERR_READ_INPUT_DATALIST Input datalist read error. 2046 ERR_READ_INPUT_DATALIST Input datalist read error.
2047 ERR_LOCAL_QUERY_UM Query attempted on UM (no PM) with infinidb_local_query set. 2047 ERR_LOCAL_QUERY_UM Query attempted on UM (no PM) with columnstore_local_query set.
# disk-based join runtime errors from supported queries # disk-based join runtime errors from supported queries
2048 ERR_DBJ_FILE_IO_ERROR There was an IO error doing a disk-based join. 2048 ERR_DBJ_FILE_IO_ERROR There was an IO error doing a disk-based join.
2049 ERR_DBJ_UNKNOWN_ERROR An unknown error error occured doing a disk-based join. Check the error log & contact support. 2049 ERR_DBJ_UNKNOWN_ERROR An unknown error error occured doing a disk-based join. Check the error log & contact support.
2050 ERR_DBJ_DISK_USAGE_LIMIT This query exceeded the temp disk usage limit. Raise infinidb_diskjoin_smallsidelimit if possible and try again. 2050 ERR_DBJ_DISK_USAGE_LIMIT This query exceeded the temp disk usage limit. Raise columnstore_diskjoin_smallsidelimit if possible and try again.
2051 ERR_DBJ_DATA_DISTRIBUTION The data distribution in this query overflowed a disk-based join bucket. If possible, raise infinidb_diskjoin_bucketsize and try again. 2051 ERR_DBJ_DATA_DISTRIBUTION The data distribution in this query overflowed a disk-based join bucket. If possible, raise columnstore_diskjoin_bucketsize and try again.
2052 INFO_SWITCHING_TO_DJS Out of UM memory, switching to disk-based join. 2052 INFO_SWITCHING_TO_DJS Out of UM memory, switching to disk-based join.
2053 ERR_FUNC_OUT_OF_RANGE_RESULT The result is out of range for function %1% using value(s): %2% %3% 2053 ERR_FUNC_OUT_OF_RANGE_RESULT The result is out of range for function %1% using value(s): %2% %3%
@ -141,7 +141,7 @@
4014 ERR_CONSTRAINTS Constraints are currently not supported in Columnstore. 4014 ERR_CONSTRAINTS Constraints are currently not supported in Columnstore.
4015 ERR_NOT_NULL_CONSTRAINTS Column '%1%' cannot be null. 4015 ERR_NOT_NULL_CONSTRAINTS Column '%1%' cannot be null.
4016 ERR_DML_DDL_SLAVE DML and DDL statements for Columnstore tables can only be run from the replication master. 4016 ERR_DML_DDL_SLAVE DML and DDL statements for Columnstore tables can only be run from the replication master.
4017 ERR_DML_DDL_LOCAL DML and DDL statements are not allowed when infinidb_local_query is greater than 0. 4017 ERR_DML_DDL_LOCAL DML and DDL statements are not allowed when columnstore_local_query is greater than 0.
4018 ERR_NON_SUPPORT_SYNTAX The statement is not supported in Columnstore. 4018 ERR_NON_SUPPORT_SYNTAX The statement is not supported in Columnstore.
# UDF # UDF

View File

@ -53,7 +53,7 @@ bool sFlg;
void usage() void usage()
{ {
cout << "usage: reset_locks [-vnh]" << endl; cout << "usage: reset_locks [-vnh]" << endl;
cout << " reset all InfiniDB shared memory locks" << endl; cout << " reset all ColumnStore shared memory locks" << endl;
cout << " -h display this help" << endl; cout << " -h display this help" << endl;
cout << " -v verbose output" << endl; cout << " -v verbose output" << endl;
cout << " -s skip session mgr resets" << endl; cout << " -s skip session mgr resets" << endl;

View File

@ -48,7 +48,7 @@ using namespace execplan;
namespace WriteEngine namespace WriteEngine
{ {
// Maximum saturation value for DECIMAL types based on precision // Maximum saturation value for DECIMAL types based on precision
const long long infinidb_precision[19] = const long long columnstore_precision[19] =
{ {
0, 0,
9, 9,
@ -759,14 +759,14 @@ void XMLJob::initSatLimits( JobColumn& curColumn ) const
else if ( curColumn.typeName == else if ( curColumn.typeName ==
ColDataTypeStr[CalpontSystemCatalog::DECIMAL] ) ColDataTypeStr[CalpontSystemCatalog::DECIMAL] )
{ {
curColumn.fMinIntSat = -infinidb_precision[curColumn.precision]; curColumn.fMinIntSat = -columnstore_precision[curColumn.precision];
curColumn.fMaxIntSat = infinidb_precision[curColumn.precision]; curColumn.fMaxIntSat = columnstore_precision[curColumn.precision];
} }
else if ( curColumn.typeName == else if ( curColumn.typeName ==
ColDataTypeStr[CalpontSystemCatalog::UDECIMAL] ) ColDataTypeStr[CalpontSystemCatalog::UDECIMAL] )
{ {
curColumn.fMinIntSat = 0; curColumn.fMinIntSat = 0;
curColumn.fMaxIntSat = infinidb_precision[curColumn.precision]; curColumn.fMaxIntSat = columnstore_precision[curColumn.precision];
} }
else if ( curColumn.typeName == else if ( curColumn.typeName ==
ColDataTypeStr[CalpontSystemCatalog::FLOAT] ) ColDataTypeStr[CalpontSystemCatalog::FLOAT] )