Author: astaric
Date: Mon Jun 17 12:36:29 2013
New Revision: 1493739

URL: http://svn.apache.org/r1493739
Log:
Support for lowercase tokens in sql translator.

Refs: #548

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

Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/dbcursor.py
URL: 
http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/dbcursor.py?rev=1493739&r1=1493738&r2=1493739&view=diff
==============================================================================
--- bloodhound/trunk/bloodhound_multiproduct/multiproduct/dbcursor.py (original)
+++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/dbcursor.py Mon Jun 
17 12:36:29 2013
@@ -778,10 +778,10 @@ class BloodhoundProductSQLTranslate(obje
                 self._sqlparse_underline_hack(sql_statement)
             t = sql_statement.token_first()
             if t.match(Tokens.DML, dml_handlers.keys()):
-                dml_handlers[t.value](sql_statement, t)
+                dml_handlers[t.normalized](sql_statement, t)
                 sql = formatted_sql(sql_statement)
             elif t.match(Tokens.DDL, ddl_handlers.keys()):
-                ddl_handlers[t.value](sql_statement, t)
+                ddl_handlers[t.normalized](sql_statement, t)
                 sql = formatted_sql(sql_statement)
             else:
                 pass

Modified: bloodhound/trunk/bloodhound_multiproduct/tests/db/cursor.py
URL: 
http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/db/cursor.py?rev=1493739&r1=1493738&r2=1493739&view=diff
==============================================================================
--- bloodhound/trunk/bloodhound_multiproduct/tests/db/cursor.py (original)
+++ bloodhound/trunk/bloodhound_multiproduct/tests/db/cursor.py Mon Jun 17 
12:36:29 2013
@@ -976,6 +976,19 @@ data = {
 """ALTER TABLE "PRODUCT_estimate" ADD COLUMN saveepoch int"""
         ),
     ],
+
+    #lowercase select (#548)
+    'lowercase_tokens': [
+        (
+"""select * from ticket""",
+"""select * from (SELECT * FROM ticket WHERE product='PRODUCT') AS ticket"""
+        ),
+        (
+"""create temporary table table_old as select * from table""",
+"""create temporary table "PRODUCT_table_old" as select * from (SELECT * FROM 
"PRODUCT_table") AS table""",
+        )
+    ]
+
 }
 
 class DbCursorTestCase(unittest.TestCase):
@@ -1029,6 +1042,9 @@ class DbCursorTestCase(unittest.TestCase
     def test_custom_alter_table(self):
         self._run_test('custom_alter_table')
 
+    def test_lowercase_tokens(self):
+        self._run_test('lowercase_tokens')
+
 if __name__ == '__main__':
     unittest.main()
 


Reply via email to