Fix mysql tests

This commit is contained in:
hezuojiao 2023-01-04 10:38:12 +00:00 committed by ob-robot
parent e8d80ceea0
commit 8ee98a51af
2 changed files with 16 additions and 11 deletions

View File

@ -24,9 +24,9 @@ namespace common
{
class ObObj;
}
namespace observer
{
namespace observer
{
class ObInfoSchemaKvCacheTable : public common::ObVirtualTableScannerIterator
{
@ -53,16 +53,16 @@ private:
SVR_PORT,
CACHE_NAME,
CACHE_ID,
PRIORITY,
CACHE_SIZE,
CACHE_STORE_SIZE,
PRIORITY,
CACHE_SIZE,
CACHE_STORE_SIZE,
CACHE_MAP_SIZE,
KV_CNT,
HIT_RATIO,
TOTAL_PUT_CNT,
TOTAL_HIT_CNT,
TOTAL_MISS_CNT,
HOLD_SIZE
TOTAL_HIT_CNT,
TOTAL_MISS_CNT,
HOLD_SIZE
};
common::ObAddr *addr_;
common::ObString ipstr_;
@ -80,4 +80,3 @@ private:
}
}
#endif /* OCEANBASE_OBSERVER_VIRTUAL_TABLE_OB_INFORMATION_KVCACHE_TABLE */

View File

@ -382,7 +382,13 @@ int ObRawExprDeduceType::calc_result_type(ObNonTerminalRawExpr &expr,
for (int64_t i = 0; i < types.count(); ++i) {
types.at(i).set_calc_meta(types.at(i));
if (lib::is_mysql_mode() && types.at(i).is_double()) {
types.at(i).set_calc_accuracy(types.at(i).get_accuracy());
const ObPrecision p = types.at(i).get_precision();
const ObScale s = types.at(i).get_scale();
// check whether the precision and scale is valid
if ((PRECISION_UNKNOWN_YET == p && s == SCALE_UNKNOWN_YET) ||
(s >= 0 && s <= OB_MAX_DOUBLE_FLOAT_SCALE && p >= s)) {
types.at(i).set_calc_accuracy(types.at(i).get_accuracy());
}
}
}
if (OB_FAIL(ret)) {