|
Packit |
fcad23 |
--- ../AnyData-0.05/DBD/AnyData.pm Tue Jul 17 12:31:44 2001
|
|
Packit |
fcad23 |
+++ DBD/AnyData.pm Wed Oct 31 13:08:37 2001
|
|
Packit |
fcad23 |
@@ -63,7 +63,7 @@
|
|
Packit |
fcad23 |
# PARSE EXTRA STRINGS IN DSN HERE
|
|
Packit |
fcad23 |
# Process attributes from the DSN; we assume ODBC syntax
|
|
Packit |
fcad23 |
# here, that is, the DSN looks like var1=val1;...;varN=valN
|
|
Packit |
fcad23 |
- my $var;
|
|
Packit |
fcad23 |
+ my ($var, $defaultselector, %defaultflags);
|
|
Packit |
fcad23 |
$dbh->STORE('f_dir','./');
|
|
Packit |
fcad23 |
foreach $var (split(/;/, $dbname)) {
|
|
Packit |
fcad23 |
#######################################################
|
|
Packit |
fcad23 |
@@ -80,9 +80,13 @@
|
|
Packit |
fcad23 |
#######################################################
|
|
Packit |
fcad23 |
# Patch from Wes Hardaker
|
|
Packit |
fcad23 |
#######################################################
|
|
Packit |
fcad23 |
- } elsif( $var =~ m/^\s*?default=(\S+)/i ){
|
|
Packit |
fcad23 |
- # Default catalog selector to use
|
|
Packit |
fcad23 |
- $dbh->func('__default',$1, 'ad_catalog');
|
|
Packit |
fcad23 |
+ } elsif( $var =~ m/^\s*?ad_default=(\S+)/i ){
|
|
Packit |
fcad23 |
+ # Default catalog selector to use
|
|
Packit |
fcad23 |
+ $defaultselector = $1;
|
|
Packit |
fcad23 |
+ } elsif( $defaultselector &&
|
|
Packit |
fcad23 |
+ $var =~ m/^\s*?ad_${defaultselector}_(\S+)=(\S+)/i ) {
|
|
Packit |
fcad23 |
+ # Add to selector flags.
|
|
Packit |
fcad23 |
+ $defaultflags{$1} = $2;
|
|
Packit |
fcad23 |
#######################################################
|
|
Packit |
fcad23 |
} elsif ($var =~ /(.*?)=(.*)/) {
|
|
Packit |
fcad23 |
my $key = $1;
|
|
Packit |
fcad23 |
@@ -90,6 +94,10 @@
|
|
Packit |
fcad23 |
$dbh->STORE($key, $val);
|
|
Packit |
fcad23 |
}
|
|
Packit |
fcad23 |
}
|
|
Packit |
fcad23 |
+ if ($defaultselector) {
|
|
Packit |
fcad23 |
+ $dbh->func('__default', $defaultselector, '', \%defaultflags,
|
|
Packit |
fcad23 |
+ 'ad_catalog');
|
|
Packit |
fcad23 |
+ }
|
|
Packit |
fcad23 |
### $dbh->func('read_catalog_from_disk');
|
|
Packit |
fcad23 |
$dbh;
|
|
Packit |
fcad23 |
}
|
|
Packit |
fcad23 |
@@ -520,7 +528,7 @@
|
|
Packit |
fcad23 |
my($self, $data, $fields) = @_;
|
|
Packit |
fcad23 |
my $requested_cols=[];
|
|
Packit |
fcad23 |
my @rc = $data->{f_stmt}->columns();
|
|
Packit |
fcad23 |
- push @$requested_cols, $_->{column} for @rc;
|
|
Packit |
fcad23 |
+ push @$requested_cols, $_->{name} for @rc;
|
|
Packit |
fcad23 |
unshift @$fields, $requested_cols;
|
|
Packit |
fcad23 |
$self->{ad}->push_row(@$fields);
|
|
Packit |
fcad23 |
1;
|