GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  VCP::DB_FILE (3)

.ds Aq ’

NAME

VCP::DB_File - Persistant storage for vcp_state data

CONTENTS

SYNOPSIS



    use base qw( VCP::DB_File );



DESCRIPTION

By default, most VCP::Dest::* drivers keep track of the relationship between the id field assigned by the (original) VCP::Source::* driver and the final name and rev_id (or whatever fields are important to it) in the destination repository so that the previous_id fields, which refer to the original id, may be resolved when backfilling or branching.

The VCP::*::revml drivers do not do this; they do not need to resolve id fields.

The intent for this file is to serve as a base class so that individual sites may write their own , ref $self, plugins to, for instance, store this state in a RDBMS table. This is not quite offered at this time; we need to add an option to the appropriate VCP::Dest::* modules to allow the appropriate , ref $self, file to be loaded.

To write your own , ref $self, file, see VCP::DB_File::sdbm.

    Methods

new


   VCP::DB_File::foo->new(
      StoreLoc => $dir,  ## path to a dir to keep the state store in
   );



The Store field indicates where the , ref $self, should be stored, for instance a DBI specification string or a directory to place a revmap.db file in. There is no control over the filename, as different storage modes may need different conventions.

store_loc Gets (does not set) the StoreLoc field as an absolute path.
delete_db


   $db->delete_db;



Deletes the persitent store. This should remove all files, lock files, etc. for filesystem stores and drop any tables for RDBMS stores.

Default action is to call close_db; subclasses should perform the deletion.

(subclasses should call $self-SUPER::delete_db before doing anything else in their delete_db() overrides).

open_db


   $db->open_db;



Creates a new or opens an existing db.

(subclasses should call $self-SUPER::open_db before doing anything else in their open_db() overrides).

close_db


   $db->close_db;



(subclasses should call $self-SUPER::close_db before doing anything else in their close_db() overrides).

set


   $db->set( $key, @values );



Sets the values for $key.

get


   my @values = $db->get( $key );



Gets the values for $key.

keys


   my @keys = $db->keys;



Returns a list of ARRAY references. Each ARRAY ref is a key.

HELPER METHODS

These are provided to make subclassing a tad easier
mkdir_store_loc


   $self->mkdir_store_loc;



A helper method for subclasses’ open_db()s to create the directory referred to by store_loc and any missing parent dirs.

rmdir_store_loc


   $self->rmdir_store_loc;



A helper method for subclasses’ delete_db()s to remove the directory referred to by store_loc.

pack_values


   my $v = $self->pack_values( @values );



Combines the parameters in to a single string.

upack_values


   my @v = $self->unpack_values( $v );



AUTHOR

Barrie Slaymaker <barries@slaysys.com>

COPYRIGHT

Copyright (c) 2000, 2001, 2002 Perforce Software, Inc. All rights reserved.

See VCP::License (vcp help license) for the terms of use.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 VCP::DB_FILE (3) 2004-11-04

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.