Saintycer
Saintycer

Reputation: 47

How to get elements from an array returned from mysql udf

I created a mysql UDF that returns variable in char** type. The reason I did this is because I need to return two char arrays back to mysql at the same time. But I don't know how to get elements from this array when I build a mysql trigger that calls this UDF.

Here are my UDF code:

char **insert_token(UDF_INIT *initid, UDF_ARGS *args, char* result, unsigned long *length, char *is_null
, char *error)
{
    char* token1 = args->args[0];
    char* token2 = args->args[1];
    char** token=get_token(token1, token2);
    return token;
}

And I got stuck when I needed to retrieve elements from this array when created a trigger, below is my pseudocode, I appreciate if someone knows how to implement it in a correct way:

DELIMITER $$

CREATE TRIGGER INSERT_T BEFORE INSERT ON data
for each row begin
     Array var = insert_token(New.token2, New.token2);
     SET NEW.token1 = var[0];
     SET NEW.token2 = var[1];
END$$

DELIMITER ;

Upvotes: 1

Views: 166

Answers (0)

Related Questions