diff --git a/superset-frontend/src/components/Datasource/DatasourceEditor.jsx b/superset-frontend/src/components/Datasource/DatasourceEditor.jsx index b695a634aa..326b8e606f 100644 --- a/superset-frontend/src/components/Datasource/DatasourceEditor.jsx +++ b/superset-frontend/src/components/Datasource/DatasourceEditor.jsx @@ -762,9 +762,7 @@ class DatasourceEditor extends React.PureComponent { database_name: datasource.database.database_name || datasource.database.name, schema_name: datasource.schema, - table_name: datasource.table_name - ? encodeURIComponent(datasource.table_name) - : datasource.table_name, + table_name: datasource.table_name, normalize_columns: datasource.normalize_columns, always_filter_main_dttm: datasource.always_filter_main_dttm, }; @@ -774,7 +772,7 @@ class DatasourceEditor extends React.PureComponent { params[key] = null; } }); - const endpoint = `/datasource/external_metadata_by_name/?q=${rison.encode( + const endpoint = `/datasource/external_metadata_by_name/?q=${rison.encode_uri( params, )}`; this.setState({ metadataLoading: true }); diff --git a/superset-frontend/src/components/Datasource/DatasourceEditor.test.jsx b/superset-frontend/src/components/Datasource/DatasourceEditor.test.jsx index ae35ebc139..9100eb6c86 100644 --- a/superset-frontend/src/components/Datasource/DatasourceEditor.test.jsx +++ b/superset-frontend/src/components/Datasource/DatasourceEditor.test.jsx @@ -75,7 +75,7 @@ describe('DatasourceEditor', () => { setTimeout(() => { expect(fetchMock.calls(DATASOURCE_ENDPOINT)).toHaveLength(1); expect(fetchMock.calls(DATASOURCE_ENDPOINT)[0][0]).toContain( - 'Vehicle%20Sales%20%2B%27', + 'Vehicle+Sales%20%2B', ); fetchMock.reset(); done();