import rt 2.0.14
[freeside.git] / rt / lib / RT / Handle.pm
diff --git a/rt/lib/RT/Handle.pm b/rt/lib/RT/Handle.pm
new file mode 100644 (file)
index 0000000..6b74f36
--- /dev/null
@@ -0,0 +1,53 @@
+#$Header: /home/cvs/cvsroot/freeside/rt/lib/RT/Handle.pm,v 1.1 2002-08-12 06:17:07 ivan Exp $
+
+=head1 NAME
+
+  RT::Handle - RT's database handle
+
+=head1 SYNOPSIS
+
+  use RT::Handle;
+
+=head1 DESCRIPTION
+
+=begin testing
+
+ok(require RT::Handle);
+
+=end testing
+
+=head1 METHODS
+
+=cut
+
+package RT::Handle;
+
+eval "use DBIx::SearchBuilder::Handle::$RT::DatabaseType;
+
+\@ISA= qw(DBIx::SearchBuilder::Handle::$RT::DatabaseType);";
+
+#TODO check for errors here.
+
+=head2 Connect
+
+Takes nothing. Calls SUPER::Connect with the needed args
+
+=cut
+
+sub Connect {
+my $self=shift;
+
+# Unless the database port is a positive integer, we really don't want to pass it.
+$RT::DatabasePort = undef unless (defined $RT::DatabasePort && $RT::DatabasePort =~ /^(\d+)$/);
+
+$self->SUPER::Connect(Host => $RT::DatabaseHost, 
+                        Database => $RT::DatabaseName, 
+                        User => $RT::DatabaseUser,
+                        Password => $RT::DatabasePassword,
+                        Port => $RT::DatabasePort,
+                        Driver => $RT::DatabaseType,
+                        RequireSSL => $RT::DatabaseRequireSSL,
+                       );
+   
+}
+1;