[interchange-cvs] interchange - heins modified lib/Vend/Data.pm
interchange-cvs at icdevgroup.org
interchange-cvs at icdevgroup.org
Fri Jun 4 00:05:49 EDT 2004
User: heins
Date: 2004-06-04 04:05:36 GMT
Modified: lib/Vend Data.pm
Log:
* Improve self-contained database definitions by allowing field names
to come directly from the CREATE_EMPTY_TXT parameter:
Database foo CREATE_EMPTY_TXT code description bar baz
This prevents problems with later SQL "alter table ...." statements not
being acknowleged by IC because the NAME parameter does not match the
NAME array returned by DBI.
Revision Changes Path
2.40 +11 -4 interchange/lib/Vend/Data.pm
rev 2.40, prev_rev 2.39
Index: Data.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Data.pm,v
retrieving revision 2.39
retrieving revision 2.40
diff -u -r2.39 -r2.40
--- Data.pm 3 Jun 2004 06:31:18 -0000 2.39
+++ Data.pm 4 Jun 2004 04:05:35 -0000 2.40
@@ -1,6 +1,6 @@
# Vend::Data - Interchange databases
#
-# $Id: Data.pm,v 2.39 2004/06/03 06:31:18 mheins Exp $
+# $Id: Data.pm,v 2.40 2004/06/04 04:05:35 mheins Exp $
#
# Copyright (C) 2002-2003 Interchange Development Group
# Copyright (C) 1996-2002 Red Hat, Inc.
@@ -774,13 +774,20 @@
my ($obj, $database_txt, $delimiter, $record_delim) = @_;
return if -f $database_txt;
return unless $obj->{CREATE_EMPTY_TXT};
- if(! ref($obj->{NAME}) eq 'ARRAY') {
- logError("Cannot create text file with no database NAME parameter");
+ my $ary;
+ if($obj->{CREATE_EMPTY_TXT} =~ /[\s,]\w/) {
+ $ary = [ grep /\S/, split /[\s,]+/, $obj->{CREATE_EMPTY_TXT} ];
+ }
+ else {
+ $ary = $obj->{NAME};
+ }
+ unless (ref($ary) eq 'ARRAY') {
+ logError("Cannot create text file with no database NAME parameter and no field names in CREATE_EMPTY_TXT");
}
else {
$delimiter ||= "\t";
$record_delim ||= "\n";
- my $line = join $obj->{DELIMITER}, @{$obj->{NAME}};
+ my $line = join $obj->{DELIMITER}, @$ary;
$line .= $record_delim;
Vend::Util::writefile($database_txt, $line);
}
More information about the interchange-cvs
mailing list