Commit 284ac731 authored by Daniel Rios's avatar Daniel Rios
Browse files

modified execute calls to make compatible with other databases. Need to use...

modified execute calls to make compatible with other databases. Need to use bind_param first, with the type of the parameter, and execute later
parent 57849db6
......@@ -212,11 +212,14 @@ sub store {
my $sth = $self->prepare( "INSERT INTO affy_array".
"( name, probe_setsize, parent_array_id ) ".
"VALUES( ?,?,? )" );
$sth->bind_param(1,$array->name(),SQL_VARCHAR);
$sth->bind_param(2,$array->setsize(),SQL_INTEGER);
if( defined $superset ) {
$sth->execute( $array->name(), $array->setsize(), $superset->dbID() );
$sth->bind_param(3,$superset->dbID(), SQL_INTEGER);
} else {
$sth->execute( $array->name(), $array->setsize(), undef );
$sth->bind_param(3,undef);
}
$sth->execute();
my $dbID = $sth->{'mysql_insertid'};
$array->dbID( $dbID );
$array->adaptor( $self );
......
......@@ -161,8 +161,15 @@ sub store{
my $seq_region_id;
($af, $seq_region_id) = $self->_pre_store($af);
$sth->execute($seq_region_id, $af->start, $af->end, $af->strand,
$af->probe->dbID, $af->analysis->dbID, $af->mismatchcount );
$sth->bind_param(1,$seq_region_id,SQL_INTEGER);
$sth->bind_param(2,$af->start,SQL_INTEGER);
$sth->bind_param(3,$af->end,SQL_INTEGER);
$sth->bind_param(4,$af->strand,SQL_TINYINT);
$sth->bind_param(5,$af->probe->dbID,SQL_INTEGER);
$sth->bind_param(6,$af->analysis->dbID,SQL_INTEGER);
$sth->bind_param(7,$af->mismatchcount,SQL_TINYINT);
$sth->execute();
$original->dbID($sth->{'mysql_insertid'});
$original->adaptor($self);
......
......@@ -90,10 +90,17 @@ PROBE:
for my $array (@stored_arrays) {
if ( defined $dbID ) {
$sth = $self->prepare( "INSERT INTO affy_probe( affy_probe_id," . "affy_array_id, name, probeset ) " . "VALUES( ?,?,?,? )" );
$sth->execute( $dbID, $array->dbID(), $probe->get_probename( $array->name() ), $probe->probeset() );
$sth->bind_param(1,$dbID,SQL_INTEGER);
$sth->bind_param(2,$array->dbID,SQL_INTEGER);
$sth->bind_param(3,$probe->get_probename($array->name()),SQL_VARCHAR);
$sth->bind_param(4,$probe->probeset,SQL_VARCHAR);
$sth->execute();
} else {
$sth = $self->prepare( "INSERT INTO affy_probe( " . "affy_array_id, name, probeset ) " . "VALUES( ?,?,? )" );
$sth->execute( $array->dbID(), $probe->get_probename( $array->name() ), $probe->probeset() );
$sth->bind_param(1,$array->dbID,SQL_INTEGER);
$sth->bind_param(2,$probe->get_probename($array->name()),SQL_VARCHAR);
$sth->bind_param(3,$probe->probeset,SQL_VARCHAR);
$sth->execute();
$dbID = $sth->{'mysql_insertid'};
$probe->dbID($dbID);
$probe->adaptor($self);
......@@ -131,7 +138,10 @@ sub fetch_by_array_probeset_probe {
affy_array.name = ? and affy_probe.probeset = ? and affy_probe.name = ?"
);
$statement->execute($affy_array_name, $affy_probeset_name, $affy_probe_name);
$statement->bind_param(1,$affy_array_name,SQL_VARCHAR);
$statement->bind_param(2,$affy_probeset_name,SQL_VARCHAR);
$statement->bind_param(3,$affy_probe_name,SQL_VARCHAR);
$statement->execute();
my ($affy_probe_id) = $statement->fetchrow();
......
......@@ -230,7 +230,8 @@ sub fetch_by_dbID {
WHERE analysis.analysis_id = ? };
my $sth = $self->prepare($query);
$sth->execute( $id );
$sth->bind_param(1,$id,SQL_INTEGER);
$sth->execute();
my $rowHashRef = $sth->fetchrow_hashref;
if( ! defined $rowHashRef ) {
return undef;
......@@ -279,7 +280,8 @@ sub fetch_by_logic_name {
ON analysis.analysis_id = analysis_description.analysis_id
WHERE logic_name = ?" );
$sth->execute($logic_name);
$sth->bind_param(1,$logic_name,SQL_VARCHAR);
$sth->execute();
my $rowHashRef;
$rowHashRef = $sth->fetchrow_hashref;
......@@ -357,21 +359,20 @@ sub store {
gff_feature = ?
} );
$rows_inserted = $sth->execute
( $analysis->created,
$analysis->logic_name,
$analysis->db,
$analysis->db_version,
$analysis->db_file,
$analysis->program,
$analysis->program_version,
$analysis->program_file,
$analysis->parameters,
$analysis->module,
$analysis->module_version,
$analysis->gff_source,
$analysis->gff_feature
);
$sth->bind_param(1,$analysis->created,SQL_DATETIME);
$sth->bind_param(2,$analysis->logic_name,SQL_VARCHAR);
$sth->bind_param(3,$analysis->db,SQL_VARCHAR);
$sth->bind_param(4,$analysis->db_version,SQL_VARCHAR);
$sth->bind_param(5,$analysis->db_file,SQL_VARCHAR);
$sth->bind_param(6,$analysis->program,SQL_VARCHAR);
$sth->bind_param(7,$analysis->program_version,SQL_VARCHAR);
$sth->bind_param(8,$analysis->program_file,SQL_VARCHAR);
$sth->bind_param(9,$analysis->parameters,SQL_VARCHAR);
$sth->bind_param(10,$analysis->module,SQL_VARCHAR);
$sth->bind_param(11,$analysis->module_version,SQL_VARCHAR);
$sth->bind_param(12,$analysis->gff_source,SQL_VARCHAR);
$sth->bind_param(13,$analysis->gff_feature,SQL_VARCHAR);
$rows_inserted = $sth->execute();
} else {
$sth = $self->prepare( q{
......@@ -390,21 +391,21 @@ sub store {
gff_source = ?,
gff_feature = ?
} );
$rows_inserted = $sth->execute
( $analysis->logic_name,
$analysis->db,
$analysis->db_version,
$analysis->db_file,
$analysis->program,
$analysis->program_version,
$analysis->program_file,
$analysis->parameters,
$analysis->module,
$analysis->module_version,
$analysis->gff_source,
$analysis->gff_feature,
);
$sth->bind_param(1,$analysis->logic_name,SQL_VARCHAR);
$sth->bind_param(2,$analysis->db,SQL_VARCHAR);
$sth->bind_param(3,$analysis->db_version,SQL_VARCHAR);
$sth->bind_param(4,$analysis->db_file,SQL_VARCHAR);
$sth->bind_param(5,$analysis->program,SQL_VARCHAR);
$sth->bind_param(6,$analysis->program_version,SQL_VARCHAR);
$sth->bind_param(7,$analysis->program_file,SQL_VARCHAR);
$sth->bind_param(8,$analysis->parameters,SQL_VARCHAR);
$sth->bind_param(9,$analysis->module,SQL_VARCHAR);
$sth->bind_param(10,$analysis->module_version,SQL_VARCHAR);
$sth->bind_param(11,$analysis->gff_source,SQL_VARCHAR);
$sth->bind_param(12,$analysis->gff_feature,SQL_VARCHAR);
$rows_inserted = $sth->execute();
}
my $dbID;
......@@ -431,8 +432,14 @@ sub store {
# store description and display_label
if( defined( $analysis->description() ) ||
defined( $analysis->display_label() )) {
$sth = $self->prepare( "INSERT IGNORE INTO analysis_description (analysis_id, display_label, description) VALUES (?,?,?)");
$sth->execute( $dbID, $analysis->display_label(), $analysis->description() );
$sth->bind_param(1,$dbID,SQL_INTEGER);
$sth->bind_param(2,$analysis->display_label(),SQL_VARCHAR);
$sth->bind_param(3,$analysis->description,SQL_LONGVARCHAR);
$sth->execute();
$sth->finish();
}
}
......@@ -481,12 +488,24 @@ sub update {
" gff_source = ?, gff_feature = ? " .
"WHERE analysis_id = ?");
$sth->execute
($a->created, $a->logic_name, $a->db, $a->db_version, $a->db_file,
$a->program, $a->program_version, $a->program_file,
$a->parameters, $a->module, $a->module_version,
$a->gff_source, $a->gff_feature,
$a->dbID);
$sth->bind_param(1,$a->created,SQL_DATETIME);
$sth->bind_param(2,$a->logic_name,SQL_VARCHAR);
$sth->bind_param(3,$a->db,SQL_VARCHAR);
$sth->bind_param(4,$a->db_version,SQL_VARCHAR);
$sth->bind_param(5,$a->db_file,SQL_VARCHAR);
$sth->bind_param(6,$a->program,SQL_VARCHAR);
$sth->bind_param(7,$a->program_version,SQL_VARCHAR);
$sth->bind_param(8,$a->program_file,SQL_VARCHAR);
$sth->bind_param(9,$a->parameters,SQL_VARCHAR);
$sth->bind_param(10,$a->module,SQL_VARCHAR);
$sth->bind_param(11,$a->module_version,SQL_VARCHAR);
$sth->bind_param(12,$a->gff_source,SQL_VARCHAR);
$sth->bind_param(13,$a->gff_feature,SQL_VARCHAR);
$sth->bind_param(14,$a->dbID,SQL_INTEGER);
$sth->execute();
$sth->finish();
......@@ -550,7 +569,8 @@ sub remove {
}
my $sth = $self->prepare("DELETE FROM analysis WHERE analysis_id = ?");
$sth->execute($analysis->dbID());
$sth->bind_param(1,$analysis->dbID,SQL_INTEGER);
$sth->execute();
$sth = $self->prepare("DELETE FROM analysis_description WHERE analysis_id = ?");
$sth->execute($analysis->dbID());
......
......@@ -195,8 +195,9 @@ sub fetch_all_by_gene_archive_id {
};
my $sth = $self->prepare( $sql );
$sth->execute( $gene_archive_id->stable_id(),
$gene_archive_id->version );
$sth->bind_param(1,$gene_archive_id->stable_id,SQL_VARCHAR);
$sth->bind_param(2,$gene_archive_id->version,SQL_SMALLINT);
$sth->execute();
my ( $stable_id, $version, $db_name );
$sth->bind_columns( \$stable_id, \$version, \$db_name );
......@@ -249,8 +250,9 @@ sub fetch_by_transcript_archive_id {
};
my $sth = $self->prepare( $sql );
$sth->execute( $transcript_archive_id->stable_id(),
$transcript_archive_id->version );
$sth->bind_param(1,$transcript_archive_id->stable_id,SQL_VARCHAR);
$sth->bind_param(1,$transcript_archive_id->version,SQL_SMALLINT);
$sth->execute();
my ( $stable_id, $version, $db_name ) =
$sth->fetchrow_array();
......@@ -312,7 +314,9 @@ sub fetch_pre_by_arch_id {
};
my $sth = $self->prepare( $sql );
$sth->execute( $arch_id->stable_id(), $arch_id->db_name() );
$sth->bind_param(1,$arch_id->stable_id, SQL_VARCHAR);
$sth->bind_param(2,$arch_id->db_name,SQL_VARCHAR);
$sth->execute();
my ( $old_stable_id, $old_version, $old_db_name );
$sth->bind_columns( \$old_stable_id, \$old_version, \$old_db_name );
while( $sth->fetch() ) {
......@@ -430,7 +434,9 @@ sub fetch_succ_by_arch_id {
};
my $sth = $self->prepare( $sql );
$sth->execute( $arch_id->stable_id(), $arch_id->db_name() );
$sth->bind_param(1,$arch_id->stable_id,SQL_VARCHAR);
$sth->bind_param(2,$arch_id->db_name,SQL_VARCHAR);
$sth->execute();
my ( $new_stable_id, $new_version, $new_db_name );
$sth->bind_columns( \$new_stable_id, \$new_version, \$new_db_name );
while( $sth->fetch() ) {
......@@ -540,7 +546,9 @@ sub get_peptide {
my $sth = $self->prepare( $sql );
$sth->execute( $arch_id->stable_id(), $arch_id->version() );
$sth->bind_param(1,$arch_id->stable_id, SQL_VARCHAR);
$sth->bind_param(2,$arch_id->version, SQL_SMALLINT);
$sth->execute();
my ( $peptide_seq ) = $sth->fetchrow_array();
$sth->finish();
......
......@@ -355,7 +355,12 @@ sub register_assembled {
foreach my $region (@chunk_regions) {
my($region_start, $region_end) = @$region;
$sth->execute($asm_seq_region_id, $region_start, $region_end, $cmp_cs_id);
$sth->bind_param(1,$asm_seq_region_id,SQL_INTEGER);
$sth->bind_param(2,$region_start,SQL_INTEGER);
$sth->bind_param(3,$region_end,SQL_INTEGER);
$sth->bind_param(4,$cmp_cs_id,SQL_INTEGER);
$sth->execute();
my($cmp_start, $cmp_end, $cmp_seq_region_id, $cmp_seq_region, $ori,
$asm_start, $asm_end, $cmp_seq_region_length);
......@@ -409,7 +414,9 @@ sub _seq_region_name_to_id {
"FROM seq_region " .
"WHERE name = ? AND coord_system_id = ?");
$sth->execute($sr_name, $cs_id);
$sth->bind_param(1,$sr_name,SQL_VARCHAR);
$sth->bind_param(2,$cs_id,SQL_INTEGER);
$sth->execute();
if(!$sth->rows() == 1) {
throw("Ambiguous or non-existant seq_region [$sr_name] " .
......@@ -490,7 +497,9 @@ sub register_component {
};
my $sth = $self->prepare($q);
$sth->execute($cmp_seq_region_id, $asm_cs_id);
$sth->bind_param(1,$cmp_seq_region_id,SQL_INTEGER);
$sth->bind_param(2,$asm_cs_id,SQL_INTEGER);
$sth->execute();
if($sth->rows() == 0) {
#this component is not used in the assembled part i.e. gap
......@@ -698,7 +707,11 @@ sub register_chained {
#need to perform the query for each unregistered range
foreach my $range (@$ranges) {
my ($start, $end) = @$range;
$sth->execute($seq_region_id, $start, $end, $mid_cs_id);
$sth->bind_param(1,$seq_region_id,SQL_INTEGER);
$sth->bind_param(2,$start,SQL_INTEGER);
$sth->bind_param(3,$end,SQL_INTEGER);
$sth->bind_param(4,$mid_cs_id,SQL_INTEGER);
$sth->execute();
#load the start <-> mid mapper with the results and record the mid cs
#ranges we just added to the mapper
......@@ -796,7 +809,11 @@ sub register_chained {
my $end_cs_id = $end_cs->dbID();
foreach my $mid_range (@mid_ranges) {
my ($mid_seq_region_id, $mid_seq_region,$start, $end) = @$mid_range;
$sth->execute($mid_seq_region_id, $start, $end, $end_cs_id);
$sth->bind_param(1,$mid_seq_region_id,SQL_INTEGER);
$sth->bind_param(2,$start,SQL_INTEGER);
$sth->bind_param(3,$end,SQL_INTEGER);
$sth->bind_param(4,$end_cs_id,SQL_INTEGER);
$sth->execute();
#print STDERR "bind vals=($mid_seq_region_id, $start, $end, $mid_cs_id)\n";
#load the end <-> mid mapper with the results and record the mid cs
......@@ -902,7 +919,9 @@ sub register_all {
my $sth = $self->prepare($q);
$sth->execute($cmp_cs_id, $asm_cs_id);
$sth->bind_param(1,$cmp_cs_id,SQL_INTEGER);
$sth->bind_param(2,$asm_cs_id,SQL_INTEGER);
$sth->execute();
# load the mapper with the assembly information
......@@ -1041,7 +1060,9 @@ sub register_all_chained {
my ($asm_cs,$cmp_cs) = @path;
$sth->{mysql_use_result} = 1;
$sth->execute( $asm_cs->dbID(), $cmp_cs->dbID());
$sth->bind_param(1,$asm_cs->dbID,SQL_INTEGER);
$sth->bind_param(2,$cmp_cs->dbID,SQL_INTEGER);
$sth->execute();
my ($mid_start, $mid_end, $mid_seq_region_id, $mid_seq_region, $mid_length,
......@@ -1123,7 +1144,9 @@ sub register_all_chained {
($asm_cs,$cmp_cs) = @path;
$sth->execute( $asm_cs->dbID(), $cmp_cs->dbID());
$sth->bind_param(1,$asm_cs->dbID,SQL_INTEGER);
$sth->bind_param(2,$cmp_cs->dbID,SQL_INTEGER);
$sth->execute();
my ($end_start, $end_end, $end_seq_region_id, $end_seq_region,
......
......@@ -111,7 +111,8 @@ sub fetch_all_by_MiscFeature {
"WHERE ma.misc_feature_id = ? " .
"AND at.attrib_type_id = ma.attrib_type_id");
$sth->execute($mfid);
$sth->bind_param(1,$mfid,SQL_INTEGER);
$sth->execute();
my $results = $self->_obj_from_sth($sth);
......@@ -154,7 +155,8 @@ sub fetch_all_by_Transcript {
"WHERE ta.transcript_id = ? " .
"AND at.attrib_type_id = ta.attrib_type_id");
$sth->execute($trid);
$sth->bind_param(1,$trid,SQL_INTEGER);
$sth->execute();
my $results = $self->_obj_from_sth($sth);
......@@ -197,7 +199,8 @@ sub fetch_all_by_Translation {
"WHERE ta.translation_id = ? " .
"AND at.attrib_type_id = ta.attrib_type_id");
$sth->execute($tlid);
$sth->bind_param(1,$tlid,SQL_INTEGER);
$sth->execute();
my $results = $self->_obj_from_sth($sth);
......@@ -244,7 +247,8 @@ sub fetch_all_by_Slice {
"WHERE sra.seq_region_id = ? " .
"AND at.attrib_type_id = sra.attrib_type_id");
$sth->execute($seq_region_id);
$sth->bind_param(1,$seq_region_id,SQL_INTEGER);
$sth->execute();
my $results = $self->_obj_from_sth($sth);
......@@ -300,7 +304,10 @@ sub store_on_Slice {
"argument expected.");
}
my $atid = $self->_store_type( $at );
$sth->execute( $seq_region_id, $atid, $at->value() );
$sth->bind_param(1,$seq_region_id,SQL_INTEGER);
$sth->bind_param(2,$atid,SQL_INTEGER);
$sth->bind_param(3,$at->value,SQL_VARCHAR);
$sth->execute();
}
return;
......@@ -355,7 +362,10 @@ sub store_on_MiscFeature {
"argument expected.");
}
my $atid = $self->_store_type( $attrib );
$sth->execute( $feature_id, $atid, $attrib->value() );
$sth->bind_param(1,$feature_id,SQL_INTEGER);
$sth->bind_param(2,$atid,SQL_INTEGER);
$sth->bind_param(3,$attrib->value,SQL_VARCHAR);
$sth->execute();
}
return;
......@@ -409,7 +419,10 @@ sub store_on_Transcript {
"argument expected.");
}
my $atid = $self->_store_type( $attrib );
$sth->execute( $transcript_id, $atid, $attrib->value() );
$sth->bind_param(1,$transcript_id,SQL_INTEGER);
$sth->bind_param(2,$atid,SQL_INTEGER);
$sth->bind_param(3,$attrib->value,SQL_VARCHAR);
$sth->execute();
}
return;
......@@ -464,7 +477,10 @@ sub store_on_Translation {
"argument expected.");
}
my $atid = $self->_store_type( $attrib );
$sth->execute( $translation_id, $atid, $attrib->value() );
$sth->bind_param(1,$translation_id,SQL_INTEGER);
$sth->bind_param(2,$atid,SQL_INTEGER);
$sth->bind_param(3,$attrib->value,SQL_VARCHAR);
$sth->execute();
}
return;
......@@ -506,12 +522,15 @@ sub remove_from_Slice {
if (defined $attrib_type_id) {
my $sth = $self->prepare("DELETE FROM seq_region_attrib " .
"WHERE seq_region_id = ? AND attrib_type_id = ?");
$sth->execute($srid, $attrib_type_id);
$sth->bind_param(1,$srid,SQL_INTEGER);
$sth->bind_param(2,$attrib_type_id,SQL_INTEGER);
$sth->execute();
$sth->finish;
} else {
my $sth = $self->prepare("DELETE FROM seq_region_attrib " .
"WHERE seq_region_id = ?");
$sth->execute($srid);
$sth->bind_param(1,$srid,SQL_INTEGER);
$sth->execute();
$sth->finish();
}
......@@ -551,7 +570,8 @@ sub remove_from_MiscFeature {
my $sth = $db->dbc->prepare("DELETE FROM misc_attrib " .
"WHERE misc_feature_id = ?");
$sth->execute($mf->dbID());
$sth->bind_param(1,$mf->dbID,SQL_INTEGER);
$sth->execute();
$sth->finish();
......@@ -594,12 +614,15 @@ sub remove_from_Transcript {
if (defined $attrib_type_id) {
my $sth = $self->prepare("DELETE FROM transcript_attrib " .
"WHERE transcript_id = ? AND attrib_type_id = ?");
$sth->execute($transcript->dbID, $attrib_type_id);
$sth->bind_param(1,$transcript->dbID,SQL_INTEGER);
$sth->bind_param(1,$attrib_type_id,SQL_INTEGER);
$sth->execute();
$sth->finish;
} else {
my $sth = $self->prepare("DELETE FROM transcript_attrib " .
"WHERE transcript_id = ?");
$sth->execute($transcript->dbID);
$sth->bind_param(1,$transcript->dbID,SQL_INTEGER);
$sth->execute();
$sth->finish();
}
......@@ -643,12 +666,15 @@ sub remove_from_Translation {
if (defined $attrib_type_id) {
my $sth = $self->prepare("DELETE FROM translation_attrib " .
"WHERE translation_id = ? AND attrib_type_id = ?");
$sth->execute($translation->dbID, $attrib_type_id);
$sth->bind_param(1,$translation->dbID,SQL_INTEGER);
$sth->bind_param(2,$attrib_type_id,SQL_INTEGER);
$sth->execute();
$sth->finish;
} else {
my $sth = $self->prepare("DELETE FROM translation_attrib " .
"WHERE translation_id = ?");
$sth->execute($translation->dbID);
$sth->bind_param(1,$translation->dbID,SQL_INTEGER);
$sth->execute();
$sth->finish();
}
......@@ -671,7 +697,10 @@ sub _store_type {
"description = ?" );
my $rows_inserted =
$sth1->execute($attrib->code(), $attrib->name(), $attrib->description() );
$sth1->bind_param(1,$attrib->code,SQL_VARCHAR);
$sth1->bind_param(2,$attrib->name,SQL_VARCHAR);
$sth1->bind_param(3,$attrib->description,SQL_LONGVARCHAR);
$sth1->execute();
my $atid = $sth1->{'mysql_insertid'};
......@@ -680,7 +709,8 @@ sub _store_type {
my $sth2 = $self->prepare
("SELECT attrib_type_id FROM attrib_type " .
"WHERE code = ?");
$sth2->execute($attrib->code());
$sth2->bind_param(1,$attrib->code,SQL_VARCHAR);
$sth2->execute();
($atid) = $sth2->fetchrow_array();
$sth2->finish();
......
......@@ -88,11 +88,15 @@ Internal methods are usually preceded with a _
=cut
package Bio::EnsEMBL::DBSQL::BaseAdaptor;
use vars qw(@ISA);
require Exporter;
use vars qw(@ISA @EXPORT);
use strict;
use Bio::EnsEMBL::Utils::Exception qw(throw);
use DBI qw(:sql_types);
@ISA = qw(Exporter);
@EXPORT = (@{$DBI::EXPORT_TAGS{'sql_types'}});
=head2 new
......@@ -326,6 +330,7 @@ sub generic_fetch {
#append additional clauses which may have been defined
$sql .= "\n$final_clause";
my $sth = $db->dbc->prepare($sql);
$sth->execute;
my $res = $self->_objs_from_sth($sth, $mapper, $slice);
......
......@@ -32,13 +32,14 @@ Post questions/comments to the ensembl developer list: ensembl-dev@ebi.ac.uk
=cut
package Bio::EnsEMBL::DBSQL::BaseAlignFeatureAdaptor;
use vars qw(@ISA);
use vars qw(@ISA @EXPORT);
use strict;
use Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor;
@ISA = qw(Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor);
@EXPORT = (@{$DBI::EXPORT_TAGS{'sql_types'}});
=head2 fetch_all_by_Slice_and_pid
......
......@@ -30,7 +30,7 @@ Contact Ensembl development list for info: <ensembl-dev@ebi.ac.uk>
=cut
package Bio::EnsEMBL::DBSQL::BaseFeatureAdaptor;
use vars qw(@ISA);
use vars qw(@ISA @EXPORT);
use strict;
use Bio::EnsEMBL::DBSQL::BaseAdaptor;
......@@ -40,6 +40,8 @@ use Bio::EnsEMBL::Utils::Argument qw(rearrange);