Changeset 39926 for trunk/Nebulous-Server/lib/Nebulous/Server/SQL.pm
- Timestamp:
- Jan 6, 2017, 11:30:10 AM (9 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
Nebulous-Server/lib/Nebulous/Server/SQL.pm (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property svn:mergeinfo
set to
/branches/czw_branch/20160809 merged eligible
-
Property svn:mergeinfo
set to
-
trunk/Nebulous-Server/lib/Nebulous/Server/SQL.pm
r34764 r39926 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_id324 volume.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{ 372 404 INSERT INTO volume (name, host, path, allocate, available, xattr, mountpoint, cab_id, note) 373 405 VALUES (?, ?, ?, TRUE, TRUE, FALSE, ?, NULL, ?) 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 = ? 374 417 }, 375 418 get_volume_by_name => qq{ … … 377 420 FROM volume 378 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 431 FROM volume 432 JOIN cabinet USING(cab_id) 433 WHERE volume.name = ? 379 434 }, 380 435 get_volumes => qq{ … … 676 731 cab_id INT NOT NULL AUTO_INCREMENT, 677 732 name VARCHAR(255) NOT NULL, 733 site_id INT NOT NULL DEFAULT 0, 678 734 location VARCHAR(255), 679 735 PRIMARY KEY(cab_id), 680 736 UNIQUE KEY(name), 737 KEY (site_id), 681 738 KEY (location) 682 739 ) ENGINE=innodb DEFAULT CHARSET=latin1; … … 735 792 ### 736 793 794 CREATE TABLE aliasvol ( 795 alias_id INT NOT NULL AUTO_INCREMENT, 796 alias VARCHAR(255) NOT NULL, 797 name VARCHAR(255) NOT NULL, 798 vol_id INT NOT NULL, 799 PRIMARY KEY(alias_id), 800 KEY(alias), 801 KEY(name), 802 FOREIGN KEY(vol_id) REFERENCES volume(vol_id) 803 ) ENGINE=innodb DEFAULT CHARSET=latin1; 804 805 ### 806 737 807 CREATE TABLE instance ( 738 808 ins_id BIGINT NOT NULL AUTO_INCREMENT,
Note:
See TracChangeset
for help on using the changeset viewer.
