mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-04-18 21:44:02 +03:00
MCOL-4696: get rid of boost::iequals
This commit is contained in:
parent
90023272dd
commit
25c20bae9b
@ -26,9 +26,10 @@
|
||||
#include <sstream>
|
||||
using namespace std;
|
||||
|
||||
#include <boost/algorithm/string.hpp>
|
||||
|
||||
#include "bytestream.h"
|
||||
#include "collation.h"
|
||||
|
||||
using namespace messageqcpp;
|
||||
|
||||
#include "objectreader.h"
|
||||
@ -197,37 +198,37 @@ bool PseudoColumn::operator!=(const TreeNode* t) const
|
||||
|
||||
uint32_t PseudoColumn::pseudoNameToType(string& name)
|
||||
{
|
||||
if (boost::iequals(name, "idbpm"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(name, "idbpm"))
|
||||
return PSEUDO_PM;
|
||||
|
||||
if (boost::iequals(name, "idbdbroot"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(name, "idbdbroot"))
|
||||
return PSEUDO_DBROOT;
|
||||
|
||||
if (boost::iequals(name, "idbextentrelativerid"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(name, "idbextentrelativerid"))
|
||||
return PSEUDO_EXTENTRELATIVERID;
|
||||
|
||||
if (boost::iequals(name, "idbsegment"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(name, "idbsegment"))
|
||||
return PSEUDO_SEGMENT;
|
||||
|
||||
if (boost::iequals(name, "idbsegmentdir"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(name, "idbsegmentdir"))
|
||||
return PSEUDO_SEGMENTDIR;
|
||||
|
||||
if (boost::iequals(name, "idbextentmin"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(name, "idbextentmin"))
|
||||
return PSEUDO_EXTENTMIN;
|
||||
|
||||
if (boost::iequals(name, "idbextentmax"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(name, "idbextentmax"))
|
||||
return PSEUDO_EXTENTMAX;
|
||||
|
||||
if (boost::iequals(name, "idbblockid"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(name, "idbblockid"))
|
||||
return PSEUDO_BLOCKID;
|
||||
|
||||
if (boost::iequals(name, "idbextentid"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(name, "idbextentid"))
|
||||
return PSEUDO_EXTENTID;
|
||||
|
||||
if (boost::iequals(name, "idbpartition"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(name, "idbpartition"))
|
||||
return PSEUDO_PARTITION;
|
||||
|
||||
if (boost::iequals(name, "idblocalpm"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(name, "idblocalpm"))
|
||||
return PSEUDO_LOCALPM;
|
||||
|
||||
return PSEUDO_UNKNOWN;
|
||||
|
@ -29,7 +29,6 @@
|
||||
using namespace std;
|
||||
|
||||
#include <boost/tokenizer.hpp>
|
||||
#include <boost/algorithm/string.hpp>
|
||||
using namespace boost;
|
||||
|
||||
#include "bytestream.h"
|
||||
@ -399,23 +398,23 @@ void WindowFunctionColumn::adjustResultType()
|
||||
{
|
||||
if ((fResultType.colDataType == CalpontSystemCatalog::DECIMAL ||
|
||||
fResultType.colDataType == CalpontSystemCatalog::UDECIMAL) &&
|
||||
!boost::iequals(fFunctionName, "COUNT") && !boost::iequals(fFunctionName, "COUNT(*)") &&
|
||||
!boost::iequals(fFunctionName, "ROW_NUMBER") && !boost::iequals(fFunctionName, "RANK") &&
|
||||
!boost::iequals(fFunctionName, "PERCENT_RANK") && !boost::iequals(fFunctionName, "DENSE_RANK") &&
|
||||
!boost::iequals(fFunctionName, "CUME_DIST") && !boost::iequals(fFunctionName, "NTILE") &&
|
||||
!boost::iequals(fFunctionName, "PERCENTILE") && !fFunctionParms.empty() &&
|
||||
!datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "COUNT") && !datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "COUNT(*)") &&
|
||||
!datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "ROW_NUMBER") && !datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "RANK") &&
|
||||
!datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "PERCENT_RANK") && !datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "DENSE_RANK") &&
|
||||
!datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "CUME_DIST") && !datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "NTILE") &&
|
||||
!datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "PERCENTILE") && !fFunctionParms.empty() &&
|
||||
fFunctionParms[0]->resultType().colDataType == CalpontSystemCatalog::DOUBLE)
|
||||
fResultType = fFunctionParms[0]->resultType();
|
||||
|
||||
if ((boost::iequals(fFunctionName, "LEAD") || boost::iequals(fFunctionName, "LAG") ||
|
||||
boost::iequals(fFunctionName, "MIN") || boost::iequals(fFunctionName, "MAX") ||
|
||||
boost::iequals(fFunctionName, "FIRST_VALUE") || boost::iequals(fFunctionName, "LAST_VALUE") ||
|
||||
boost::iequals(fFunctionName, "NTH_VALUE")) &&
|
||||
if ((datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "LEAD") || datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "LAG") ||
|
||||
datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "MIN") || datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "MAX") ||
|
||||
datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "FIRST_VALUE") || datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "LAST_VALUE") ||
|
||||
datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "NTH_VALUE")) &&
|
||||
!fFunctionParms.empty())
|
||||
fResultType = fFunctionParms[0]->resultType();
|
||||
|
||||
if (boost::iequals(fFunctionName, "SUM") || boost::iequals(fFunctionName, "AVG") ||
|
||||
boost::iequals(fFunctionName, "AVG_DISTINCT") || boost::iequals(fFunctionName, "PERCENTILE"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "SUM") || datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "AVG") ||
|
||||
datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "AVG_DISTINCT") || datatypes::ASCIIStringCaseInsensetiveEquals(fFunctionName, "PERCENTILE"))
|
||||
{
|
||||
if (fFunctionParms[0]->resultType().colDataType == CalpontSystemCatalog::DECIMAL ||
|
||||
fFunctionParms[0]->resultType().colDataType == CalpontSystemCatalog::UDECIMAL)
|
||||
|
@ -406,7 +406,7 @@ extern "C"
|
||||
localModule = boost::get<0>(st);
|
||||
PrimaryUMModuleName = config::Config::makeConfig()->getConfig("SystemConfig", "PrimaryUMModuleName");
|
||||
|
||||
if (boost::iequals(localModule, PrimaryUMModuleName))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(localModule, PrimaryUMModuleName))
|
||||
rtn = 1;
|
||||
if (PrimaryUMModuleName == "unassigned")
|
||||
rtn = 1;
|
||||
|
@ -37,7 +37,6 @@
|
||||
using namespace std;
|
||||
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <boost/algorithm/string/case_conv.hpp>
|
||||
#include <boost/tokenizer.hpp>
|
||||
using namespace boost;
|
||||
|
||||
@ -1014,8 +1013,13 @@ int ProcessDDLStatement(string& ddlStatement, string& schema, const string& tabl
|
||||
if (autoIncre)
|
||||
{
|
||||
// Check whether there is a column with autoincrement already
|
||||
if ((isAnyAutoincreCol) &&
|
||||
!(boost::iequals(autoiColName, createTable->fTableDef->fColumns[i]->fName)))
|
||||
bool isAutoIncrementColumn =
|
||||
default_table_charset ? datatypes::CollationAwareComparator(default_table_charset)(
|
||||
autoiColName, createTable->fTableDef->fColumns[i]->fName)
|
||||
: datatypes::ASCIIStringCaseInsensetiveEquals(
|
||||
autoiColName, createTable->fTableDef->fColumns[i]->fName);
|
||||
|
||||
if (isAnyAutoincreCol && !isAutoIncrementColumn)
|
||||
{
|
||||
rc = 1;
|
||||
thd->get_stmt_da()->set_overwrite_status(true);
|
||||
@ -1060,8 +1064,14 @@ int ProcessDDLStatement(string& ddlStatement, string& schema, const string& tabl
|
||||
}
|
||||
}
|
||||
|
||||
if (!autoIncre && isAnyAutoincreCol &&
|
||||
(boost::iequals(autoiColName, createTable->fTableDef->fColumns[i]->fName)))
|
||||
|
||||
bool isAutoIncrementColumn =
|
||||
default_table_charset ? datatypes::CollationAwareComparator(default_table_charset)(
|
||||
autoiColName, createTable->fTableDef->fColumns[i]->fName)
|
||||
: datatypes::ASCIIStringCaseInsensetiveEquals(
|
||||
autoiColName, createTable->fTableDef->fColumns[i]->fName);
|
||||
|
||||
if (!autoIncre && isAnyAutoincreCol && isAutoIncrementColumn)
|
||||
{
|
||||
autoIncre = true;
|
||||
matchedCol = true;
|
||||
|
@ -331,7 +331,7 @@ struct cal_connection_info
|
||||
configVal = cf->getConfig("SystemConfig", "PrimaryUMModuleName");
|
||||
std::string module = execplan::ClientRotator::getModule();
|
||||
|
||||
if (boost::iequals(configVal, module))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(configVal, module))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
@ -257,7 +257,7 @@ int main(int argc, char* argv[])
|
||||
config::Config* sysConfig = config::Config::makeConfig(calpontConfigFile.c_str());
|
||||
string tmp = sysConfig->getConfig("Installation", "DBRootStorageType");
|
||||
|
||||
if (boost::iequals(tmp, "hdfs"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(tmp, "hdfs"))
|
||||
{
|
||||
// HDFS is configured
|
||||
if (!IDBPolicy::useHdfs()) // error install plugin
|
||||
|
@ -270,4 +270,12 @@ class CollationAwareComparator : public Charset
|
||||
}
|
||||
};
|
||||
|
||||
inline bool ASCIIStringCaseInsensetiveEquals(const std::string& left, const std::string& right)
|
||||
{
|
||||
auto asciiLower = [](char c) { return (c >= 'a' && c <= 'z') ? c - 'a' + 'A' : c; };
|
||||
return left.size() == right.size() &&
|
||||
std::equal(left.begin(), left.end(), right.begin(),
|
||||
[&asciiLower](char l, char r) { return asciiLower(l) == asciiLower(r); });
|
||||
}
|
||||
|
||||
} // end of namespace datatypes
|
||||
|
@ -22,11 +22,12 @@
|
||||
#include "mcsconfig.h"
|
||||
|
||||
#include <string>
|
||||
#include <boost/algorithm/string.hpp>
|
||||
#include <stdexcept>
|
||||
#include <libxml/xmlmemory.h>
|
||||
#include <libxml/parser.h>
|
||||
#include <vector>
|
||||
|
||||
#include "collation.h"
|
||||
using namespace std;
|
||||
|
||||
#include "xmlparser.h"
|
||||
@ -47,7 +48,7 @@ const string XMLParser::getConfig(const xmlDocPtr doc, const string& section, co
|
||||
{
|
||||
string cur1name = (const char*)cur1->name;
|
||||
|
||||
if ((boost::iequals(cur1name, section)))
|
||||
if ((datatypes::ASCIIStringCaseInsensetiveEquals(cur1name, section)))
|
||||
{
|
||||
xmlNodePtr cur2 = cur1->xmlChildrenNode;
|
||||
|
||||
@ -55,7 +56,7 @@ const string XMLParser::getConfig(const xmlDocPtr doc, const string& section, co
|
||||
{
|
||||
string cur2name = (const char*)cur2->name;
|
||||
|
||||
if ((boost::iequals(cur2name, name)))
|
||||
if ((datatypes::ASCIIStringCaseInsensetiveEquals(cur2name, name)))
|
||||
{
|
||||
xmlNodePtr cur3 = cur2->xmlChildrenNode;
|
||||
|
||||
@ -92,7 +93,7 @@ void XMLParser::getConfig(const xmlDocPtr doc, const string& section, const stri
|
||||
{
|
||||
string cur1name = (const char*)cur1->name;
|
||||
|
||||
if ((boost::iequals(cur1name, section)))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(cur1name, section))
|
||||
{
|
||||
xmlNodePtr cur2 = cur1->xmlChildrenNode;
|
||||
|
||||
@ -100,7 +101,7 @@ void XMLParser::getConfig(const xmlDocPtr doc, const string& section, const stri
|
||||
{
|
||||
string cur2name = (const char*)cur2->name;
|
||||
|
||||
if ((boost::iequals(cur2name, name)))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(cur2name, name))
|
||||
{
|
||||
res.clear();
|
||||
xmlNodePtr cur3 = cur2->xmlChildrenNode;
|
||||
@ -134,7 +135,7 @@ void XMLParser::setConfig(xmlDocPtr doc, const string& section, const string& na
|
||||
{
|
||||
string cur1name = (const char*)cur1->name;
|
||||
|
||||
if (boost::iequals(cur1name, section))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(cur1name, section))
|
||||
{
|
||||
cur2 = cur1->xmlChildrenNode;
|
||||
|
||||
@ -142,7 +143,7 @@ void XMLParser::setConfig(xmlDocPtr doc, const string& section, const string& na
|
||||
{
|
||||
string cur2name = (const char*)cur2->name;
|
||||
|
||||
if (boost::iequals(cur2name, name))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(cur2name, name))
|
||||
{
|
||||
xmlNodePtr cur3 = cur2->xmlChildrenNode;
|
||||
|
||||
@ -201,7 +202,7 @@ void XMLParser::delConfig(xmlDocPtr doc, const string& section, const string& na
|
||||
{
|
||||
string cur1name = (const char*)cur1->name;
|
||||
|
||||
if ((boost::iequals(cur1name, section)))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(cur1name, section))
|
||||
{
|
||||
xmlNodePtr cur2 = cur1->xmlChildrenNode;
|
||||
|
||||
@ -211,7 +212,7 @@ void XMLParser::delConfig(xmlDocPtr doc, const string& section, const string& na
|
||||
cur2 = cur2->next;
|
||||
string tmpname = (const char*)tmp->name;
|
||||
|
||||
if ((boost::iequals(tmpname, name)))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(tmpname, name))
|
||||
{
|
||||
xmlUnlinkNode(tmp);
|
||||
xmlFreeNode(tmp);
|
||||
|
@ -124,12 +124,12 @@ void number_int_value(const string& data, cscDataType typeCode, const datatypes:
|
||||
if (y != string::npos)
|
||||
throw QueryDataExcept("')' is not matched.", formatErr);
|
||||
|
||||
if (boost::iequals(valStr, "true"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(valStr, "true"))
|
||||
{
|
||||
intVal = 1;
|
||||
return;
|
||||
}
|
||||
if (boost::iequals(valStr, "false"))
|
||||
if (datatypes::ASCIIStringCaseInsensetiveEquals(valStr, "false"))
|
||||
{
|
||||
intVal = 0;
|
||||
return;
|
||||
|
Loading…
x
Reference in New Issue
Block a user