[FEAT MERGE] Lob SQL refactoring (Mem-LobLocator, expressions and dbms_lob adaptions)

Co-authored-by: chaser-ch <chaser.ch@antgroup.com>
This commit is contained in:
obdev
2023-01-28 20:40:15 +08:00
committed by ob-robot
parent 4bb1033505
commit 3d4f554258
350 changed files with 19091 additions and 3918 deletions

View File

@ -15,6 +15,7 @@
#include "sql/engine/expr/ob_expr_point.h"
#include "lib/geo/ob_geo_bin.h"
#include "lib/geo/ob_geo_utils.h"
#include "sql/engine/expr/ob_geo_expr_utils.h"
using namespace oceanbase::common;
using namespace oceanbase::sql;
@ -173,14 +174,8 @@ int ObExprPoint::eval_point(const ObExpr &expr,
if (OB_SUCC(ret)) {
if (is_null_result) {
res.set_null();
} else {
char *res_buf = expr.get_str_res_mem(ctx, res_wkb_buf.length());
if (OB_ISNULL(res_buf)){
ret = OB_ALLOCATE_MEMORY_FAILED;
} else {
MEMCPY(res_buf, res_wkb_buf.ptr(), res_wkb_buf.length());
res.set_string(res_buf, res_wkb_buf.length());
}
} else if (OB_FAIL(ObGeoExprUtils::pack_geo_res(expr, ctx, res, res_wkb_buf.string()))) {
LOG_WARN("fail to pack geo res", K(ret));
}
}