[interchange-cvs] interchange - heins modified lib/Vend/Table/DBI.pm

interchange-core@icdevgroup.org interchange-core@icdevgroup.org
Thu Jul 18 15:48:00 2002


User:      heins
Date:      2002-07-18 19:47:08 GMT
Modified:  lib/Vend/Table DBI.pm
Log:
* Add ability to automatically drop existing sequence if

	Database sometable AUTO_SEQUENCE_DROP 1

  is in the configuration.

Revision  Changes    Path
2.26      +11 -2     interchange/lib/Vend/Table/DBI.pm


rev 2.26, prev_rev 2.25
Index: DBI.pm
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /anon_cvs/repository/interchange/lib/Vend/Table/DBI.pm,v
retrieving revision 2.25
retrieving revision 2.26
diff -u -r2.25 -r2.26
--- DBI.pm	18 Jul 2002 19:31:32 -0000	2.25
+++ DBI.pm	18 Jul 2002 19:47:08 -0000	2.26
@@ -1,6 +1,6 @@
 # Vend::Table::DBI - Access a table stored in an DBI/DBD database
 #
-# $Id: DBI.pm,v 2.25 2002/07/18 19:31:32 mheins Exp $
+# $Id: DBI.pm,v 2.26 2002/07/18 19:47:08 mheins Exp $
 #
 # Copyright (C) 1996-2002 Red Hat, Inc. <interchange@redhat.com>
 #
@@ -20,7 +20,7 @@
 # MA  02111-1307  USA.
=20
 package Vend::Table::DBI;
-$VERSION =3D substr(q$Revision: 2.25 $, 10);
+$VERSION =3D substr(q$Revision: 2.26 $, 10);
=20
 use strict;
=20
@@ -387,6 +387,15 @@
=20
 #::logDebug("seq: $config->{AUTO_SEQUENCE} create: $config->{SEQUENCE_CREA=
TE}");
 	if($config->{AUTO_SEQUENCE} and my $q =3D $config->{SEQUENCE_CREATE}) {
+		if($config->{AUTO_SEQUENCE_DROP}) {
+			my $dq =3D $config->{SEQUENCE_DROP} || 'DROP SEQUENCE _SEQUENCE_NAME_';
+			$dq =3D~ s/_SEQUENCE_NAME_/$config->{AUTO_SEQUENCE}/g;
+#::logDebug("dropping sequence with query: $dq");
+			eval {
+				$db->do($dq)
+					or warn("drop sequence failed: $dq");
+			};
+		}
 		$q =3D~ s/_SEQUENCE_NAME_/$config->{AUTO_SEQUENCE}/g;
 		$q =3D~ s/_SEQUENCE_START_/$config->{AUTO_SEQUENCE_START} || 1/eg;
 		$q =3D~ s/_SEQUENCE_CACHE_/$config->{AUTO_SEQUENCE_CACHE} || 1/eg;