Skip to content

Plan whether be can try to use the no-chaining hash table#121

Open
EmmyMiao87 wants to merge 151 commits into
doris-vectorized:masterfrom
EmmyMiao87:hash_table_optimizer_tmp
Open

Plan whether be can try to use the no-chaining hash table#121
EmmyMiao87 wants to merge 151 commits into
doris-vectorized:masterfrom
EmmyMiao87:hash_table_optimizer_tmp

Conversation

@EmmyMiao87
Copy link
Copy Markdown
Contributor

The parameter 'tryWithoutChaining' is used to indicate
whether be can try to use this optimization.

If this configuration is set to true,
it means that the current query conditionally uses the optimization.
But it does not mean that be will definitely use this optimization.

Proposed changes

Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.

Types of changes

What types of changes does your code introduce to Doris?
Put an x in the boxes that apply

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update (if none of the other choices apply)
  • Code refactor (Modify the code structure, format the code, etc...)
  • Optimization. Including functional usability improvements and performance improvements.
  • Dependency. Such as changes related to third-party components.
  • Other.

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • I have created an issue on (Fix #ISSUE) and described the bug/feature there in detail
  • Compiling and unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works
  • If these changes need document changes, I have updated the document
  • Any dependent changes have been merged

Further comments

If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...

lihaopeng and others added 30 commits August 10, 2021 11:42
Change-Id: Ifbd3f928c47ac04eea362485f0e2d0f28292b9d9
Change-Id: I3a80fb10da3e15e1b99061db0a397fdd359e9093
Change-Id: I74c0d75096f59c7c35ab7c16f3556372e1a13f9a
Change-Id: I43f974633446e8fd017960bf9d5cb68782017744
Change-Id: I8ea33d775f757fbda9b9d15b552ed2ee810897ad
Change-Id: I80ae5056e29b197ef34d22936bc8f0343f16ef1d
Change-Id: I44987b926925e1532528fdb45f4aa20f61ac4ddc
…to block

Change-Id: I7f9602e3c6855d08675507677f912c0d2d695560
 1.Support nullable column string
 2.Support nullable decimal column
 3.Change likely to LIKELY to prevent conflict in boost

Change-Id: I929bfbdd678ca5302b4aa13c1fcf9799ec8ad301
Change-Id: If3a7478f804ceaa91de9a3e2e2ad2131711573ca
Change-Id: I7ad39e22bccc77cbbeb3c81bd62ac5d19f7965e8
Change-Id: I787ef30149f9aa6467ba4c5ebf40e23b2370b480
Change-Id: I64bb0e04cc82831b91b580e6fe782357a8f27d8c
1.Support largetint and datetime, date column

Change-Id: Ie11e7ac21bb2a0a702d47614133c1307b9b11a0e
Change-Id: I973c640ffb4cf6776d5a4b1f52358b25292902f9
Change-Id: I9c044ea1681b8c57af1a769a05d33e9701be93f5
Change-Id: I5c30737aa03234f3e8c5c46807190a4a593b72c3
…ntext

Change-Id: Ib8e5efa39e43bd1213948e600723036b326a9fa1
Change-Id: Ifead56145924ccbb10dfa82933888496104d305c
Change-Id: Ife0691533e5f0d5c668a968274d45383e3e379fb
Change-Id: I15485ad97ec11e0dab7157d71936e2d21dc429d8
Change-Id: I2506988785981d54e1da68b343b05c0cf1865efe
Co-authored-by: stdpain <34912776+stdpain@users.noreply.github.com>

Change-Id: I7f687d8ed27e65a2cf5b8d3b347959e63c018087
Change-Id: I90b6f9e48f1360f7d1ff46c6a1d6b0eb6c8f4f32
Change-Id: I2a6ad71909b8cbd2045938cff1d18c43a271801b
Change-Id: Ic4f47418c14894d00148b7bc0ed4a876518b5cf6
Change-Id: I5145fe0a3db0ceb97052c8ce7f090e3d25000796
Change-Id: I63f3fe4e38d5cbbe15c44504a532b6e575b8b2d0
…e, Not Support Decimal cast to string, Not Support String cast to others

Change-Id: I82090b19d7a256ad101eae1b4556990f82ff4812
Change-Id: I769e7f06ba5e5ecb3b4fb33c05b8e3373e75864f
stdpain and others added 25 commits August 10, 2021 11:42
* make session variable as public

* Fix AGG Memory Overflow
* Plan nullable param

* Modify cast nullable mode

* add dcheck
* 1. Fix the bug of muli distinct function register
2. Rewrite the init function of min/max aggregatetion
3. Fix the bug of distinct function mixed normal aggregatetion function

* fix bug of function register
If the nullable mode of function is DEPEND_ON_ARGUMENT, the result will be null
when there is null literal in argument.
…-vectorized#112)

* Add more function to null_result_with_one_null_param_functions

* Change nullable mode
…zed#108)

* fix expr's args type and return type check failed

* fix mysql_result_writer
change bitmap_count to DEPEND_ON_ARGUMENT
* local exchange under doris-vec

* delete the same code in apache-doris
The parameter 'tryWithoutChaining' is used to indicate
whether be can try to use this optimization.

If this configuration is set to true,
it means that the current query conditionally uses the optimization.
But it does not mean that be will definitely use this optimization.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants