You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by GitBox <gi...@apache.org> on 2020/09/22 06:08:25 UTC

[GitHub] [incubator-superset] villebro commented on a change in pull request #10977: Minor refactor, remove unreachable codes

villebro commented on a change in pull request #10977:
URL: https://github.com/apache/incubator-superset/pull/10977#discussion_r492491935



##########
File path: superset/charts/api.py
##########
@@ -469,20 +471,21 @@ def data(self) -> Response:
             return self.response_400(
                 message=_("Request is incorrect: %(error)s", error=error.messages)
             )
+
+        # ACL control
         try:
             query_context.raise_for_access()
         except SupersetSecurityException:
             return self.response_401()
+
+        # get all query payload
         payload = query_context.get_payload()
         for query in payload:
             if query.get("error"):
                 return self.response_400(message=f"Error: {query['error']}")
-        result_format = query_context.result_format
-
-        response = self.response_400(
-            message=f"Unsupported result_format: {result_format}"
-        )
 
+        result_format = query_context.result_format
+        response = None

Review comment:
       @zhaoyongjie I've placed that backstop there to ensure so that if someone adds a new result type to the marshmallow schema but forgets to add it to the endpoint, they don't get a `None` result. Having said that, you're absolutely right that this method is extremely loaded and should not be this complex, with this type of logic preferably elsewhere (marshmallow schema, `QueryContext`/`QueryObject`). If we can make sure that there is no way of ending up at the end of this method with a `result_type` that is unsupported I'm ok with removing it. However, that probably requires moving said logic to `QueryContext`.




----------------------------------------------------------------
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.

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