Hidden jewels in MySQL Bazaar trees

Bees

If you have followed the steps to get From Bazaar To Sandboxes In 5 Moves, you will have now the current MySQL versions in your disk. But what if you need some older versions?

According to MySQL lifecycle policy, MySQL 3.23 and 4.0 are not supported anymore, and you won't find their binaries in MySQL download pages. However, the source code is still published, as it must, to comply with the GPL.

Where is it? The code for MySQL old versions is contained in every newer version. The only information you need to branch it is the name of the tag for that specific version. For that, we ask Bazaar itself.


$ cd $HOME/install/bzr/shared/51
$ bzr tags

And we will get a long list, which I trimmed for brevity sake.


NULLMERGE            1810.2153.3
base_4_16217         1810.1340.2
beta-3.23.23         71.1.3
mysql-3.23.22-beta   4
mysql-3.23.24-beta   83.1.3
mysql-3.23.27-beta   217.1.9
mysql-3.23.28-gamma  280
mysql-3.23.29a-gamma 400.1.1
mysql-3.23.30-gamma  455
mysql-3.23.31        489
[ ... ]
mysql-3.23.58        676.294.51
mysql-4.0.1          973.14.24
mysql-4.0.2          1073
[ ... ]
mysql-4.0.28         1346.887.6
mysql-4.0.30         1346.891.8
mysql-4.1.1          1616.1.25
mysql-4.1.2          1616.440.5
[ ... ] 
mysql-4.1.22         1616.2842.2
mysql-4.1.23         1616.3066.4
mysql-4.1.24         1616.3137.2
mysql-5.0.0          1624.1.20
mysql-5.0.1          1624.12.54
mysql-5.0.2          1659.9.4
[ ... ]
mysql-5.0.42         1810.2982.2
mysql-5.0.44         1810.3132.2
mysql-5.0.45         1810.3132.6
[ ... ]
mysql-5.1.11         2154.34.2
mysql-5.1.12         2303.16.23
mysql-5.1.13         2303.78.1
[ ... ]

The earliest version we can get is MySQL 3.23.22. Let's do this archeological expedition.
We can branch the old version from a remote tree or from a local one.


$ cd $HOME/install/bzr/shared

The following two commands will bear the same result. The second one, being all local, will be much faster.


$ bzr branch -r tag:mysql-3.23.22-beta lp:mysql-server/5.1 branch_3.23.22
$ bzr branch -r tag:mysql-3.23.22-beta 51 branch_3.23.22

51 is the name of the directory containing the 5.1 tree, as seen in this exercise

Or we can checkout the code. The difference is that a branch will preserve all the revision control information, while a checkout will not. The checkout will be about half the size of a branch.


$ bzr checkout -r tag:mysql-3.23.22-beta 51 checkout_3.23.22

Now, if you really feel like running MySQL 3.23.22, check the manual and build it. I can only tell you that it actually works, but there is no support for this version, so don't bother submitting any bugs for it!

Comments:

Post a Comment:
Comments are closed for this entry.
About

Giuseppe Maxia

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today