[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:
@ -167,6 +167,8 @@ int ObExprPrivSTDWithin::eval_st_dwithin(const ObExpr &expr, ObEvalCtx &ctx, ObD
|
||||
ObDatum *gis_datum1 = NULL;
|
||||
ObDatum *gis_datum2 = NULL;
|
||||
ObDatum *gis_datum3 = NULL;
|
||||
ObString wkb1;
|
||||
ObString wkb2;
|
||||
ObExpr *gis_arg1 = expr.args_[0];
|
||||
ObExpr *gis_arg2 = expr.args_[1];
|
||||
ObExpr *gis_arg3 = expr.args_[2];
|
||||
@ -181,10 +183,18 @@ int ObExprPrivSTDWithin::eval_st_dwithin(const ObExpr &expr, ObEvalCtx &ctx, ObD
|
||||
LOG_WARN("eval geo args failed", K(ret), KP(gis_datum1),KP(gis_datum2),KP(gis_datum3));
|
||||
} else if (gis_datum1->is_null() || gis_datum2->is_null() || gis_datum3->is_null()) {
|
||||
res.set_null();
|
||||
} else if (FALSE_IT(wkb1 = gis_datum1->get_string())) {
|
||||
} else if (FALSE_IT(wkb2 = gis_datum2->get_string())) {
|
||||
} else if (OB_FAIL(ObTextStringHelper::read_real_string_data(temp_allocator, *gis_datum1,
|
||||
gis_arg1->datum_meta_, gis_arg1->obj_meta_.has_lob_header(), wkb1))) {
|
||||
LOG_WARN("fail to get real string data", K(ret), K(wkb1));
|
||||
} else if (OB_FAIL(ObTextStringHelper::read_real_string_data(temp_allocator, *gis_datum2,
|
||||
gis_arg2->datum_meta_, gis_arg2->obj_meta_.has_lob_header(), wkb2))) {
|
||||
LOG_WARN("fail to get real string data", K(ret), K(wkb2));
|
||||
} else if (OB_FAIL(ObExprPrivSTDWithin::eval_st_dwithin_common(ctx,
|
||||
temp_allocator,
|
||||
gis_datum1->get_string(),
|
||||
gis_datum2->get_string(),
|
||||
wkb1,
|
||||
wkb2,
|
||||
gis_datum3->get_double(),
|
||||
input_type1,
|
||||
input_type2,
|
||||
|
||||
Reference in New Issue
Block a user