Sets the DISTINCT clause of this.
distinct_expr's ownership is transferred to this (which means
this is then responsible for freeing it when no longer needed).
| this |
a SqlStatement pointer |
| distinct |
a TRUE/FALSE value |
| distinct_expr |
a SqlExpr pointer representing what the DISTINCT is on, or null |