Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VCP::DB(3)	      User Contributed Perl Documentation	    VCP::DB(3)

NAME
       VCP::DB - Persistant storage for	id -> (name, rev_id) maps

SYNOPSIS
	   use base qw(	VCP::DB	);

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::sdbm.

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

	   The "Store" field indicates where the DBFile	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

	   (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).

       open_existing_db
	      $db->open_existing_db;

	   Opens an existing db.

	   (subclasses should call "$self-"SUPER::open_existing_db before
	   doing anything else in their	open_existing_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.

       exists
	      $db->exists( $key	);

	   Tests that key exists

       keys
	      my @keys = $db->keys;

	   Returns a list of ARRAY references, each ARRAY reference contains
	   the fields for one key.

       dump
	      $db->dump( \*STDOUT );
	      my $s = $db->dump;
	      my @l = $db->dump;

	   Dumps keys and values from a	DB, in lexically sorted	key order.  If
	   a filehandle	reference is provided, prints to that filehandle.
	   Otherwise, returns a	string or array	containing the entire dump,
	   depending on	context.

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(3)

NAME | SYNOPSIS | DESCRIPTION | AUTHOR | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=VCP::DB&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help