#
# The master SQL module
#
-# $Id$
+#
#
# Copyright (c) 2006 Dirk Koopman G1TLH
#
use strict;
-use DXSql::SQLite;
-use DXSql::mysql;
use DXDebug;
-use vars qw($VERSION $BRANCH $active);
-$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($active);
$active = 0;
sub init
my $dbh;
eval {
no strict 'refs';
- $dbh = DBI->connect($dsn, $user, $passwd, {AutoCommit => 0});
+ $dbh = DBI->connect($dsn, $user, $passwd);
};
unless ($dbh) {
$active = 0;
eval { $self->{dbh}->do($s); };
}
+sub begin_work
+{
+ $_[0]->{dbh}->begin_work;
+}
+
sub commit
{
$_[0]->{dbh}->commit;
- $_[0]->{dbh}->{AutoCommit} = 0;
}
sub rollback
{
$_[0]->{dbh}->rollback;
- $_[0]->{dbh}->{AutoCommit} = 0;
}
sub quote
sub spot_insert_prepare
{
my $self = shift;
- return $self->prepare('insert into spot values(?' . ',?' x 14 . ')');
+ return $self->prepare('insert into spot values(?' . ',?' x 15 . ')');
}
sub spot_insert
my $sth = shift;
if ($sth) {
+ push @$spot, undef while @$spot < 15;
+ pop @$spot while @$spot > 15;
eval {$sth->execute(undef, @$spot)};
} else {
my $s = "insert into spot values(NULL,";
$s .= $spot->[10] . ',';
$s .= $spot->[11] . ',';
$s .= (length $spot->[12] ? $self->quote($spot->[12]) : 'NULL') . ',';
- $s .= (length $spot->[13] ? $self->quote($spot->[13]) : 'NULL') . ')';
+ $s .= (length $spot->[13] ? $self->quote($spot->[13]) : 'NULL') . ',';
+ $s .= (length $spot->[14] ? $self->quote($spot->[14]) : 'NULL') . ')';
eval {$self->do($s)};
}
}