IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 2, 2007, 10:53:42 AM (19 years ago)
Author:
jhoblitt
Message:

add volume.available field and logic to use it

File:
1 edited

Legend:

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

    r13130 r13131  
    11# Copyright (c) 2004  Joshua Hoblitt
    22#
    3 # $Id: SQL.pm,v 1.32 2007-05-02 20:14:46 jhoblitt Exp $
     3# $Id: SQL.pm,v 1.33 2007-05-02 20:53:42 jhoblitt Exp $
    44
    55package Nebulous::Server::SQL;
     
    161161            used / total < ?
    162162            AND name = ?
     163            AND available = ?
     164            AND allocate = ?
    163165        ORDER BY free DESC
    164166        LIMIT 1
     
    172174        WHERE
    173175            used / total < ?
     176            AND available = ?
     177            AND allocate = ?
    174178        ORDER BY free DESC
    175179        LIMIT 1
     
    177181    new_volume          => qq{
    178182        INSERT INTO volume (name, path, allocate)
    179         VALUES (?, ?, TRUE)
     183        VALUES (?, ?, TRUE, TRUE)
    180184    },
    181185    get_volume_by_name => qq{
     
    304308    path VARCHAR(255) NOT NULL,
    305309    allocate BOOLEAN DEFAULT FALSE,
     310    available BOOLEAN DEFAULT FALSE,
    306311    PRIMARY KEY(vol_id),
    307312    KEY(name(16)),
    308     KEY(allocate)
     313    KEY(allocate),
     314    KEY(available)
    309315) ENGINE=innodb;
    310316
     
    337343    DECLARE namevar VARCHAR(255);
    338344    DECLARE pathvar VARCHAR(255);
    339     DECLARE cur1 CURSOR FOR SELECT vol_id, name, path FROM volume
    340         WHERE allocate = TRUE;
     345    DECLARE allocatevar BOOLEAN;
     346    DECLARE availablevar BOOLEAN;
     347    DECLARE cur1 CURSOR FOR SELECT vol_id, name, path, allocate, available FROM volume;
    341348    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = TRUE;
    342349
     
    353360        vol_id INT NOT NULL,
    354361        name VARCHAR(255) NOT NULL,
    355         path VARCHAR(255) NOT NULL
     362        path VARCHAR(255) NOT NULL,
     363        allocate BOOLEAN DEFAULT FALSE,
     364        available BOOLEAN DEFAULT FALSE
    356365    ) ENGINE=MEMORY;
    357366
     
    363372
    364373    myloop: LOOP
    365         FETCH cur1 INTO vol_idvar, namevar, pathvar;
     374        FETCH cur1 INTO vol_idvar, namevar, pathvar, allocatevar, availablevar;
    366375        IF `done` THEN LEAVE myloop; END IF;
    367376        INSERT INTO mountedvol
    368             SELECT mountpoint, total, used, vol_idvar, namevar, pathvar
     377            SELECT mountpoint, total, used, vol_idvar, namevar, pathvar, allocatevar, availablevar
    369378            FROM
    370379                (SELECT *, INSTR(pathvar, mountpoint) = 1 as substring
Note: See TracChangeset for help on using the changeset viewer.