Author: gjm
Date: Thu Apr  4 14:37:55 2013
New Revision: 1464573

URL: http://svn.apache.org/r1464573
Log:
fixing sql for postgres issues on installation (casting text to integer and 
single quoting on variables - #497

Modified:
    bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py
    bloodhound/trunk/bloodhound_multiproduct/multiproduct/dbcursor.py

Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py
URL: 
http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py?rev=1464573&r1=1464572&r2=1464573&view=diff
==============================================================================
--- bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py (original)
+++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/api.py Thu Apr  4 
14:37:55 2013
@@ -295,8 +295,10 @@ class MultiProductSystem(Component):
                 for table in TICKET_TABLES:
                     if table == 'attachment':
                         db("""UPDATE attachment
-                              SET product=(SELECT ticket.product FROM ticket 
WHERE ticket.id=attachment.id)
-                              WHERE type='ticket'""")
+                              SET product=(SELECT ticket.product FROM ticket
+                                           WHERE ticket.id=%s)
+                              WHERE type='ticket'
+                           """ %(db.cast('attachment.id', 'integer'),))
                     else:
                         db("""UPDATE %s
                               SET product=(SELECT ticket.product FROM ticket 
WHERE ticket.id=%s.ticket)""" %
@@ -332,7 +334,8 @@ class MultiProductSystem(Component):
                 self.log.info("Migrating wikis to global context")
                 db("""INSERT INTO %s (%s, product) SELECT %s, '' FROM %s""" %
                       (table, cols, cols, temp_table_name))
-                for wiki_name, wiki_version, wiki_product in db("SELECT name, 
version, product FROM '%s'" % table):
+                for wiki_name, wiki_version, wiki_product in db("""
+                        SELECT name, version, product FROM "%s" """ % table):
                     if wiki_name in self.system_wiki_list:
                         for product in all_products:
                             db("""INSERT INTO %s (%s, product)

Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/dbcursor.py
URL: 
http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/dbcursor.py?rev=1464573&r1=1464572&r2=1464573&view=diff
==============================================================================
--- bloodhound/trunk/bloodhound_multiproduct/multiproduct/dbcursor.py (original)
+++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/dbcursor.py Thu Apr  
4 14:37:55 2013
@@ -256,7 +256,7 @@ class BloodhoundProductSQLTranslate(obje
         return ' AS %s' % alias
 
     def _translated_table_view_sql(self, name, alias=None):
-        sql = '(SELECT * FROM %s WHERE %s="%s")' % (name, 
self._product_column, self._product_prefix)
+        sql = "(SELECT * FROM %s WHERE %s='%s')" % (name, 
self._product_column, self._product_prefix)
         if alias:
             sql += self._select_alias_sql(alias)
         return sql


Reply via email to