Най-сетне Фалкон вече е официално в сорс- дървото, което лично мене много ме радва. Ето и как можете да си го компилирате и да видите чудесата му.
1. Взимаме клиента за BitKeeper.
можем да го направим от тук: http://www.bitmover.com/bk-client.shar
$ wget http://www.bitmover.com/bk-client.shar
--15:03:00-- http://www.bitmover.com/bk-client.shar
=> `bk-client.shar'
Resolving www.bitmover.com... 192.132.92.2
Connecting to www.bitmover.com|192.132.92.2|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 28,867 (28K) [application/x-shar]
100%[========================================================>] 28,867 28.01K/s
15:03:02 (27.93 KB/s) – `bk-client.shar’ saved [28867/28867]
$ sh ./bk-client.shar
x – creating lock directory
x – creating directory bk_client-1.1
x – extracting bk_client-1.1/demo.sh (text)
x – extracting bk_client-1.1/Makefile (text)
x – extracting bk_client-1.1/update.c (text)
x – extracting bk_client-1.1/sfioball.c (text)
x – extracting bk_client-1.1/sfio.c (text)
x – extracting bk_client-1.1/system.h (text)
$ cd bk_client-1.1
$ make
cc -O2 -o sfio -lz sfio.c
cc -O2 sfioball.c -o sfioball
cc -O2 update.c -o update
$ sudo install -m755 sfio sfioball update /usr/local/bin
2. След като е инсталиран, трябва да си направим копие на Фалкон от сорс дървото на разработчиците
$ sfioball bk://mysql.bkbits.net:8080/mysql-5.2-falcon mysql-5.2-falcon
Това ще предизвика и свааляне на последната версия на mysql-5.2-falcon (~83 MB of source code). След това, можете да влезете в току що създадената директория и да стартирате създаването:
$ cd mysql-5.2-falcon
$ ./BUILD/compile-pentium-debug-falcon
Ако сте със x86_64 Linux system, използвайте compile-amd64-debug-falcon вместо горната команда.
В зависимост от вашата система тази стъпка ще отнеме различно време, зашото ще се компилират MySQL server и всички свързани с него инстументи
3. След като всичко е компилирано, можете да си създадете бинарна дистрибуция:
./scripts/make_binary_distribution
Това би трябвало да приключи със създаването на mysql-5.2.0-falcon-alpha-linux-i686.tar.gz, който сега можете да инсталирате в /usr/local:
$ tar zxvf mysql-5.2.0-falcon-alpha-linux-i686.tar.gz -C /usr/local
$ cd /usr/local
$ ln -s mysql-5.2.0-falcon-alpha-linux-i686 mysql
$ cd mysql
$ ./configure
Сега нека да изтестваме какво сме направили
$ ./bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.2.0-falcon-alpha-debug
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Now make sure that falcon has indeed been included:
mysql> SHOW VARIABLES LIKE 'have_falcon';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_falcon | YES |
+---------------+-------+
1 row in set (0.01 sec)
Нека сега да създадем таблица с Фалкон
mysql> use test;
Database changed
mysql> CREATE TABLE names (id INT, fname VARCHAR (20), lname VARCHAR (20)) ENGINE=Falcon;
Query OK, 0 rows affected (2.84 sec)
mysql> describe names;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| fname | varchar(20) | YES | | NULL | |
| lname | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
mysql> INSERT INTO names VALUES (0, 'Lenz', 'Grimmer');
Query OK, 1 row affected (0.03 sec)
mysql> INSERT INTO names VALUES (1, 'Monty', 'Widenius');
Query OK, 1 row affected (0.06 sec)
mysql> SELECT * FROM names WHERE lname='Widenius';
+------+-------+----------+
| id | fname | lname |
+------+-------+----------+
| 1 | Monty | Widenius |
+------+-------+----------+
1 row in set (0.00 sec)
С това всичко е наред. Ако желаете да научите повече за Фалкон, можете да посетите българcката секция на MySQL Wiki или да си свалите версията на MySQL лентата с инструменти.
Благодаря на Ленц за чудесния материал.