/**
  * Saves partitioning properties in the repository for the given step.
  *
  * @param rep the repository to save in
  * @param id_transformation the ID of the transformation
  * @param id_step the ID of the step
  * @throws KettleDatabaseException In case anything goes wrong
  */
 public void saveRep(Repository rep, long id_transformation, long id_step) throws KettleException {
   rep.saveStepAttribute(
       id_transformation,
       id_step,
       "PARTITIONING_SCHEMA",
       partitionSchema != null ? partitionSchema.getName() : ""); // selected schema
   rep.saveStepAttribute(
       id_transformation,
       id_step,
       "PARTITIONING_METHOD",
       getMethodCode()); // method of partitioning
 }
  public void saveRep(Repository rep, long id_transformation, long id_step) throws KettleException {
    try {

      rep.saveStepAttribute(id_transformation, id_step, "rownum", includeRowNumber);
      rep.saveStepAttribute(id_transformation, id_step, "foldername_dynamic", isFoldernameDynamic);
      rep.saveStepAttribute(id_transformation, id_step, "foldername_field", dynamicFoldernameField);

      rep.saveStepAttribute(id_transformation, id_step, "rownum_field", rowNumberField);
      rep.saveStepAttribute(id_transformation, id_step, "limit", rowLimit);

      for (int i = 0; i < folderName.length; i++) {
        rep.saveStepAttribute(id_transformation, id_step, i, "file_name", folderName[i]);
        rep.saveStepAttribute(id_transformation, id_step, i, "file_required", folderRequired[i]);
      }
    } catch (Exception e) {
      throw new KettleException(
          "Unable to save step information to the repository for id_step=" + id_step, e);
    }
  }
  public void saveRep(Repository rep, long id_transformation, long id_step) throws KettleException {
    try {
      rep.saveStepAttribute(
          id_transformation,
          id_step,
          "id_connection",
          databaseMeta == null ? -1 : databaseMeta.getID()); // $NON-NLS-1$
      rep.saveStepAttribute(id_transformation, id_step, "rowlimit", rowLimit); // $NON-NLS-1$
      rep.saveStepAttribute(id_transformation, id_step, "sql", sql); // $NON-NLS-1$
      rep.saveStepAttribute(id_transformation, id_step, "outer_join", outerJoin); // $NON-NLS-1$
      rep.saveStepAttribute(id_transformation, id_step, "replace_vars", replacevars);
      rep.saveStepAttribute(
          id_transformation, id_step, "sql_fieldname", sqlfieldname); // $NON-NLS-1$
      rep.saveStepAttribute(id_transformation, id_step, "query_only_on_change", queryonlyonchange);

      // Also, save the step-database relationship!
      if (databaseMeta != null)
        rep.insertStepDatabase(id_transformation, id_step, databaseMeta.getID());
    } catch (Exception e) {
      throw new KettleException(
          Messages.getString("DynamicSQLRowMeta.Exception.UnableToSaveStepInfo") + id_step,
          e); //$NON-NLS-1$
    }
  }