Changeset 13092 for trunk/Nebulous/lib
- Timestamp:
- Apr 30, 2007, 4:52:04 PM (19 years ago)
- Location:
- trunk/Nebulous/lib/Nebulous
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Nebulous/lib/Nebulous/Client.pm
r13072 r13092 1 1 # Copyright (c) 2004 Joshua Hoblitt 2 2 # 3 # $Id: Client.pm,v 1.2 8 2007-04-28 01:15:38jhoblitt Exp $3 # $Id: Client.pm,v 1.29 2007-05-01 02:52:04 jhoblitt Exp $ 4 4 5 5 package Nebulous::Client; … … 96 96 { 97 97 type => SCALAR, 98 callbacks => {99 'is + integer' => sub { $_[0] =~ /^\d+$/ },100 },101 default => 0,102 },103 {104 type => SCALAR,105 optional => 1,106 },107 {108 type => SCALAR,109 98 optional => 1, 110 99 }, … … 141 130 { 142 131 type => SCALAR, 143 },144 {145 type => SCALAR,146 callbacks => {147 'is + integer' => sub { $_[0] =~ /^\d+$/ },148 },149 default => 0,150 },151 {152 type => SCALAR,153 optional => 1,154 132 }, 155 133 { … … 609 587 my $new_fh; 610 588 if (defined $volume) { 611 $new_fh = $self->open_create( $new_key, 0,$volume );589 $new_fh = $self->open_create( $new_key, $volume ); 612 590 } else { 613 591 $new_fh = $self->open_create( $new_key ); -
trunk/Nebulous/lib/Nebulous/Server.pm
r13087 r13092 1 1 # Copyright (c) 2004 Joshua Hoblitt 2 2 # 3 # $Id: Server.pm,v 1.2 7 2007-05-01 02:00:07jhoblitt Exp $3 # $Id: Server.pm,v 1.28 2007-05-01 02:52:04 jhoblitt Exp $ 4 4 5 5 package Nebulous::Server; … … 123 123 my $self = shift; 124 124 125 my ( $key, $class, $volume, $comment ) = validate_pos( @_, 126 { 127 type => SCALAR, 128 }, 129 { 130 type => SCALAR, 131 callbacks => { 132 'is + integer' => sub { $_[0] =~ /^\d+$/ }, 133 # check that the class requested is valid 134 'is valid class id' => sub { $self->_is_valid_class_id( $_[0] ) }, 135 }, 136 default => 0, 125 my ($key, $volume) = validate_pos(@_, 126 { 127 type => SCALAR, 137 128 }, 138 129 { … … 144 135 optional => 1, 145 136 }, 146 {147 type => SCALAR,148 callbacks => {149 # check that the comment isn't too long150 'comment length' => sub { length $_[0] < 256 },151 },152 optional => 1,153 },154 137 ); 155 138 … … 185 168 # create storage_object_attr 186 169 my $query = $db->prepare_cached( $sql->new_object_attr ); 187 $query->execute( $object_id , $class, $comment);170 $query->execute( $object_id ); 188 171 } 189 172 … … 1070 1053 } 1071 1054 1072 sub _is_valid_class_id {1073 my ($self, $class_id) = @_;1074 1075 my $log = $self->log;1076 my $sql = $self->sql;1077 my $db = $self->db;1078 1079 my $class;1080 eval {1081 my $query = $db->prepare_cached( $sql->get_class_by_id );1082 $query->execute( $class_id );1083 ( $class ) = $query->fetchrow_array;1084 1085 $query->finish;1086 };1087 if ( $@ ) {1088 $db->rollback;1089 $log->logdie( "database error: $@" );1090 }1091 1092 return ( defined $class ) ? 1 : undef;1093 }1094 1095 1055 sub _is_valid_volume_name { 1096 1056 my ($self, $vol_name) = @_; -
trunk/Nebulous/lib/Nebulous/Server/SQL.pm
r13087 r13092 1 1 # Copyright (c) 2004 Joshua Hoblitt 2 2 # 3 # $Id: SQL.pm,v 1. 29 2007-05-01 02:00:07jhoblitt Exp $3 # $Id: SQL.pm,v 1.30 2007-05-01 02:52:04 jhoblitt Exp $ 4 4 5 5 package Nebulous::Server::SQL; … … 29 29 new_object_attr => qq{ 30 30 INSERT INTO storage_object_attr 31 (so_id, class_id, comment,read_lock, write_lock)32 VALUES (?, ?, ?,0, NULL)31 (so_id, read_lock, write_lock) 32 VALUES (?, 0, NULL) 33 33 }, 34 34 delete_object => qq{ … … 48 48 get_object => qq{ 49 49 SELECT storage_object.so_id, 50 ext_id, class_id, comment,read_lock, write_lock, epoch, mtime50 ext_id, read_lock, write_lock, epoch, mtime 51 51 FROM storage_object 52 52 LEFT JOIN storage_object_attr … … 176 176 INSERT INTO volume (name, path) 177 177 VALUES (?, ?) 178 },179 get_class_by_id => qq{180 SELECT class_id, priority, comment181 FROM class182 WHERE class_id = ?183 178 }, 184 179 get_volume_by_name => qq{ … … 257 252 CREATE TABLE storage_object_attr ( 258 253 so_id BIGINT NOT NULL AUTO_INCREMENT, 259 class_id TINYINT NOT NULL,260 comment VARCHAR(255),261 254 read_lock TINYINT DEFAULT 0 NOT NULL, 262 255 write_lock ENUM( 'write' ), 263 256 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 264 257 mtime TIMESTAMP, 265 PRIMARY KEY(so_id), 266 KEY(class_id) 258 PRIMARY KEY(so_id) 267 259 ) ENGINE=innodb; 268 260 … … 318 310 PRIMARY KEY(mountpoint) 319 311 ) ENGINE=innodb; 320 321 ###322 323 CREATE TABLE class (324 class_id TINYINT NOT NULL,325 priority TINYINT,326 comment VARCHAR(255),327 PRIMARY KEY(class_id)328 ) ENGINE=innodb;329 330 ###331 332 INSERT INTO class VALUES(0,0, 'default class ID');333 312 334 313 ###
Note:
See TracChangeset
for help on using the changeset viewer.
