Loading mysql-test/t/disabled.def +0 −1 Original line number Diff line number Diff line Loading @@ -11,4 +11,3 @@ ############################################################################## ndb_load : Bug#17233 udf : Not yet sql/item_func.cc +10 −5 Original line number Diff line number Diff line Loading @@ -2734,9 +2734,10 @@ String *udf_handler::val_str(String *str,String *save_str) { uchar is_null_tmp=0; ulong res_length; DBUG_ENTER("udf_handler::val_str"); if (get_arguments()) return 0; DBUG_RETURN(0); char * (*func)(UDF_INIT *, UDF_ARGS *, char *, ulong *, uchar *, uchar *)= (char* (*)(UDF_INIT *, UDF_ARGS *, char *, ulong *, uchar *, uchar *)) u_d->func; Loading @@ -2746,22 +2747,26 @@ String *udf_handler::val_str(String *str,String *save_str) if (str->alloc(MAX_FIELD_WIDTH)) { error=1; return 0; DBUG_RETURN(0); } } char *res=func(&initid, &f_args, (char*) str->ptr(), &res_length, &is_null_tmp, &error); DBUG_PRINT("info", ("udf func returned, res_length: %lu", res_length)); if (is_null_tmp || !res || error) // The !res is for safety { return 0; DBUG_PRINT("info", ("Null or error")); DBUG_RETURN(0); } if (res == str->ptr()) { str->length(res_length); return str; DBUG_PRINT("exit", ("str: %s", str->ptr())); DBUG_RETURN(str); } save_str->set(res, res_length, str->charset()); return save_str; DBUG_PRINT("exit", ("save_str: %s", save_str->ptr())); DBUG_RETURN(save_str); } Loading sql/udf_example.cc +1 −1 Original line number Diff line number Diff line Loading @@ -344,7 +344,7 @@ char *metaphon(UDF_INIT *initid, UDF_ARGS *args, char *result, KSflag = 0; /* state flag for KS translation */ for (metaph_end = result + MAXMETAPH, n_start = n; n <= n_end && result < metaph_end; n++ ) n < n_end && result < metaph_end; n++ ) { if ( KSflag ) Loading Loading
mysql-test/t/disabled.def +0 −1 Original line number Diff line number Diff line Loading @@ -11,4 +11,3 @@ ############################################################################## ndb_load : Bug#17233 udf : Not yet
sql/item_func.cc +10 −5 Original line number Diff line number Diff line Loading @@ -2734,9 +2734,10 @@ String *udf_handler::val_str(String *str,String *save_str) { uchar is_null_tmp=0; ulong res_length; DBUG_ENTER("udf_handler::val_str"); if (get_arguments()) return 0; DBUG_RETURN(0); char * (*func)(UDF_INIT *, UDF_ARGS *, char *, ulong *, uchar *, uchar *)= (char* (*)(UDF_INIT *, UDF_ARGS *, char *, ulong *, uchar *, uchar *)) u_d->func; Loading @@ -2746,22 +2747,26 @@ String *udf_handler::val_str(String *str,String *save_str) if (str->alloc(MAX_FIELD_WIDTH)) { error=1; return 0; DBUG_RETURN(0); } } char *res=func(&initid, &f_args, (char*) str->ptr(), &res_length, &is_null_tmp, &error); DBUG_PRINT("info", ("udf func returned, res_length: %lu", res_length)); if (is_null_tmp || !res || error) // The !res is for safety { return 0; DBUG_PRINT("info", ("Null or error")); DBUG_RETURN(0); } if (res == str->ptr()) { str->length(res_length); return str; DBUG_PRINT("exit", ("str: %s", str->ptr())); DBUG_RETURN(str); } save_str->set(res, res_length, str->charset()); return save_str; DBUG_PRINT("exit", ("save_str: %s", save_str->ptr())); DBUG_RETURN(save_str); } Loading
sql/udf_example.cc +1 −1 Original line number Diff line number Diff line Loading @@ -344,7 +344,7 @@ char *metaphon(UDF_INIT *initid, UDF_ARGS *args, char *result, KSflag = 0; /* state flag for KS translation */ for (metaph_end = result + MAXMETAPH, n_start = n; n <= n_end && result < metaph_end; n++ ) n < n_end && result < metaph_end; n++ ) { if ( KSflag ) Loading