Author: jure
Date: Fri Mar 29 13:59:09 2013
New Revision: 1462480

URL: http://svn.apache.org/r1462480
Log:
#288, database translator now explicitly sets product column value for INSERT 
SELECTs ...


Modified:
    
bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/dbcursor.py
    
bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/db/cursor.py

Modified: 
bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/dbcursor.py
URL: 
http://svn.apache.org/viewvc/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/dbcursor.py?rev=1462480&r1=1462479&r2=1462480&view=diff
==============================================================================
--- 
bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/dbcursor.py
 (original)
+++ 
bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/multiproduct/dbcursor.py
 Fri Mar 29 13:59:09 2013
@@ -467,7 +467,7 @@ class BloodhoundProductSQLTranslate(obje
                 if not field_lists or not field_lists[-1]:
                     raise Exception("Invalid SELECT field list")
                 last_token = list(field_lists[-1][-1].flatten())[-1]
-                for keyword in [self._product_column, ' ', ',']:
+                for keyword in ["'", self._product_prefix, "'", ' ', ',']:
                     self._token_insert_after(last_token.parent, last_token, 
Types.Token(Tokens.Keyword, keyword))
             return
         table_name_callback = handle_insert_table if insert_table else None

Modified: 
bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/db/cursor.py
URL: 
http://svn.apache.org/viewvc/bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/db/cursor.py?rev=1462480&r1=1462479&r2=1462480&view=diff
==============================================================================
--- 
bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/db/cursor.py
 (original)
+++ 
bloodhound/branches/bep_0003_multiproduct/bloodhound_multiproduct/tests/db/cursor.py
 Fri Mar 29 13:59:09 2013
@@ -502,7 +502,7 @@ data = {
                            summary, description, keywords, product)
           SELECT id, 'defect', time, changetime, component, severity, 
priority, owner,
                  reporter, cc, version, milestone, status, resolution, summary,
-                 description, keywords, product FROM (SELECT * FROM 
PRODUCT_ticket_old) AS ticket_old
+                 description, keywords, 'PRODUCT' FROM (SELECT * FROM 
PRODUCT_ticket_old) AS ticket_old
           WHERE COALESCE(severity,'') <> 'enhancement'"""
         ),
         (
@@ -518,7 +518,7 @@ data = {
                                summary, description, keywords, product)
               SELECT id, 'enhancement', time, changetime, component, 'normal', 
priority,
                      owner, reporter, cc, version, milestone, status, 
resolution, summary,
-                     description, keywords, product FROM (SELECT * FROM 
PRODUCT_ticket_old) AS ticket_old
+                     description, keywords, 'PRODUCT' FROM (SELECT * FROM 
PRODUCT_ticket_old) AS ticket_old
               WHERE severity = 'enhancement'"""
         ),
         (
@@ -631,7 +631,7 @@ data = {
             SELECT ticket from ticket_custom WHERE name='totalhours'
           )""",
 """INSERT INTO ticket_custom (ticket, name, value, product)
-              SELECT id, 'totalhours', '0', product FROM (SELECT * FROM ticket 
WHERE product="PRODUCT") AS ticket WHERE id NOT IN (
+              SELECT id, 'totalhours', '0', 'PRODUCT' FROM (SELECT * FROM 
ticket WHERE product="PRODUCT") AS ticket WHERE id NOT IN (
                 SELECT ticket from (SELECT * FROM ticket_custom WHERE 
product="PRODUCT") AS ticket_custom WHERE name='totalhours'
               )"""
         ),
@@ -640,7 +640,7 @@ data = {
                     SELECT id, 'totalhours', '0' FROM ticket WHERE id NOT IN (
                     SELECT ticket from ticket_custom WHERE 
name='totalhours')""",
 """INSERT INTO ticket_custom (ticket, name, value, product)
-                        SELECT id, 'totalhours', '0', product FROM (SELECT * 
FROM ticket WHERE product="PRODUCT") AS ticket WHERE id NOT IN (
+                        SELECT id, 'totalhours', '0', 'PRODUCT' FROM (SELECT * 
FROM ticket WHERE product="PRODUCT") AS ticket WHERE id NOT IN (
                         SELECT ticket from (SELECT * FROM ticket_custom WHERE 
product="PRODUCT") AS ticket_custom WHERE name='totalhours')"""
         ),
         (
@@ -671,7 +671,7 @@ data = {
                                      '127.0.0.1', %s FROM wiki WHERE 
name=%s""",
 """INSERT INTO wiki(version, name, time, author, ipnr, text, product)
                               SELECT 1 + COALESCE(max(version), 0), %s, %s, 
'trac',
-                                     '127.0.0.1', %s, product FROM (SELECT * 
FROM wiki WHERE product="PRODUCT") AS wiki WHERE name=%s"""
+                                     '127.0.0.1', %s, 'PRODUCT' FROM (SELECT * 
FROM wiki WHERE product="PRODUCT") AS wiki WHERE name=%s"""
         ),
         (
 """INSERT INTO permission VALUES ('dev','WIKI_VIEW')""",


Reply via email to