Как отлаживать пользовательскую функцию mysql? - PullRequest
2 голосов
/ 11 января 2012

У меня есть функция mysql, я хочу отладить ее, установить точки прерывания, посмотреть значения переменных за этот период и т. Д. Как это сделать?

Ответы [ 2 ]

4 голосов
/ 12 января 2012

Из моего текущего поиска (хотя я мог что-то пропустить) я должен согласиться с Devart, что вы не можете отлаживать функции UDF.

Еще один совет, который вам нужно дать, - это использовать stderr для отладки.Я создал кое-что довольно простое для работы:

void udf_debug( char *msg, ... ) {
#ifdef DEBUG
  va_list ap;

  va_start(ap, msg);
  vfprintf(stderr, msg, ap);
  va_end(ap);

  fflush(stderr);
#endif
}
1 голос
/ 12 января 2012

Вы не можете отлаживать функцию UDF, когда она вызывается MySQL. Но я думаю, что вы можете попробовать эти варианты:

  • отладка ваших функций без MySQL, просто передайте значения тестовых параметров в функцию.
  • попытайтесь вывести значения в файл при вызове UDF, это поможет вам просмотреть внутренние переменные и понять, что происходит.
...