Bug 1389014 - NICS table uses SQL reserved keyword in column name PRIMARY
Summary: NICS table uses SQL reserved keyword in column name PRIMARY
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Provisioning
Version: 6.2.3
Hardware: All
OS: All
medium
medium vote
Target Milestone: Unspecified
Assignee: satellite6-bugs
QA Contact: Katello QA List
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-10-26 16:34 UTC by Mike McCune
Modified: 2018-08-02 20:59 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-08-02 20:59:36 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Mike McCune 2016-10-26 16:34:49 UTC
In Postgres 8 and 9 the keyword PRIMARY is reserved in SQL.

This can block query access based on this column and is generally bad form to use a reserved word for a column name:

foreman=# \d nics 
                                         Table "public.nics"
       Column       |            Type             |                     Modifiers                     
--------------------+-----------------------------+----
 id                 | integer                     | not null default
 mac                | character varying(255)      |
 ip                 | character varying(255)      | 
...
 primary            | boolean                     | default false

as we see in the docs, PRIMARY is reserved:

https://www.postgresql.org/docs/8.1/static/sql-keywords-appendix.html

and attempts to select this column without using the table prefix causes an error:

foreman=# select primary from nics;
ERROR:  syntax error at or near "primary"
LINE 1: select primary from nics;
               ^

Comment 1 Marcelo Moreira de Mello 2016-10-26 16:46:51 UTC
Just for reference, this is the link for reserved key-words for PostgreSQL 9.2 
https://www.postgresql.org/docs/9.2/static/sql-keywords-appendix.html


To select the field, use <TABLE>.<COLUMN>

foreman=# SELECT COUNT(id) FROM  nics WHERE nics.primary IS FALSE;
 count 
-------
  2440
(1 row)

Comment 6 Bryan Kearney 2018-08-02 20:59:36 UTC
Thank you for your interest in Satellite 6. We have evaluated this request, and we do not expect this to be implemented in the product in the forseeable future. We are therefore closing this out as WONTFIX. If you have any concerns about this, please feel free to contact Rich Jerrido or Bryan Kearney. Thank you.


Note You need to log in before you can comment on or make changes to this bug.