From: Sergey Glukhov Date: March 12 2009 1:30pm Subject: bzr commit into mysql-5.1-bugteam branch (Sergey.Glukhov:2832) Bug#42610 List-Archive: http://lists.mysql.com/commits/69037 X-Bug: 42610 Message-Id: <0KGE001B6AU9OA20@fe-emea-09.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_BgqbRlwPNiWP3l0z86vC+A)" --Boundary_(ID_BgqbRlwPNiWP3l0z86vC+A) MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline #At file:///home/gluh/MySQL/mysql-5.1-bug-42610.1/ based on revid:timothy.smith@stripped 2832 Sergey Glukhov 2009-03-12 Bug#42610 Dynamic plugin broken in 5.1.31(2nd part) --added ability to obtain plugin variables from my.cnf on INSTALL PLUGIN stage --option 'ignore-builtin-innodb' disables all InnoDB builtin plugins (including I_S plugins) @ sql/mysqld.cc --added ability to obtain plugin variables from my.cnf on INSTALL PLUGIN stage @ sql/sql_plugin.cc --added ability to obtain plugin variables from my.cnf on INSTALL PLUGIN stage --option 'ignore-builtin-innodb' disables all InnoDB builtin plugins (including I_S plugins) modified: sql/mysqld.cc sql/sql_plugin.cc === modified file 'sql/mysqld.cc' --- a/sql/mysqld.cc 2009-02-25 08:49:02 +0000 +++ b/sql/mysqld.cc 2009-03-12 13:30:01 +0000 @@ -648,6 +648,9 @@ static int defaults_argc; static char **defaults_argv; static char *opt_bin_logname; +int orig_argc; +char **orig_argv; + static my_socket unix_sock,ip_sock; struct rand_struct sql_rand; ///< used by sql_class.cc:THD::THD() @@ -2923,7 +2926,7 @@ pthread_handler_t handle_shutdown(void * #endif #if !defined(EMBEDDED_LIBRARY) -static const char *load_default_groups[]= { +const char *load_default_groups[]= { #ifdef WITH_NDBCLUSTER_STORAGE_ENGINE "mysql_cluster", #endif @@ -3221,6 +3224,8 @@ static int init_common_variables(const c SQLCOM_END + 8); #endif + orig_argc=argc; + orig_argv=argv; load_defaults(conf_file_name, groups, &argc, &argv); defaults_argv=argv; defaults_argc=argc; === modified file 'sql/sql_plugin.cc' --- a/sql/sql_plugin.cc 2009-02-09 15:03:52 +0000 +++ b/sql/sql_plugin.cc 2009-03-12 13:30:01 +0000 @@ -1139,8 +1139,9 @@ int plugin_init(int *argc, char **argv, for (plugin= *builtins; plugin->info; plugin++) { if (opt_ignore_builtin_innodb && - !my_strcasecmp(&my_charset_latin1, plugin->name, "InnoDB")) - continue; + !my_strnncoll(&my_charset_latin1, (const uchar*) plugin->name, + 6, (const uchar*) "InnoDB", 6)) + continue; /* by default, ndbcluster and federated are disabled */ def_enabled= my_strcasecmp(&my_charset_latin1, plugin->name, "NDBCLUSTER") != 0 && @@ -1629,12 +1630,16 @@ void plugin_shutdown(void) } +extern int orig_argc; +extern char **orig_argv; +extern const char *load_default_groups[]; + bool mysql_install_plugin(THD *thd, const LEX_STRING *name, const LEX_STRING *dl) { TABLE_LIST tables; TABLE *table; - int error, argc; - char *argv[2]; + int error, argc=orig_argc; + char **argv=orig_argv; struct st_plugin_int *tmp; DBUG_ENTER("mysql_install_plugin"); @@ -1650,11 +1655,11 @@ bool mysql_install_plugin(THD *thd, cons pthread_mutex_lock(&LOCK_plugin); rw_wrlock(&LOCK_system_variables_hash); - /* handle_options() assumes arg0 (program name) always exists */ - argv[0]= const_cast(""); // without a cast gcc emits a warning - argv[1]= 0; - argc= 1; + + load_defaults(MYSQL_CONFIG_NAME, load_default_groups, &argc, &argv); error= plugin_add(thd->mem_root, name, dl, &argc, argv, REPORT_TO_USER); + if (argv) + free_defaults(argv); rw_unlock(&LOCK_system_variables_hash); if (error || !(tmp= plugin_find_internal(name, MYSQL_ANY_PLUGIN))) --Boundary_(ID_BgqbRlwPNiWP3l0z86vC+A) MIME-version: 1.0 Content-type: text/bzr-bundle; name="bzr/sergey.glukhov@stripped"; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline; filename="bzr/sergey.glukhov@stripped" # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: sergey.glukhov@stripped # target_branch: file:///home/gluh/MySQL/mysql-5.1-bug-42610.1/ # testament_sha1: 322009ad9f073e488dc1fd33a4db8f2b0d8b9662 # timestamp: 2009-03-12 17:30:11 +0400 # base_revision_id: timothy.smith@stripped\ # ugla6xjf9vfxe1h0 # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWbH4z34AAvZ/gEUQBAB59/// f6fuKr////hgBu+9MQANWW0NfJ3auqZWwSSmp6BU81GEnqeymjxCbSQGR6QNDR6j1H6Sep6mHGTJ oxDTQwE0MTRpkxAyMJo00wgyY4yZNGIaaGAmhiaNMmIGRhNGmmEGTCSEU8qn6aZGqeFNqNqaaep6 TQaGmgaAADQARUpqbKbTUYEMTQNMj1GINAAAAAAkkAQE0aATRoamRAyT0n6U8U0YCZlNoMEKynI7 HRS+Vl4M4dtj2myrGc08sRI0G4h7ldVKYIml75d8IoVZuQ402tXVHvJxtdHOOiEtaFQRhkfvmfg8 r0I2L4F4zMgZqfQMPzOrGV88O2dobVFQxTnOsx8XQ1WVJUbXi4P5kv/HwPav1XWUl9hxdmMfMOt5 nw3lipbVzQtf8VUgdFyVxI5RLOVq7GPwIhX/qcK5Wkl5eevLR0c/RZVgMxI+6Sug0c8yTr2TLO9A VwHK3s3EBnmqczGobVTRp6zVHCNoI09hjTcoiu1x9vv4mYiUzLChXzE2TWrvEac1adCXF3xEQEPS PUadUsxURFkfkZMmaBNewJwLgvbBkQhiOIUt9NtUA1uiUHuwacwPBReAQA4snqKNCZMviPTgJK3q 4UgplDmQVU8o9Ck9XKLFo4wPPu0IkMY0c6tYafbcAzQJOFctvExFK1WWzTgPRnOGs20uVRFNWtUe MWTxZBWej/9O3wLTdjedadKsk+8sHGgclesJMtpnpIZqmcMEBioqLDgMio58LHThsKxhPFh1rRvI uJK+qInjoIlk6zuAvVwyvGRdla9ImtWy8eI/dNeSVxZe15F5JxoGIHMzKLsX8AVvg2vPjiDsFcMs cCz34RVCTHbMLrzN/m+bNUPoiPGNitW6924xweQytF00c5qby7SfwRMTkQcbSFFQ7B3BaVgcu8DL Fq2e+64aI12OoOHnWdigiNtHBRxyOyBcd6gnrHOrnUm5M7ut7u49J7s9S4YD/rcFZrE2LQb11LXA spI3Z8d0dg2mt8Jyg5Ia7HjxSdTsQpEn1EFsJ5BwWFhv6jXqU5VcxdMwyHDJgeQZXQti9Enny+u5 vMNgDfURxE7nS52VY4JlBu7IdbTeSdrbWbT7Vw8sUeGq0SNXqjGTAd6+H5URhGGZtfJw0r0Wwyb1 uf67dyclh2K1f1b4O2Vce+Bb5Vtef6+r216mWLmOA7BeNgFegMtiYzkA6dkPzojHtkUYbzBCqMvO vCdP3eU7xylynOZebgP68jrWk/NeuQepU1qQetDl6762G4UZa9oDIZi8Bwz2spLLjOLjFutX5JPw mMn1R9voqhikpO4qMROVOs++AF/du5rm4Y9iF2YHgwrjnoOhEW8ieQjM/OpWy6+9lI69MpjWJzCU ifM+WAS2nUiXExIFpIPOYqlahGQGAQNhqHq5ZId1b1caTYq8E5YnX0HLhD+loNZ+JqJYn5H5Ff2y s2/SaAkfPHemyRBHaeOZzqrYQUHw07hsxRHbWVRIhMKUr+Y5EDrf2CwRwNWtEy1BGiO1SEcp03LP kkx6JL9E9G4IHYXWk1j4MNQ3jOa7msxoVii+sGS44HFGa5jrAaK2WcGOISNAlxgSGeZAMLkwFJCq Y59VtmbBiviyDHxEa1FdSQytDvbPVkI8XyOD1ID5HLSBtEcVqCqKnhxTxwMMhvUakadWIxIKQaU+ +EHmNBGZEHlCxTJyeO41mTJ85f6ZCt4idFAFVitXQK4ITo0qjo+VRGtFzplbbo5htsK6gOYHcEsP YMA+xAdy7UyvR0P17LiGxbuBZXxJqdiga81n/ur/cnaWG4vLhk1rtsaAJAwGtCnBHGBCWPAPn+rV Mn9jkU4pwRx3OAw9yiVRyOEXDDAQCwINcoQaEBgG6x7bCmazKygXgsMRFIwqwYK2EUyDteiCWRsd NFD3VXRzOwV8lgsqryIMB7OiFtkldLBfCKBVosw7JRSdIBiat6Qp02BE2mU2K53+U47sgC03gU/1 3AV5pkehjjnEDL1azUyfBKohgTSoBwTKGRFccfMQAfhgrMhcuistGLmBlYOiwcpEDOPwmgMDiBjZ S11kVEDFQ76qqtid3wN4ciFKSLAyBpT0RZxoT3rNlKpjRTT4SGUiHpCa2JnamWAT4qprWxeQ2BM2 ZFQpjmMS8SvRJaHegxYwZHGTHYKVPAqFOfPAlrTOFFiiEu1EzBa7aIQQgJTZmZnaWK4hZbDOB4s+ 9eG1ZKnguInAWLkncOtDr0yDooUWEiUG3gftuellrT9+BoTZQgseClktK3/2LuSKcKEhY/Ge/A== --Boundary_(ID_BgqbRlwPNiWP3l0z86vC+A)--