1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

MCOL-4144 Enable lower_case_table_names

Create tables and schemas with lower case name only if the flag is set.
During operations, convert to lowercase in plugin. Byt the time a query gets to ExeMgr, DDLProc etc., everything must be lower case if the flag is set, and undisturbed if not.
This commit is contained in:
David Hall
2020-09-21 11:31:44 -05:00
parent 1c94e310ff
commit 35c4b66a67
32 changed files with 468 additions and 412 deletions

View File

@ -37,6 +37,7 @@
#include "expressionparser.h"
#include "calpontsystemcatalog.h"
#include "brmtypes.h"
#include <boost/algorithm/string/case_conv.hpp>
#ifndef __GNUC__
# ifndef __attribute__
@ -293,9 +294,11 @@ public:
{
return fTableAlias;
}
void tableAlias (const std::string& tableAlias)
void tableAlias (const std::string& tableAlias, int lower_case_table_names)
{
fTableAlias = tableAlias;
if (lower_case_table_names)
boost::algorithm::to_lower(fTableAlias);
}
/**
@ -424,18 +427,22 @@ public:
{
return fSchemaName;
}
inline void schemaName(const std::string& schemaName)
inline void schemaName(const std::string& schemaName, int lower_case_table_names)
{
fSchemaName = schemaName;
if (lower_case_table_names)
boost::algorithm::to_lower(fSchemaName);
}
inline std::string& tableName()
{
return fTableName;
}
inline void tableName(const std::string& tableName)
inline void tableName(const std::string& tableName, int lower_case_table_names)
{
fTableName = tableName;
if (lower_case_table_names)
boost::algorithm::to_lower(fTableName);
}
inline void traceOn(bool traceOn) __attribute__((deprecated))
@ -539,16 +546,23 @@ public:
return fSubType;
}
void derivedTbAlias(const std::string derivedTbAlias)
void derivedTbAlias(const std::string derivedTbAlias, int lower_case_table_names=0)
{
fDerivedTbAlias = derivedTbAlias;
if (lower_case_table_names)
boost::algorithm::to_lower(fDerivedTbAlias);
}
const std::string derivedTbAlias() const
{
return fDerivedTbAlias;
}
void derivedTbView(const std::string derivedTbView) { fDerivedTbView = derivedTbView; }
void derivedTbView(const std::string derivedTbView, int lower_case_table_names)
{
fDerivedTbView = derivedTbView;
if (lower_case_table_names)
boost::algorithm::to_lower(fDerivedTbView);
}
const std::string derivedTbView() const { return fDerivedTbView; }