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()