Release Note: Q1 Patch 1: v6.03.28
  • 5 Minutes to read
  • Dark
    Light
  • PDF

Release Note: Q1 Patch 1: v6.03.28

  • Dark
    Light
  • PDF

Article summary

Release notes - Q1 Patch 1 - v6.3.28

This release contains the following: 

Improvement

Bug

Details

Tech-Ops Tools, Features and Bugs

DM-476 New method to list orphaned files - GetOrphs - runs in Runner,  DM-500 DIAGNOSTIC TOOLS: Wait, extended GetOrphs

The following administrative methods are available:

  • GetOrphs - lists any orphan files that have been generated by the system
  • Wait - waits for specified number of milli-seconds

GetOrphs

{
  "method": "GetOrphs"
  "delete": false
  "throwError": true
}

Any orphan files that are present will be indicated in the list[] section.

Details of specific orphan files can be queried using the ReadMongo command:

{
  "method": "ReadMongo",
  "query":{"fileStub":"file_638443935223925390_2135"}
}

This will return general file information for the fileStub:


Wait

The wait command will perform the following wait operations:

  • Wait for a specified number of milli-seconds
  • Wait while a specific object exists
  • Wait until a specific object exists

Wait for specified time:

{
  "method": "Wait"
  "millis":5000
}


Wait while object (Product table) exists/doesn't exist:

{
  "method": "Wait",
  "type": "exists",
  "search": {
    "name": "Product",
    "class": "BTable"
  }
}

{
  "method": "Wait",
  "type": "notexists",
  "search": {
    "name": "Product",
    "class": "BTable"
  }
}


DM-449 AMP-56: Inconsistent results when using Exists(Table) in child scripts - returns true when should return false,  DM-514 Improvements to Orphan File creation and long injection times

General changes have been made to prevent the creation of orphan files and unnecessary copying of join files when injecting packages.  These changes may have resolved intermittent timing issues that caused the Exists function to intermittently return incorrect answers.

If Exists still returns incorrect answers, use the Wait function to determine if this is due to a timing issue.


DM-513 AMP-94: HASH functions: MD5 matching issue and lowercase alpha for SHA256,   DM-501 AMP-94: SHA256 is computing values when input record is null

Applies to Engineering | Functions | String

  • SHA256
  • MD5
  • SH1

These functions will now:

  • return null for null input records
  • return lowercase Alpha by default
MD5 algorithm
Note that the MD5 algorithm implemented in this version is unchanged from previous versions.   Algorithm details are here:


To return uppercase alpha, use "upper": true:

{
  "method": "BuildBakedField",
  "project": "SalesData1",
  "targetTable": "Customer",
  "overwrite": true,
  "name": "SHA256",
  "function": "string",
  "p1": "SHA256(A)",
  "p2": "CustSegment"
  "upper": true
}

DM-364 AMP-37,38: CopySourceTable : Defaults: allfields=true, bring across accelerator files, bring across metadata

allFields=true is now the default for CopySourceTable.

Accelerator files and metadata is automatically brought across to the new table (assuming the target project properties have been configured):

See HOW TO - Copy a table and its metadata for further details.


DM-505 AMP-79: Make CreatePackage use pathSubs to store a globally accessible homePath in the package metadata file

At the time of injection, InjectPackage checks the realm configuration file for any path substitutions that need to be made.   CreatePackage will now also check for path substitutions, and will use these substitutions for the package homepath.

For further details, see:


FIX: DM-469 Script Editor | Run - choosing "Yes" for a new script doesn't save the script.

Previously choosing "Yes" with an unsaved new script open in Script Editor would run the script without first saving it.   If yes is chosen, new scripts are now saved before running.


FIX: DM-383 AMP-52: Package Metadata file created on realm and in storage hub - needs to be only on storage hub

2 files are generated when a package is created:

  • package file - contains details of the data objects in the package and their underlying data locations
  • metadata file - contains...TODO

In the CreatePackage method, setting "push" to false will store the package data on the realm.   This will create a package file and metadata file in the "path" location.

{
  "method": "CreatePackage",
  "includeProjectMetadata": true,
  "path": "%DATAPATH%shareddata/Q1Patch1_Test_CreateOnRealm.zip",
  "createMetafile": true,
  "autoLock": false,
  "push": false,
  "targetProject": "3RAllData6",
  "project": "3RAllData6"
}


Setting "push" to true will store the package data on the Storage Hub.   This will create a package file called [name].zip and a metadata file called [name].metadata.json

{
  "method": "CreatePackage",
  "includeProjectMetadata": true,
  "name": "PackageName",
  "createMetafile": true,
  "autoLock": false,
  "push": true,
  "targetProject": "3RAllData6",
  "project": "3RAllData6"
}

This release fixes the issue where a metadata file was also created on the realm when the package was being pushed to the Storage Hub.


FIX: DM-507 AMP-93: Python User-Defined-Fields (UDF) not working on injected tables.

The error message "cannot process field of this type" was shown when attempting to build a User Defined Field on a field in an injected table.


AMP-103: Make Copy Up and Copy Down include metadata for the field(s) by default

The CopyUp, CopyUpFromTemplate and CopyDownFromTemplate methods will now copy metadata from the source table to the target table by default.

For more information on metadata see:

Support for client access to AMP+

DM-511 Interim JSON Billing file for Data extracts


DM-195 AMP-62: Implement CLIENT_ANALYST Role and Permissions according to latest requirements, DM-509 Add MARKETPLACE_USER role

{TODO: Add list of restrictions}

DM-498 USER PERMISSIONS: Disable access to InjectPackage wizard for CLIENT_ANALYST


DM-525 AMP-104: New API call to force derived fields to be classed as "Atomic"

Engineered fields can be set as "Atomic" by using the SetAtomicFields API.   Atomic fields and their non null counts are detailed in campaign export reports, so this is a way of flagging fields for inclusion in billing or tracking reports.





Was this article helpful?