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

MCOL-3536 collation

This commit is contained in:
David Hall
2020-05-26 12:42:11 -05:00
parent 11ba12f6ea
commit 06e50e0926
47 changed files with 516 additions and 535 deletions

View File

@ -6099,7 +6099,8 @@ CalpontSystemCatalog::ColType::ColType() :
compressionType(NO_COMPRESSION),
columnOID(0),
autoincrement(0),
nextvalue(0)
nextvalue(0),
cs(NULL)
{
charsetNumber = default_charset_info->number;
}
@ -6118,10 +6119,16 @@ CalpontSystemCatalog::ColType::ColType(const ColType& rhs)
columnOID = rhs.columnOID;
autoincrement = rhs.autoincrement;
nextvalue = rhs.nextvalue;
charsetNumber = default_charset_info->number;
charsetNumber = default_charset_info->number;
charsetNumber = rhs.charsetNumber;
cs = rhs.cs;
}
CHARSET_INFO* CalpontSystemCatalog::ColType::getCharset()
{
if (!cs)
cs= get_charset(charsetNumber, MYF(MY_WME));
return cs;
}
const string CalpontSystemCatalog::ColType::toString() const
{

View File

@ -48,6 +48,11 @@
#undef min
#undef max
// Because including my_sys.h in a Columnstore header causes too many conflicts
struct charset_info_st;
typedef const struct charset_info_st CHARSET_INFO;
#ifdef _MSC_VER
#define __attribute__(x)
#endif
@ -293,9 +298,11 @@ public:
bool autoincrement; //set to true if SYSCOLUMN autoincrement is <20>y<EFBFBD>
uint64_t nextvalue; //next autoincrement value
uint32_t charsetNumber;
const CHARSET_INFO* cs;
ColType(const ColType& rhs);
CHARSET_INFO* getCharset();
// for F&E use. only serialize necessary info for now
void serialize (messageqcpp::ByteStream& b) const
{

View File

@ -336,7 +336,7 @@ public:
fRefCount = refCount;
}
// the inc and dec functions are used by connector single thread.
// the inc and dec functions areparm[n]->data() used by connector single thread.
virtual void decRefCount()
{
fRefCount--;
@ -458,6 +458,7 @@ public:
void charsetNumber(uint32_t cnum)
{
fResultType.charsetNumber = cnum;
fOperationType.charsetNumber = cnum;
}
protected: