[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;
}
}