+++ /dev/null
-# This module is part of debbugs, and is released
-# under the terms of the GPL version 2, or any later version. See the
-# file README and COPYING for more information.
-# Copyright 2017 by Don Armstrong <don@donarmstrong.com>.
-use utf8;
-package Debbugs::DB::ResultSet::BugStatusCache;
-
-=head1 NAME
-
-Debbugs::DB::ResultSet::BugStatusCache - Bug result set operations
-
-=head1 SYNOPSIS
-
-
-
-=head1 DESCRIPTION
-
-
-
-=cut
-
-use strict;
-use warnings;
-
-use base 'DBIx::Class::ResultSet';
-
-use Debbugs::DB::Util qw(select_one);
-
-use List::AllUtils qw(natatime);
-
-
-=over
-
-=item update_bug_status
-
- $s->resultset('BugStatusCache')->
- update_bug_status($bug->id,
- $suite->{id},
- undef,
- $presence,
- );
-
-Update the status information for a particular bug at a particular suite
-
-=cut
-
-sub update_bug_status {
- my ($self,@args) = @_;
- return $self->result_source->schema->storage->
- dbh_do(sub {
- my ($s,$dbh,$bug,$suite,$arch,$status,$modified,$asof) = @_;
- select_one($dbh,<<'SQL',$bug,$suite,$arch,$status,$status);
-INSERT INTO bug_status_cache AS bsc
-(bug,suite,arch,status,modified,asof)
-VALUES (?,?,?,?,NOW(),NOW())
-ON CONFLICT (bug,COALESCE(suite,0),COALESCE(arch,0)) DO
-UPDATE
- SET asof=NOW(),modified=CASE WHEN bsc.status=? THEN bsc.modified ELSE NOW() END
-RETURNING status;
-SQL
- },
- @args
- );
-}
-
-
-=back
-
-=cut
-
-
-1;
-
-__END__