[interchange-cvs] interchange - jon modified 6 files

interchange-cvs at icdevgroup.org interchange-cvs at icdevgroup.org
Wed Mar 12 15:13:32 EST 2008


User:      jon
Date:      2008-03-12 20:13:31 GMT
Modified:  lib/Vend Data.pm
Modified:  lib/Vend/Table Common.pm DBI.pm DB_File.pm GDBM.pm SDBM.pm
Log:
Add new database feature AUTO_NUMBER_FILE.

This allows specifying a nonstandard location and/or filename for a table's
default counter file.

Can also be used to share a counter file across multiple tables.

Usage example in catalog.cfg:

    Database  area  AUTO_NUMBER_FILE  counters/generic.autonumber

Revision  Changes    Path
2.65      +5 -1      interchange/lib/Vend/Data.pm


rev 2.65, prev_rev 2.64
Index: Data.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Data.pm,v
retrieving revision 2.64
retrieving revision 2.65
diff -u -u -r2.64 -r2.65
--- Data.pm	8 Mar 2008 20:57:21 -0000	2.64
+++ Data.pm	12 Mar 2008 20:13:31 -0000	2.65
@@ -1,6 +1,6 @@
 # Vend::Data - Interchange databases
 #
-# $Id: Data.pm,v 2.64 2008/03/08 20:57:21 jon Exp $
+# $Id: Data.pm,v 2.65 2008/03/12 20:13:31 jon Exp $
 # 
 # Copyright (C) 2002-2007 Interchange Development Group
 # Copyright (C) 1996-2002 Red Hat, Inc.
@@ -817,6 +817,10 @@
 	$obj->{ObjectType} = $class_config->{Class};
 
 	my $dot = $obj->{HIDE_AUTO_FILES} ? '.' : '';
+
+	$obj->{AUTO_NUMBER_FILE} = Vend::File::make_absolute_file(
+		$obj->{AUTO_NUMBER_FILE} || "$dir/$dot$obj->{name}.autonumber"
+	);
 
 	if($class_config->{Extension}) {
 		$database_dbm = Vend::Util::catfile(



2.46      +3 -4      interchange/lib/Vend/Table/Common.pm


rev 2.46, prev_rev 2.45
Index: Common.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Table/Common.pm,v
retrieving revision 2.45
retrieving revision 2.46
diff -u -u -r2.45 -r2.46
--- Common.pm	9 Aug 2007 13:40:56 -0000	2.45
+++ Common.pm	12 Mar 2008 20:13:31 -0000	2.46
@@ -1,6 +1,6 @@
 # Vend::Table::Common - Common access methods for Interchange databases
 #
-# $Id: Common.pm,v 2.45 2007/08/09 13:40:56 pajamian Exp $
+# $Id: Common.pm,v 2.46 2008/03/12 20:13:31 jon Exp $
 #
 # Copyright (C) 2002-2007 Interchange Development Group
 # Copyright (C) 1996-2002 Red Hat, Inc.
@@ -23,7 +23,7 @@
 # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
 # MA  02110-1301  USA.
 
-$VERSION = substr(q$Revision: 2.45 $, 10);
+$VERSION = substr(q$Revision: 2.46 $, 10);
 use strict;
 
 package Vend::Table::Common;
@@ -185,9 +185,8 @@
 	local($/) = "\n";
 	my $c = $s->[$CONFIG];
 	if(! defined $c->{AutoNumberCounter}) {
-		my $dot = $c->{HIDE_AUTO_FILES} ? '.' : '';
 		$c->{AutoNumberCounter} = new Vend::CounterFile
-									"$c->{DIR}/$dot$c->{name}.autonumber",
+									$cfg->{AUTO_NUMBER_FILE},
 									$start,
 									$c->{AUTO_NUMBER_DATE},
 									;



2.82      +3 -4      interchange/lib/Vend/Table/DBI.pm


rev 2.82, prev_rev 2.81
Index: DBI.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Table/DBI.pm,v
retrieving revision 2.81
retrieving revision 2.82
diff -u -u -r2.81 -r2.82
--- DBI.pm	8 Oct 2007 15:37:49 -0000	2.81
+++ DBI.pm	12 Mar 2008 20:13:31 -0000	2.82
@@ -1,6 +1,6 @@
 # Vend::Table::DBI - Access a table stored in an DBI/DBD database
 #
-# $Id: DBI.pm,v 2.81 2007/10/08 15:37:49 jon Exp $
+# $Id: DBI.pm,v 2.82 2008/03/12 20:13:31 jon Exp $
 #
 # Copyright (C) 2002-2007 Interchange Development Group
 # Copyright (C) 1996-2002 Red Hat, Inc.
@@ -21,7 +21,7 @@
 # MA  02110-1301  USA.
 
 package Vend::Table::DBI;
-$VERSION = substr(q$Revision: 2.81 $, 10);
+$VERSION = substr(q$Revision: 2.82 $, 10);
 
 use strict;
 no warnings qw(uninitialized numeric);
@@ -569,9 +569,8 @@
 
     if (! $config->{AUTO_SEQUENCE} and ! defined $config->{AutoNumberCounter}) {
 	    eval {
-			my $dot = $config->{HIDE_AUTO_FILES} ? '.' : '';
 			$config->{AutoNumberCounter} = new Vend::CounterFile
-									"$config->{DIR}/$dot$config->{name}.autonumber",
+									$config->{AUTO_NUMBER_FILE},
 									$config->{AUTO_NUMBER} || '00001',
 									$config->{AUTO_NUMBER_DATE};
 		};



2.15      +3 -4      interchange/lib/Vend/Table/DB_File.pm


rev 2.15, prev_rev 2.14
Index: DB_File.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Table/DB_File.pm,v
retrieving revision 2.14
retrieving revision 2.15
diff -u -u -r2.14 -r2.15
--- DB_File.pm	9 Aug 2007 13:40:56 -0000	2.14
+++ DB_File.pm	12 Mar 2008 20:13:31 -0000	2.15
@@ -1,6 +1,6 @@
 # Vend::Table::DB_File - Access an Interchange table stored in a DB file hash
 #
-# $Id: DB_File.pm,v 2.14 2007/08/09 13:40:56 pajamian Exp $
+# $Id: DB_File.pm,v 2.15 2008/03/12 20:13:31 jon Exp $
 #
 # Copyright (C) 2002-2007 Interchange Development Group
 # Copyright (C) 1996-2002 Red Hat, Inc.
@@ -31,7 +31,7 @@
 use Vend::Table::Common;
 
 @ISA = qw(Vend::Table::Common);
-$VERSION = substr(q$Revision: 2.14 $, 10);
+$VERSION = substr(q$Revision: 2.15 $, 10);
 
 sub create {
 	my ($class, $config, $columns, $filename) = @_;
@@ -83,9 +83,8 @@
 		$flags = O_RDWR;
 		if(! defined $config->{AutoNumberCounter}) {
 			eval {
-				my $dot = $config->{HIDE_AUTO_FILES} ? '.' : '';
 				$config->{AutoNumberCounter} = new Vend::CounterFile
-									"$config->{DIR}/$dot$config->{name}.autonumber",
+									$config->{AUTO_NUMBER_FILE},
 									$config->{AUTO_NUMBER} || '00001',
 									$config->{AUTO_NUMBER_DATE};
 			};



2.17      +3 -4      interchange/lib/Vend/Table/GDBM.pm


rev 2.17, prev_rev 2.16
Index: GDBM.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Table/GDBM.pm,v
retrieving revision 2.16
retrieving revision 2.17
diff -u -u -r2.16 -r2.17
--- GDBM.pm	9 Aug 2007 13:40:56 -0000	2.16
+++ GDBM.pm	12 Mar 2008 20:13:31 -0000	2.17
@@ -1,6 +1,6 @@
 # Vend::Table::GDBM - Access an Interchange table stored in a GDBM file
 #
-# $Id: GDBM.pm,v 2.16 2007/08/09 13:40:56 pajamian Exp $
+# $Id: GDBM.pm,v 2.17 2008/03/12 20:13:31 jon Exp $
 #
 # Copyright (C) 2002-2007 Interchange Development Group
 # Copyright (C) 1996-2002 Red Hat, Inc.
@@ -30,7 +30,7 @@
 use Vend::Table::Common;
 
 @ISA = qw(Vend::Table::Common);
-$VERSION = substr(q$Revision: 2.16 $, 10);
+$VERSION = substr(q$Revision: 2.17 $, 10);
 
 sub new {
 	my ($class, $obj) = @_;
@@ -86,9 +86,8 @@
 		$flags |= GDBM_NOLOCK if $config->{IC_LOCKING};
 		if(! defined $config->{AutoNumberCounter}) {
 			eval {
-				my $dot = $config->{HIDE_AUTO_FILES} ? '.' : '';
 				$config->{AutoNumberCounter} = new Vend::CounterFile
-									"$config->{DIR}/$dot$config->{name}.autonumber",
+									$config->{AUTO_NUMBER_FILE},
 									$config->{AUTO_NUMBER} || '00001',
 									$config->{AUTO_NUMBER_DATE};
 			};



2.16      +3 -4      interchange/lib/Vend/Table/SDBM.pm


rev 2.16, prev_rev 2.15
Index: SDBM.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Table/SDBM.pm,v
retrieving revision 2.15
retrieving revision 2.16
diff -u -u -r2.15 -r2.16
--- SDBM.pm	9 Aug 2007 13:40:56 -0000	2.15
+++ SDBM.pm	12 Mar 2008 20:13:31 -0000	2.16
@@ -1,6 +1,6 @@
 # Vend::Table::SDBM - Access an Interchange table stored in Perl's internal SDBM
 #
-# $Id: SDBM.pm,v 2.15 2007/08/09 13:40:56 pajamian Exp $
+# $Id: SDBM.pm,v 2.16 2008/03/12 20:13:31 jon Exp $
 #
 # Copyright (C) 2002-2007 Interchange Development Group
 # Copyright (C) 1996-2002 Red Hat, Inc.
@@ -31,7 +31,7 @@
 use Vend::Table::Common;
 
 @ISA = qw(Vend::Table::Common);
-$VERSION = substr(q$Revision: 2.15 $, 10);
+$VERSION = substr(q$Revision: 2.16 $, 10);
 
 sub create {
 	my ($class, $config, $columns, $filename) = @_;
@@ -100,9 +100,8 @@
 		$flags = O_RDWR;
 		if(! defined $config->{AutoNumberCounter}) {
 			eval {
-				my $dot = $config->{HIDE_AUTO_FILES} ? '.' : '';
 				$config->{AutoNumberCounter} = new Vend::CounterFile
-									"$config->{DIR}/$dot$config->{name}.autonumber",
+									$config->{AUTO_NUMBER_FILE},
 									$config->{AUTO_NUMBER} || '00001',
 									$config->{AUTO_NUMBER_DATE};
 			};








More information about the interchange-cvs mailing list