Skip to main content
Skip table of contents

Delta Hashing

Input

✳️ Any (JSON)

(red star) Required: Array of Objects (Dataset)

Ouptut

✳️ Any (JSON) (Passthrough)

(plus) Filtered Dataset of Changes (array)

Summary

Delta Hashing takes a “tabular” dataset (an array of columns where each object has the same columns), and for each row, determines if the data has changed since the previous workflow run. Only changed rows are included in the output.

How It Works

An MD5 hash of the record is taken and cached. It is identified by the “Key Column”, which must be a unique value.

On the first run, all records will be included in the output since there are no stored hashes for those records.

On subsequent runs, if the MD5 hash does not match the previous run, that record is included in the output.

What Is Stored

Only the key column is stored in plaintext in our datacenter. The other columns/values in the dataset are not stored.

For example:

Input Object

JSON
{
  "id": "12345",
  "firstName": "Joe",
  "lastName": "Smith",
  "dob": "2001-03-07"
}

Delta Hash Configuration

  • Key Column Name: id

Stored Data

JSON
{
  "id": "12345",
  "hash": "DC2F3BC7459B8B3B37FD2F64C16FCFA6"
}

Properties

Name

Type

Templatable

Notes

Key Column Property Name

Text

(error)

Enter the name of the column (the property name) that should be used as the “primary key” for hashing.

The data in this field must be unique.

Tip: Use iMIS ID, sequence values, or GUIDs for this field.

Input Array

Array

(tick)

Enter an array expression that points to the dataset that should be hashed for changes.

For example, if you previously ran an IQA action and stored the results in the property myIqaData, then in this field, you would enter:

ADA
{{ input.myIqaData | array }}

🅾️ Output Property

Text

(error)

Specify the name of the property to store the CSV data in.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.