ppf: Move new SQL file to initial file.
authorRazvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Sun, 7 Aug 2011 17:12:35 +0000 (20:12 +0300)
committerroot p2p-next-02 <root@p2p-next-02.grid.pub.ro>
Sun, 7 Aug 2011 17:12:35 +0000 (20:12 +0300)
ppf/sql/p2p-log-mysql-new.sql [deleted file]
ppf/sql/p2p-log-mysql.sql

diff --git a/ppf/sql/p2p-log-mysql-new.sql b/ppf/sql/p2p-log-mysql-new.sql
deleted file mode 100644 (file)
index 83c8721..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
---
--- Create tables in BitTorrent log analysis database in MySQL.
--- Use indexes for fast access.
---
--- 2011, Mariana Marasoiu, mariana.marasoiu@gmail.com
--- 2011, Razvan Deaconescu, razvan.deaconescu@cs.pub.ro
---    - add foreign key support
---    - add indexes
---    - add message_types and peer_status_messages tables
---    - update column types
---
-
-DROP TABLE IF EXISTS btclients;
-DROP TABLE IF EXISTS swarms;
-DROP TABLE IF EXISTS client_sessions;
-DROP TABLE IF EXISTS status_messages;
-DROP TABLE IF EXISTS peer_status_messages;
-DROP TABLE IF EXISTS transfer_directions;
-DROP TABLE IF EXISTS message_types;
-DROP TABLE IF EXISTS verbose_messages;
-
-CREATE TABLE btclients (
-       id UNSIGNED INTEGER PRIMARY KEY AUTO_INCREMENT,
-       name VARCHAR(100),
-       language VARCHAR(100),
-       url VARCHAR(255),
-       dht_support BOOLEAN,
-       streaming_support BOOLEAN,
-       pxe_support BOOLEAN,
-       features VARCHAR(1024)
-) ENGINE=InnoDB;
-
-CREATE TABLE swarms (
-       id UNSIGNED INTEGER PRIMARY KEY AUTO_INCREMENT,
-       torrent_filename VARCHAR(255),
-       data_size UNSIGNED INTEGER,
-       description VARCHAR(4096)
-) ENGINE=InnoDB;
-
-CREATE TABLE client_sessions (
-       id UNSIGNED INTEGER PRIMARY KEY AUTO_INCREMENT,
-       swarm_id UNSIGNED INTEGER REFERENCES swarms(id) ON DELETE CASCADE ON UPDATE CASCADE,
-       btclient_id UNSIGNED INTEGER REFERENCES btclients(id) ON DELETE CASCADE ON UPDATE CASCADE,
-       system_os VARCHAR(100),
-       system_os_version VARCHAR(100),
-       -- system RAM in megabytes
-       system_ram UNSIGNED SMALLINT,
-       -- system CPU in MHz
-       system_cpu UNSIGNED SMALLINT,
-       -- beware of IPv6
-       public_ip VARCHAR(100),
-       public_port UNSIGNED SMALLINT,
-       -- KB/s
-       ds_limit UNSIGNED INTEGER,
-       -- KB/s
-       us_limit UNSIGNED INTEGER,
-       start_time DATETIME,
-       dht_enabled BOOLEAN,
-       pxe_enabled BOOLEAN,
-       streaming_enabled BOOLEAN,
-       features VARCHAR(1024),
-       description VARCHAR(4096)
-) ENGINE=InnoDB;
-
-CREATE TABLE status_messages (
-       id UNSIGNED INTEGER PRIMARY KEY AUTO_INCREMENT,
-       client_session_id INTEGER REFERENCES client_sessions(id) ON DELETE CASCADE ON UPDATE CASCADE,
-       timestamp DATETIME,
-       num_peers UNSIGNED SMALLINT,
-       num_dht_peers UNSIGNED SMALLINT,
-       -- KB/s
-       download_speed UNSIGNED INTEGER,
-       -- KB/s
-       upload_speed UNSIGNED INTEGER,
-       -- KB
-       download_size UNSIGNED INTEGER,
-       -- KB
-       upload_size UNSIGNED INTEGER,
-       -- seconds
-       eta UNSIGNED INTEGER
-) ENGINE=InnoDB;
-
-CREATE TABLE peer_status_messages (
-       id UNSIGNED INTEGER PRIMARY KEY AUTO_INCREMENT,
-       client_session_id UNSIGNED INTEGER REFERENCES client_sessions(id) ON DELETE CASCADE ON UPDATE CASCADE,
-       timestamp DATETIME,
-       -- beware of IPv6
-       peer_ip VARCHAR(100),
-       peer_port UNSIGNED SMALLINT,
-       -- KB/s
-       download_speed UNSIGNED INTEGER,
-       -- KB/s
-       upload_speed UNSIGNED INTEGER
-) ENGINE=InnoDB;
-
-CREATE TABLE transfer_directions (
-       id UNSIGNED TINYINT PRIMARY KEY AUTO_INCREMENT,
-       value VARCHAR(100) NOT NULL
-) ENGINE=InnoDB;
-
-CREATE TABLE message_types (
-       id UNSIGNED TINYINT PRIMARY KEY AUTO_INCREMENT,
-       value VARCHAR(100) NOT NULL,
-       -- message parameters such as index, begin, length, listen port
-       parameters VARCHAR(256) NOT NULL
-) ENGINE=InnoDB;
-
-CREATE TABLE verbose_messages (
-       id UNSIGNED INTEGER PRIMARY KEY AUTO_INCREMENT,
-       client_session_id UNSIGNED INTEGER REFERENCES client_sessions(id) ON DELETE CASCADE ON UPDATE CASCADE,
-       timestamp DATETIME,
-       direction_id UNSIGNED TINYINT REFERENCES transfer_directions(id),
-       -- beware of IPv6
-       peer_ip VARCHAR(100),
-       peer_port UNSIGNED SMALLINT,
-       message_type_id UNSIGNED TINYINT REFERENCES message_types(id),
-       index UNSIGEND INTEGER,
-       begin UNSIGNED INTEGER,
-       length UNSIGNED INTEGER,
-       listen_port UNSIGNED SMALLINT
-) ENGINE=InnoDB;
-
--- insert BitTorrent clients in `btclients` table
--- FIXME: update INSERT statemets to use new `btclients` schema
-
-INSERT INTO btclients(name, language, dht, streaming)
-               VALUES('Tribler', 'Python', 1, 1);
-INSERT INTO btclients(name, language, dht, streaming)
-               values('libtorrent-rasterbar', 'C++', 1, 0);
-INSERT INTO btclients(name, language, dht, streaming)
-               VALUES('Vuze', 'Java', 1, 1);
-INSERT INTO btclients(name, language, dht, streaming)
-               values('Transmission', 'C', 1, 0);
-INSERT INTO btclients(name, language, dht, streaming)
-               VALUEs('Aria', 'C', 1, 0);
-INSERT INTO btclients(name, language, dht, streaming)
-               VALUES('Mainline', 'Python', 1, 0);
-
---
--- insert into `transfer_directions` table
--- direction = 0 -> receive (from peer)
--- direction = 1 -> send (to peer)
---
-
---
--- insert into `message_types` table
---
index d5e7e21..83c8721 100644 (file)
-drop table if exists status_messages;
-drop table if exists verbose_messages;
-drop table if exists client_sessions;
-drop table if exists btclients;
-drop table if exists swarms;
+--
+-- Create tables in BitTorrent log analysis database in MySQL.
+-- Use indexes for fast access.
+--
+-- 2011, Mariana Marasoiu, mariana.marasoiu@gmail.com
+-- 2011, Razvan Deaconescu, razvan.deaconescu@cs.pub.ro
+--    - add foreign key support
+--    - add indexes
+--    - add message_types and peer_status_messages tables
+--    - update column types
+--
 
-create table swarms(
-       id integer primary key auto_increment, 
-       torrent text, 
-       filesize integer check(filesize between 0 and 1000), 
-       purpose text, 
-       source text);
+DROP TABLE IF EXISTS btclients;
+DROP TABLE IF EXISTS swarms;
+DROP TABLE IF EXISTS client_sessions;
+DROP TABLE IF EXISTS status_messages;
+DROP TABLE IF EXISTS peer_status_messages;
+DROP TABLE IF EXISTS transfer_directions;
+DROP TABLE IF EXISTS message_types;
+DROP TABLE IF EXISTS verbose_messages;
 
-create table btclients(
-       id integer primary key auto_increment, 
-       name text, 
-       language text, 
-       dht integer check(dht between 0 and 1),
-       streaming integer check(streaming between 0 and 1));
+CREATE TABLE btclients (
+       id UNSIGNED INTEGER PRIMARY KEY AUTO_INCREMENT,
+       name VARCHAR(100),
+       language VARCHAR(100),
+       url VARCHAR(255),
+       dht_support BOOLEAN,
+       streaming_support BOOLEAN,
+       pxe_support BOOLEAN,
+       features VARCHAR(1024)
+) ENGINE=InnoDB;
 
-create table client_sessions(
-       id integer primary key auto_increment, 
-       swarm_id integer references swarms(id) on delete cascade on update cascade, 
-       client_id integer references btclients(id) on delete cascade on update cascade,
-       system_os text,
-       system_os_version text,
-       system_ram integer check (system_ram between 0 and 32768),
-       system_cpu integer check (system_cpu between 100 and 10000),
-       public_ip text,
-       public_port integer check (public_port between 1 and 65535),
-       ds_limit integer check (ds_limit between 0 and 1000000),
-       us_limit integer check (us_limit between 0 and 1000000),
-       start_time datetime);
+CREATE TABLE swarms (
+       id UNSIGNED INTEGER PRIMARY KEY AUTO_INCREMENT,
+       torrent_filename VARCHAR(255),
+       data_size UNSIGNED INTEGER,
+       description VARCHAR(4096)
+) ENGINE=InnoDB;
 
-create table status_messages (
-       cs_id integer references client_sessions(id) on delete cascade on update cascade,
-       timestamp datetime,
-       peer_num integer check (peer_num between 0 and 100000),
-       dht integer check (dht between 0 and 100000),
-       download_speed integer check (download_speed between 0 and 1000000),
-       upload_speed integer check (upload_speed between 0 and 1000000),
-       download_size integer check(download_size between 0 and 100000000000),
-       upload_size integer check(upload_size between 0 and 100000000000),
-       eta integer);
+CREATE TABLE client_sessions (
+       id UNSIGNED INTEGER PRIMARY KEY AUTO_INCREMENT,
+       swarm_id UNSIGNED INTEGER REFERENCES swarms(id) ON DELETE CASCADE ON UPDATE CASCADE,
+       btclient_id UNSIGNED INTEGER REFERENCES btclients(id) ON DELETE CASCADE ON UPDATE CASCADE,
+       system_os VARCHAR(100),
+       system_os_version VARCHAR(100),
+       -- system RAM in megabytes
+       system_ram UNSIGNED SMALLINT,
+       -- system CPU in MHz
+       system_cpu UNSIGNED SMALLINT,
+       -- beware of IPv6
+       public_ip VARCHAR(100),
+       public_port UNSIGNED SMALLINT,
+       -- KB/s
+       ds_limit UNSIGNED INTEGER,
+       -- KB/s
+       us_limit UNSIGNED INTEGER,
+       start_time DATETIME,
+       dht_enabled BOOLEAN,
+       pxe_enabled BOOLEAN,
+       streaming_enabled BOOLEAN,
+       features VARCHAR(1024),
+       description VARCHAR(4096)
+) ENGINE=InnoDB;
 
---
--- direction = 0 -> receive (from peer)
--- direction = 1 -> send (to peer) 
---
+CREATE TABLE status_messages (
+       id UNSIGNED INTEGER PRIMARY KEY AUTO_INCREMENT,
+       client_session_id INTEGER REFERENCES client_sessions(id) ON DELETE CASCADE ON UPDATE CASCADE,
+       timestamp DATETIME,
+       num_peers UNSIGNED SMALLINT,
+       num_dht_peers UNSIGNED SMALLINT,
+       -- KB/s
+       download_speed UNSIGNED INTEGER,
+       -- KB/s
+       upload_speed UNSIGNED INTEGER,
+       -- KB
+       download_size UNSIGNED INTEGER,
+       -- KB
+       upload_size UNSIGNED INTEGER,
+       -- seconds
+       eta UNSIGNED INTEGER
+) ENGINE=InnoDB;
+
+CREATE TABLE peer_status_messages (
+       id UNSIGNED INTEGER PRIMARY KEY AUTO_INCREMENT,
+       client_session_id UNSIGNED INTEGER REFERENCES client_sessions(id) ON DELETE CASCADE ON UPDATE CASCADE,
+       timestamp DATETIME,
+       -- beware of IPv6
+       peer_ip VARCHAR(100),
+       peer_port UNSIGNED SMALLINT,
+       -- KB/s
+       download_speed UNSIGNED INTEGER,
+       -- KB/s
+       upload_speed UNSIGNED INTEGER
+) ENGINE=InnoDB;
+
+CREATE TABLE transfer_directions (
+       id UNSIGNED TINYINT PRIMARY KEY AUTO_INCREMENT,
+       value VARCHAR(100) NOT NULL
+) ENGINE=InnoDB;
 
-create table verbose_messages (
-       cs_id integer references client_sessions(id) on delete cascade on update cascade,
-       timestamp datetime,
-       direction integer check(direction between 0 and 1),
-       peer_ip text,
-       peer_port integer check(peer_port between 1 and 65535),
-       message_type integer check (message_type between 0 and 100),
-       _index integer check (_index between 0 and 100000),
-       begin integer check (begin between 0 and 10000000),
-       length integer check (length between 0 and 10000000),
-       listen_port integer check(listen_port between 0 and 65535));
+CREATE TABLE message_types (
+       id UNSIGNED TINYINT PRIMARY KEY AUTO_INCREMENT,
+       value VARCHAR(100) NOT NULL,
+       -- message parameters such as index, begin, length, listen port
+       parameters VARCHAR(256) NOT NULL
+) ENGINE=InnoDB;
+
+CREATE TABLE verbose_messages (
+       id UNSIGNED INTEGER PRIMARY KEY AUTO_INCREMENT,
+       client_session_id UNSIGNED INTEGER REFERENCES client_sessions(id) ON DELETE CASCADE ON UPDATE CASCADE,
+       timestamp DATETIME,
+       direction_id UNSIGNED TINYINT REFERENCES transfer_directions(id),
+       -- beware of IPv6
+       peer_ip VARCHAR(100),
+       peer_port UNSIGNED SMALLINT,
+       message_type_id UNSIGNED TINYINT REFERENCES message_types(id),
+       index UNSIGEND INTEGER,
+       begin UNSIGNED INTEGER,
+       length UNSIGNED INTEGER,
+       listen_port UNSIGNED SMALLINT
+) ENGINE=InnoDB;
 
 -- insert BitTorrent clients in `btclients` table
+-- FIXME: update INSERT statemets to use new `btclients` schema
 
-insert into btclients(name, language, dht, streaming)
-               values('Tribler', 'Python', 1, 1);
-insert into btclients(name, language, dht, streaming)
-               values('libtorrent', 'C++', 1, 0);
-insert into btclients(name, language, dht, streaming)
-               values('Vuze', 'Java', 1, 1);
-insert into btclients(name, language, dht, streaming)
+INSERT INTO btclients(name, language, dht, streaming)
+               VALUES('Tribler', 'Python', 1, 1);
+INSERT INTO btclients(name, language, dht, streaming)
+               values('libtorrent-rasterbar', 'C++', 1, 0);
+INSERT INTO btclients(name, language, dht, streaming)
+               VALUES('Vuze', 'Java', 1, 1);
+INSERT INTO btclients(name, language, dht, streaming)
                values('Transmission', 'C', 1, 0);
-insert into btclients(name, language, dht, streaming)
-               values('Aria', 'C', 1, 0);
-insert into btclients(name, language, dht, streaming)
-               values('Mainline', 'Python', 1, 0);
+INSERT INTO btclients(name, language, dht, streaming)
+               VALUEs('Aria', 'C', 1, 0);
+INSERT INTO btclients(name, language, dht, streaming)
+               VALUES('Mainline', 'Python', 1, 0);
 
--- .genfkey --exec
+--
+-- insert into `transfer_directions` table
+-- direction = 0 -> receive (from peer)
+-- direction = 1 -> send (to peer)
+--
+
+--
+-- insert into `message_types` table
+--