IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Apr 3, 2009, 3:14:24 PM (17 years ago)
Author:
jhoblitt
Message:

merge everything from head except Server.pm

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/neb_distrib_20081210/Nebulous-Server/lib/Nebulous/Server/SQL.pm

    r23537 r23708  
    4747        (so_id, vol_id, uri)
    4848        VALUES (?, ?, 'error')
    49     },
    50     get_all_instances   => qq{
    51         SELECT * FROM INSTANCE
    52         WHERE so_id = ?
    5349    },
    5450    get_object          => qq{
     
    6359        JOIN storage_object_attr
    6460        USING (so_id)
     61        WHERE ext_id = ?
     62    },
     63    check_object_name => qq{
     64        SELECT
     65            so_id,
     66            ext_id
     67        FROM storage_object
    6568        WHERE ext_id = ?
    6669    },
     
    351354        limit 5;
    352355    },
     356    find_objects_with_extra_instances => qq{
     357        SELECT
     358            storage_object.so_id,
     359            ext_id,
     360            count(ins_id) as instances,
     361            volume.name as volume_name,
     362            volume.host as volume_host,
     363            count(mymountedvol.vol_id) as available_instances,
     364            count(mymountedvol.vol_id) > 0 as recoverable,
     365            storage_object_xattr.value as copies
     366        FROM storage_object
     367        JOIN instance
     368            USING(so_id)
     369        JOIN volume
     370            USING(vol_id)
     371        LEFT JOIN storage_object_xattr
     372            ON storage_object.so_id = storage_object_xattr.so_id
     373        JOIN mymountedvol
     374            USING(vol_id)
     375        WHERE
     376            mymountedvol.available = 1
     377            AND storage_object_xattr.name = 'user.copies'
     378        GROUP BY so_id
     379        HAVING available_instances > copies
     380    },
    353381    get_mounted_volumes => qq{
    354382        SELECT * FROM mountedvol ORDER BY host, name
     
    408436    type enum('REG_FILE'),
    409437    PRIMARY KEY(so_id),
    410     KEY(ext_id(64)),
    411438    KEY(type)
    412439) ENGINE=innodb DEFAULT CHARSET=latin1;
     
    443470    type ENUM( 'read', 'write' ) NOT NULL,
    444471    epoch TIMESTAMP,
    445     KEY(so_ID)
     472    KEY(so_id)
    446473) ENGINE=innodb DEFAULT CHARSET=latin1;
    447474
     
    457484    xattr BOOLEAN DEFAULT FALSE,
    458485    PRIMARY KEY(vol_id),
    459     KEY(name(16)),
    460486    KEY(host(16)),
    461487    KEY(path(255)),
     
    472498    vol_id INT NOT NULL,
    473499    FOREIGN KEY(vol_id) REFERENCES volume(vol_id),
    474     uri VARCHAR(255) NOT NULL UNIQUE,
     500    uri VARCHAR(255) NOT NULL,
    475501    epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    476502    mtime TIMESTAMP,
     
    478504    KEY(so_id),
    479505    KEY(vol_id),
    480     KEY(uri(64))
     506    KEY(uri(40))
    481507) ENGINE=innodb DEFAULT CHARSET=latin1;
    482508
     
    517543    available BOOLEAN DEFAULT FALSE,
    518544    xattr BOOLEAN DEFAULT FALSE,
     545    PRIMARY KEY(mountpoint),
    519546    KEY(vol_id),
     547    KEY(name),
     548    KEY(host),
     549    KEY(path),
    520550    KEY(allocate),
    521     KEY(available)
     551    KEY(available),
     552    KEY(xattr)
    522553) ENGINE=innodb DEFAULT CHARSET=latin1;
    523554
Note: See TracChangeset for help on using the changeset viewer.