Gentoo Archives: gentoo-dev

From: Francesco Riosa <vivo@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [dRFC] slotted mysql ready
Date: Mon, 09 Jan 2006 14:16:33
Message-Id: 43C26FAB.5070402@gentoo.org
In Reply to: Re: [gentoo-dev] [dRFC] slotted mysql ready by Kalin KOZHUHAROV
1 Kalin KOZHUHAROV wrote:
2 > Francesco Riosa wrote:
3 >> Kalin KOZHUHAROV wrote:
4 [...]
5 >
6 > Now this is in my mind, a mind that looks for bugs and troubles before
7 they come out.
8
9 That's exactly what I'm looking for ;-)
10
11 >
12 > If mysql is slotted (and you said it it will be soon), what will
13 happen to software that use mysql
14 > bindings, for example dev-perl/DBD-mysql?
15
16 will happen that the bindings need to be fixed at first,
17 fex see bug #114925 "dev-perl/DBD-mysql-3.0002_p4 fails to compile"
18 where Malcolm Lashley give a patch to add backward compatibility.
19
20 TODO: threat include files like libraries, also mind about "mysql_config"
21
22 >
23 > "{{{ A hypothetical example:
24 >
25 > I used mysql-4.1.16-r30 and I have a locally encoded (say Shift_JIS)
26 database. I have DBD-mysql
27 > compiled against that and a package FOO using that works as expected.
28 >
29 > Some package wants >=mysql-5.0.0 and DBD-mysql, and because mysql is
30 SLOTed, portage says ok,
31 > emerges mysql-5.0.18-r30 and rebuilds DBD-mysql against it.
32
33 Oops *you* need to tell portage to rebuild DBD-mysql.
34 Difficult that a package will want mysql >= something, but take this is
35 an example, so it's ok.
36
37 >
38 > The probable result is that package FOO will be silently broken
39 because of incompatible changes
40 > between mysql-4.1 and mysql-5.0 ...
41 >
42 > "}}}
43
44 Not so probable, or at least at a lesser degree than what you think.
45 The major part of incompatibilityes are absorbed from the additional
46 layer offered by DBD-mysql.
47 The client app will still work with DBD-mysql, not directly with the server.
48 Ah and by the way remember that the server running will continue to be
49 4.1, and that default datadir will be different for 4.1 and 5.0 (it's
50 insane to make two different versions work with the same data)
51
52 Charset side there is additional support in MySQL 5.0 to support UTF-16,
53 but the big jump has been done between 4.0 and 4.1, now it should be
54 just more easy.
55
56 >
57 > Actually reading on
58 http://dev.mysql.com/doc/refman/5.0/en/upgrading-from-4-1.html there are
59 quite
60 > many incompatible changes.
61
62 Take a look at the changes:
63
64 Server Changes:
65 - The indexing order for end-space in TEXT columns ...
66 Unlikely to affect many apps.
67 - For BINARY columns, the pad value and how ...
68 Unlikely to affect many apps.
69 - MyISAM and InnoDB tables created with DECIMAL ...
70 Database only change, not visible outside (well not exatly but with a
71 good approx.)
72 - Incompatible change: As of MySQL 5.0.3, the server by default no
73 longer loads user-defined functions...
74 Unlikely to affect many apps.
75 - Incompatible change: The update log was removed in MySQL 5.0 ...
76 Don't affect apps, learn to use "mysqlbinlog"
77 - Support for the ISAM storage engine has been removed ...
78 Well it's real time to switch to myisam
79 - Support for RAID options in MyISAM tables has been removed ...
80 Don't affect apps.
81
82 SQL Changes:
83 - Previously, a lock wait timeout caused InnoDB to roll ...
84 Look like a bug fixed
85 - The namespace for triggers has changed in MySQL 5.0.10. ...
86 Don't affect 4.1
87 - As of MySQL 5.0.15, the CHAR() function returns a binary string rather
88 than ...
89 Filtered from DBD-mysql layer
90 - Beginning with MySQL 5.0.12, natural joins and joins with USING,
91 including outer join variants, are processed according to the SQL:2003
92 standard. The changes include elimination of redundant output columns
93 for NATURAL joins and joins specified with a USING clause and proper
94 ordering of output columns. The precedence of the comma operator also
95 now is lower compared to JOIN.
96 LIKELY TO AFFECT MANY APPS THAT USE SQL, however the fixes are cheap
97 as this nonsense
98 1 + 2 - 3 ==> ( 1 + 2 ) * 3
99 there is an operator that changed precedence.
100
101 >
102 > Although this may be a problem for DBD-mysql, it will be exposed after
103 mysql is SLOTed...
104 > Or shall we SLOT dev-perl/DBD-mysql as well?
105 > And what about ruby, python (any other language bindings?)?
106
107 No at all, every one of these must be able to compile on whatever
108 version of mysql,
109 examples of how this could be done are at bugs 85783, 85810, 85829,
110 85843, 85844, 114925.
111
112 Better ?
113 --
114 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] [dRFC] slotted mysql ready Kalin KOZHUHAROV <kalin@××××××××.net>