You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "eschutho (via GitHub)" <gi...@apache.org> on 2026/06/18 16:10:45 UTC

[PR] fix(query_object_factory): normalize deprecated query fields before constructing QueryObject [superset]

eschutho opened a new pull request, #41204:
URL: https://github.com/apache/superset/pull/41204

   ## What changed
   
   **Deprecation warning found in production Datadog logs:**
   ```
   The field `groupby` is deprecated, please use `columns` instead.
     file: query_object.py, line 219, func: _rename_deprecated_fields
     env: production, service: superset
   ```
   
   Charts with a stored `query_context` column (in `slices.query_context`) that was saved
   using the old `groupby` key emit this warning on **every render** via
   `Slice.get_query_context()`. That path parses the stored JSON and calls
   `QueryContextFactory.create()` directly, bypassing the Marshmallow
   `ChartDataQueryObjectSchema.rename_deprecated_fields` `@post_load` hook that the
   REST API path relies on. By the time `QueryObject._rename_deprecated_fields` sees
   `groupby` in `**kwargs`, there is no caller who can act on the warning — it is pure
   noise in production logs.
   
   ## What was changed
   
   `QueryObjectFactory.create()` now normalises `DEPRECATED_FIELDS` (the same set the
   schema `@post_load` uses) **before** any downstream processing. This ensures that:
   
   1. `groupby` (and `granularity_sqla`, `timeseries_limit`, `timeseries_limit_metric`)
      are renamed to their canonical forms before `_process_time_range` reads `columns`
      from `kwargs`.
   2. `QueryObject._rename_deprecated_fields` never sees the old keys for the factory
      path, so no warning is emitted.
   3. If both the deprecated key and the canonical key are present, the canonical key
      wins (`setdefault` semantics) — consistent with keeping explicitly-set values.
   
   ## No behavior change
   
   Charts that use stored `query_context` with `groupby` continue to work exactly as
   before. The only change is that the deprecation warning is no longer emitted for
   these already-known-deprecated internal representations.
   
   ## Test plan
   
   - [ ] New unit tests in `test_query_object_factory.py`:
     - `test_deprecated_groupby_renamed_to_columns` — verifies `groupby` is silently
       renamed to `columns` and not exposed as a `QueryObject` attribute.
     - `test_deprecated_groupby_does_not_overwrite_columns` — verifies that an explicit
       `columns` value takes precedence over a stale `groupby`.
   - [ ] All existing `TestQueryObjectFactory` tests continue to pass.
   - [ ] CI green.


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


Re: [PR] fix(query_object_factory): normalize deprecated query fields before constructing QueryObject [superset]

Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #41204:
URL: https://github.com/apache/superset/pull/41204#issuecomment-4745391664

   AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
   
   <details>
   <summary>
   Bito Usage Guide
   </summary>
   
   **Commands**
         
   Type the following command in the pull request comment and save the comment.
         
   - `/review` - Manually triggers a full AI review.
   
   - `/pause` - Pauses automatic reviews on this pull request.
   - `/resume` - Resumes automatic reviews.
   - `/resolve` - Marks all Bito-posted review comments as resolved.
   - `/abort` - Cancels all in-progress reviews.
   
         
   Refer to the <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands" target="_blank" rel="noopener noreferrer">documentation</a> for additional commands.
         
   **Configuration**
   
   This repository uses `Superset` You can customize the agent settings <a href="https://alpha.bito.ai/home/ai-agents/code-review-agent" target="_blank" rel="noopener noreferrer">here</a> or contact your Bito workspace admin at evan@preset.io.
         
   **Documentation & Help**
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-using-bito-cloud/create-or-customize-an-agent-instance" target="_blank" rel="noopener noreferrer">Customize agent settings</a>
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules" target="_blank" rel="noopener noreferrer">Review rules</a>
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent" target="_blank" rel="noopener noreferrer">General documentation</a>
   - <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs" target="_blank" rel="noopener noreferrer">FAQ</a>
   
   </details>
   


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


Re: [PR] fix(query_object_factory): normalize deprecated query fields before constructing QueryObject [superset]

Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #41204:
URL: https://github.com/apache/superset/pull/41204#issuecomment-4743925162

   <!-- Bito Reply -->
   The suggestion to add an explicit return type hint to the newly added test method is correct, as it improves code clarity and adheres to type-checking standards. You can resolve this by adding `-> None:` to the method signature. 
   
   Here is the corrected code for the test method:
   
   ```python
       def test_deprecated_groupby_renamed_to_columns(
           self,
           query_object_factory: QueryObjectFactory,
           raw_query_context: dict[str, Any],
       ) -> None:
           """groupby in stored query_context should be silently renamed to columns."""
   ```
   
   There are no other comments on this pull request to address.
   
   **tests/unit_tests/common/test_query_object_factory.py**
   ```
   def test_deprecated_groupby_renamed_to_columns(
           self,
           query_object_factory: QueryObjectFactory,
           raw_query_context: dict[str, Any],
       ) -> None:
           """groupby in stored query_context should be silently renamed to columns."""
   ```


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


Re: [PR] fix(query_object_factory): normalize deprecated query fields before constructing QueryObject [superset]

Posted by "codeant-ai-for-open-source[bot] (via GitHub)" <gi...@apache.org>.
codeant-ai-for-open-source[bot] commented on code in PR #41204:
URL: https://github.com/apache/superset/pull/41204#discussion_r3437349831


##########
superset/common/query_object_factory.py:
##########
@@ -66,6 +66,13 @@ def create(  # pylint: disable=too-many-arguments
         processed_extras = self._process_extras(extras)
         result_type = kwargs.setdefault("result_type", parent_result_type)
 
+        # Rename deprecated kwargs before any processing so that downstream code
+        # (time-range resolution, QueryObject) only ever sees the canonical names.
+        for field in DEPRECATED_FIELDS:
+            if field.old_name in kwargs:
+                if value := kwargs.pop(field.old_name):
+                    kwargs.setdefault(field.new_name, value)

Review Comment:
   **Suggestion:** The deprecated-field normalization can drop valid `groupby`/deprecated values when the canonical key is present but null-like (for example `columns: None`). Because `setdefault` treats an existing `None` key as already set, the deprecated value is discarded after `pop`, so grouping can be silently lost and queries can return different results. Normalize with explicit precedence logic that still promotes deprecated values when the canonical field is missing or null-like, instead of unconditional `setdefault` on a possibly null existing key. [logic error]
   
   <details>
   <summary><b>Severity Level:</b> Major ⚠️</summary>
   
   ```mdx
   - ❌ /superset/v1/query/ can ignore valid groupby columns.
   - ⚠️ QueryContextFactory users risk losing grouping semantics.
   - ⚠️ Aggregation queries may return ungrouped, inflated result sets.
   ```
   </details>
   <details>
   <summary><b>Steps of Reproduction ✅ </b></summary>
   
   ```mdx
   1. Use the legacy query endpoint `POST /superset/v1/query/` which is implemented in
   `superset/views/api.py:8-22`. This endpoint reads `request.form["query_context"]` (line
   16) and calls `QueryContextFactory.create(**json.loads(request.form["query_context"]))`
   (lines 16-18).
   
   2. In the request body, supply a `query_context` JSON where a query object contains both a
   null-like canonical field and a populated deprecated field, for example:
   
      ```json
   
      {
   
        "datasource": {"id": 1, "type": "table"},
   
        "queries": [{
   
          "columns": null,
   
          "groupby": ["country"],
   
          "metrics": ["sum__value"]
   
        }],
   
        "result_type": "full",
   
        "result_format": "json"
   
      }
   
      ```
   
      When `json.loads` runs in `Api.query`, this becomes a Python dict where the
      single-element dict in `queries` has `{"columns": None, "groupby": ["country"],
      "metrics": [...]}`.
   
   3. The call stack proceeds into `QueryContextFactory.create` in
   `superset/common/query_context_factory.py:38-48`, which iterates the `queries` list and
   for each `query_obj` calls `self._query_object_factory.create(result_type,
   datasource=datasource, server_pagination=server_pagination, **query_obj)` (lines 38-47).
   For our example, `kwargs` in `QueryObjectFactory.create` contains both `columns=None` and
   `groupby=["country"]`.
   
   4. Inside `QueryObjectFactory.create` in `superset/common/query_object_factory.py:52-96`,
   the deprecated-field normalization loop runs at lines 69-74:
   
      ```python
   
      for field in DEPRECATED_FIELDS:
   
          if field.old_name in kwargs:
   
              if value := kwargs.pop(field.old_name):
   
                  kwargs.setdefault(field.new_name, value)
   
      ```
   
      For the `DeprecatedField(old_name="groupby", new_name="columns")`, `field.old_name` is
      `"groupby"` and `field.new_name` is `"columns"`. Since `"groupby"` is in `kwargs` with
      value `["country"]`, `value` is truthy and `"groupby"` is popped. However, because
      `"columns"` already exists in `kwargs` with value `None`, `kwargs.setdefault("columns",
      ["country"])` does nothing (dict `setdefault` does not overwrite an existing key even
      if its value is `None`). The effect is:
   
      - `groupby` is removed from `kwargs`.
   
      - `columns` remains `None`.
   
      When the function later constructs a `QueryObject` (lines 89-95), it passes
      `columns=None`, so `QueryObject.__init__` in `superset/common/query_object.py:112-167`
      sets `self.columns = columns or []` (line 142), resulting in `self.columns == []` and
      no grouping. Prior to this PR, the same input would reach
      `QueryObject._rename_deprecated_fields` in `superset/common/query_object.py:219-237`,
      which would see `groupby` in `kwargs` and set `self.columns` from `groupby`, preserving
      the grouping. Thus, a valid `groupby` configuration is silently dropped when `columns`
      is present but null-like, changing query semantics and returned results.
   ```
   </details>
   
   [![Fix in Cursor](https://new-codeant-butcket.s3.us-west-1.amazonaws.com/badges/fix-in-cursor-flat.svg)](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt_id=ced994bcbe0a441e898f0903670452d8&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset) [![Fix in VSCode Claude](https://new-codeant-butcket.s3.us-west-1.amazonaws.com/badges/fix-in-vscode-claude-flat.svg)](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt_id=ced994bcbe0a441e898f0903670452d8&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
   
   *(Use Cmd/Ctrl + Click for best experience)*
   <details>
   <summary><b>Prompt for AI Agent 🤖 </b></summary>
   
   ```mdx
   This is a comment left during a code review.
   
   **Path:** superset/common/query_object_factory.py
   **Line:** 71:74
   **Comment:**
   	*Logic Error: The deprecated-field normalization can drop valid `groupby`/deprecated values when the canonical key is present but null-like (for example `columns: None`). Because `setdefault` treats an existing `None` key as already set, the deprecated value is discarded after `pop`, so grouping can be silently lost and queries can return different results. Normalize with explicit precedence logic that still promotes deprecated values when the canonical field is missing or null-like, instead of unconditional `setdefault` on a possibly null existing key.
   
   Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
   Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
   ```
   </details>
   <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F41204&comment_hash=f683d55198dc629fcccaa334d5294adf31cad564f887655f083dc001d6086b19&reaction=like'>👍</a> | <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F41204&comment_hash=f683d55198dc629fcccaa334d5294adf31cad564f887655f083dc001d6086b19&reaction=dislike'>👎</a>



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


Re: [PR] fix(query_object_factory): normalize deprecated query fields before constructing QueryObject [superset]

Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #41204:
URL: https://github.com/apache/superset/pull/41204#issuecomment-4743909515

   AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).


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


Re: [PR] fix(query_object_factory): normalize deprecated query fields before constructing QueryObject [superset]

Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #41204:
URL: https://github.com/apache/superset/pull/41204#issuecomment-4744069804

   ## [Codecov](https://app.codecov.io/gh/apache/superset/pull/41204?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   :x: Patch coverage is `50.00000%` with `2 lines` in your changes missing coverage. Please review.
   :white_check_mark: Project coverage is 63.56%. Comparing base ([`74ae5a4`](https://app.codecov.io/gh/apache/superset/commit/74ae5a45f9ae25887ec07094680e784d48385662?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`6036201`](https://app.codecov.io/gh/apache/superset/commit/6036201b223a4ce3cfa42633a48204b39874de90?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   
   | [Files with missing lines](https://app.codecov.io/gh/apache/superset/pull/41204?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines |
   |---|---|---|
   | [superset/common/query\_object\_factory.py](https://app.codecov.io/gh/apache/superset/pull/41204?src=pr&el=tree&filepath=superset%2Fcommon%2Fquery_object_factory.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VwZXJzZXQvY29tbW9uL3F1ZXJ5X29iamVjdF9mYWN0b3J5LnB5) | 50.00% | [1 Missing and 1 partial :warning: ](https://app.codecov.io/gh/apache/superset/pull/41204?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   ```diff
   @@            Coverage Diff             @@
   ##           master   #41204      +/-   ##
   ==========================================
   - Coverage   64.33%   63.56%   -0.77%     
   ==========================================
     Files        2651     2651              
     Lines      144766   144769       +3     
     Branches    33401    33403       +2     
   ==========================================
   - Hits        93131    92029    -1102     
   - Misses      49965    51066    +1101     
   - Partials     1670     1674       +4     
   ```
   
   | [Flag](https://app.codecov.io/gh/apache/superset/pull/41204/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
   |---|---|---|
   | [hive](https://app.codecov.io/gh/apache/superset/pull/41204/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `39.32% <25.00%> (-0.01%)` | :arrow_down: |
   | [mysql](https://app.codecov.io/gh/apache/superset/pull/41204/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [postgres](https://app.codecov.io/gh/apache/superset/pull/41204/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [presto](https://app.codecov.io/gh/apache/superset/pull/41204/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `40.91% <50.00%> (-0.01%)` | :arrow_down: |
   | [python](https://app.codecov.io/gh/apache/superset/pull/41204/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `57.95% <50.00%> (-1.63%)` | :arrow_down: |
   | [sqlite](https://app.codecov.io/gh/apache/superset/pull/41204/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `57.78% <50.00%> (-0.01%)` | :arrow_down: |
   | [unit](https://app.codecov.io/gh/apache/superset/pull/41204/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   
   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.
   </details>
   
   [:umbrella: View full report in Codecov by Harness](https://app.codecov.io/gh/apache/superset/pull/41204?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).   
   :loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
   <details><summary> :rocket: New features to boost your workflow: </summary>
   
   - :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
   - :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
   </details>


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


Re: [PR] fix(query_object_factory): normalize deprecated query fields before constructing QueryObject [superset]

Posted by "codeant-ai-for-open-source[bot] (via GitHub)" <gi...@apache.org>.
codeant-ai-for-open-source[bot] commented on code in PR #41204:
URL: https://github.com/apache/superset/pull/41204#discussion_r3437318650


##########
tests/unit_tests/common/test_query_object_factory.py:
##########
@@ -138,3 +138,32 @@ def test_query_context_metric_names(
             **raw_query_object,
         )
         assert query_object.metric_names == ["SUM", "num_girls", "num_boys"]
+
+    def test_deprecated_groupby_renamed_to_columns(
+        self,
+        query_object_factory: QueryObjectFactory,
+        raw_query_context: dict[str, Any],
+    ):

Review Comment:
   **Suggestion:** Add an explicit return type hint to this newly added test method so it is fully typed. [custom_rule]
   
   **Severity Level:** Minor ⚠️
   <details>
   <summary><b>Why it matters? 🤔 </b></summary>
   
   This is a newly added Python test method, and it omits an explicit return type annotation. The surrounding code was changed, so the rule requiring new Python functions/classes to be fully typed applies here.
   </details>
   
   [![Fix in Cursor](https://new-codeant-butcket.s3.us-west-1.amazonaws.com/badges/fix-in-cursor-flat.svg)](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt_id=e8d90e6921394345ad346a26edb92baa&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset) [![Fix in VSCode Claude](https://new-codeant-butcket.s3.us-west-1.amazonaws.com/badges/fix-in-vscode-claude-flat.svg)](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt_id=e8d90e6921394345ad346a26edb92baa&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
   
   *(Use Cmd/Ctrl + Click for best experience)*
   <details>
   <summary><b>Prompt for AI Agent 🤖 </b></summary>
   
   ```mdx
   This is a comment left during a code review.
   
   **Path:** tests/unit_tests/common/test_query_object_factory.py
   **Line:** 142:146
   **Comment:**
   	*Custom Rule: Add an explicit return type hint to this newly added test method so it is fully typed.
   
   Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
   Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
   ```
   </details>
   <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F41204&comment_hash=d892ea46bc2b8ac7760663ec2ab4d69f1d32d0e67f51a00ebaf2dbcbb93219c8&reaction=like'>👍</a> | <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F41204&comment_hash=d892ea46bc2b8ac7760663ec2ab4d69f1d32d0e67f51a00ebaf2dbcbb93219c8&reaction=dislike'>👎</a>



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


Re: [PR] fix(query_object_factory): normalize deprecated query fields before constructing QueryObject [superset]

Posted by "eschutho (via GitHub)" <gi...@apache.org>.
eschutho merged PR #41204:
URL: https://github.com/apache/superset/pull/41204


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