当操作CLICKHOUSE时,出现以下错误。
<Error> void DB::BackgroundProcessingPool::threadFunction(): Code: 168, e.displayText() = DB::Exception: AST is too big. Maximum: 500000: (after expansion of aliases), e.what() = DB::Exception, Stack trace:
需要设定max_ast_elements及max_expanded_ast_elements
max_ast_elements:
Maximum number of elements in a query syntactic tree. If exceeded, an exception is thrown. In the same way as the previous setting, it is checked only after parsing the query. By default, 10,000.
查询语法树中的最大元素数。 如果超出,则抛出异常。 与先前设置相同,仅在解析查询后进行检查。 默认情况下,10,000。
max_expanded_ast_elements
在递归扩展别名后,对AST大小添加了max_expanded_ast_elements限制。(新加的一个属性)
再user.xml 添加
<max_ast_elements>10000000</max_ast_elements>
<max_expanded_ast_elements>10000000</max_expanded_ast_elements>
就可以解决这个问题。
网友评论