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

Merge pull request #2052 from drrtuy/MCOL-4815

MCOL-4815 ColumnCommand was replaced with a set of derived classes sp…
This commit is contained in:
Roman Nozdrin
2021-07-21 17:36:35 +03:00
committed by GitHub
8 changed files with 786 additions and 348 deletions

View File

@ -471,6 +471,26 @@ private:
uint32_t fMaxLen; //how big fBuf is currently
};
template<int W, typename T = void>
struct _ByteStreamType
{
typedef T type;
};
template <int W>
struct ByteStreamType: _ByteStreamType<W> { };
template <>
struct ByteStreamType<1>: _ByteStreamType<1, ByteStream::byte> { };
template <>
struct ByteStreamType<2>: _ByteStreamType<2, ByteStream::doublebyte> { };
template <>
struct ByteStreamType<4>: _ByteStreamType<4, ByteStream::quadbyte> { };
template <>
struct ByteStreamType<8>: _ByteStreamType<8, ByteStream::octbyte> { };
template <>
struct ByteStreamType<16>: _ByteStreamType<16, ByteStream::hexbyte> { };
// type descriptors to let ByteStream point out protocol errors, WIP
static const uint8_t BS_UINT8 = 0;
static const uint8_t BS_UINT16 = 1;
@ -704,6 +724,12 @@ void deserializeSet(ByteStream& bs, std::set<T>& s)
s.insert(tmp);
}
}
/*
template<>
struct ByteStream::_ByteStreamType<1, ByteStream::byte>>
{
typedef ByteStream::byte type;
}*/
}//namespace messageqcpp