You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "john-bodley (via GitHub)" <gi...@apache.org> on 2023/05/18 19:13:04 UTC
[GitHub] [superset] john-bodley opened a new pull request, #24121: fix: Address regression introduced in #22853
john-bodley opened a new pull request, #24121:
URL: https://github.com/apache/superset/pull/24121
<!---
Please write the PR title following the conventions at https://www.conventionalcommits.org/en/v1.0.0/
Example:
fix(dashboard): load charts correctly
-->
### SUMMARY
Per https://github.com/apache/superset/pull/22853#discussion_r1198093934, this PR addresses an issue introduced in https://github.com/apache/superset/pull/22853 where chart exploration from SQL Lab would instantiate `TableColumn` objects however there was no `SqlaTable` associated with said columns, which previously was a necessary requirement.
This PR augments the `TableColumn` class to define a `Database` which is external to the ORM.
### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
<!--- Skip this if not applicable -->
### TESTING INSTRUCTIONS
CI. Note there is very little unit/integration tests for this work. If people are accepting of this approach, I'll strive to add tests before merging, but I first thought there was merit to presenting this approach as a solution.
### ADDITIONAL INFORMATION
<!--- Check any relevant boxes with "x" -->
<!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
- [ ] Has associated issue:
- [ ] Required feature flags:
- [ ] Changes UI
- [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351))
- [ ] Migration is atomic, supports rollback & is backwards-compatible
- [ ] Confirm DB migration upgrade and downgrade tested
- [ ] Runtime estimates and downtime expectations provided
- [ ] Introduces new feature or API
- [ ] Removes existing feature or API
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] john-bodley commented on a diff in pull request #24121: fix: Address regression introduced in #22853
Posted by "john-bodley (via GitHub)" <gi...@apache.org>.
john-bodley commented on code in PR #24121:
URL: https://github.com/apache/superset/pull/24121#discussion_r1198484426
##########
superset/connectors/sqla/models.py:
##########
@@ -229,6 +230,30 @@ class TableColumn(Model, BaseColumn, CertificationMixin):
update_from_object_fields = [s for s in export_fields if s not in ("table_id",)]
export_parent = "table"
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
Review Comment:
See https://docs.sqlalchemy.org/en/13/orm/constructors.html. Note I'm not overly sure if `super` is necessary—it's not included in the example, but I gather it doesn't hurt.
##########
superset/connectors/sqla/models.py:
##########
@@ -229,6 +230,30 @@ class TableColumn(Model, BaseColumn, CertificationMixin):
update_from_object_fields = [s for s in export_fields if s not in ("table_id",)]
export_parent = "table"
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
+ """
+ Construct a TableColumn object.
+
+ Historically a TableColumn object (from an ORM perspective) was tighly bound to
+ a SqlaTable object, however with the introduction of the Query datasource this
+ is no longer true, i.e., the SqlaTable relationship is optional.
+
+ Now the TableColumn is either directly associated with the Database object (
+ which is unkwnonw to the ORM) or indirectly via the SqlaTable object (courtesy
+ of the ORM) depending on the context.
+ """
+
+ self._database = kwargs.pop("database", None)
Review Comment:
Given that the `database` variable isn't part of the ORM I believe I'm correct in saying that it can only be defined via a keyword argument.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] hughhhh commented on a diff in pull request #24121: fix: Address regression introduced in #22853
Posted by "hughhhh (via GitHub)" <gi...@apache.org>.
hughhhh commented on code in PR #24121:
URL: https://github.com/apache/superset/pull/24121#discussion_r1210572090
##########
superset/connectors/sqla/models.py:
##########
@@ -229,6 +230,30 @@ class TableColumn(Model, BaseColumn, CertificationMixin):
update_from_object_fields = [s for s in export_fields if s not in ("table_id",)]
export_parent = "table"
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
+ """
+ Construct a TableColumn object.
+
+ Historically a TableColumn object (from an ORM perspective) was tighly bound to
+ a SqlaTable object, however with the introduction of the Query datasource this
+ is no longer true, i.e., the SqlaTable relationship is optional.
+
+ Now the TableColumn is either directly associated with the Database object (
+ which is unkwnonw to the ORM) or indirectly via the SqlaTable object (courtesy
Review Comment:
`unknown`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] john-bodley commented on a diff in pull request #24121: fix: Address regression introduced in #22853
Posted by "john-bodley (via GitHub)" <gi...@apache.org>.
john-bodley commented on code in PR #24121:
URL: https://github.com/apache/superset/pull/24121#discussion_r1198308942
##########
superset/connectors/sqla/models.py:
##########
@@ -434,7 +461,7 @@ def get_sqla_col(
expression = template_processor.process_template(expression)
sqla_col: ColumnClause = literal_column(expression)
- return self.table.make_sqla_column_compatible(sqla_col, label)
+ return self.database.make_sqla_column_compatible(sqla_col, label)
Review Comment:
Line #470 references `self.table` but includes a check to that it's truthy.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] john-bodley commented on pull request #24121: fix: Address regression introduced in #22853
Posted by "john-bodley (via GitHub)" <gi...@apache.org>.
john-bodley commented on PR #24121:
URL: https://github.com/apache/superset/pull/24121#issuecomment-1569430441
@hughhhh I've addressed your comments.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] john-bodley commented on a diff in pull request #24121: fix: Address regression introduced in #22853
Posted by "john-bodley (via GitHub)" <gi...@apache.org>.
john-bodley commented on code in PR #24121:
URL: https://github.com/apache/superset/pull/24121#discussion_r1198308942
##########
superset/connectors/sqla/models.py:
##########
@@ -434,7 +461,7 @@ def get_sqla_col(
expression = template_processor.process_template(expression)
sqla_col: ColumnClause = literal_column(expression)
- return self.table.make_sqla_column_compatible(sqla_col, label)
+ return self.database.make_sqla_column_compatible(sqla_col, label)
Review Comment:
Line #470 references `self.table` but includes a check to that it's truthy.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] john-bodley commented on a diff in pull request #24121: fix: Address regression introduced in #22853
Posted by "john-bodley (via GitHub)" <gi...@apache.org>.
john-bodley commented on code in PR #24121:
URL: https://github.com/apache/superset/pull/24121#discussion_r1210929718
##########
superset/connectors/sqla/models.py:
##########
@@ -229,6 +230,30 @@ class TableColumn(Model, BaseColumn, CertificationMixin):
update_from_object_fields = [s for s in export_fields if s not in ("table_id",)]
export_parent = "table"
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
+ """
+ Construct a TableColumn object.
+
+ Historically a TableColumn object (from an ORM perspective) was tighly bound to
+ a SqlaTable object, however with the introduction of the Query datasource this
+ is no longer true, i.e., the SqlaTable relationship is optional.
+
+ Now the TableColumn is either directly associated with the Database object (
+ which is unkwnonw to the ORM) or indirectly via the SqlaTable object (courtesy
+ of the ORM) depending on the context.
+ """
+
+ self._database = kwargs.pop("database", None)
Review Comment:
@hughhhh it's used in this PR [here](https://github.com/apache/superset/pull/24121/files#diff-94d3bd02afcbd1983033ed9c33e9efb466cb9a64e3b1f3954e6e0d627f70d0efR196).
I've added a type annotation for clarity.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] john-bodley commented on a diff in pull request #24121: fix: Address regression introduced in #22853
Posted by "john-bodley (via GitHub)" <gi...@apache.org>.
john-bodley commented on code in PR #24121:
URL: https://github.com/apache/superset/pull/24121#discussion_r1210936484
##########
superset/connectors/sqla/models.py:
##########
@@ -262,51 +287,33 @@ def is_temporal(self) -> bool:
return self.is_dttm
return self.type_generic == GenericDataType.TEMPORAL
+ @property
+ def database(self) -> Database:
+ return self.table.database if self.table else self._database
Review Comment:
By design either `self.table` or `self._database` (but not both) will be defined and thus the `database` property will always be non-null.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] codecov[bot] commented on pull request #24121: fix: Address regression introduced in #22853
Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #24121:
URL: https://github.com/apache/superset/pull/24121#issuecomment-1553720999
## [Codecov](https://app.codecov.io/gh/apache/superset/pull/24121?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
> Merging [#24121](https://app.codecov.io/gh/apache/superset/pull/24121?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) (87401bf) into [master](https://app.codecov.io/gh/apache/superset/commit/2222073778b0cee193f34c2500f2c489bb2a4bbe?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) (2222073) will **decrease** coverage by `1.70%`.
> The diff coverage is `95.83%`.
> :exclamation: Current head 87401bf differs from pull request most recent head 4e6930c. Consider uploading reports for the commit 4e6930c to get more accurate results
```diff
@@ Coverage Diff @@
## master #24121 +/- ##
==========================================
- Coverage 68.30% 66.61% -1.70%
==========================================
Files 1952 1952
Lines 75432 75437 +5
Branches 8191 8191
==========================================
- Hits 51521 50249 -1272
- Misses 21807 23084 +1277
Partials 2104 2104
```
| Flag | Coverage Δ | |
|---|---|---|
| hive | `53.20% <83.33%> (+0.03%)` | :arrow_up: |
| mysql | `78.97% <95.83%> (+0.03%)` | :arrow_up: |
| postgres | `79.04% <95.83%> (+0.03%)` | :arrow_up: |
| presto | `?` | |
| python | `79.31% <95.83%> (-3.50%)` | :arrow_down: |
| sqlite | `?` | |
| unit | `?` | |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment) to find out more.
| [Impacted Files](https://app.codecov.io/gh/apache/superset/pull/24121?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
|---|---|---|
| [...et-frontend/src/components/TableSelector/index.tsx](https://app.codecov.io/gh/apache/superset/pull/24121?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvVGFibGVTZWxlY3Rvci9pbmRleC50c3g=) | `81.08% <ø> (ø)` | |
| [superset/models/sql\_lab.py](https://app.codecov.io/gh/apache/superset/pull/24121?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VwZXJzZXQvbW9kZWxzL3NxbF9sYWIucHk=) | `77.32% <0.00%> (-1.08%)` | :arrow_down: |
| [superset/connectors/sqla/models.py](https://app.codecov.io/gh/apache/superset/pull/24121?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VwZXJzZXQvY29ubmVjdG9ycy9zcWxhL21vZGVscy5weQ==) | `88.95% <100.00%> (-0.83%)` | :arrow_down: |
| [superset/models/core.py](https://app.codecov.io/gh/apache/superset/pull/24121?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VwZXJzZXQvbW9kZWxzL2NvcmUucHk=) | `89.91% <100.00%> (-0.07%)` | :arrow_down: |
... and [92 files with indirect coverage changes](https://app.codecov.io/gh/apache/superset/pull/24121/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
:mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] hughhhh commented on a diff in pull request #24121: fix: Address regression introduced in #22853
Posted by "hughhhh (via GitHub)" <gi...@apache.org>.
hughhhh commented on code in PR #24121:
URL: https://github.com/apache/superset/pull/24121#discussion_r1210576621
##########
superset/connectors/sqla/models.py:
##########
@@ -229,6 +230,30 @@ class TableColumn(Model, BaseColumn, CertificationMixin):
update_from_object_fields = [s for s in export_fields if s not in ("table_id",)]
export_parent = "table"
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
+ """
+ Construct a TableColumn object.
+
+ Historically a TableColumn object (from an ORM perspective) was tighly bound to
+ a SqlaTable object, however with the introduction of the Query datasource this
+ is no longer true, i.e., the SqlaTable relationship is optional.
+
+ Now the TableColumn is either directly associated with the Database object (
+ which is unkwnonw to the ORM) or indirectly via the SqlaTable object (courtesy
+ of the ORM) depending on the context.
+ """
+
+ self._database = kwargs.pop("database", None)
Review Comment:
@john-bodley is there a follow up PR where'd you be using the `database` arg? also can you annotate this somehow to let people know this is going to be an ORM object vs some might assume it's an id
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] john-bodley commented on a diff in pull request #24121: fix: Address regression introduced in #22853
Posted by "john-bodley (via GitHub)" <gi...@apache.org>.
john-bodley commented on code in PR #24121:
URL: https://github.com/apache/superset/pull/24121#discussion_r1198349699
##########
superset/connectors/sqla/models.py:
##########
@@ -1023,23 +1052,6 @@ def adhoc_column_to_sqla( # pylint: disable=too-many-locals
)
return self.make_sqla_column_compatible(sqla_column, label)
- def make_sqla_column_compatible(
Review Comment:
The `SqlaTable.make_sqla_column_compatible` method was moved to `Database.make_sqla_column_compatible` given that now the `TableColumn.table` variable can be `None`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] john-bodley commented on a diff in pull request #24121: fix: Address regression introduced in #22853
Posted by "john-bodley (via GitHub)" <gi...@apache.org>.
john-bodley commented on code in PR #24121:
URL: https://github.com/apache/superset/pull/24121#discussion_r1198348114
##########
superset/connectors/sqla/models.py:
##########
@@ -434,7 +463,7 @@ def get_sqla_col(
expression = template_processor.process_template(expression)
sqla_col: ColumnClause = literal_column(expression)
- return self.table.make_sqla_column_compatible(sqla_col, label)
+ return self.table.database.make_sqla_column_compatible(sqla_col, label)
Review Comment:
The `SqlMetric` class is still tightly bound to the `SqlaTable`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] john-bodley merged pull request #24121: fix: Address regression introduced in #22853
Posted by "john-bodley (via GitHub)" <gi...@apache.org>.
john-bodley merged PR #24121:
URL: https://github.com/apache/superset/pull/24121
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] john-bodley commented on a diff in pull request #24121: fix: Address regression introduced in #22853
Posted by "john-bodley (via GitHub)" <gi...@apache.org>.
john-bodley commented on code in PR #24121:
URL: https://github.com/apache/superset/pull/24121#discussion_r1198367368
##########
superset/models/sql_lab.py:
##########
@@ -190,18 +190,17 @@ def columns(self) -> List["TableColumn"]:
TableColumn,
)
- columns = []
- for col in self.extra.get("columns", []):
- columns.append(
- TableColumn(
- column_name=col["name"],
- type=col["type"],
- is_dttm=col["is_dttm"],
- groupby=True,
- filterable=True,
- )
+ return [
+ TableColumn(
+ column_name=col["name"],
+ database=self.database,
Review Comment:
This is a rewrite of the previous logic using a list comprehension. The only addition is the `database` argument which is required given a SQL Lab `Query` object has no associated `SqlaTable` which is previously were/how the database was obtained.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] john-bodley commented on a diff in pull request #24121: fix: Address regression introduced in #22853
Posted by "john-bodley (via GitHub)" <gi...@apache.org>.
john-bodley commented on code in PR #24121:
URL: https://github.com/apache/superset/pull/24121#discussion_r1198386430
##########
superset/connectors/sqla/models.py:
##########
@@ -262,47 +287,23 @@ def is_temporal(self) -> bool:
return self.is_dttm
return self.type_generic == GenericDataType.TEMPORAL
+ @property
+ def database(self) -> Database:
+ return self.table.database if self.table else self._database
+
@property
def db_engine_spec(self) -> Type[BaseEngineSpec]:
- return self.table.db_engine_spec
+ return self.database.db_engine_spec
@property
def db_extra(self) -> Dict[str, Any]:
- return self.table.database.get_extra()
+ return self.database.get_extra()
@property
def type_generic(self) -> Optional[utils.GenericDataType]:
if self.is_dttm:
return GenericDataType.TEMPORAL
- bool_types = ("BOOL",)
Review Comment:
A nice byproduct of this change is this previous logic can be removed given that the `db_engine_spec` is accessible if associated with a `Query` or `SqlaTable`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org