From cdea112be1f80c675f40cbb94a7197bfbaaf9bf2 Mon Sep 17 00:00:00 2001
From: Web Admin <w3adm@sanger.ac.uk>
Date: Thu, 11 Oct 2001 08:14:44 +0000
Subject: [PATCH] Added get_LiteAdaptor - a way into the lite database to speed
 up calls

---
 modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm | 43 +++++++++++++++++++++-----
 1 file changed, 36 insertions(+), 7 deletions(-)

diff --git a/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm
index 988eadcbc7..02e3080154 100755
--- a/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm
+++ b/modules/Bio/EnsEMBL/DBSQL/DBAdaptor.pm
@@ -82,7 +82,8 @@ sub new {
     my (
         $db,
         $mapdbname,
-	$dnadb,
+        $litedbname,
+	    $dnadb,
         $host,
         $driver,
         $user,
@@ -92,9 +93,10 @@ sub new {
         $perlonlysequences,
         $external,
         $port,
-        ) = $self->_rearrange([qw(
-            DBNAME
+    ) = $self->_rearrange([qw(
+        DBNAME
 	    MAPDBNAME
+        LITEDBNAME
 	    DNADB
 	    HOST
 	    DRIVER
@@ -105,7 +107,7 @@ sub new {
 	    PERLONLYSEQUENCES
 	    EXTERNAL
 	    PORT
-	    )],@args);
+	 )],@args);
     $db   || $self->throw("Database object must have a database name");
     $user || $self->throw("Database object must have a user");
 
@@ -168,6 +170,7 @@ sub new {
     $self->password( $password);
     # following was added on branch; unclear if it is needed:
     $self->mapdbname( $mapdbname );
+#    $self->litedbname( $litedbname );
 
     if ($perl && $perl == 1) {
         $Bio::EnsEMBL::FeatureFactory::USE_PERL_ONLY = 1;
@@ -195,6 +198,11 @@ sub new {
           };
     }
 
+    # Store info for connecting to a litedb.
+    {
+      $litedbname ||= 'lite';
+      $self->{'_lite_db_name'} = $litedbname;
+    }
 
     return $self; # success - we hope!
 }
@@ -773,7 +781,7 @@ sub mapdb {
         # mapdb is called), connect to the map database.
         if (ref($map) eq 'HASH') {
             require Bio::EnsEMBL::Map::DBSQL::Obj;
-            $self->{'_mapdb'} = Bio::EnsEMBL::Map::DBSQL::Obj->new(%$map);
+            $self->{'_mapdb'} = Bio::EnsEMBL::Map::DBSQL::Obj->new( %$map );
         }
     }
     return $self->{'_mapdb'};
@@ -790,8 +798,6 @@ sub mapdbname {
   return $self->{_mapdbname};
 }
 
-
-
 =head2 write_Species
 
  Title   : write_Species
@@ -2277,6 +2283,29 @@ sub get_GeneAdaptor {
     return $ga;
 }
 
+=head2 get_LiteAdaptor;
+    
+ Title   : get_LiteAdaptor
+ Usage   : my $la = $db->get_LiteAdaptor;
+ Function: Returns the lite database object handler
+ Example : 
+ Returns : Bio::EnsEMBL::DBSQL::LiteAdaptor
+ Args    : 
+
+=cut
+sub get_LiteAdaptor {
+    my( $self ) = @_;
+
+    my $la;
+    unless ($la = $self->{'_lite_adaptor'}) {
+        require Bio::EnsEMBL::DBSQL::LiteAdaptor;
+    	$la = Bio::EnsEMBL::DBSQL::LiteAdaptor->new( $self );
+#        $la->{'lite_db_name'} = $self->{'lite_db_name'};
+        $self->{'_lite_adaptor'} = $la;
+    }
+    return $la;
+}
+
 sub get_ExonAdaptor {
     my( $self ) = @_;
 
-- 
GitLab