IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Apr 26, 2007, 1:47:05 PM (19 years ago)
Author:
jhoblitt
Message:

add Nebulous::Server->find_keys()

File:
1 edited

Legend:

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

    r12966 r13047  
    11# Copyright (c) 2004  Joshua Hoblitt
    22#
    3 # $Id: Server.pm,v 1.24 2007-04-23 23:31:32 jhoblitt Exp $
     3# $Id: Server.pm,v 1.25 2007-04-26 23:45:03 jhoblitt Exp $
    44
    55package Nebulous::Server;
     
    567567
    568568
     569sub find_objects {
     570    my $self = shift;
     571
     572    my ( $pattern ) = validate_pos( @_,
     573        {
     574            type        => SCALAR,
     575            optional    => 1,
     576        },
     577    );
     578
     579    my $log = $self->log;
     580    my $sql = $self->sql;
     581    my $db  =$self->db;
     582
     583    $log->debug( "entered - @_" );
     584
     585    my $query;
     586
     587    eval {
     588        $query = $db->prepare_cached( $sql->find_objects );
     589        $query->execute( $pattern );
     590    };
     591    $log->logdie( "database error: $@" ) if $@;
     592
     593    my @keys;
     594
     595    while ( my $row = $query->fetchrow_hashref ) {
     596        my $key = $row->{ 'ext_id' };
     597        push @keys, $key if $key;
     598    }
     599
     600    $log->debug( "no keys found" ) unless ( scalar @keys );
     601
     602    $log->debug( "leaving" );
     603
     604    return \@keys;
     605}
     606
     607
    569608sub find_instances {
    570609    my $self = shift;
     
    744783    my $query;
    745784    eval {
     785        # ask the db to generate the table of mounted Nebulous volume
     786        $query = $db->prepare_cached("call getmountedvol()");
     787        $query->execute();
     788
    746789        # TODO cache this?
    747790        my $rows;
     
    759802        }
    760803
    761         $volume = $query->fetchrow_hashref->{ 'mountpoint' };
     804        $volume = $query->fetchrow_hashref->{ 'volume' };
    762805
    763806        $query->finish;
     
    769812        $log->logdie( "database error: $@" ) if $@;
    770813    }
     814
     815    $log->logdie( "failed to find a suitable volume" ) unless defined $volume;
    771816
    772817    $log->debug( "leaving" );
Note: See TracChangeset for help on using the changeset viewer.