breath on database storage engines
[spider.git] / perl / DXSql / mysql.pm
index 5197adb1e454eeac7db1794c98867959809cdbc7..dee586f76168c07504287a9365cddbff110db213 100644 (file)
@@ -3,7 +3,7 @@
 #
 # Stuff like table creates and (later) alters
 #
-# $Id$
+#
 #
 # Copyright (c) 2005 Dirk Koopman G1TLH
 #
@@ -12,12 +12,7 @@ package DXSql::mysql;
 
 use DXDebug;
 
-use vars qw($VERSION $BRANCH @ISA);
-$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
-$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/  || (0,0));
-$main::build += $VERSION;
-$main::branch += $BRANCH;
-
+use vars qw(@ISA);
 @ISA = qw{DXSql};
 
 sub show_tables
@@ -27,11 +22,36 @@ sub show_tables
        my $sth = $self->prepare($s);
        $sth->execute;
        my @out;
-       push @out, $sth->fetchrow_array;
+       while (my @t = $sth->fetchrow_array) {
+               push @out, @t;
+       }
        $sth->finish;
        return @out;
 }
 
+sub has_ipaddr
+{
+       my $self = shift;
+       my $s = q(describe spot);
+       my $sth = $self->prepare($s);
+       $sth->execute;
+       while (my @t = $sth->fetchrow_array) {
+               if ($t[0] eq 'ipaddr') {
+                       $sth->finish;
+                       return 1;
+               }
+       }
+       $sth->finish;
+       return undef;
+}
+
+sub add_ipaddr
+{
+       my $self = shift;
+       my $s = q(alter table spot add column ipaddr varchar(40));
+       $self->do($s);
+}
+
 sub spot_create_table
 {
        my $self = shift;
@@ -50,7 +70,8 @@ spotcq tinyint,
 spotteritu tinyint,
 spottercq tinyint,
 spotstate char(2),
-spotterstate char(2)
+spotterstate char(2),
+ipaddr varchar(40)
 )};
        $self->do($s);
 }