Skip to content

Any input optimize#11529

Merged
CurtizJ merged 75 commits intoClickHouse:masterfrom
kamalov-ruslan:any_input_optimize
Jun 18, 2020
Merged

Any input optimize#11529
CurtizJ merged 75 commits intoClickHouse:masterfrom
kamalov-ruslan:any_input_optimize

Conversation

@kamalov-ruslan
Copy link
Copy Markdown
Contributor

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Changelog category (leave one):

  • Performance Improvement

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
New optimization that takes all operations out of "any" function

Detailed description / Documentation draft:
Trying to rebuild tree, cut old any and add new one deeper.

By adding documentation, you'll allow users to try your new feature immediately, not when someone else will have time to document it later. Documentation is necessary for all features that affect user experience in any way. You can add brief documentation draft above, or add documentation right into your patch as Markdown files in docs folder.

If you are doing this for the first time, it's recommended to read the lightweight Contributing to ClickHouse Documentation guide first.

&& !function_node->arguments->children.empty() && function_node->arguments->children[0] &&
function_node->arguments->children[0]->as<ASTFunction>())
{
int mode = 0;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not just save name and pass it to function? Anyway, it's better to use enum instead of int.

@CurtizJ CurtizJ merged commit 23cd919 into ClickHouse:master Jun 18, 2020
CurtizJ added a commit that referenced this pull request Jun 19, 2020
}

///recursive searching of identifiers
void changeAllIdentifiers(ASTPtr & ast, size_t ind, std::string& mode)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe better to rename mode to name?

P.S. there are coding style issues

///cut old any, put any to identifiers. any(functions(x)) -> functions(any(x))
void AnyInputMatcher::visit(ASTPtr & current_ast, Data data)
{
data = {};
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is this for?

alexey-milovidov added a commit that referenced this pull request Jun 20, 2020
traceon added a commit to traceon/ClickHouse that referenced this pull request Jun 20, 2020
* master: (114 commits)
  Update alter.md (ClickHouse#11823)
  Update PODArray.h
  Added a test for ClickHouse#6549
  Update create.md
  Update create.md
  replacingmergetree translate into "替换合并树“ better (ClickHouse#11814)
  Whitespace
  Fix style
  Added a test
  Fix another 10% of bad code ClickHouse#11529
  Update join.md (ClickHouse#11798)
  Update memory.md (ClickHouse#11800)
  Whitespace
  Check for tests with "fail" in their names
  Fix 10% of bad code ClickHouse#11756
  Update PODArray.h
  avoid duplicate short system name
  adapt recent result as well
  [website] tune benchmark pages styling + add extra checks
  Added MSan suppression for Hyperscan
  ...

# Conflicts:
#	src/Common/ErrorCodes.cpp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-performance Pull request with some performance improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants