- Timestamp:
- Aug 30, 2016, 1:38:49 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/czw_branch/20160809/Nebulous-Server/lib/Nebulous/Server/SQL.pm
r34764 r39662 250 250 AND mountedvol.available = ? 251 251 }, 252 get_object_instances_by_proximity => qq{ 253 SELECT 254 storage_object.so_id, 255 uri, 256 mountedvol.available, 257 vol_id, 258 cab_id, 259 (ABS(vol_id - ?) + 20 * ABS(cab_id - ?) + 100 * ABS(site_id - ?)) AS vol_idx 260 FROM storage_object 261 JOIN instance 262 USING (so_id) 263 JOIN mountedvol 264 USING(vol_id) 265 JOIN volume 266 USING(vol_id) 267 JOIN cabinet 268 USING(cab_id) 269 WHERE ext_id = ? 270 AND mountedvol.available = ? 271 ORDER BY vol_idx ASC 272 }, 252 273 get_object_instances_by_vol_name => qq{ 253 274 SELECT … … 301 322 get_cabinets_for_ext_id => qq{ 302 323 SELECT DISTINCT 303 cab_id 324 cab_id, site_id 304 325 FROM instance 305 JOIN volume ON instance.vol_id = volume.vol_id 326 JOIN volume ON (instance.vol_id = volume.vol_id) 327 JOIN cabinet ON (volume.cab_id = cabinet.cab_id) 306 328 JOIN storage_object USING(so_id) 307 329 WHERE ext_id = ? … … 317 339 FROM mountedvol AS m 318 340 JOIN volume AS v USING(vol_id) 341 JOIN cabinet AS c USING(cab_id) 319 342 LEFT JOIN ( 320 343 SELECT … … 336 359 AND m.available = ? 337 360 AND m.allocate = ? 338 AND m.xattr = 0361 -- AND m.xattr = 0 339 362 AND ( (v.cab_id IS NULL) || 340 363 (v.cab_id != ?) ) 364 AND ( (c.site_id IS NULL) || 365 (c.site_id != ?) ) 341 366 ORDER BY free DESC 342 367 LIMIT ?) as topfew … … 366 391 }, 367 392 new_cabinet => qq{ 368 INSERT INTO cabinet (name, location, cab_id) 369 VALUES (?, ?, NULL) 393 INSERT INTO cabinet (name, location, site_id, cab_id) 394 VALUES (?, ?, ?, NULL) 395 }, 396 update_cabinet => qq{ 397 UPDATE cabinet SET 398 location = ?, 399 name = ?, 400 site_id = ? 401 WHERE cab_id = ? 370 402 }, 371 403 new_volume => qq{ … … 373 405 VALUES (?, ?, ?, TRUE, TRUE, FALSE, ?, NULL, ?) 374 406 }, 407 new_alias => qq{ 408 INSERT INTO aliasvol (alias_id, alias, name, vol_id) 409 VALUES (NULL, ?, ?, ?) 410 }, 411 update_alias => qq{ 412 UPDATE alias SET 413 vol_id = ?, 414 name = ? 415 WHERE alias_id = ? 416 AND alias = ? 417 }, 375 418 get_volume_by_name => qq{ 376 419 SELECT vol_id, name, host, path 420 FROM volume 421 WHERE name = ? 422 }, 423 get_volume_by_alias => qq{ 424 SELECT vol_id, name, host, path 425 FROM aliasvol 426 JOIN volume USING(vol_id,name) 427 WHERE alias = ? 428 }, 429 get_site_info_by_name => qq{ 430 SELECT vol_id, cab_id, site_id 377 431 FROM volume 378 432 WHERE name = ? … … 676 730 cab_id INT NOT NULL AUTO_INCREMENT, 677 731 name VARCHAR(255) NOT NULL, 732 site_id INT NOT NULL DEFAULT 0, 678 733 location VARCHAR(255), 679 734 PRIMARY KEY(cab_id), 680 735 UNIQUE KEY(name), 736 KEY (site_id), 681 737 KEY (location) 682 738 ) ENGINE=innodb DEFAULT CHARSET=latin1; … … 735 791 ### 736 792 793 CREATE TABLE aliasvol ( 794 alias_id INT NOT NULL AUTO_INCREMENT, 795 alias VARCHAR(255) NOT NULL, 796 name VARCHAR(255) NOT NULL, 797 vol_id INT NOT NULL, 798 PRIMARY KEY(alias_id), 799 KEY(alias), 800 KEY(name), 801 FOREIGN KEY(vol_id) REFERENCES volume(vol_id) 802 ) ENGINE=innodb DEFAULT CHARSET=latin1; 803 804 ### 805 737 806 CREATE TABLE instance ( 738 807 ins_id BIGINT NOT NULL AUTO_INCREMENT,
Note:
See TracChangeset
for help on using the changeset viewer.
