Hi, here is a list of small patches which fixes a lot of SQL statements for postgres.
0011-create-dir-if-it-does-not-exist.patch fixes a problem with not existing directory at rhnpush. I found another small issue where I currently do not have a patch for. But I want to let you know about it. If view the user list in the web ui with spacewalk and postgres DB and you create a normal user (no roles assigned), the role column in the overview list is empty. With Oracle DB there is a text "(normal user)" displayed. The reason for this is a problem with the schema common/views/rhnUsersInOrgOverview.sql has the line: select coalesce(utcv.names, '(normal user)') utcv.names is a column of view postgres/views/rhnUserTypeCommaView.sql which has array_to_string( array(select utb.type_name from rhnUserTypeBase utb where utb.user_id = C.id), ', ' ) array_to_string result in an empty string, but coalesce react only on NULL -- Regards Michael Calmer -------------------------------------------------------------------------- Michael Calmer SUSE LINUX Products GmbH, Maxfeldstr. 5, D-90409 Nuernberg T: +49 (0) 911 74053 0 F: +49 (0) 911 74053575 - e-mail: michael.cal...@suse.com -------------------------------------------------------------------------- SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer HRB 16746 (AG Nürnberg)
From 9d678c9dfbd94337a472eeaba298f45bd991af35 Mon Sep 17 00:00:00 2001 From: Michael Calmer <m...@suse.de> Date: Fri, 2 Dec 2011 14:49:51 +0100 Subject: [PATCH 01/11] convert decode to case --- web/modules/rhn/RHN/DB/ContactMethod.pm | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/web/modules/rhn/RHN/DB/ContactMethod.pm b/web/modules/rhn/RHN/DB/ContactMethod.pm index e568ef4..c5ff920 100644 --- a/web/modules/rhn/RHN/DB/ContactMethod.pm +++ b/web/modules/rhn/RHN/DB/ContactMethod.pm @@ -327,7 +327,7 @@ sub has_probe_dependencies { my ($sth, $query); $query = <<EOQ; -SELECT decode(count(*),0,0,1) +SELECT CASE count(*) WHEN 0 THEN 0 ELSE 1 END FROM rhn_probe P, rhn_contact_group_members CGM WHERE P.contact_group_id = CGM.contact_group_id AND CGM.member_contact_method_id = :method_id -- 1.7.3.4
From bad2d488df161db81c239156bb3d8631aed9ba7a Mon Sep 17 00:00:00 2001 From: Michael Calmer <m...@suse.de> Date: Fri, 2 Dec 2011 14:58:25 +0100 Subject: [PATCH 02/11] No need to convert numeric values to upper. Addressing DBD::Pg::st execute failed: ERROR: function upper(numeric) does not exist --- .../rhn/RHN/DB/DataSource/xml/Errata_queries.xml | 2 +- web/modules/rhn/RHN/DB/Errata.pm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/web/modules/rhn/RHN/DB/DataSource/xml/Errata_queries.xml b/web/modules/rhn/RHN/DB/DataSource/xml/Errata_queries.xml index f19c26b..ae9e3a6 100644 --- a/web/modules/rhn/RHN/DB/DataSource/xml/Errata_queries.xml +++ b/web/modules/rhn/RHN/DB/DataSource/xml/Errata_queries.xml @@ -7,7 +7,7 @@ SELECT EBL.bug_id AS ID, EBL.href AS HREF FROM rhnErrataBugList EBL WHERE EBL.errata_id = :eid -ORDER BY UPPER(EBL.bug_id) +ORDER BY EBL.bug_id </query> </mode> diff --git a/web/modules/rhn/RHN/DB/Errata.pm b/web/modules/rhn/RHN/DB/Errata.pm index ad15b6a..8fb70ca 100644 --- a/web/modules/rhn/RHN/DB/Errata.pm +++ b/web/modules/rhn/RHN/DB/Errata.pm @@ -135,7 +135,7 @@ sub bugs_fixed { SELECT EBL.bug_id, EBL.summary, EBL.href FROM $bl_table EBL WHERE EBL.errata_id = ? -ORDER BY UPPER(EBL.bug_id) +ORDER BY EBL.bug_id EOQ $sth = $dbh->prepare($query); -- 1.7.3.4
From 54f955f6374e6292971ffd80beec97ce2e6a7534 Mon Sep 17 00:00:00 2001 From: Michael Calmer <m...@suse.de> Date: Wed, 7 Dec 2011 12:47:21 +0100 Subject: [PATCH 07/11] use real table name rhn_check_probe --- monitoring/NPalert/AlertDB.pm | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/monitoring/NPalert/AlertDB.pm b/monitoring/NPalert/AlertDB.pm index 07f196a..9ec714d 100644 --- a/monitoring/NPalert/AlertDB.pm +++ b/monitoring/NPalert/AlertDB.pm @@ -292,7 +292,7 @@ sub init_statements { ); $self->dbprepare( 'same_host_probes_from_probeid', -"select probe_id from check_probe where host_id in (select host_id from check_probe where probe_id = ?)" +"select probe_id from rhn_check_probe where host_id in (select host_id from rhn_check_probe where probe_id = ?)" ); $self->dbprepare('dual', 'select * from dual'); } ## end sub init_statements -- 1.7.3.4
From 8c74ba7f8c06ee6349247341d9ef3435a0ec2899 Mon Sep 17 00:00:00 2001 From: Michael Calmer <m...@suse.de> Date: Fri, 2 Dec 2011 15:17:09 +0100 Subject: [PATCH 03/11] set selinux_ctx to undef if it is empty Addressing IntegrityError: new row for relation "rhnconfiginfo" violates check constraint "vn_rhnconfiginfo_selinux_ctx" --- web/modules/rhn/RHN/DB/ConfigRevision.pm | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/web/modules/rhn/RHN/DB/ConfigRevision.pm b/web/modules/rhn/RHN/DB/ConfigRevision.pm index a0958ce..7a23aac 100644 --- a/web/modules/rhn/RHN/DB/ConfigRevision.pm +++ b/web/modules/rhn/RHN/DB/ConfigRevision.pm @@ -163,10 +163,14 @@ sub commit { my $dbh = RHN::DB->connect; my $ciid; if ($ftype eq 'symlink') { - $ciid = $dbh->call_function('lookup_config_info', $self->username, $self->groupname, $self->filemode, $self->selinux_ctx, $self->symlink_target_filename_id); + $ciid = $dbh->call_function('lookup_config_info', $self->username, $self->groupname, $self->filemode, + ((defined $self->selinux_ctx && $self->selinux_ctx ne '')?$self->selinux_ctx:undef), + $self->symlink_target_filename_id); } else { - $ciid = $dbh->call_function('lookup_config_info', $self->username, $self->groupname, $self->filemode, $self->selinux_ctx, undef); + $ciid = $dbh->call_function('lookup_config_info', $self->username, $self->groupname, $self->filemode, + ((defined $self->selinux_ctx && $self->selinux_ctx ne '')?$self->selinux_ctx:undef), + undef); } my $ccid = $self->config_content_id; -- 1.7.3.4
From c0c3e115e678e0bc8919464179979456f421e4bc Mon Sep 17 00:00:00 2001 From: Michael Calmer <m...@suse.de> Date: Tue, 6 Dec 2011 16:37:23 +0100 Subject: [PATCH 04/11] replace (+) with ANSI left join (PG) --- web/modules/rhn/RHN/DB/Errata.pm | 20 ++++++++------------ 1 files changed, 8 insertions(+), 12 deletions(-) diff --git a/web/modules/rhn/RHN/DB/Errata.pm b/web/modules/rhn/RHN/DB/Errata.pm index 8fb70ca..4325667 100644 --- a/web/modules/rhn/RHN/DB/Errata.pm +++ b/web/modules/rhn/RHN/DB/Errata.pm @@ -364,18 +364,14 @@ SELECT DISTINCT EFP.package_id, Csum.checksum md5sum, EF.filename AS FILENAME, C.name AS CHANNEL_NAME - FROM rhnChannel C, - rhnErrataFilePackage EFP, - rhnErrataFileChannel EFC, - rhnErrataFile EF, - rhnChecksum Csum - WHERE EF.errata_id = :errata_id - AND EF.id = EFC.errata_file_id (+) - AND EF.id = EFP.errata_file_id (+) - AND EFC.channel_id IN (SELECT AC.channel_id FROM rhnAvailableChannels AC WHERE AC.org_id = :org_id) - AND EFC.channel_id = C.id - AND EF.checksum_id = Csum.id -ORDER BY C.name, EF.filename DESC + FROM rhnChecksum Csum + JOIN rhnErrataFile EF ON EF.checksum_id = Csum.id + LEFT OUTER JOIN rhnErrataFileChannel EFC ON EF.id = EFC.errata_file_id + LEFT OUTER JOIN rhnErrataFilePackage EFP ON EF.id = EFP.errata_file_id + JOIN rhnChannel C ON C.id = EFC.channel_id + WHERE EF.errata_id = :errata_id + AND EFC.channel_id IN (SELECT AC.channel_id FROM rhnAvailableChannels AC WHERE AC.org_id = :org_id) + ORDER BY C.name, EF.filename DESC EOQ $sth = $dbh->prepare($query); -- 1.7.3.4
From 435e97c290a0479227fb69da4f0b181a03995119 Mon Sep 17 00:00:00 2001 From: Michael Calmer <m...@suse.de> Date: Tue, 6 Dec 2011 16:52:09 +0100 Subject: [PATCH 05/11] replace (+) with ANSI left join (PG) --- web/modules/rhn/RHN/DB/ConfigRevision.pm | 27 ++++++++++----------------- 1 files changed, 10 insertions(+), 17 deletions(-) diff --git a/web/modules/rhn/RHN/DB/ConfigRevision.pm b/web/modules/rhn/RHN/DB/ConfigRevision.pm index 7a23aac..dfeb0d7 100644 --- a/web/modules/rhn/RHN/DB/ConfigRevision.pm +++ b/web/modules/rhn/RHN/DB/ConfigRevision.pm @@ -55,25 +55,18 @@ SELECT coalesce(CCon.file_size, 0), (SELECT CFt.latest_config_revision_id FROM rhnConfigFile CFt WHERE CFT.id = CR.config_file_id) LATEST_ID, CCon.is_binary, - CFT.name as filetype, - CCon.delim_start, + CFT.name as filetype, + CCon.delim_start, CCon.delim_end - FROM rhnConfigInfo CI, - rhnConfigFileName CFN, - rhnConfigContent CCon, - rhnConfigChannel CC, - rhnConfigFile CF, - rhnConfigRevision CR, - rhnConfigFileType CFT, - rhnChecksum Csum + FROM rhnConfigRevision CR + join rhnConfigInfo CI ON CI.id = CR.config_info_id + join rhnConfigFile CF ON CF.id = CR.config_file_id + join rhnConfigFileName CFN ON CFN.id = CF.config_file_name_id + join rhnConfigChannel CC ON CC.id = CF.config_channel_id + join rhnConfigFileType CFT ON CFT.id = CR.config_file_type_id +left outer join rhnConfigContent CCon ON CR.config_content_id = CCon.id +left outer join rhnChecksum Csum ON CCon.checksum_id = Csum.id WHERE CR.id = :id - AND CI.id = CR.config_info_id - AND CF.id = CR.config_file_id - AND CFN.id = CF.config_file_name_id - AND CCon.id = CR.config_content_id (+) - AND CC.id = CF.config_channel_id - AND CFT.id = CR.config_file_type_id - AND CCon.checksum_id = Csum.id (+) EOS my $sth = $dbh->prepare($query); $sth->execute_h(id => $params{id}); -- 1.7.3.4
From 13b551e0886cda54a862d6019742d4a51f835a6a Mon Sep 17 00:00:00 2001 From: Michael Calmer <m...@suse.de> Date: Tue, 6 Dec 2011 18:31:41 +0100 Subject: [PATCH 06/11] replace (+) with ANSI left join (PG) --- web/modules/rhn/RHN/DB/Package.pm | 36 +++++++++++++----------------------- 1 files changed, 13 insertions(+), 23 deletions(-) diff --git a/web/modules/rhn/RHN/DB/Package.pm b/web/modules/rhn/RHN/DB/Package.pm index e8b1e30..a60366a 100644 --- a/web/modules/rhn/RHN/DB/Package.pm +++ b/web/modules/rhn/RHN/DB/Package.pm @@ -672,32 +672,22 @@ sub obsoleting_packages { my $dbh = RHN::DB->connect; my $sth = $dbh->prepare(<<EOS); -SELECT P2.id, PN.name || '-' || PE.evr.as_vre_simple() || '-' || PA.name, AC.channel_id, AC.channel_name, EP.errata_id, E.advisory - FROM rhnPackage P1, - rhnPackage P2, - rhnPackageArch PA, - rhnChannelPackage CP1, - rhnChannelPackage CP2, - rhnAvailableChannels AC, - rhnPackageName PN, - rhnPackageEVR PE, - rhnPackageEVR PE2, - rhnErrata E, - rhnErrataPackage EP +SELECT P2.id, PN.name || '-' || evr_t_as_vre_simple(PE.evr) || '-' || PA.name, AC.channel_id, AC.channel_name, EP.errata_id, E.advisory +FROM rhnPackage P1 +inner join rhnChannelPackage CP1 ON CP1.package_id = P1.id +inner join rhnChannelPackage CP2 ON CP1.channel_id = CP2.channel_id +inner join rhnPackage P2 ON P2.id = CP2.package_id +inner join rhnAvailableChannels AC ON AC.channel_id = CP2.channel_id +inner join rhnPackageEVR PE ON PE.id = P2.evr_id +inner join rhnPackageEVR PE2 ON PE2.id = P1.evr_id +inner join rhnPackageName PN ON P2.name_id = PN.id +inner join rhnPackageArch PA ON PA.id = P2.package_arch_id +left outer join rhnErrataPackage EP ON P2.id = EP.package_id +left outer join rhnErrata E ON E.id = EP.errata_id WHERE P1.id = ? - AND CP1.package_id = P1.id - AND P2.id = CP2.package_id - AND P1.name_id = P2.name_id - AND CP1.channel_id = CP2.channel_id - AND CP2.channel_id = AC.channel_id + AND P2.name_id = P1.name_id AND AC.org_id = ? - AND P2.id = EP.package_id(+) - AND PE.id = P2.evr_id - AND PE2.id = P1.evr_id - AND PN.id = P2.name_id - AND E.id(+) = EP.errata_id AND PE.evr >= PE2.evr - AND PA.id = P2.package_arch_id ORDER BY PE.evr DESC, AC.channel_name, E.issue_date EOS -- 1.7.3.4
From 2c7000a15a442b0a229066db07828c28c1ca96a1 Mon Sep 17 00:00:00 2001 From: Michael Calmer <m...@suse.de> Date: Wed, 7 Dec 2011 12:47:35 +0100 Subject: [PATCH 08/11] use real table name rhn_check_probe --- .../rhn/RHN/DB/DataSource/xml/probe_queries.xml | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/web/modules/rhn/RHN/DB/DataSource/xml/probe_queries.xml b/web/modules/rhn/RHN/DB/DataSource/xml/probe_queries.xml index e89d3ad..ff584d0 100644 --- a/web/modules/rhn/RHN/DB/DataSource/xml/probe_queries.xml +++ b/web/modules/rhn/RHN/DB/DataSource/xml/probe_queries.xml @@ -234,7 +234,7 @@ SELECT S.id system_id, TO_CHAR(PS.last_check, 'YYYY-MM-DD HH24:MI:SS') AS LAST_CHECK FROM rhnServer S, rhn_probe P, rhn_probe_state PS, rhnUserServerPerms USP WHERE P.recid = PS.probe_id - AND S.id = (SELECT host_id from check_probe where probe_id = P.recid) + AND S.id = (SELECT host_id from rhn_check_probe where probe_id = P.recid) AND customer_id = :org_id AND P.probe_type = 'check' AND PS.state = 'OK' @@ -255,7 +255,7 @@ SELECT S.id system_id, TO_CHAR(PS.last_check, 'YYYY-MM-DD HH24:MI:SS') AS LAST_CHECK FROM rhnServer S, rhn_probe P, rhn_probe_state PS, rhnUserServerPerms USP WHERE P.recid = PS.probe_id - AND S.id = (SELECT host_id from check_probe where probe_id = P.recid) + AND S.id = (SELECT host_id from rhn_check_probe where probe_id = P.recid) AND customer_id = :org_id AND P.probe_type = 'check' AND PS.state = 'WARNING' @@ -276,7 +276,7 @@ SELECT S.id system_id, TO_CHAR(PS.last_check, 'YYYY-MM-DD HH24:MI:SS') AS LAST_CHECK FROM rhnServer S, rhn_probe P, rhn_probe_state PS, rhnUserServerPerms USP WHERE P.recid = PS.probe_id - AND S.id = (SELECT host_id from check_probe where probe_id = P.recid) + AND S.id = (SELECT host_id from rhn_check_probe where probe_id = P.recid) AND customer_id = :org_id AND P.probe_type = 'check' AND PS.state = 'CRITICAL' @@ -297,7 +297,7 @@ SELECT S.id system_id, TO_CHAR(PS.last_check, 'YYYY-MM-DD HH24:MI:SS') AS LAST_CHECK FROM rhnServer S, rhn_probe P, rhn_probe_state PS, rhnUserServerPerms USP WHERE P.recid = PS.probe_id - AND S.id = (SELECT host_id from check_probe where probe_id = P.recid) + AND S.id = (SELECT host_id from rhn_check_probe where probe_id = P.recid) AND customer_id = :org_id AND P.probe_type = 'check' AND PS.state = 'UNKNOWN' @@ -318,7 +318,7 @@ SELECT S.id system_id, TO_CHAR(PS.last_check, 'YYYY-MM-DD HH24:MI:SS') AS LAST_CHECK FROM rhnServer S, rhn_probe P, rhn_probe_state PS, rhnUserServerPerms USP WHERE P.recid = PS.probe_id - AND S.id = (SELECT host_id from check_probe where probe_id = P.recid) + AND S.id = (SELECT host_id from rhn_check_probe where probe_id = P.recid) AND customer_id = :org_id AND P.probe_type = 'check' AND PS.state = 'PENDING' @@ -339,7 +339,7 @@ SELECT S.id system_id, TO_CHAR(PS.last_check, 'YYYY-MM-DD HH24:MI:SS') AS LAST_CHECK FROM rhnServer S, rhn_probe P, rhn_probe_state PS, rhnUserServerPerms USP WHERE P.recid = PS.probe_id - AND S.id = (SELECT host_id from check_probe where probe_id = P.recid) + AND S.id = (SELECT host_id from rhn_check_probe where probe_id = P.recid) AND customer_id = :org_id AND P.probe_type = 'check' AND USP.user_id = :user_id @@ -360,7 +360,7 @@ SELECT S.id system_id, TO_CHAR(PS.last_check, 'YYYY-MM-DD HH24:MI:SS') AS LAST_CHECK FROM rhnServer S, rhn_probe P, rhn_probe_state PS WHERE P.recid = PS.probe_id - AND S.id = (SELECT host_id from check_probe where probe_id = P.recid) + AND S.id = (SELECT host_id from rhn_check_probe where probe_id = P.recid) <!-- In group --> AND exists (SELECT 1 from rhnServerGroupMembership SGM WHERE SGM.server_id = s.ID -- 1.7.3.4
From 797a5b48687f67ba85e07371a2d106acb12ec872 Mon Sep 17 00:00:00 2001 From: Michael Calmer <m...@suse.de> Date: Wed, 7 Dec 2011 13:40:45 +0100 Subject: [PATCH 09/11] fix ORDER BY expression in DISTINCT select --- web/modules/rhn/RHN/DB/Errata.pm | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-) diff --git a/web/modules/rhn/RHN/DB/Errata.pm b/web/modules/rhn/RHN/DB/Errata.pm index 4325667..2136d66 100644 --- a/web/modules/rhn/RHN/DB/Errata.pm +++ b/web/modules/rhn/RHN/DB/Errata.pm @@ -225,13 +225,15 @@ sub affected_channels { # EOQ $query = <<EOQ; -SELECT DISTINCT C.id, C.name - FROM rhnAvailableChannels AC, rhnChannel C, rhnChannelErrata CE - WHERE CE.errata_id = ? - AND CE.channel_id = C.id - AND AC.org_id = ? - AND C.id = AC.channel_id - ORDER BY UPPER(C.name) +SELECT * from ( + SELECT DISTINCT C.id, C.name + FROM rhnAvailableChannels AC, rhnChannel C, rhnChannelErrata CE + WHERE CE.errata_id = ? + AND CE.channel_id = C.id + AND AC.org_id = ? + AND C.id = AC.channel_id +) X +ORDER BY UPPER(X.name) EOQ $sth = $dbh->prepare($query); -- 1.7.3.4
From 3c6e190fe5af1143f266812a2c176fd41680f8be Mon Sep 17 00:00:00 2001 From: Michael Calmer <m...@suse.de> Date: Wed, 7 Dec 2011 16:56:04 +0100 Subject: [PATCH 10/11] fix Package queries - PE2.evr.as_vre_simple() => evr_t_as_vre_simple(PE2.evr) - add missing keyword AS --- .../rhn/RHN/DB/DataSource/xml/Package_queries.xml | 28 ++++++++++---------- 1 files changed, 14 insertions(+), 14 deletions(-) diff --git a/web/modules/rhn/RHN/DB/DataSource/xml/Package_queries.xml b/web/modules/rhn/RHN/DB/DataSource/xml/Package_queries.xml index e25c819..1ecd73f 100644 --- a/web/modules/rhn/RHN/DB/DataSource/xml/Package_queries.xml +++ b/web/modules/rhn/RHN/DB/DataSource/xml/Package_queries.xml @@ -1633,9 +1633,9 @@ ORDER BY UPPER(NVRE) <mode name="channel_errata_comparison"> <query params="eid, cid"> SELECT P1.id, - PN.name NAME, - PE1.evr.as_vre_simple() || '-' || PA.label ERRATA_VERSION, - PE2.evr.as_vre_simple() || '-' || PA.label CHANNEL_VERSION + PN.name AS NAME, + evr_t_as_vre_simple(PE1.evr) || '-' || PA.label AS ERRATA_VERSION, + evr_t_as_vre_simple(PE2.evr) || '-' || PA.label AS CHANNEL_VERSION FROM rhnPackageName PN, rhnPackageEVR PE2, rhnPackage P2, @@ -1668,16 +1668,16 @@ SELECT P1.id, PE2.epoch, PE2.version, PE2.release) > 0 AND P1.name_id = PN.id AND P1.package_arch_id = PA.id -ORDER BY PN.name, PE2.evr.as_vre_simple() || '-' || PA.label +ORDER BY PN.name, evr_t_as_vre_simple(PE2.evr) || '-' || PA.label </query> </mode> <mode name="channel_erratatmp_comparison"> <query params="eid, cid"> SELECT P1.id, - PN.name NAME, - PE1.evr.as_vre_simple() || '-' || PA.label ERRATA_VERSION, - PE2.evr.as_vre_simple() || '-' || PA.label CHANNEL_VERSION + PN.name AS NAME, + evr_t_as_vre_simple(PE1.evr) || '-' || PA.label AS ERRATA_VERSION, + evr_t_as_vre_simple(PE2.evr) || '-' || PA.label AS CHANNEL_VERSION FROM rhnPackageName PN, rhnPackageEVR PE2, rhnPackage P2, @@ -1710,16 +1710,16 @@ SELECT P1.id, PE2.epoch, PE2.version, PE2.release) > 0 AND P1.name_id = PN.id AND P1.package_arch_id = PA.id -ORDER BY PN.name, PE2.evr.as_vre_simple() || '-' || PA.label +ORDER BY PN.name, evr_t_as_vre_simple(PE2.evr) || '-' || PA.label </query> </mode> <mode name="channel_errata_intersection"> <query params="eid, cid"> SELECT P1.id, - PN.name NAME, - PE1.evr.as_vre_simple() || '-' || PA.label ERRATA_VERSION, - PE2.evr.as_vre_simple() || '-' || PA.label CHANNEL_VERSION + PN.name AS NAME, + evr_t_as_vre_simple(PE1.evr) || '-' || PA.label AS ERRATA_VERSION, + evr_t_as_vre_simple(PE2.evr) || '-' || PA.label AS CHANNEL_VERSION FROM rhnPackageName PN, rhnPackageEVR PE2, rhnChannelNewestPackage CNP, @@ -1737,15 +1737,15 @@ SELECT P1.id, AND P1.evr_id = PE1.id AND P1.name_id = PN.id AND P1.package_arch_id = PA.id -ORDER BY PN.name, PE2.evr.as_vre_simple() || '-' || PA.label +ORDER BY PN.name, evr_t_as_vre_simple(PE2.evr) || '-' || PA.label </query> </mode> <mode name="channel_errata_full_intersection"> <query params="eid, cid"> SELECT P.id, - PN.name NAME, - evr_t_as_vre_simple(PE.evr) || '-' || PA.label VERSION + PN.name AS NAME, + evr_t_as_vre_simple(PE.evr) || '-' || PA.label AS VERSION FROM rhnPackageName PN, rhnPackageEVR PE, rhnPackageArch PA, -- 1.7.3.4
From f3cd283b5ad9ccf5d058001728f0182493f641d4 Mon Sep 17 00:00:00 2001 From: Michael Calmer <m...@suse.de> Date: Thu, 8 Dec 2011 11:26:16 +0100 Subject: [PATCH 11/11] create dir if it does not exist Addresses Traceback (most recent call last): File "./usr/lib64/python2.6/site-packages/spacewalk/server/apacheUploadServer.py", line 100, in _wrapper ret = function(req) File "./usr/share/rhn/upload_server/handlers/package_push/package_push.py", line 115, in handler self.packaging) File "./usr/lib64/python2.6/site-packages/spacewalk/server/rhnPackageUpload.py", line 45, in write_temp_file suffix=suffix) File "/usr/lib64/python2.6/tempfile.py", line 444, in NamedTemporaryFile (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags) File "/usr/lib64/python2.6/tempfile.py", line 228, in _mkstemp_inner fd = _os.open(file, flags, 0600) OSError: [Errno 2] No such file or directory: '/var/spacewalk/packages/1/some-package.dpGPF' --- backend/server/rhnPackageUpload.py | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/backend/server/rhnPackageUpload.py b/backend/server/rhnPackageUpload.py index 8f3dd43..9808552 100644 --- a/backend/server/rhnPackageUpload.py +++ b/backend/server/rhnPackageUpload.py @@ -40,6 +40,8 @@ def write_temp_file(req, buffer_size, dir, prefix, packaging=None): suffix = '' if packaging == 'deb': suffix = '.deb' + if not os.path.exists(dir): + os.makedirs(dir) t = tempfile.NamedTemporaryFile( dir=dir, prefix=prefix + '.', suffix=suffix) -- 1.7.3.4
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Spacewalk-devel mailing list Spacewalk-devel@redhat.com https://www.redhat.com/mailman/listinfo/spacewalk-devel