code: public Object partitionParam() {
          if (userPartitionKey != null) {
              return userPartitionKey[0];
          }
          if (partitionParamIndex > -1 && userParamSet != null &&
                  userParamSet.length > partitionParamIndex) {
              Object userParamValue = userParamSet[partitionParamIndex];
              if (partitionParamType == null) {
                  return userParamValue;
              } else {
                  return ParameterConverter.tryToMakeCompatible(partitionParamType.classFromType(), userParamValue);
              }
          }
          return partitionParamValue;
      }
docs: /*
  Return the partitioning value (if any) for an SP statement batch.
  It may have come from a number of sources:
  - an explicit override -- such as for AdHocSpForTest or an ad hoc statement queued
  from an SP stored proc (which currently dummies up a null value)
  - a user-provided parameter to an ad hoc that the planner determined to be the
  partitioning parameter.
  - a planner-extracted parameter from an ad hoc that the planner determined to be the
  partitioning parameter.
  - a constant from an ad hoc that the planner determined to be the
  partitioning parameter (after opting out of or failing parameterization).