This commit is contained in:
XieHan
2021-03-22 00:59:53 +08:00
3 changed files with 17 additions and 6 deletions
+10 -1
View File
@@ -197,8 +197,17 @@ void WFServiceGovernance::success(RouteManager::RouteResult *result,
WFNSTracing *tracing,
CommTarget *target)
{
EndpointAddress *server;
if (tracing->deleter)
{
auto *v = (std::vector<EndpointAddress *> *)(tracing->data);
server = (*v)[v->size() - 1];
}
else
server = (EndpointAddress *)tracing->data;
pthread_rwlock_rdlock(&this->rwlock);
this->recover_server_from_breaker((EndpointAddress *)tracing->data);
this->recover_server_from_breaker(server);
pthread_rwlock_unlock(&this->rwlock);
WFDNSResolver::success(result, tracing, target);
+3 -2
View File
@@ -174,7 +174,8 @@ inline int MySQLCell::as_int() const
{
if (!this->is_int())
return 0;
char num[MYSQL_NUM_STR_LENGTH + 1];
char num[MYSQL_INT_STR_LENGTH + 1];
memcpy(num, this->data, this->len);
num[this->len] = '\0';
return atoi(num);
@@ -222,7 +223,7 @@ inline unsigned long long MySQLCell::as_ulonglong() const
if (!this->is_ulonglong())
return 0;
char num[MYSQL_NUM_STR_LENGTH + 1];
char num[MYSQL_LONG_STR_LENGTH + 1];
memcpy(num, this->data, this->len);
num[this->len] = '\0';
return strtoull(num, NULL, 10);
+4 -3
View File
@@ -22,9 +22,10 @@
#define MYSQL_STATE_LENGTH 5
#define MYSQL_STATE_DEFAULT "HY000"
#define MYSQL_NUM_STR_LENGTH 8 // 8 Length-Encoded Integer
#define MYSQL_FLOAT_STR_LENGTH 7 // 7 for float
#define MYSQL_DOUBLE_STR_LENGTH 19 // 19 for long double
#define MYSQL_INT_STR_LENGTH 11 // 10 for unsigned int
#define MYSQL_LONG_STR_LENGTH 21 // 20 for unsigned long long
#define MYSQL_FLOAT_STR_LENGTH 7 // 7 for float
#define MYSQL_DOUBLE_STR_LENGTH 19 // 19 for long double
// may be set by server in EOF/OK packet
#define MYSQL_SERVER_MORE_RESULTS_EXIST 0x0008