zclllyybb opened a new issue, #53987:
URL: https://github.com/apache/doris/issues/53987

   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no 
similar issues.
   
   
   ### Description
   
   see 
https://doris.apache.org/zh-CN/docs/dev/table-design/data-partitioning/auto-partitioning
 for our auto partition function now. and in future we need to support 
arbitrary list expression partitoin. that is,
   `partition by list (x, y, z)`
   which `x`, `y`, `z` are all any expression which could be constant-folded in 
FE with exactly one column each one.
   
   ### Solution
   
   1. you need to support relative parse rules in nereids. it's in 
`DorisParser.g4`.
   2. you need to remove all restriction of expressions in partitionExprs.
   3. you need to make sure it's could be passed to BE and calculated in it. in 
`vrow_distribution.cpp`, around `part_funcs[i]->execute`.
   4. make sure partition prune could process it proper. if we change a range 
auto partition to list expression partition, the prune result should be as 
excellent as it. In nereids, the key of partition prune is in 
`PartitionPruner.java`. you should read it and understand its details 
completely. the key function is `canBePrunedOut`.
   
   ### Are you willing to submit PR?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to