Licensing Policy

This licensing policy (“Policy”) defines specific licensing rules and conditions for MANTA Product. The use of the Product is subject to the Licensee’s compliance with the End User License Agreement (“EULA”) of which this Policy is a part.

1. DEFINITIONS

1.1. Script is a unique code element defined by the Product implementation, taking into account specifics of each particular technology.

1.2. MANTA Instance is the Licensed Software deployed, within the limits granted to the Licensee, to a computing resource where it is managed and accessed as a single unit.

1.3. Source Environment is a set of one or more systems, other than MANTA Instances, that contain Scripts to be processed by a MANTA Instance. One MANTA Instance can only be associated with one Source Environment.

1.4. Source Environment Set is a set of one or more Source Environments where all the scripts stored or executed within any of the Source Environments are used exclusively for the development and QA associated with a single Source Environment designated as a Production Source Environment. Each Source Environment Set may only contain one Production Source Environment.

1.5. MANTA Instance Set is one or more MANTA Instances where all the Scripts processed by any of the MANTA Instances are otherwise being stored or executed in Source Environments belonging to a single Source Environment Set.

1.6. Unique is a property of a Script meaning that no other Script in the context of the particular MANTA Instance exhibits both the same binary content and the same associated data flow as analyzed by the respective MANTA Instance.

1.7. User Controlled Metadata is the set of metadata stored by any MANTA Instance that is under the control of the Licensee to keep or remove.

1.8. Instance Script Count is the amount calculated as the union of the amount of Unique Scripts for which User Controlled Metadata is stored in the repository of a MANTA Instance, and the amount of Unique Scripts processed by the MANTA Instance in the last 30 days.

1.9. Instance Set Script Count is the largest Instance Script Count of any MANTA Instance out of a MANTA Instance Set.

2. BASIC INFORMATION

A Licensed Configuration specifies usage parameters for a single MANTA Instance Set. Specifically, any limit on the number of scripts applies to an Instance Set Script Count.
The definitions below are intended for the purpose of estimating the number of Scripts in each particular technology. They do not replace or override the definition of Script as stated earlier in this Policy. MANTA made a substantial effort to make these definitions as accurate as possible, however it is not feasible to make them conform exactly to the Product implementation.

For an updated Policy containing script definitions for newly introduced technologies and other updates, please contact your account executive or send an email to: legal@getmanta.com.

3. CURRENTLY SUPPORTED TECHNOLOGIES

Teradata – MANTA Flow supports data dictionaries, SQL, BTEQ, stored procedures, macros, TPT, and database query logs.

Definition of Script
These analyzed objects extracted from the database count as Scripts:
• Views
• Macros
• Stored procedures (only SQL)
Files that contain the following code provided to Manta Flow count as Scripts:
• SQL code
• BTEQ code
• TPT code

How to indicatively count the number of Scripts
SQL, BTEQ and TPT scripts should be counted as the number of files with SQL, BTEQ and TPT code on the filesystem. Customer can use this command to count in-database objects:

SELECT d.DatabaseName, t.TableKind, count(1)
FROM dbc.TVM as t JOIN dbc.DBase as d on t.DatabaseId = d.DatabaseId
WHERE t.TableKind in (‘V’,’M’,’P’)
GROUP BY d.DatabaseName, t.TableKind
;

Oracle – MANTA Flow supports data dictionaries, SQL, PL/SQL, stored procedures, packages, functions, and triggers.

Definition of “Script”
These analyzed objects extracted from the database count as Scripts:
• Views and Materialized views
• Procedures
• Functions (user defined)
• Triggers
• PL/SQL packages (body)
• PL/SQL types (body)
Files that contain the following code provided to Manta Flow count as Scripts:
• SQL code
• PL/SQL code

How to indicatively count the number of Scripts
SQL and PL/SQL scripts should be counted as the number of files with SQL and PL/SQL code on the filesystem. Customer can use this command to count in-database objects:

select owner, count(1)
from dba_objects
where object_name not like ‘SYS_PLSQL_%’
and (
(
object_type in (‘PROCEDURE’,’PACKAGE BODY’,’TRIGGER’,’VIEW’,’FUNCTION’,’TYPE BODY’)
and status = ‘VALID’
) or (
object_type = ‘MATERIALIZED VIEW’
)
)
group by owner;

Microsoft SQL Server – MANTA Flow supports Microsoft PDW, Azure SQL Database, Azure SQL Data Warehouse. Among those, it supports data dictionaries, SQL, T-SQL, stored procedures, functions, and triggers.

Definition of Script
These analyzed objects extracted from the database count as Scripts:
• Views
• Procedures
• Functions (user defined)
• Triggers
Files that contain the following code provided to Manta Flow count as Scripts:
• SQL code
• T-SQL code

How to indicatively count the number of Scripts
SQL and T-SQL scripts should be counted as the number of files with SQL and T-SQL code on the filesystem. Customer can use this command to count global objects (a need to run the query once for each SQL Server instance included):

select count(1) from sys.server_triggers WHERE type = ‘TR’

Customer can use this command to count database-bound objects (a need to run the query in every database included):

select
(select count(1) from INFORMATION_SCHEMA.ROUTINES where ROUTINE_TYPE in (‘PROCEDURE’, ‘FUNCTION’)) +
(select count(1) from INFORMATION_SCHEMA.VIEWS) +
(select count(1) from sys.triggers WHERE type = ‘TR’)

SAP ASE (former Sybase ASE) – MANTA Flow supports data dictionaries, SQL, T-SQL, stored procedures, functions, and triggers. Please note that we do not support SAP IQ.

Definition of Script
These analyzed objects extracted from the database count as Scripts:
• Views
• Procedures
• Functions (user defined)
• Triggers
Files that contain the following code provided to Manta Flow count as Scripts:
• SQL code
• T-SQL code

How to indicatively count the number of Scripts
SQL and T-SQL scripts should be counted as the number of files with SQL and T-SQL code on the filesystem. Customer can use this command to count database-bound objects (run the query in every database included):

select count(1) from sysobjects WHERE type in (‘V’, ‘P’, ‘TR’)

Hive – MANTA Flow supports data dictionaries and HiveQL.

Definition of Script
These analyzed objects extracted from the database count as Scripts:
• Views
Files that contain the following code provided to Manta Flow count as Scripts:
• SQL code
• Hive QL code

How to indicatively count the number of Scripts
SQL and Hive QL scripts should be counted as the number of files with SQL and Hive QL code on the filesystem.
To list views in Hive (2.3.0+):

SHOW VIEWS [in/from ]
To count views directly in the underlying metastore database:
select count(1) from tbls where tbl_type = ‘VIRTUAL_VIEW’

IBM Netezza – MANTA Flow supports NZPLSQL scripts, stored procedures, and views from IBM Netezza.

Definition of Script
These analyzed objects extracted from the database count as Scripts:
• Views
• Procedures
Files that contain the following code provided to Manta Flow count as Scripts:
• SQL code
• NZPLSQL code

How to indicatively count the number of Scripts
SQL and NZPLSQL scripts should be counted as the number of files with SQL and NZPLSQL code on the filesystem.
This is the command customer may use to count in-database objects (a need to run the query in every database included):

select (
(select count(distinct procedure) from _v_procedure where UPPER(OBJTYPE) = ‘PROCEDURE’ and BUILTIN = false) +
(select count(1) from _v_view where UPPER(OBJTYPE) in (‘VIEW’, ‘MATERIALIZED VIEW’))
)

IBM DB2 – MANTA Flow supports data dictionaries, scripts, stored procedures, SQL, modules, functions, triggers, and Oracle compatibility mode.

Definition of Script
These analyzed objects extracted from the database count as Scripts:
• Views
• Procedures
• Functions (stand-alone as well as module-and type-bound methods)
• Triggers
• Packages (body)
Files that contain the following code provided to Manta Flow count as Scripts:
• SQL code
• PL/SQL code

How to indicatively count the number of Scripts
SQL and PL/SQL scripts should be counted as the number of files with SQL and PL/SQL code on the filesystem.
This is the command customer may use to count in-database objects:

values (
(select count(1) from SYSCAT.ROUTINES where ORIGIN <> ‘S’ and OWNERTYPE <> ‘S’) +
(select count(1) from SYSCAT.TRIGGERS where OWNERTYPE <> ‘S’) +
(select count(1) from SYSCAT.TABLES where TYPE IN (‘V’, ‘W’) AND OWNERTYPE <> ‘S’) +
(select count(1) from SYSCAT.MODULES where OWNERTYPE <> ‘S’ and MODULETYPE = ‘P’)
)

PostgreSQL, Greenplum and Amazon Redshift – MANTA Flow supports data dictionaries, PLpgSQL scripts, views, triggers, functions, and stored procedures.

Definition of Script
These analyzed objects extracted from the database count as Scripts:
• Views
• Procedures
• Functions (user defined)
• Triggers
Files that contain the following code provided to Manta Flow count as Scripts:
• SQL code
• PLpgSQL code

How to indicatively count the number of Scripts
SQL and PLpgSQL scripts should be counted as the number of files with SQL and PLpgSQL code on the filesystem.
This command should be used in each database extracted to get the number of scripts:

SELECT schema_name, count(1) as count FROM (
SELECT n.nspname AS schema_name
FROM pg_namespace n
INNER JOIN pg_class c ON n.oid = c.relnamespace
WHERE c.relkind = ‘v’
UNION ALL
SELECT pn.nspname as schema_name
FROM pg_proc pp
LEFT JOIN pg_namespace pn on pn.oid = pp.pronamespace
INNER JOIN pg_language pl ON pp.prolang = pl.oid
WHERE lower(pl.lanname) in (‘sql’, ‘plpgsql’)
) dt
GROUP BY schema_name;

Informatica PowerCenter – MANTA Flow supports workflows, mappings, sessions, SQL overrides, repositories, and parameter files.

Definition of Script
Informatica PowerCenter Session Instance is a particular instance of a Session Definition used in a particular Workflow or Worklet definition. It is uniquely identified by its path: ///…/.
Informatica PowerCenter Session Instance hash is computed as a result of a function which has a dataflow graph generated by Manta Flow dataflow analysis for the Informatica PowerCenter Session Instance as an input. This function returns the same outputs for the same inputs, but it can return different outputs for different inputs.
Manta Flow counts each unique “Informatica PowerCenter Session Instance hash” in the whole environment as a Script.

How to indicatively count the number of Scripts
Indicative Session Instance count can be obtained from Informatica PowerCenter repository:

SELECT SUBJECT_AREA, COUNT(1) FROM INFA.REP_SESSION_INSTANCES GROUP BY SUBJECT_AREA;

Pig Latin – MANTA supports Pig Latin statements, relations, bags, tuples, and fields.

Definition of Script
These files provided to Manta Flow count as Scripts:
• Pig Latin script
• Pig Latin macro

How to indicatively count the number of Scripts
Customer can count number of files containing Pig Latin scripts and macros that should be analyzed by Manta.

Talend – MANTA Flow supports projects, jobs and subjobs, connectors, components, expressions, and SQL overrides.

Definition of Script
Talend Job hash is computed as a result of a function which has a dataflow graph generated by Manta Flow dataflow analysis for the Talend Job as an input. This function returns the same outputs for the same inputs, but it can return different outputs for different inputs.
Manta Flow counts each unique “Talend Job hash” in the whole environment as a Script.

How to indicatively count the number of Scripts
Customer can count Talend jobs in the repository via Talend Studio for Data Integration or by navigating to the repository root folder via file explorer and counting the number of files with .item extensions located in the process folder and its subfolders.
For example, using Windows Command Line customer can count the number of scripts by executing:

cd
dir /S /B process\*.item | find /C /V “”

Sqoop – MANTA Flow supports Sqoop import, export, and eval jobs.

Definition of Script
These Sqoop jobs (both extracted from a database and manually provided in form of files) count as Scripts:
• Import job
• Export job
• Eval job

How to indicatively count the number of Scripts
If customer manually provides files with Sqoop jobs, it is possible to count all the calls for these jobs inside those files. (This can easily be done by counting all the non-empty lines.) If customer provides a connection to a relational database where Sqoop jobs are stored, customer can use this statement to count them:

SELECT COUNT(DISTINCT job_name) FROM SQOOP_SESSIONS;

Oracle Data Integrator – MANTA Flow support scenarios, projects, packages, and mappings.

Definition of Script
ODI Mapping hash is computed as a result of a function which has a dataflow graph generated by Manta Flow dataflow analysis for the ODI Mapping as an input. This function returns the same outputs for the same inputs, but it can return different outputs for different inputs.
Manta Flow counts each unique “ODI Mapping hash” in the whole environment as a Script.

How to indicatively count the number of Scripts
This query can be used to indicatively count number of ODI Mappings in the ODI Repository:

SELECT COUNT(*) from SNP_MAPPING where is_reusable = ‘N’;

Microsoft SQL Server Integration Services – MANTA Flow supports SSIS project and packages.

Definition of Script
SSIS Task is a task contained in an SSIS Package. Manta Flow recognize these types of SSIS Tasks:
• SQL Task
• Bulk Insert Task
• File System Task
• Dataflow Task

Microsoft SSIS Task hash is computed as a result of a function which has a dataflow graph generated by Manta Flow dataflow analysis for the SSIS Task as an input. This function returns the same outputs for the same inputs, but it can return different outputs for different inputs.
Manta Flow counts each unique “Microsoft SSIS Task hash” in the whole environment as a Script.

How to indicatively count the number of Scripts
To count the number of tasks the steps are: unzip all the project files (if using project deployment), find all the package (*.dtsx) files and count the number of occurrences of “</DTS:Executable>” inside those files, minus one for each package file.

Microsoft SQL Server Analysis Services – MANTA Flow supports tabular models, and multidimensional models.

Definition of Script
Manta Flow recognizes these objects:
• Dimension in a cube
• Table in a tabular model

Microsoft SSAS object hash is computed as a result of a function which has a dataflow graph generated by Manta Flow dataflow analysis for the dimension in a cube or the table in a tabular model as an input. This function returns the same outputs for the same inputs, but it can return different outputs for different inputs.
Manta Flow counts each unique “Microsoft SSAS object hash” in the whole environment as a Script.

How to indicatively count the number of Scripts
To count the number of dimensions in all cubes, it is necessary to count the number of occurrences of “Dimension” tag under the “Cube” tag inside *.xmla or *.bim files for SSAS multidimensional model:

xmllint –xpath “count(//*[local-name()=’Cube’]/*[local-name()=’Dimensions’]/*[local-name()=’Dimension’])” outputxml.xmla

To count the number of tables in all tabular models inside *.xmla or *.bim files for SSAS tabular model, customer can use this command:

cat outputjson.xmla | jq “first(..|select(.model?)).model.tables | length”
type outputjson.xmla | jq “first(..|select(.model?)).model.tables | length”

Microsoft SQL Server Reporting Services – MANTA Flow supports paginated reports.

Definition of Script
Microsoft SSRS Report hash is computed as a result of a function which has a dataflow graph generated by Manta Flow dataflow analysis for the SSRS report that is not a part of another SSRS report as an input. This function returns the same outputs for the same inputs, but it can return different outputs for different inputs.
Manta Flow counts each unique “Microsoft SSRS Report hash” in the whole environment as a Script.

How to indicatively count the number of Scripts
To count the number of reports, customer can run this query in customer´s SQL Server database where the SSRS catalog is stored:

SELECT count(*)
FROM dbo.Catalog catalog
WHERE type = 2;

Microsoft Excel – MANTA Flow supports XLSX and XLSM workbooks, sheets, defined names, charts, tables, pivot tables, database connections, and queries.

Definition of Script
These files provided to Manta Flow count as Scripts:
• XLSX workbook
• XLSM workbook

How to indicatively count the number of Scripts
Customer can count all XLSX and XLSM files in the repository root folder.

IBM Cognos – MANTA Flow supports reports and interactive reports (including queries with SQL), framework manager models, data modules, data sets, uploaded files and database connections.

Definition of Script
IBM Cognos Report hash is computed as a result of a function which has a dataflow graph generated by Manta Flow dataflow analysis for the IBM Cognos report. This function returns the same outputs for the same inputs, but it can return different outputs for different inputs.
Manta Flow counts each unique “IBM Cognos Report hash” in the whole environment as a Script.

How to indicatively count the number of Scripts
Customer can run the following script against the Content Store database to get an approximate number of scripts:

select count from .cmobjects where classid in (10,234)

ER/Studio – MANTA Flow supports physical models, logical models, and conceptual models.

Definition of Script
Manta Flow recognizes these ER/Studio models:
• Physical model
• Logical model

ER/Studio model hash is computed as a result of a function which has a dataflow graph generated by Manta Flow dataflow analysis for the ER/Studio model. This function returns the same outputs for the same inputs, but it can return different outputs for different inputs.
Manta Flow counts each unique “ER/Studio logical or physical model hash” in the whole environment as a Script.

How to indicatively count the number of Scripts
To count the number of logical and physical models in an ER/Studio file, customer can use this shell script:

#!/bin/bash
for i in “$@”
do
cat “$i” | tr -d ‘\015’ | # Convert CRLF Windows endings to the Unix ones
sed -ne ‘/^Model$/,/^$/p’ | # Get the CSV tables with models
sed -ne ‘/^[0-9]/p’ | # Get rid of headers, process entries. ModelType is at fourth position in the CSV, count only those models that we process (types 1,2 and 5)
awk -F’,’ ‘ BEGIN { count = 0; } { if ($4 == 1 || $4 == 2 || $4 == 5) count++ } END { print “Number of Data Models in file \”‘”$i”‘\” is ” count }’
done

SAP PowerDesigner – MANTA Flow supports physical, logical and conceptual models.

Definition of Script
Manta Flow recognizes these SAP PowerDesigner models:
• Physical model
• Logical model
• Conceptual model
SAP PowerDesigner model hash is computed as a result of a function which has a dataflow graph generated by Manta Flow dataflow analysis for the SAP PowerDesigner model. This function returns the same outputs for the same inputs, but it can return different outputs for different inputs.
Manta Flow counts each unique “SAP PowerDesigner model hash” in the whole environment as a Script.

How to indicatively count the number of Scripts
Customer can count number of .cdm, .pdm and .ldm files that should be analyzed by Manta.

Erwin – MANTA Flow supports physical, physical/logical and logical models.

Definition of Script
Manta Flow recognizes these Erwin models:
• Physical model
• Logical model
• Conceptual model
Erwin model hash is computed as a result of a function which has a dataflow graph generated by Manta Flow dataflow analysis for the Erwin model. This function returns the same outputs for the same inputs, but it can return different outputs for different inputs.
Manta Flow counts each unique “Erwin model hash” in the whole environment as a Script.

How to indicatively count the number of Scripts
To count total number of scripts used by Erwin look through all used model files (.xml) and find tag under under under (XML root) which specifies type of the model.
Type values:
1 = Logical model, counts as 1 script.
2 = Physical model, counts as 1 script.
3 = Logical/Physical model, counts as 2 scripts.

IBM InfoSphere DataStage – MANTA Flow supports parallel jobs.

Definition of Script
IBM InfoSphere DataStage Job hash is computed as a result of a function which has a dataflow graph generated by Manta Flow dataflow analysis for the IBM InfoSphere DataStage Job as an input. This function returns the same outputs for the same inputs, but it can return different outputs for different inputs.
Manta Flow counts each unique “IBM InfoSphere DataStage Job hash” in the whole environment as a Script.

How to indicatively count the number of Scripts
To count the number of jobs the steps are: find all the DataStage (*.xml) files and count the number of occurrences of “” inside those files.

Last update 2019-11-04