bamaer commented on PR #9000:
URL: https://github.com/apache/hop/pull/9000#issuecomment-6246942586
Thanks @Adalennis, the format works well, and it's good to have the labels
lined up with Hop Gui. I checked the tables against each action's `execute()`
on current main (I read the code, didn't run the actions). A few rows say
something the code doesn't do:
**Fix before merge**
1. **Pipeline / Workflow, Execute for every result row:** the rows are not
passed on unchanged. Each run gets a single row and the list is cleared before
every run (`ActionPipeline.java:385`, `ActionWorkflow.java:341`). So what goes
on is the last run's rows, or the last input row. On Pipeline, *Clear results
files before execution* also runs before every run, not once.
2. **Workflow, Result rows:** the rows are replaced only when the child
returns a non-empty list (`ActionWorkflow.java:560`). A child that returns no
rows leaves the received rows in place.
3. **Copy files:**
- A file copied into a folder is not added to the result files, only
file-to-file and folder-to-folder copies are (`ActionCopyFiles.java:385-403`).
- A single file that fails to copy inside a pair is only logged, so the
action can be true with 0 errors.
4. **Mail:** the result is false whenever an error was counted, even when
the message went out. With *Zip files*, a zip error sends the mail without the
zip and returns false (`ActionMail.java:577-599`). A result file that doesn't
exist is skipped without an error, so "false when a file could not be attached"
only holds for errors at send time.
5. **SFTP:**
- It is also false when *Remove files after retrieval* fails. The file is
downloaded and in the result files by then (`ActionSftp.java:427-429`).
- On any failure, *Files retrieved* stays 0, even for files already
downloaded.
- With *Copy previous results to args*, the first field is matched
exactly against the file names in the remote directory, and the wildcard is not
used.
6. **Simple evaluation:** an invalid regular expression isn't a false
result. The exception leaves `execute()` and stops the workflow, the same as
the Mail NOTE (`ActionSimpleEval.java:561`).
**Worth fixing**
- Simple evaluation: "no variable is set in *Variable name*" reads as "the
variable is undefined". It means the *Variable name* field is empty.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]