IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Apr 30, 2007, 4:00:07 PM (19 years ago)
Author:
jhoblitt
Message:

add Nebulous::Server->{setxattr_object, listxattr_object, getxattr_object, removexattr_object}()

File:
1 edited

Legend:

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

    r13071 r13087  
    11# Copyright (c) 2004  Joshua Hoblitt
    22#
    3 # $Id: SQL.pm,v 1.28 2007-04-28 00:44:38 jhoblitt Exp $
     3# $Id: SQL.pm,v 1.29 2007-05-01 02:00:07 jhoblitt Exp $
    44
    55package Nebulous::Server::SQL;
     
    6363        WHERE ext_id = ?
    6464        FOR UPDATE
     65    },
     66    new_object_xattr  => qq{
     67        INSERT INTO storage_object_xattr
     68            SELECT
     69                so_id,
     70                ?,
     71                ?       
     72            FROM storage_object
     73            WHERE ext_id = ?
     74    },
     75    replace_object_xattr  => qq{
     76        REPLACE INTO storage_object_xattr
     77            SELECT
     78                so_id,
     79                ?,
     80                ?       
     81            FROM storage_object
     82            WHERE ext_id = ?
     83    },
     84    list_object_xattr    => qq{
     85        SELECT storage_object_xattr.name
     86        FROM storage_object
     87        JOIN storage_object_xattr
     88        USING (so_id)
     89        WHERE ext_id = ?
     90    },
     91    get_object_xattr    => qq{
     92        SELECT storage_object_xattr.value
     93        FROM storage_object
     94        JOIN storage_object_xattr
     95        USING (so_id)
     96        WHERE ext_id = ?
     97            AND name = ?
     98    },
     99    remove_object_xattr    => qq{
     100        DELETE FROM storage_object_xattr
     101        WHERE so_id = (SELECT so_id from storage_object where ext_id = ?)
     102            AND name = ?
    65103    },
    66104    set_write_lock      => qq{
     
    179217DROP TABLE IF EXISTS storage_object;
    180218DROP TABLE IF EXISTS storage_object_attr;
     219DROP TABLE IF EXISTS storage_object_xattr;
    181220DROP TABLE IF EXISTS instance;
    182221DROP TABLE IF EXISTS lock_record;
     
    226265    PRIMARY KEY(so_id),
    227266    KEY(class_id)
     267) ENGINE=innodb;
     268
     269###
     270
     271CREATE TABLE storage_object_xattr (
     272    so_id BIGINT NOT NULL AUTO_INCREMENT,
     273    name VARCHAR(255),
     274    value BLOB,
     275    PRIMARY KEY(so_id, name)
    228276) ENGINE=innodb;
    229277
Note: See TracChangeset for help on using the changeset viewer.