Difference between revisions of "API:EPrints/Database/mysql"
Line 8: | Line 8: | ||
'''EPrints::Database::mysql''' - custom database methods for MySQL DB | '''EPrints::Database::mysql''' - custom database methods for MySQL DB | ||
− | |||
− | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | </ | + | <!-- Pod2Wiki=head_synopsis --> |
+ | ==SYNOPSIS== | ||
+ | <source lang="perl">$c->{dbdriver} = 'mysql'; | ||
+ | # $c->{dbhost} = 'localhost'; | ||
+ | # $c->{dbport} = '3316'; | ||
+ | $c->{dbname} = 'myrepo'; | ||
+ | $c->{dbuser} = 'bob'; | ||
+ | $c->{dbpass} = 'asecret'; | ||
+ | # $c->{dbengine} = 'InnoDB';</source> | ||
+ | |||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
<!-- Pod2Wiki=head_description --> | <!-- Pod2Wiki=head_description --> | ||
==DESCRIPTION== | ==DESCRIPTION== | ||
MySQL database wrapper. | MySQL database wrapper. | ||
− | + | Foreign keys will be defined if you use a DB engine that supports them (e.g. InnoDB). | |
− | + | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | |||
<!-- Pod2Wiki=head_mysql_specific_annoyances --> | <!-- Pod2Wiki=head_mysql_specific_annoyances --> | ||
===MySQL-specific Annoyances=== | ===MySQL-specific Annoyances=== | ||
Line 32: | Line 42: | ||
MySQL is (by default) lax about truncation. | MySQL is (by default) lax about truncation. | ||
− | |||
− | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | |||
<!-- Pod2Wiki=head_methods --> | <!-- Pod2Wiki=head_methods --> | ||
==METHODS== | ==METHODS== | ||
− | < | + | <!-- Pod2Wiki=head_get_server_version --> |
− | + | ===get_server_version=== | |
− | |||
− | |||
− | < | + | <source lang="perl">$version = $db->get_server_version |
− | |||
− | |||
− | |||
− | + | </source> | |
Return the database server version. | Return the database server version. | ||
− | |||
− | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | + | <!-- Pod2Wiki=head_create_counters --> | |
− | <!-- Pod2Wiki= | ||
===create_counters=== | ===create_counters=== | ||
− | + | <source lang="perl">$n = $db->create_counters() | |
+ | |||
+ | </source> | ||
Create and initialise the counters. | Create and initialise the counters. | ||
− | |||
− | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | + | <!-- Pod2Wiki=head_has_table --> | |
− | <!-- Pod2Wiki= | ||
===has_table=== | ===has_table=== | ||
− | + | <source lang="perl">$boolean = $db->has_table( $tablename ) | |
+ | |||
+ | </source> | ||
Return true if the a table of the given name exists in the database. | Return true if the a table of the given name exists in the database. | ||
− | |||
− | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | + | <!-- Pod2Wiki=head_has_column --> | |
− | <!-- Pod2Wiki= | ||
===has_column=== | ===has_column=== | ||
− | + | <source lang="perl">$boolean = $db->has_column( $tablename, $columnname ) | |
+ | |||
+ | </source> | ||
Return true if the a table of the given name has a column named $columnname in the database. | Return true if the a table of the given name has a column named $columnname in the database. | ||
− | |||
− | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | + | <!-- Pod2Wiki=head_has_counter --> | |
− | <!-- Pod2Wiki= | ||
===has_counter=== | ===has_counter=== | ||
− | + | <source lang="perl">$success = $db->has_counter( $counter ) | |
+ | |||
+ | </source> | ||
Returns true if $counter exists. | Returns true if $counter exists. | ||
− | |||
− | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | + | <!-- Pod2Wiki=head_counter_next --> | |
− | <!-- Pod2Wiki= | ||
===counter_next=== | ===counter_next=== | ||
− | + | <source lang="perl">$n = $db->counter_next( $counter ) | |
+ | |||
+ | </source> | ||
Return the next unused value for the named counter. Returns undef if the counter doesn't exist. | Return the next unused value for the named counter. Returns undef if the counter doesn't exist. | ||
− | |||
− | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | + | <!-- Pod2Wiki=head_counter_minimum --> | |
− | <!-- Pod2Wiki= | ||
===counter_minimum=== | ===counter_minimum=== | ||
− | + | <source lang="perl">$db->counter_minimum( $counter, $value ) | |
+ | |||
+ | </source> | ||
Ensure that the counter is set no lower that $value. This is used when importing eprints which may not be in scrict sequence. | Ensure that the counter is set no lower that $value. This is used when importing eprints which may not be in scrict sequence. | ||
− | |||
− | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | + | <!-- Pod2Wiki=head_counter_reset --> | |
− | <!-- Pod2Wiki= | ||
===counter_reset=== | ===counter_reset=== | ||
− | + | <source lang="perl">$db->counter_reset( $counter ) | |
+ | |||
+ | </source> | ||
Return the counter. Use with cautiuon. | Return the counter. Use with cautiuon. | ||
− | |||
− | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | |||
<!-- Pod2Wiki=head_copyright --> | <!-- Pod2Wiki=head_copyright --> | ||
==COPYRIGHT== | ==COPYRIGHT== | ||
− | + | Copyright 2000-2011 University of Southampton. | |
− | + | ||
+ | This file is part of EPrints http://www.eprints.org/. | ||
+ | |||
+ | EPrints is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. | ||
+ | |||
+ | EPrints is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. | ||
+ | |||
+ | You should have received a copy of the GNU Lesser General Public License along with EPrints. If not, see http://www.gnu.org/licenses/. | ||
+ | |||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | + | <!-- Pod2Wiki=_postamble_ --> | |
− | <!-- Pod2Wiki=_postamble_ --><!-- Edit below this comment --> | + | <!-- Edit below this comment --> |
Revision as of 09:56, 22 January 2013
EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects
Latest Source Code (3.4, 3.3) | Revision Log | Before editing this page please read Pod2Wiki
Contents
NAME
EPrints::Database::mysql - custom database methods for MySQL DB
SYNOPSIS
$c->{dbdriver} = 'mysql';
# $c->{dbhost} = 'localhost';
# $c->{dbport} = '3316';
$c->{dbname} = 'myrepo';
$c->{dbuser} = 'bob';
$c->{dbpass} = 'asecret';
# $c->{dbengine} = 'InnoDB';
DESCRIPTION
MySQL database wrapper.
Foreign keys will be defined if you use a DB engine that supports them (e.g. InnoDB).
MySQL-specific Annoyances
MySQL does not support sequences.
MySQL is (by default) lax about truncation.
METHODS
get_server_version
$version = $db->get_server_version
Return the database server version.
create_counters
$n = $db->create_counters()
Create and initialise the counters.
has_table
$boolean = $db->has_table( $tablename )
Return true if the a table of the given name exists in the database.
has_column
$boolean = $db->has_column( $tablename, $columnname )
Return true if the a table of the given name has a column named $columnname in the database.
has_counter
$success = $db->has_counter( $counter )
Returns true if $counter exists.
counter_next
$n = $db->counter_next( $counter )
Return the next unused value for the named counter. Returns undef if the counter doesn't exist.
counter_minimum
$db->counter_minimum( $counter, $value )
Ensure that the counter is set no lower that $value. This is used when importing eprints which may not be in scrict sequence.
counter_reset
$db->counter_reset( $counter )
Return the counter. Use with cautiuon.
COPYRIGHT
Copyright 2000-2011 University of Southampton.
This file is part of EPrints http://www.eprints.org/.
EPrints is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
EPrints is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with EPrints. If not, see http://www.gnu.org/licenses/.