Move length-encoded integer/string functions to maxsql
This commit is contained in:
@ -211,4 +211,14 @@ private:
|
||||
mutable ConversionError m_error; /**< Error information */
|
||||
std::unordered_map<std::string, int64_t> m_col_indexes; /**< Map of column name -> index */
|
||||
};
|
||||
|
||||
/** Length-encoded integers */
|
||||
size_t leint_bytes(const uint8_t* ptr);
|
||||
uint64_t leint_value(const uint8_t* c);
|
||||
uint64_t leint_consume(uint8_t** c);
|
||||
|
||||
/** Length-encoded strings */
|
||||
char* lestr_consume_dup(uint8_t** c);
|
||||
char* lestr_consume(uint8_t** c, size_t* size);
|
||||
|
||||
}
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <maxsql/mariadb.hh>
|
||||
#include <maxscale/buffer.hh>
|
||||
#include <maxscale/mysql_utils.hh>
|
||||
#include <maxscale/protocol/mysql.hh>
|
||||
@ -40,7 +41,7 @@ public:
|
||||
*/
|
||||
LEncInt(uint8_t* pData)
|
||||
{
|
||||
m_value = mxs_leint_value(pData);
|
||||
m_value = leint_value(pData);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -52,8 +53,8 @@ public:
|
||||
*/
|
||||
LEncInt(uint8_t** ppData)
|
||||
{
|
||||
size_t nBytes = mxs_leint_bytes(*ppData);
|
||||
m_value = mxs_leint_value(*ppData);
|
||||
size_t nBytes = leint_bytes(*ppData);
|
||||
m_value = leint_value(*ppData);
|
||||
*ppData += nBytes;
|
||||
}
|
||||
|
||||
@ -229,7 +230,7 @@ public:
|
||||
// NULL is sent as 0xfb. See https://dev.mysql.com/doc/internals/en/com-query-response.html
|
||||
if (*pData != 0xfb)
|
||||
{
|
||||
m_pString = mxs_lestr_consume(&pData, &m_length);
|
||||
m_pString = lestr_consume(&pData, &m_length);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -250,7 +251,7 @@ public:
|
||||
// NULL is sent as 0xfb. See https://dev.mysql.com/doc/internals/en/com-query-response.html
|
||||
if (**ppData != 0xfb)
|
||||
{
|
||||
m_pString = mxs_lestr_consume(ppData, &m_length);
|
||||
m_pString = lestr_consume(ppData, &m_length);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user