Use named params for partition schemas

Also added type/range checking on param values.
Function names starts at first column

For greppability