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