Well what do you know. I'm not a sleep and also the main.drizzle_client passed after all.
https://code.launchpad.net/~hingo/drizzle/drizzle-drizzledump-and-other-version-fixes/+merge/91598 henrik On Mon, Feb 6, 2012 at 12:03 AM, Henrik Ingo <henrik.i...@avoinelama.fi> wrote: > Hi all > > So there's been various IRC and private mails discussion on this and I > wanted to drag it into public, since people are doing things > independent of each other. > > We've made an attempt to release a release candidate with "drizzle" as > the package name and "7.1.31-rc" as the version => > drizzle-7.1.31-rc.tar.gz. It turns out a few tests don't pass after > you've done bzr tag 7.1.31-rc: > > main.comments > > This tests the use of comments to hide a command from lower level > versions of MySQL/Drizzle: > SELECT ... /*!72301 ... */; > Naturally, when version number is less than 7.23.01 the result > changes. I've changed the result file to match the new reality. (Side > comment, this brings the test back to testing what it is originally > intended to test. It's been kind of redundant with the 2011.xx.yy > versions.) > > regression.732849 > main.drizzledump_restore > main.drizzledump > > Drizzledump uses the version number to "detect" whether it is > connected to a MySQL or Drizzle server. For several tests it now > thinks it is talking to the newly released MySQL 7.1.31 version and > uses "SET NAMES utf8" which creates an error. This is a well known > anti-pattern in the javascript world, made me smile a little to see > that it apparently is not exclusive to JavaScript programmers. Even > so, the easiest fix for tonight is simply to change the logic to say > that anything from version 7 up is Drizzle. Since all MySQL forks are > still on 5.x, we will have a couple years before it breaks again. I > will file a low-hanging-fruit bug to really detect Drizzle from > something solid (like existence of DATA_DICTIONARY, or something > drizzle specific inside the DATA_DICTIONARY). > > === modified file 'client/server_detect.cc' > --- client/server_detect.cc 2011-08-07 20:48:33 +0000 > +++ client/server_detect.cc 2012-02-05 20:07:56 +0000 > @@ -30,8 +30,13 @@ > { > boost::match_flag_type flags = boost::match_default; > > - boost::regex mysql_regex("^([3-9]\\.[0-9]+\\.[0-9]+)"); > - boost::regex drizzle_regex("^(20[0-9]{2}\\.(0[1-9]|1[012])\\.[0-9]+)"); > + // FIXME: Detecting capabilities from a version number is a recipe for > + // disaster, like we've seen with 15 years of JavaScript :-) > + // Anyway, as there is no MySQL 7.x yet, this will do for tonight. > + // I will get back to detect something tangible after the release (like > + // presence of some table or its record in DATA_DICTIONARY. > + boost::regex mysql_regex("^([3-6]\\.[0-9]+\\.[0-9]+)"); > + boost::regex drizzle_regex("^([7-9]\\.[0-9]+\\.[0-9]+)"); > > version= drizzle_con_server_version(connection); > > main.mysql_protocol > > Also a SET NAMES utf8 error, I assume it is fixed by the above. I'm > now running make test. Will go to sleep before it finishes though. > > > main.drizzle_client > > This one is a bit unclear to me and doesn't seem to be connected to the above. > > DESCRIBE tablename; > > should output: > > +-------+---------+------+---------+-----------------+-----------+ > | Field | Type | Null | Default | Default_is_NULL | On_Update | > +-------+---------+------+---------+-----------------+-----------+ > | i | INTEGER | YES | | YES | | > | j | INTEGER | NO | | NO | | > | k | INTEGER | YES | | YES | | > +-------+---------+------+---------+-----------------+-----------+ > > but instead outputs > > +-------+---------+------+---------+-----------------+-----------+ > | Field | Type | Null | Default | Default_is_NULL | On_Update | > +-------+---------+------+---------+-----------------+-----------+ > | i | INTEGER | 1 | | 1 | | > | j | INTEGER | 0 | | 0 | | > | k | INTEGER | 1 | | 1 | | > +-------+---------+------+---------+-----------------+-----------+ > > > I already checked and when I use a drizzle client to connect to a > mysqld it also outputs the "Yes" / "No" so it probably isn't related > to server detection. On this last one I will continue tomorrow and all > help is welcome. > > henrik > > -- > henrik.i...@avoinelama.fi > +358-40-8211286 skype: henrik.ingo irc: hingo > www.openlife.cc > > My LinkedIn profile: http://www.linkedin.com/profile/view?id=9522559 -- henrik.i...@avoinelama.fi +358-40-8211286 skype: henrik.ingo irc: hingo www.openlife.cc My LinkedIn profile: http://www.linkedin.com/profile/view?id=9522559 _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : drizzle-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp