Компиляция плагинов к муське

whirlwind

TDD infected, paranoid
Компиляция плагинов к муське

Кто делал плагины к муське подскажите. Пытаюсь тестовый плагин собрать, чета нифига не выходит

/O2 /GL /I "C:\server\mysql\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "MYSQL_DYNAMIC_PLUGIN" /D "_UNICODE" /D "UNICODE" /D "_WINDLL" /FD /EHsc /MD /Fo"Release\\" /Fd"Release\vc80.pdb" /W3 /c /Wp64 /Zi /TC ..\udf_mytest.c

при загрузке плагина упорно пишет

mysql> INSTALL PLUGIN bsrnd SONAME "udf_mytest.dll";
ERROR 1127 (HY000): Can't find symbol '_mysql_plugin_interface_version_' in library

Сишка мелкософтовская 2005 с макросами mysql_declare_plugin нифига компилиться не желает

1>..\udf_mytest.c(62) : error C2059: syntax error : 'string'

похоже что это глюк м$-а компилятора на который фиксов толи небыло, толи уже нет. Сделал вручную

int _mysql_plugin_interface_version_= MYSQL_PLUGIN_INTERFACE_VERSION;
struct st_mysql_plugin _mysql_plugin_declarations_[]= {
{
MYSQL_DAEMON_PLUGIN,
&bsrnd_descriptor,
bsrnd_plugin_name,
bsrnd_plugin_author,
bsrnd_plugin_description,
PLUGIN_LICENSE_GPL,
bsrnd_plugin_init,
bsrnd_plugin_deinit,
0x0001,
NULL,
NULL,
NULL
}
,{0,0,0,0,0,0,0,0,0,0,0,0}};

Все что нашел по этому поводу - добавьте макрос MYSQL_DYNAMIC_PLUGIN - который и так указан. Что тут еще может быть?
 

fixxxer

К.О.
Партнер клуба
>>Что тут еще может быть?
Операционная система? :)

А стандартные плагины из поставки нормально собираются?
Вообще я бы тут смотрел makefile-ы из поставки и через Nmake пытался.
 

whirlwind

TDD infected, paranoid
Неа, нифига не собирается. Поразительно, но инклуды из бинарной поставки 5.1.45 и с тарбола сорцов 5.1.46 различаются существенно. Ровно настолько, что бы создать проблемы при сборке примеров.
 

whirlwind

TDD infected, paranoid
Не, оно из исходников собирается частично. Но там cmakelist на 14 килов. Это что бы разобрать, что там надо для cmake написать, что бы пример отдельно от дерева собрался, ппц скока копать надо. Вот и спрашиваю - мож кто отдельно с нуля собирал.

PS. кстати, сборка интересующего примера daemon_example там вообще не выполняется.

-~{}~ 04.05.10 01:17:

Имеется сторонняя прога, которая выгружает данные через ODBC. Другая прога (наша) получает эти данные. Сейчас это работает на sqlite и есть две проблемы:

1 - мультитредовый доступ к sqlite приводит к регулярным проблемам с блокировками
2 - обновление данных выполняется с определенной периодичностью, а актуальность критична

Сначала рассматривали свой ODBC, но отбросили так как это ппц работы. Возникла идея прикрутить плагином notification daemon, повесить триггеры и через udf информировать об обновлениях. Может есть идеи получше?

-~{}~ 04.05.10 18:01:

PPS. Неактуально. Решили через DDE.
 
Сверху