diff --git a/dtable_events/tests/sql/sql_test.py b/dtable_events/tests/sql/sql_test.py index 80df384f..afeca058 100644 --- a/dtable_events/tests/sql/sql_test.py +++ b/dtable_events/tests/sql/sql_test.py @@ -6,7 +6,8 @@ sys.path.append(sys.path.append(d(d(d(d(__file__)))))) from sql.column_reference import TEST_COLUMNS, TABLES, LINK_COLUMN from sql.test_reference import TEST_CONDITIONS, TEST_CONDITIONS_LINK -from dtable_events import filter2sql, linkRecords2sql +from dtable_events import filter2sql, linkRecords2sql, statistic2sql +from dtable_events.utils.constants import StatisticType from dtable_events.utils.sql_generator import pre_filter_to_filter_term class SqlTest(unittest.TestCase): @@ -49,8 +50,25 @@ def test_equal(self): record_ids = condition_l.get('row_ids') sql_link = linkRecords2sql(current_table, link_column, record_ids, tables) self.assertEqual(sql_link, expected_sql_link) - + def test_include_me_with_hyphenated_creator_column(self): + username = '87d485c2281a42adbddb137a1070f395@auth.local' + table = { + 'name': self.table_name, + 'columns': [{'key': '_creator', 'type': 'creator', 'name': 'Creator-Name'}], + } + statistic = { + 'summary_type': 'count', + 'filters': [{'column_key': '_creator', 'filter_predicate': 'include_me', 'filter_term': []}], + } + + sql, error = statistic2sql(table, StatisticType.BASIC_NUMBER_CARD, statistic, username=username) + + self.assertIsNone(error) + self.assertEqual( + sql, + "SELECT COUNT(*) FROM `Table1` WHERE (`Creator-Name` = '%s') LIMIT 0, 5000" % username, + ) def test_user_filter_normalization(self): diff --git a/dtable_events/utils/sql_generator.py b/dtable_events/utils/sql_generator.py index 862b84e1..f79ee8fa 100644 --- a/dtable_events/utils/sql_generator.py +++ b/dtable_events/utils/sql_generator.py @@ -1107,7 +1107,7 @@ def op_include_me(self): if not isinstance(select_collaborators, list): select_collaborators = [select_collaborators, ] creator = select_collaborators[0] if select_collaborators else '' - return "%s %s '%s'" % ( + return "`%s` %s '%s'" % ( self.column_name, '=', creator