From 41953ab2dc154e7379386b8586a9c75406fbfb04 Mon Sep 17 00:00:00 2001 From: Leo Gordon <lg4@ebi.ac.uk> Date: Fri, 15 Jul 2011 13:21:07 +0000 Subject: [PATCH] more flexible approach: allows to add triggers later by simply by sourcing the triggers file --- modules/Bio/EnsEMBL/Hive/DBSQL/DBAdaptor.pm | 4 ++-- modules/Bio/EnsEMBL/Hive/PipeConfig/HiveGeneric_conf.pm | 2 -- sql/triggers.mysql | 3 +++ sql/triggers.sqlite | 2 ++ 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/Bio/EnsEMBL/Hive/DBSQL/DBAdaptor.pm b/modules/Bio/EnsEMBL/Hive/DBSQL/DBAdaptor.pm index 3990d61f3..6cb8f600b 100755 --- a/modules/Bio/EnsEMBL/Hive/DBSQL/DBAdaptor.pm +++ b/modules/Bio/EnsEMBL/Hive/DBSQL/DBAdaptor.pm @@ -44,8 +44,8 @@ sub hive_use_triggers { # getter only, not setter my $self = shift @_; unless( defined($self->{'_hive_use_triggers'}) ) { - my $arrRef = $self->get_MetaContainer->list_value_by_key( 'hive_use_triggers' ); - $self->{'_hive_use_triggers'} = @$arrRef ? $arrRef->[0] : 0; + my ($hive_use_triggers) = @{ $self->get_MetaContainer->list_value_by_key( 'hive_use_triggers' ) }; + $self->{'_hive_use_triggers'} = $hive_use_triggers || 0; } return $self->{'_hive_use_triggers'}; } diff --git a/modules/Bio/EnsEMBL/Hive/PipeConfig/HiveGeneric_conf.pm b/modules/Bio/EnsEMBL/Hive/PipeConfig/HiveGeneric_conf.pm index f57e212e2..e0c673d81 100644 --- a/modules/Bio/EnsEMBL/Hive/PipeConfig/HiveGeneric_conf.pm +++ b/modules/Bio/EnsEMBL/Hive/PipeConfig/HiveGeneric_conf.pm @@ -314,8 +314,6 @@ sub run { warn "Loading pipeline-wide parameters ...\n"; my $pipeline_wide_parameters = $self->pipeline_wide_parameters; - $pipeline_wide_parameters->{'hive_use_triggers'} = $self->{'_extra_options'}{'hive_use_triggers'} || 0; # pass it into the database - while( my($meta_key, $meta_value) = each %$pipeline_wide_parameters ) { if($analysis_topup) { $meta_container->delete_key($meta_key); diff --git a/sql/triggers.mysql b/sql/triggers.mysql index 6ebe730da..7e7e95775 100644 --- a/sql/triggers.mysql +++ b/sql/triggers.mysql @@ -26,3 +26,6 @@ FOR EACH ROW failed_job_count = failed_job_count + (CASE NEW.status WHEN 'FAILED' THEN 1 ELSE 0 END) WHERE analysis_id = NEW.analysis_id; + + # inform the runtime part of the system that triggers are in place: +INSERT INTO meta (meta_key, meta_value) VALUES ('hive_use_triggers', '1'); diff --git a/sql/triggers.sqlite b/sql/triggers.sqlite index ee3ce4e57..270fd196d 100644 --- a/sql/triggers.sqlite +++ b/sql/triggers.sqlite @@ -32,3 +32,5 @@ BEGIN WHERE analysis_id = NEW.analysis_id; END; + # inform the runtime part of the system that triggers are in place: +INSERT INTO meta (meta_key, meta_value) VALUES ('hive_use_triggers', '1'); -- GitLab