Bug 868370

Summary: RHEL/CentOS 4 servers unable to resolve dependencies in Spacewalk PostgreSQL 9.1
Product: [Community] Spacewalk Reporter: JDavis4102
Component: ServerAssignee: Michael Mráka <mmraka>
Status: CLOSED CURRENTRELEASE QA Contact: Red Hat Satellite QA List <satellite-qa-list>
Severity: low Docs Contact:
Priority: unspecified    
Version: 1.6CC: jpazdziora
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Fixed In Version: spacewalk-backend-1.9.7-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-03-06 13:35:45 EST Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 917805    
Description Flags
Patch to resolve bug none

Description JDavis4102 2012-10-19 11:32:58 EDT
Created attachment 630115 [details]
Patch to resolve bug

Description of problem: RHEL/CentOS 4 servers are unable to resolve dependencies via up2date using PostgreSQL DB.

Version-Release number of selected component (if applicable): Spaceawalk 1.6 PostgreSQL 9.1

How reproducible: Install Spacewalk 1.6, PostgreSQL 9.1 and register a RHEL/CentOS 4 server into Spacewalk. Try updating a package that has dependencies.

Actual results: Unable to resolve dependencies and give an up2date error.

Expected results: Resolve dependencies.

Additional info: Patch added to resolve issue.
Comment 1 Jan Pazdziora 2012-10-20 13:20:47 EDT
What's the exact error that you get? I agree with the part

-    pn.name name,
+    pn.name as name,

but change

-    pn.name,
+    pn.name as name,

seems not necessary. In fact, the correct change for the pn.name name line seems to be

-    pn.name name,
+    pn.name,

No need to alias.
Comment 2 JDavis4102 2012-11-13 12:40:00 EST
Sorry for the delay. Thought I posted this but seems like I didn't. Below you will find the answers to the questions from our DBA.

The error from PostgreSQL 9.1 is:
ERROR:  syntax error at or near "name"
LINE 2:     pn.name name,

"name" was a function in PostgreSQL 9 and below, and just returns an error in 9 and above to prevent a regression introduced during 8. Name is not technically a reserved word in PostgreSQL, but should be avoided. That said, our patch addresses the bug by aliasing pn.name as name for sake of consistency in the code and to prevent any further PostgreSQL errors. More advisable would be to more explicitly address the "name" column, like "pn.name as package_name".
Comment 3 Michael Mráka 2012-11-14 02:47:19 EST
Thank you for confirmation.

Issue has been fixed in spacewalk master by
commit 247ecc769af31c94b2831ad125155a83a8fc42d5
    868370 - fixed dependency solver for RHEL4 clients
    The error from PostgreSQL 9.1 is:
    ERROR:  syntax error at or near "name"
    LINE 2:     pn.name name,
Comment 4 JDavis4102 2012-11-19 13:08:50 EST
Was this added to 1.8 before it was released or do I need to update this when I upgrade to 1.8?
Comment 5 Jan Pazdziora 2012-11-19 17:06:17 EST
This fix is not in Spacewalk 1.8.
Comment 6 Stephen Herr 2013-03-01 12:08:05 EST
Marking bug as ON_QA since tonight's build of Spacewalk nightly is a release candidate for Spacewalk 1.9.
Comment 7 Stephen Herr 2013-03-06 13:35:45 EST
Spacewalk 1.9 has been released.