What is a "leaf expression"?
Partition-clause expressions are limited in the following ways:
- You can specify leaf expressions, functions, and operators in the partition clause expression.
- All leaf expressions in the partition clause must be either constants or columns of the table.
I'm pretty sure leaf expression means something like "a?b:c". A discrete value from a conditional.
But basically the overall message is saying you need to avoid null values. They can't partition on a null.
It's being used in the context of partition statement. The docs for 9.0 are slightly more clear
PARTITION BY expressions can specify leaf expressions, functions, and operators.
That same page also has,
It is strongly recommended that you use Vertica's built-in HASH function, which distributes data evenly across the cluster, and facilitates optimal query execution.
So it's my guess that it's something about the input to the HASH function,
All leaf expressions must be constants or column references to a column in the
So essentially a hash can work over a non-aggregate functions, operators, constants or columns?
Not sure if any of this is correct.