Skip to content

fix(tianmu): fix Update multiple values does not work (#781)#1094

Merged
mergify[bot] merged 2 commits intostoneatom:stonedb-5.7-devfrom
adofsauron:stonedb-5.7-dev
Dec 9, 2022
Merged

fix(tianmu): fix Update multiple values does not work (#781)#1094
mergify[bot] merged 2 commits intostoneatom:stonedb-5.7-devfrom
adofsauron:stonedb-5.7-dev

Conversation

@adofsauron
Copy link
Copy Markdown
Collaborator

@adofsauron adofsauron commented Dec 8, 2022

Cause of error:
    Update multiple values does not work with WHERE IN
    clause Update multiple values does not work with where in clause.
    Predicate push-down from TIANMU is used, and this process works fine.
    But when you get the direct result,
    it is not compatible with TIANMU's dimen_group concrete type.
    In the execution of a predicate push-down,
    must get the Filter so that the execution of the follow-up to value,
    namely DimensionGroupFilter,
    but the current statement USES the materialized DimensionGroupMaterialized operation

Solution Strategy:
    If the query is executed by a predicate pushdown, materialization is not enabled

What remains:
    When no materialization operation is used in predicate push-down,
    the impact on query performance of predicate push-down
    needs to be cross-checked against benchmarks

Summary about this PR

Issue Number: close #781

Tests Check List

  • Unit test
  • Integration test
  • Manual test (add detailed scripts or steps below)
  • No code

Changelog

  • New Feature
  • Bug Fix
  • Performance Improvement
  • Build/Testing/CI/CD
  • Documentation
  • Not for changelog (changelog entry is not required)

Documentation

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Dec 8, 2022

This pull request's title should follow requirements next. @adofsauron please check it 👇.

Valid format:

fix(vc): fix sth..... (#3306)
  ^         ^---------^  ^----^
  |         |            |
  |         +            +-> you issue id.
  |         |
  |         +-> Summary in present tense.
  |
  +-------> Type: feat, fix, docs, workflow, style, refactor, test, website, chore

Valid types:

  • feat: new feature for stonedb
  • fix: bug fix for stonedb
  • docs: changes to the documentation
  • workflow: ci/cd in .github
  • perf: Changes to improve code performance
  • refactor: refactoring production code, eg. renaming a variable
  • style: formatting, missing semi colons, etc; no production code change
  • test: adding missing tests, refactoring tests; no production code change
  • website
  • chore: updating grunt tasks etc; no production code change

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Dec 8, 2022

Thanks for the contribution!
I have applied any labels matching special text in your PR Changelog.

Please review the labels and make any necessary changes.

@adofsauron adofsauron changed the title ix(tianmu): fix Update multiple values does not work (#781) fix(tianmu): fix Update multiple values does not work (#781) Dec 8, 2022
@mergify mergify bot added the PR-bug bug for pull request label Dec 8, 2022
@codecov
Copy link
Copy Markdown

codecov bot commented Dec 8, 2022

Codecov Report

Base: 33.89% // Head: 33.91% // Increases project coverage by +0.02% 🎉

Coverage data is based on head (aa044d3) compared to base (2bb8c60).
Patch coverage: 90.00% of modified lines in pull request are covered.

❗ Current head aa044d3 differs from pull request most recent head 04651c2. Consider uploading reports for the commit 04651c2 to get more accurate results

Additional details and impacted files
@@                 Coverage Diff                 @@
##           stonedb-5.7-dev    #1094      +/-   ##
===================================================
+ Coverage            33.89%   33.91%   +0.02%     
===================================================
  Files                 1807     1807              
  Lines               395052   395055       +3     
===================================================
+ Hits                133912   133995      +83     
+ Misses              261140   261060      -80     
Impacted Files Coverage Δ
storage/tianmu/common/common_definitions.h 84.21% <ø> (ø)
storage/tianmu/core/compiled_query.h 72.00% <ø> (ø)
storage/tianmu/core/query.h 87.50% <ø> (ø)
storage/tianmu/core/temp_table.h 54.16% <50.00%> (-0.09%) ⬇️
storage/tianmu/core/query.cpp 69.42% <91.30%> (-0.01%) ⬇️
storage/tianmu/core/compiled_query.cpp 55.30% <100.00%> (+0.21%) ⬆️
storage/tianmu/handler/ha_tianmu.cpp 51.88% <100.00%> (-0.05%) ⬇️
sql/log_event_push_cond.cc 67.15% <0.00%> (-5.90%) ⬇️
sql/transaction_info.h 44.53% <0.00%> (-3.37%) ⬇️
mysys/mf_iocache.c 47.90% <0.00%> (-2.72%) ⬇️
... and 32 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@adofsauron adofsauron requested a review from RingsC December 8, 2022 07:42
@adofsauron adofsauron requested a review from RingsC December 8, 2022 10:56
    Cause of error:
        Update multiple values does not work with WHERE IN
        clause Update multiple values does not work with where in clause.
        Predicate push-down from TIANMU is used, and this process works fine.
        But when you get the direct result,
        it is not compatible with TIANMU's dimen_group concrete type.
        In the execution of a predicate push-down,
        must get the Filter so that the execution of the follow-up to value,
        namely DimensionGroupFilter,
        but the current statement USES the materialized DimensionGroupMaterialized operation

    Solution Strategy:
        If the query is executed by a predicate pushdown, materialization is not enabled

    What remains:
        When no materialization operation is used in predicate push-down,
        the impact on query performance of predicate push-down
        needs to be cross-checked against benchmarks
@mergify mergify bot merged commit 844ef7e into stoneatom:stonedb-5.7-dev Dec 9, 2022
@Nliver Nliver added this to the StoneDB_5.7_v1.0.2 milestone Apr 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR-bug bug for pull request

Projects

Development

Successfully merging this pull request may close these issues.

bug: Update multiple values does not work with WHERE IN clause

4 participants