web/modules/rhn/RHN/DB/Scheduler.pm | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
New commits:
commit b8181c4706e992a1a5a846369bcce8125fec5a70
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Jan 30 15:34:55 2012 +0100
One sequence_nextval fix.
Addressing
Execution of /var/www/html/network/software/packages/install_confirm.pxt failed at Mon
Jan 30 09:32:51 2012: RHN::Exception: DBD::Pg::st execute failed: ERROR: missing
FROM-clause entry for table "rhn_act_p_id_seq"
LINE 2: (SELECT rhn_act_p_id_seq.nextval, $1, P.name_id, P.evr_id FR...
^
RHN::DB /usr/share/perl5/vendor_perl/RHN/DB.pm 228 RHN::Exception::DB::throw
RHN::DB::Scheduler /usr/share/perl5/vendor_perl/RHN/DB/Scheduler.pm 718
RHN::DB::handle_error
Sniglets::ListView::SystemList
/usr/share/perl5/vendor_perl/Sniglets/ListView/SystemList.pm 1356
RHN::DB::Scheduler::schedule_package_install
Sniglets::ListView::SystemList
/usr/share/perl5/vendor_perl/Sniglets/ListView/SystemList.pm 918
Sniglets::ListView::SystemList::install_package
Sniglets::ListView::List /usr/share/perl5/vendor_perl/Sniglets/ListView/List.pm 374
Sniglets::ListView::SystemList::in_set_cb
Sniglets::Lists /usr/share/perl5/vendor_perl/Sniglets/Lists.pm 135
Sniglets::ListView::List::callback
PXT::ApacheHandler /usr/share/perl5/vendor_perl/PXT/ApacheHandler.pm 489
Sniglets::Lists::listview_cb
PXT::ApacheHandler /usr/share/perl5/vendor_perl/PXT/ApacheHandler.pm 103
PXT::ApacheHandler::pxt_parse_data
PXT::ApacheHandler /usr/share/perl5/vendor_perl/PXT/ApacheHandler.pm 103 (eval)
main -e 0 PXT::ApacheHandler::handler
main -e 0 (eval)
diff --git a/web/modules/rhn/RHN/DB/Scheduler.pm b/web/modules/rhn/RHN/DB/Scheduler.pm
index b0a1edb..e47187a 100644
--- a/web/modules/rhn/RHN/DB/Scheduler.pm
+++ b/web/modules/rhn/RHN/DB/Scheduler.pm
@@ -708,7 +708,7 @@ EOQ
elsif ($package_id) {
$query = <<EOQ;
INSERT INTO rhnActionPackage (id, action_id, name_id, evr_id)
-(SELECT rhn_act_p_id_seq.nextval, ?, P.name_id, P.evr_id FROM rhnPackage P WHERE P.id =
?)
+(SELECT sequence_nextval('rhn_act_p_id_seq'), ?, P.name_id, P.evr_id FROM
rhnPackage P WHERE P.id = ?)
EOQ
$sth = $dbh->prepare($query);
# warn "ins query: $query\n$id, $user_id, ".$packages->label;
commit 312d8f6f9d74b5c5333416421161b916453221ee
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Mon Jan 30 14:56:31 2012 +0100
Refactored the evr_t(null, ...) and null and max.
Addressing
Execution of /var/www/html/network/software/packages/install_confirm.pxt failed at Mon
Jan 30 08:31:32 2012: RHN::Exception: DBD::Pg::st execute failed: ERROR: function
evr_t(unknown, integer, integer) does not exist
LINE 23: AND SP.evr_id = PE.id), EVR_T(NULL, 0, ...
^
HINT: No function matches the given name and argument types. You might need to add
explicit type casts.
RHN::DB /usr/share/perl5/vendor_perl/RHN/DB.pm 228 RHN::Exception::DB::throw
RHN::DB::Scheduler /usr/share/perl5/vendor_perl/RHN/DB/Scheduler.pm 676
RHN::DB::handle_error
Sniglets::ListView::SystemList
/usr/share/perl5/vendor_perl/Sniglets/ListView/SystemList.pm 1356
RHN::DB::Scheduler::schedule_package_install
Sniglets::ListView::SystemList
/usr/share/perl5/vendor_perl/Sniglets/ListView/SystemList.pm 918
Sniglets::ListView::SystemList::install_package
Sniglets::ListView::List /usr/share/perl5/vendor_perl/Sniglets/ListView/List.pm 374
Sniglets::ListView::SystemList::in_set_cb
Sniglets::Lists /usr/share/perl5/vendor_perl/Sniglets/Lists.pm 135
Sniglets::ListView::List::callback
PXT::ApacheHandler /usr/share/perl5/vendor_perl/PXT/ApacheHandler.pm 489
Sniglets::Lists::listview_cb
PXT::ApacheHandler /usr/share/perl5/vendor_perl/PXT/ApacheHandler.pm 103
PXT::ApacheHandler::pxt_parse_data
PXT::ApacheHandler /usr/share/perl5/vendor_perl/PXT/ApacheHandler.pm 103 (eval)
main -e 0 PXT::ApacheHandler::handler
main -e 0 (eval)
diff --git a/web/modules/rhn/RHN/DB/Scheduler.pm b/web/modules/rhn/RHN/DB/Scheduler.pm
index b0e9066..b0a1edb 100644
--- a/web/modules/rhn/RHN/DB/Scheduler.pm
+++ b/web/modules/rhn/RHN/DB/Scheduler.pm
@@ -654,14 +654,15 @@ SELECT S.id
AND CP.package_id = P.id
AND PA.id = P.package_arch_id
AND AT.id = PA.arch_type_id
- AND ( (NVL((SELECT MAX(PE.evr)
- FROM rhnServerPackage SP, rhnPackageEvr PE
- WHERE SP.name_id = P.name_id
- AND SP.server_id = S.id
- AND SP.evr_id = PE.id), EVR_T(NULL, 0, 0))
- <
- (SELECT EVR FROM rhnPackageEVR PE WHERE PE.id = P.evr_id)
- )
+ AND (not exists(
+ select 1
+ from rhnServerPackage, rhnPackageEvr evr_installed, rhnPackageEvr evr_new
+ where P.name_id = rhnServerPackage.name_id
+ and S.id = rhnServerPackage.server_id
+ and rhnServerPackage.evr_id = evr_installed.id
+ and P.evr_id = evr_new.id
+ and evr_installed.evr >= evr_new.evr
+ )
OR AT.label = 'solaris-patch'
OR AT.label = 'solaris-patch-cluster'
)
Show replies by date