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

Attachment: 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

Reply via email to