From 0a50dc1ad59b52ae47b5749b984763e8e85d0cb7 Mon Sep 17 00:00:00 2001 From: Ere Maijala Date: Thu, 26 Apr 2018 13:08:25 +0000 Subject: [PATCH] Bug 20665: Reset MySQL connection time zone in the OAI-PMH Provider TEST PLAN --------- apply unit test patch prove t/db_dependent/OAI/Server.t -- should fail apply this patch prove t/db_dependent/OAI/Server.t -- should pass run koha qa test tools Signed-off-by: Mark Tompsett Signed-off-by: Tomas Cohen Arazi Signed-off-by: Jonathan Druart --- Koha/OAI/Server/Repository.pm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Koha/OAI/Server/Repository.pm b/Koha/OAI/Server/Repository.pm index d677787cf8..30ace36f5e 100644 --- a/Koha/OAI/Server/Repository.pm +++ b/Koha/OAI/Server/Repository.pm @@ -115,6 +115,10 @@ sub new { # OAI-PMH handles dates in UTC, so do that on the database level to avoid need for # any conversions + my $sth = C4::Context->dbh->prepare('SELECT @@session.time_zone'); + $sth->execute(); + my ( $orig_tz ) = $sth->fetchrow(); + $self->{ mysql_orig_tz } = $orig_tz; C4::Context->dbh->prepare("SET time_zone='+00:00'")->execute(); # Check for grammatical errors in the request @@ -152,6 +156,15 @@ sub new { } +sub DESTROY { + my ( $self ) = @_; + + # Reset time zone to the original value + C4::Context->dbh->prepare("SET time_zone='" . $self->{ mysql_orig_tz } . "'")->execute() + if $self->{ mysql_orig_tz }; +} + + sub get_biblio_marcxml { my ($self, $biblionumber, $format) = @_; my $with_items = 0; -- 2.39.5