LICENSE

Copyright [1999-2015] Wellcome Trust Sanger Institute and the EMBL-European Bioinformatics Institute Copyright [2016-2024] EMBL-European Bioinformatics Institute

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

CONTACT

Please email comments or questions to the public Ensembl
developers list at <http://lists.ensembl.org/mailman/listinfo/dev>.

Questions may also be sent to the Ensembl help desk at
<http://www.ensembl.org/Help/Contact>.

NAME

Bio::EnsEMBL::DBSQL::BaseMetaContainer - Encapsulates all generic access to database meta information

SYNOPSIS

my $meta_container = $db_adaptor->get_MetaContainer();

my @mapping_info =
  @{ $meta_container->list_value_by_key('assembly.mapping') };

DESCRIPTION

An object that encapsulates access to db meta data

METHODS

get_schema_version

Arg [1]    : none
Example    : $schema_ver = $meta_container->get_schema_version();
Description: Retrieves the schema version from the database meta table
Returntype : int
Exceptions : none
Caller     : ?
Status     : Medium risk

list_value_by_key

Arg [1]    : string $key
             the key to obtain values from the meta table with
Example    : my @values = @{ $meta_container->list_value_by_key($key) };
Description: gets a value for a key. Can be anything 
Returntype : listref of strings 
Exceptions : none
Caller     : ?
Status     : Stable

single_value_by_key

Arg [1]    : string $key
             the key to obtain values from the meta table with
Arg [2]    : boolean $warn
             If true will cause the code to warn the non-existence of a value
Example    : my $value = $mc->single_value_by_key($key);
Description: Gets a value for a key. Can be anything
Returntype : Scalar
Exceptions : Raised if more than 1 meta item is returned

store_key_value

Arg [1]    : string $key
             a key under which $value should be stored
Arg [2]    : string $value
             the value to store in the meta table
Example    : $meta_container->store_key_value($key, $value);
Description: stores a value in the meta container, accessable by a key
Returntype : none
Exceptions : Thrown if the key/value already exists.
Caller     : ?
Status     : Stable

update_key_value

Arg [1]    : string $key
             a key under which $value should be updated
Arg [2]    : string $value
             the value to update in the meta table
Example    : $meta_container->update_key_value($key, $value);
Description: update a value in the meta container, accessable by a key
Returntype : none
Exceptions : none
Caller     : ?
Status     : Stable

delete_key

Arg [1]    : string $key
             The key which should be removed from the database.
Example    : $meta_container->delete_key('sequence.compression');
Description: Removes all rows from the meta table which have a meta_key
             equal to $key.
Returntype : none
Exceptions : none
Caller     : dna_compress script, general
Status     : Stable

delete_key_value

Arg [1]    : string $key
             The key which should be removed from the database.
Arg [2]    : string $value
             The value to be removed.
Example    : $meta_container->delete_key('patch', 'patch_39_40_b.sql|xref_unique_constraint');
Description: Removes all rows from the meta table which have a meta_key
             equal to $key, AND a meta_value equal to $value.
Returntype : none
Exceptions : none
Caller     : general
Status     : Stable

key_value_exists

Arg [1]    : string $key
             the key to check
Arg [2]    : string $value
             the value to check
Example    : if ($meta_container->key_value_exists($key, $value)) ...
Description: Return true (1) if a particular key/value pair exists,
             false (0) otherwise.
Returntype : boolean
Exceptions : none
Caller     : ?
Status     : Stable