Changeset 4894
- Timestamp:
- Aug 26, 2005, 5:40:25 PM (21 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
-
Nebulous-Server/lib/Nebulous/Server/SQL.pm (modified) (3 diffs)
-
Nebulous/lib/Nebulous/Server/SQL.pm (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Nebulous-Server/lib/Nebulous/Server/SQL.pm
r4440 r4894 1 1 # Copyright (c) 2004 Joshua Hoblitt 2 2 # 3 # $Id: SQL.pm,v 1. 5 2005-06-30 02:35:06jhoblitt Exp $3 # $Id: SQL.pm,v 1.6 2005-08-27 03:40:25 jhoblitt Exp $ 4 4 5 5 package Nebulous::Server::SQL; … … 99 99 ); 100 100 101 { 102 my @schema; 103 104 local $/ = ';'; 105 106 foreach my $statement (<DATA>) { 107 last unless ( $statement =~ /\S+/ ); 108 push @schema, $statement; 109 } 110 111 $sql{get_db_schema} = \@schema; 112 } 113 114 { 115 my @clear = split /;/, <<END; 116 DROP TABLE IF EXISTS storage_object; 117 DROP TABLE IF EXISTS instance; 118 DROP TABLE IF EXISTS lock_record; 119 DROP TABLE IF EXISTS volume; 120 DROP TABLE IF EXISTS class; 121 DROP TABLE IF EXISTS log 122 END 123 $sql{get_db_clear} = \@clear; 124 } 125 101 126 __PACKAGE__->mk_ro_accessors( keys %sql ); 102 127 … … 113 138 1; 114 139 115 __END__ 140 __DATA__ 141 CREATE TABLE storage_object ( 142 so_id BIGINT NOT NULL AUTO_INCREMENT, 143 ext_id VARCHAR(255) BINARY NOT NULL UNIQUE, 144 class_id TINYINT NOT NULL, 145 comment VARCHAR(255), 146 read_lock TINYINT DEFAULT 0 NOT NULL, 147 write_lock ENUM( 'write' ), 148 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 149 mtime TIMESTAMP, 150 PRIMARY KEY(so_id), 151 KEY(ext_id(64)), 152 KEY(class_id) 153 ) ENGINE=innodb; 154 155 CREATE TABLE instance ( 156 ins_id BIGINT NOT NULL AUTO_INCREMENT, 157 so_id BIGINT NOT NULL, 158 uri VARCHAR(255) BINARY NOT NULL, 159 sha1sum CHAR(40) ASCII, 160 assigned_location BOOL, 161 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 162 mtime TIMESTAMP, 163 PRIMARY KEY(ins_id), 164 KEY(so_id), 165 KEY(uri(64)) 166 ) ENGINE=innodb; 167 168 CREATE TABLE lock_record ( 169 so_id BIGINT NOT NULL, 170 type ENUM( 'read', 'write' ) NOT NULL, 171 epoch TIMESTAMP, 172 KEY(so_ID) 173 ) ENGINE=innodb; 174 175 CREATE TABLE volume ( 176 vol_id INT NOT NULL AUTO_INCREMENT, 177 name VARCHAR(255) UNIQUE BINARY NOT NULL, 178 uri VARCHAR(255) BINARY NOT NULL, 179 key(vol_id) 180 ) ENGINE=innodb; 181 182 CREATE TABLE class ( 183 class_id TINYINT NOT NULL AUTO_INCREMENT, 184 instance TINYINT NOT NULL, 185 priority TINYINT, 186 comment VARCHAR(255), 187 key(class_id) 188 ) ENGINE=innodb; 189 190 CREATE TABLE log ( 191 timestamp TIMESTAMP, 192 hostname VARCHAR(255), 193 level VARCHAR(255), 194 sub VARCHAR(255), 195 message VARCHAR(2048) NOT NULL, 196 PRIMARY KEY(timestamp) 197 ) ENGINE=innodb; -
trunk/Nebulous/lib/Nebulous/Server/SQL.pm
r4440 r4894 1 1 # Copyright (c) 2004 Joshua Hoblitt 2 2 # 3 # $Id: SQL.pm,v 1. 5 2005-06-30 02:35:06jhoblitt Exp $3 # $Id: SQL.pm,v 1.6 2005-08-27 03:40:25 jhoblitt Exp $ 4 4 5 5 package Nebulous::Server::SQL; … … 99 99 ); 100 100 101 { 102 my @schema; 103 104 local $/ = ';'; 105 106 foreach my $statement (<DATA>) { 107 last unless ( $statement =~ /\S+/ ); 108 push @schema, $statement; 109 } 110 111 $sql{get_db_schema} = \@schema; 112 } 113 114 { 115 my @clear = split /;/, <<END; 116 DROP TABLE IF EXISTS storage_object; 117 DROP TABLE IF EXISTS instance; 118 DROP TABLE IF EXISTS lock_record; 119 DROP TABLE IF EXISTS volume; 120 DROP TABLE IF EXISTS class; 121 DROP TABLE IF EXISTS log 122 END 123 $sql{get_db_clear} = \@clear; 124 } 125 101 126 __PACKAGE__->mk_ro_accessors( keys %sql ); 102 127 … … 113 138 1; 114 139 115 __END__ 140 __DATA__ 141 CREATE TABLE storage_object ( 142 so_id BIGINT NOT NULL AUTO_INCREMENT, 143 ext_id VARCHAR(255) BINARY NOT NULL UNIQUE, 144 class_id TINYINT NOT NULL, 145 comment VARCHAR(255), 146 read_lock TINYINT DEFAULT 0 NOT NULL, 147 write_lock ENUM( 'write' ), 148 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 149 mtime TIMESTAMP, 150 PRIMARY KEY(so_id), 151 KEY(ext_id(64)), 152 KEY(class_id) 153 ) ENGINE=innodb; 154 155 CREATE TABLE instance ( 156 ins_id BIGINT NOT NULL AUTO_INCREMENT, 157 so_id BIGINT NOT NULL, 158 uri VARCHAR(255) BINARY NOT NULL, 159 sha1sum CHAR(40) ASCII, 160 assigned_location BOOL, 161 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 162 mtime TIMESTAMP, 163 PRIMARY KEY(ins_id), 164 KEY(so_id), 165 KEY(uri(64)) 166 ) ENGINE=innodb; 167 168 CREATE TABLE lock_record ( 169 so_id BIGINT NOT NULL, 170 type ENUM( 'read', 'write' ) NOT NULL, 171 epoch TIMESTAMP, 172 KEY(so_ID) 173 ) ENGINE=innodb; 174 175 CREATE TABLE volume ( 176 vol_id INT NOT NULL AUTO_INCREMENT, 177 name VARCHAR(255) UNIQUE BINARY NOT NULL, 178 uri VARCHAR(255) BINARY NOT NULL, 179 key(vol_id) 180 ) ENGINE=innodb; 181 182 CREATE TABLE class ( 183 class_id TINYINT NOT NULL AUTO_INCREMENT, 184 instance TINYINT NOT NULL, 185 priority TINYINT, 186 comment VARCHAR(255), 187 key(class_id) 188 ) ENGINE=innodb; 189 190 CREATE TABLE log ( 191 timestamp TIMESTAMP, 192 hostname VARCHAR(255), 193 level VARCHAR(255), 194 sub VARCHAR(255), 195 message VARCHAR(2048) NOT NULL, 196 PRIMARY KEY(timestamp) 197 ) ENGINE=innodb;
Note:
See TracChangeset
for help on using the changeset viewer.
