You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by mi...@apache.org on 2019/06/08 01:00:03 UTC
[incubator-superset] 04/08: Allow trailing spaces in simple filter
values (#7617)
This is an automated email from the ASF dual-hosted git repository.
michellet pushed a commit to branch release--0.33
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git
commit 2b6e8f57278d7aafb6d21bb774dbbb38b875d278
Author: Erik Ritter <er...@airbnb.com>
AuthorDate: Fri May 31 17:06:41 2019 -0700
Allow trailing spaces in simple filter values (#7617)
(cherry picked from commit 722043c67276e1bb72bf297eaa3cf37d3ce83ee0)
---
superset/connectors/base/models.py | 2 +-
tests/druid_func_tests.py | 9 ++++++++-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/superset/connectors/base/models.py b/superset/connectors/base/models.py
index eed92a6..ac4016d 100644
--- a/superset/connectors/base/models.py
+++ b/superset/connectors/base/models.py
@@ -220,7 +220,7 @@ class BaseDatasource(AuditMixinNullable, ImportMixin):
def handle_single_value(v):
# backward compatibility with previous <select> components
if isinstance(v, str):
- v = v.strip('\t\n \'"')
+ v = v.strip('\t\n\'"')
if target_column_is_numeric:
# For backwards compatibility and edge cases
# where a column data type might have changed
diff --git a/tests/druid_func_tests.py b/tests/druid_func_tests.py
index cf0c5e9..b6fe46c 100644
--- a/tests/druid_func_tests.py
+++ b/tests/druid_func_tests.py
@@ -234,12 +234,19 @@ class DruidFuncTestCase(unittest.TestCase):
self.assertIsNone(res)
def test_get_filters_extracts_values_in_quotes(self):
- filtr = {'col': 'A', 'op': 'in', 'val': [' "a" ']}
+ filtr = {'col': 'A', 'op': 'in', 'val': ['"a"']}
col = DruidColumn(column_name='A')
column_dict = {'A': col}
res = DruidDatasource.get_filters([filtr], [], column_dict)
self.assertEqual('a', res.filter['filter']['value'])
+ def test_get_filters_keeps_trailing_spaces(self):
+ filtr = {'col': 'A', 'op': 'in', 'val': ['a ']}
+ col = DruidColumn(column_name='A')
+ column_dict = {'A': col}
+ res = DruidDatasource.get_filters([filtr], [], column_dict)
+ self.assertEqual('a ', res.filter['filter']['value'])
+
def test_get_filters_converts_strings_to_num(self):
filtr = {'col': 'A', 'op': 'in', 'val': ['6']}
col = DruidColumn(column_name='A')