[Bio] / FigKernelPackages / DBrtns.pm Repository:
ViewVC logotype

Diff of /FigKernelPackages/DBrtns.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2, Tue Jan 6 11:52:31 2004 UTC revision 1.3, Thu Jul 1 21:16:34 2004 UTC
# Line 34  Line 34 
34          }, $class;          }, $class;
35  }  }
36    
37    sub set_raise_exceptions
38    {
39        my($self, $enable) = @_;
40        my $dbh = $self->{_dbh};
41        my $old = $dbh->{RaiseError};
42        $dbh->{RaiseError} = $enable;
43        return $old;
44    }
45    
46  sub SQL {  sub SQL {
47      my($self,$sql,$verbose) = @_;      my($self,$sql,$verbose) = @_;
48      my($dbh,$sth,$rc,$tmp);      my($dbh,$sth,$rc,$tmp);
# Line 45  Line 54 
54    
55      $dbh  = $self->{_dbh};      $dbh  = $self->{_dbh};
56    
57      if (($sql =~ /^select/i) && ($tmp = $dbh->selectall_arrayref($sql)))      if ($sql =~ /^select/i)
58      {      {
59            $tmp = $dbh->selectall_arrayref($sql);
60          return $tmp;          return $tmp;
61      }      }
62      else      else
# Line 61  Line 71 
71      return undef;      return undef;
72  }  }
73    
74    sub get_tables
75    {
76        my($self) = @_;
77    
78        my $dbh = $self->{_dbh};
79    
80        my $quote = $dbh->get_info(29); # SQL_IDENTIFIER_QUOTE_CHAR
81    
82        my @tables = $dbh->tables();
83    
84        return map { $quote ne "" && s/^$quote(.*)$quote$/$1/; s/^[^.]+\.//; $_ } @tables;
85    }
86    
87    sub table_exists
88    {
89        my($self, $table) = @_;
90    
91        return (grep { $table eq $_ } $self->get_tables()) > 0;
92    }
93    
94  sub drop_table {  sub drop_table {
95      my $self = shift @_;      my $self = shift @_;
96      my %arg  = @_;      my %arg  = @_;
# Line 68  Line 98 
98      my $dbh  = $self->{_dbh};      my $dbh  = $self->{_dbh};
99      my $dbms = $self->{_dbms};      my $dbms = $self->{_dbms};
100      my $cmd;      my $cmd;
101      if ($dbms eq "mysql")  { $cmd = "DROP TABLE IF EXISTS $tbl;" ; }  
102      else                   { $cmd = "DROP TABLE $tbl;" ; }  
103        if ($dbms eq "mysql")
104        {
105            $cmd = "DROP TABLE IF EXISTS $tbl;" ;
106        }
107        else
108        {
109            if ($self->table_exists($tbl))
110            {
111                $cmd = "DROP TABLE $tbl;" ;
112            }
113        }
114        if ($cmd)
115        {
116      $dbh->do($cmd);      $dbh->do($cmd);
117  }  }
118    }
119    
120  sub create_table {  sub create_table {
121      my $self = shift @_;      my $self = shift @_;

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3