diff --git a/modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm index f6fc6a180af9820f2e2e9024cfcfd74be0967db4..c6bd0e25211a1583637e1c12ac7c7d146f157572 100644 --- a/modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm @@ -1542,24 +1542,27 @@ sub fetch_all_by_source { sub fetch_all_synonyms { + my ( $self, $dbID ) = @_; - my ($self, $dbID) = @_; + my @synonyms = (); - my @synonyms; + my $sth = + $self->prepare( "SELECT synonym " + . "FROM external_synonym " + . "WHERE xref_id = ?" ); - my $sth = $self->prepare("SELECT synonym FROM external_synonym WHERE xref_id = ?"); + $sth->bind_param( 1, $dbID, SQL_INTEGER ); - $sth->bind_param(1, $dbID, SQL_INTEGER); $sth->execute(); - while ( my $arrayref = $sth->fetchrow_arrayref()){ - my ($synonym) = @$arrayref; - push (@synonyms, $synonym); - } - @synonyms = () if (!@synonyms); + my $synonym; + $sth->bind_col(1, \$synonym); - return \@synonyms; + while ( $sth->fetch() ) { + push( @synonyms, $synonym ); + } + return \@synonyms; }