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

interchange-core@icdevgroup.org interchange-core@icdevgroup.org
Mon Apr 21 09:36:01 2003


User:      heins
Date:      2003-04-21 13:35:32 GMT
Modified:  lib/Vend/Table DBI.pm
Log:
* Don't save FIELD_LENGTH_DATA for field types that are variable length.

Revision  Changes    Path
2.44      +13 -11    interchange/lib/Vend/Table/DBI.pm


rev 2.44, prev_rev 2.43
Index: DBI.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Table/DBI.pm,v
retrieving revision 2.43
retrieving revision 2.44
diff -u -r2.43 -r2.44
--- DBI.pm	16 Apr 2003 21:09:14 -0000	2.43
+++ DBI.pm	21 Apr 2003 13:35:31 -0000	2.44
@@ -1,6 +1,6 @@
 # Vend::Table::DBI - Access a table stored in an DBI/DBD database
 #
-# $Id: DBI.pm,v 2.43 2003/04/16 21:09:14 mheins Exp $
+# $Id: DBI.pm,v 2.44 2003/04/21 13:35:31 mheins Exp $
 #
 # Copyright (C) 1996-2002 Red Hat, Inc. <interchange@redhat.com>
 #
@@ -20,7 +20,7 @@
 # MA  02111-1307  USA.
 
 package Vend::Table::DBI;
-$VERSION = substr(q$Revision: 2.43 $, 10);
+$VERSION = substr(q$Revision: 2.44 $, 10);
 
 use strict;
 
@@ -691,6 +691,16 @@
 			my $stype   = $ores[1];
 			my $slen    = $ores[2];
 			my $slenvar = $ores[3];
+			my $len;
+			if ($slen > 0) {
+				$len = $slen;
+			}
+			elsif ($slenvar > 0) {
+				$len = ($slenvar-4);
+			}
+			else {
+				next;
+			}
 			my $scfg = $config->{FIELD_LENGTH_DATA}{$ores[4]} = {};
 	    
 			$scfg->{TYPE} = $stype;
@@ -699,15 +709,7 @@
 				$scfg->{LENGTH} = $slenvar;
 			}
 			else {
-				if ($slen > 0) {
-					$scfg->{LENGTH} = $slen;
-				}
-				elsif ($slenvar>0) {
-					$scfg->{LENGTH} = ($slenvar-4);
-				}
-				else {
-					$scfg->{LENGTH} = 'var';
-				}
+				$scfg->{LENGTH} = $len;
 			}
 	    }