FreeBSD Manual Pages
VCP::DB_File(3) User Contributed Perl Documentation VCP::DB_File(3) NAME VCP::DB_File - Persistant storage for vcp_state data 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. perl v5.32.1 2004-11-04 VCP::DB_File(3)
NAME | SYNOPSIS | DESCRIPTION | HELPER METHODS | AUTHOR | COPYRIGHT
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=VCP::DB_File&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>