IT конференция в Румъния

То не че не е писано, ама айде и аз пак да напиша. На 18 и 19 май 2006 година в Брашов ще се проведе първото събитие в северната ни съседка, което цели популяризирането на отворения код, свободния софтуер, бизнеса и разбирането на споделяне. Ще има яки лектори, ще има много бира и какво ли още не.

лого

Как да компилираме Falcon за MySQL

Най-сетне Фалкон вече е официално в сорс- дървото, което лично мене много ме радва. Ето и как можете да си го компилирате и да видите чудесата му.

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 лентата с инструменти.

Благодаря на Ленц за чудесния материал.