Release Notes - 3.6

3.6.19

Resolved Issues

Customer Ticket Id Details
45704 Fixed an issue causing some files to not be analyzed with the accompanying warning: “the file … it will not be analyzed, because it is not DDL neither DML or none of the statements are supported.”. This was due to the presence of Oracle SQL*Plus scripts.

3.6.18

Resolved Issues

Customer Ticket Id Details
45553 Oracle: fixed SQL-004 warnings during link creation phase for views selecting from synonyms.

3.6.17

Resolved Issues

Customer Ticket Id Details
45227 Fixed added/deleted SQL objects.

Other Updates

Details
Changed SQL Analysis objects GUIDs. The analysis unit name logged in the analysis log will no longer contain the numeric suffix. Eg.: a previous GUID “SQLScriptFunction?Main_sourcesDatabase_36645.CASTPUBS.STORENAME_PROC” will change to “SQLScriptFunction?Main_sourcesDatabase.CASTPUBS.STORENAME_PROC”. During the update to the new version, all SQL Analyzer GUID’s will be migrated.

3.6.16

Note

There are no functional changes in this release: this is only a change to an LTS release.

3.6.16-funcrel

Resolved Issues

Customer Ticket Id Details
43071 Provided information about how to split source code into multiple SQL analysis units to improve analysis performance.

Other Updates

Details
Added a common metamodel category, “CAST_SQLScript_MissingProcedure_Procedure”, for Missing Procedures and SQL Missing Procedures.
Documented the list of supported files extensions, see https://doc.castsoftware.com/display/TECHNOS/SQL+Analyzer+-+3.6#SQLAnalyzer3.6-Supportedfileextensionsexternal link.

Rules

Rule Id New Rule Details
1101022 FALSE “Avoid Tables without Primary Key (SQL)” - fixes an issue causing false positive violations of the rule due to an erroneous scope.
1101106 FALSE “Avoid tables without primary key / unique key constraint / unique index” - fixes an issue causing false positive violations of the rule due to an erroneous scope.
1101072 FALSE “Avoid not aliased Tables” fixes an issue causing false positive violations.
101002 FALSE “Never use SQL queries with a cartesian product on XXL Tables (SQL)” - fixes an issue causing false positive violations of the rule when tables are joined by in operators.
1101004 FALSE “Avoid non-indexed SQL queries” - fixes an issue causing false negative violations.

New Support

Summary Details
SQL rules and incomplete embedded SQL queries The analyzer has been updated to ensure that SQL rules are no longer calculated on incomplete embedded SQL queries. Where the incomplete SQL query causes a link to other objects, these will still be saved in the results.

3.6.15-funcrel

Resolved Issues

Customer Ticket Id Details
41889 Oracle SQL*Plus scripts. Fixes false positives on the rule: “Always define column names when inserting values”.

Other Updates

Details
Teradata: Fixes performance issue due to wrong detection of vendors.
Mainframe: Fixes after analysis error when Cobol SQL Queries are not called by a Cobol object.
Mainframe: Access links are correctly displayed starting with Mainframe 1.0.1-funcrel.
ADO.NET: Fixes missing link between ADO.NET query object and the table object when table is prefixed with “?”. For example: select 1 from ?.table_name.

Rules

Rule Id New Rule Details
1101026 FALSE Fixed false positive for Oracle SQL*Plus scripts.
1101006 FALSE Fixed false positive for “COL_NAME in (” syntaxes.

New Support

Summary Details
Oracle multi table insert statement. Added support for Oracle INSERT ALL statements.
Improve the resolution of Db2 for i tables/views. Added the support of tabulation in the pf/lf files. Added the support of 12 numbers at the beginning of lines in pf/lf files.

3.6.14-funcrel

Resolved Issues

Customer Ticket Id Details
42724 Fixes an issue related to Informix procedure, wherein the analysis was incomplete (END EXCEPTION).
42652 Fixes an analysis warning which was displayed during Run Extension at application level SQL analysis resolving queries:AttributeError: ‘NoneType’ object has no attribute ’lower’.
42626 Fixes a missing link issue which occurred when DB2 Table was used in COBOL program with EXEC SQL statement.
42712 Fixes an issue wherein “error code 3” was displayed while running SQL analyzer caused by the wrong vendor detection: Oracle instead of PostgreSQL.
42722 Fixes a missing link from procedure to the table’s column.

Other Updates

Details
Embedded SQL Queries which contain JCL statements are filtered.
Fixed the performance issue which occurred while analyzing Cobol and SQL sources and the production option “Save sections and paragraphs” is activated for the Mainframe Analyzer.

Rules

Rule Id New Rule Details
1101076 FALSE Fixed false negative on embedded SQL queries.

New Support

Summary Details
SQL Table Size and exponential notation Added the support of the exponential notation for values in SQL Table Size files. E.g. : schema_name.table_name=2.18978e+07. Number of rows of the table will be 21897800.

3.6.13-funcrel

Resolved Issues

Customer Ticket Id Details
42104 Oracle Server: Fixed missing link between a procedure and an object type, when a procedure’s variable has an object type as a data type.
Callee Type Caller Type Details
Procedure / Function Object Type Oracle Server: Added missing link between a procedure / function and an object type, when a procedure’s variable has an object type as a data type.

Other Updates

Details
Documentation update: PostgreSQL script example for XXL/XXS tables, which will avoid exponential notations in the .sqltablesize files - see https://doc.castsoftware.com/display/TECHNOS/SQL+Analyzer+-+working+with+XXL+or+XXS+tables#SQLAnalyzerworkingwithXXLorXXStables-PostgreSQLexternal link.
Fixed a missing “use” link between SQL embedded queries and SQL tables.
Fixed error on Linux deployment: “[ERROR] no property with name: SQLScript_Metric_HasLike.like_starlike_has_no_wildcardst_with_wildcards”.
Fixed missing links between “Microsoft Enterprise Library Query” objects and the procedure/table.
Fixed a missing table object that was marked as internal for some projects.
Fixed message “Missing function / procedure nON, the callLink will miss” when embedded queries contain \r\n characters, e.g. : \r\nON.

Rules

Rule Id New Rule Details
1101000 FALSE Fixed false positive violations of the rule 1101000 “Never use SQL queries with a cartesian product (SQL)”, where a multi table truncate statement is used, e.g.: “TRUNCATE table1, table2”.
7344 FALSE Fixed missing violation for the rule 7344 “Avoid SELECT *” when the SELECT ALL uses the following syntax: “SELECT a.*”.

3.6.12-funcrel

Resolved Issues

Customer Ticket Id Details
41863 Fixed an issue where the SQL Artifacts were not completely analyzed.
41966 Fixed a missing inheritance link between a Type and a super Type.

Other Updates

Details
Fixed missing access link between Cobol Program, Cobol Data and SQL Column
Fixed warning SQL-004: Analysis issue between line 119194 and 119301.
When a “missingtable” extension is installed and used during the analysis, com.castsoftware.sqlanalyzer will no longer generate “Missing table / view / function / procedure” messages in the log file when tables / views / functions / procedures are not delivered (the “missingtable” extension will create these non-delivered objects, therefore the log messages are redundant).
Cobol files are no longer scanned when “Cobol SQL Query” objects are created (supported in com.castsoftware.mainframe 1.1.0-funcrel). Use / Call and Access links between Cobol Programs / Sections and Paragraphs and SQL Tables Functions / Procedures and Columns will no longer be created and the links will instead be between Cobol SQL Query and SQL Tables Functions / Procedures and Columns.
An update was made to ensure Linux path names are correctly supported.
Improved support for JEE missing tables: when a “JPQL FETCH JOIN” clause is detected, a missing table object called FETCH is no longer created. See also: https://doc.castsoftware.com/display/TECHNOS/Missing+tables+and+procedures+for+JEE+-+1.0+-+Release+Notesexternal link.
Teradata : fixed missing links between SQL Macro and SQL Tables / Views when they are not declared in the same SQL file.

3.6.11-funcrel

Other Updates

Details
Fixed a post application warning that is displayed in the analysis log when loading sensitive data for missing tables (i.e. when a Missing Tables extension is being used) and where a Source Code Location is used instead instead of a ZIP file to deliver the source code in CAST Console. This issue causes Oracle Package objects to not be created as missing objects.

3.6.10-funcrel

Other Updates

Details
An improvement has been added to ensure that “built-in” and “system” SQL objects are never added as missing objects.

New Support

Summary Details
Data Sensitivity for Tables Added support for Data Sensitivity for Tables. See more details here: https://doc.castsoftware.com/display/TECHNOS/SQL+Analyzer+-+RDBMS+Table+Sensitive+Dataexternal link.

3.6.9-funcrel

Resolved Issues

Customer Ticket Id Details
40970 Fixes missing links from stored procedures when the analyzer does not completely analyse all the code, i.e. when a BEGIN .. END block is missing.
41007 Removed confusing log messages logged by the SQL Analyzer during a SAP analysis.

Other Updates

Details
Fixes missing Functions / Procedures when multiple Functions / Procedures with the same name are created in multiple files.
Improve file categorization: DML vs DDL, more details here : https://doc.castsoftware.com/display/TECHNOS/SQL+Analyzer+-+How+my+SQL+file+is+categorizedexternal link.
Fixes false Access Links when com.castsoftware.datacolumnaccess is installed.
Improved database vendor identification, more details here: https://doc.castsoftware.com/display/TECHNOS/SQL+file+Vendor+-+This+file+is+analyzed+against+XXX+variantexternal link.
Fixes missing column and links to columns, when the column name is “index”.

3.6.8-funcrel

Resolved Issues

Customer Ticket Id Details
39838 Fixes an issue where SQL table names are displayed incorrectly in the CAST Engineering Dashboard: all tables are incorrectly named “DEFAULT.<” when the schema name is a parameter, for example “<SCHEMA_NAME>”.
39530 Fixes a false positive violation of the rule 7424 - “Avoid SQL queries inside a loop”.
40391 Fixes an issue where a Teradata SQL file is incorrectly analyzed as DB2 leading to missing objects and links.
40525 Fixes a false positive violation of the rule 1101106 - “Avoid tables without primary key/unique key constraint/unique index”.
39404 Fixes an issue causing all objects to be categorised as belonging to the “master” database (and therefore ignored during the analysis) when this database is referenced in the first .SQL files to be processed.

Other Updates

Details
An update was made to ensure that “CREATE TABLE … PARTITION OF” statements are ignored during the analysis. These statements are logged as being skipped but not analyzed.
An update was made to ensure objects with duplicated CREATE statements are not displayed in the CAST Engineering Dashboard with duplicated violation bookmarks.

Rules

Rule Id New Rule Details
7424 FALSE Removed false positive violation for the rule “Avoid using SQL queries inside a loop”.
1101106 FALSE Removed false positive violation for the rule “Avoid tables without primary key / unique key constraint / unique index”.
1101022 FALSE Removed false positive violation for the rule “Avoid Tables without Primary Key (SQL)”.

New Support

Summary Details
Oracle: Support forPL/SQL Subprograms Added support of PL/SQL Subprograms, nested procedures and functions.

Performance Improvements

Summary
Post-application performance improvement for the step “Run analysis after analysis” when DDL is missing.

3.6.7-funcrel

Resolved Issues

Customer Ticket Id Details
39517 Fixes an issue causing missing links between Procedures and Table objects for Microsoft SQL Server.
39598 Fixes an issue where a SQL Script object was not created for a DML file.
39612 Fixes an issue for Oracle PL/SQL where links are not created when a procedure is called dynamically using “execute immediate” as the default value for a procedure variable..
39666 Fixes an issue for Oracle PL/SQL where links are not created when a procedure and functions are called from procedure.
39476 Update to the documentation to add non-support of sub procedures / functions in begin/end blocks within another procedure.
39693 Fixes an issue for Oracle PL/SQL where links between SQL Query and Synonym objects are added/deleted in successive snapshots with unchanged source code.

New Support

Summary Details
SQLSCRIPT-1090 Oracle PL/SQL: Add support for package nested procedures/functions. Package procedure / function with nested procedures / functions should end correctly and should be correctly analyzed. Nested procedures / functions are not created.

3.6.6-funcrel

Resolved Issues

Customer Ticket Id Details
38967 Fixes the missing links between SQL Script and Table objects leading to change in DF type.
38934 Fixes the missing links between SQL Script and Oracle Table and also SQL table.
38521 Added a SQL script to extract selected packages. See a new example in the official documentation: https://doc.castsoftware.com/display/TECHNOS/SQL+Analyzer+-+Generate+DDL+for+a+specific+Oracle+schema#SQLAnalyzerGenerateDDLforaspecificOracleschema-DDLextractionforaspecificlistofpackagesfromaspecificschemaexternal link
37531 Fixes an issue wherein wrong Synonym objects were created.
39297 Fixes an issue related to MySQL analysis. Tables were not created from SQL file even when create table syntax were available.

Other Updates

Details
Fixes an issue related to metric inconsistencies with AIP CORE-8.3.48-10578 for SQL Script.
Fixes a performance issue in statement for migrating SQL Server projects.
Fixes an issue where reference links between tables were missing when database name contained dots. Removed limitation for database names.
Fixes an issue related to missing links between COBOL programs and DB2 tables.
Fixes a performance issue during the “Run extensions” step at Application level while creating links from synonyms to aliased objects.

New Support

Summary Details
Data Sensitive Properties at the Table level Added Data Sensitive Indicator and the list of the Sensitive / Very sensitive / Highly sensitive columns when com.castsoftware.datacolumnaccess is installed and datasensitive files are delivered for SQL Tables (https://doc.castsoftware.com/display/TECHNOS/Data+Column+Access+-+2.2#DataColumnAccess2.2-Table'sproperties)external link.
Open use/call links to all kind of SQL objects not only to SQL Analyzer objects Add missing call/use links for SQL Named queries like objects for all kind of SQL objects (e.g. Oracle AIP Analyzer), not only for SQL Analyzer objects, see https://doc.castsoftware.com/display/TECHNOS/SQL+Analyzer+-+3.6#SQLAnalyzer3.6-DMLexternal link.
Support of PostgreSQL above 13 Documentation update : https://doc.castsoftware.com/display/TECHNOS/SQL+Analyzer+-+3.6#SQLAnalyzer3.6-Vendorcompatibilitymatrix-officialsupportexternal link

3.6.5-funcrel

Resolved Issues

Customer Ticket Id Details
38142 Fixes an issue where the SQL analysis was hanging during the “Start creating links for file” for a View .sql file, when the selected Table has the same name as the View.

New Support

Summary Details
Add new pattern for DB2 vendor CREATE TYPE 2 <UNIQUE> INDEX

3.6.4-funcrel

Resolved Issues

Customer Ticket Id Details
38228 Fixed missing link from Stored Procedure to Cobol program when the EXTERNAL NAME is a string instead of identifier.
31258 Moved the rule (1101022): “Avoid Tables without Primary Key (SQL)” to the Technical Criterion category “Robustness”.

Rules

Rule Id New Rule Details
1101022 FALSE Moved the rule (1101022): “Avoid Tables without Primary Key (SQL)” to the Technical Criterion category “Robustness”.

3.6.3-funcrel

Resolved Issues

Customer Ticket Id Details
37435 Fixes an issue where valid links to procedures were deleted leading to deleted Shell transactions.
37613 Fixes an issue causing missing links between Stored Procedures and Table/Stored Procedure objects.
36841 Fixes an issue causing missing links from C/C++ functions to SQL tables for some SQL query objects.
37458 Fixes an issue causing Stored Procedure objects to not be created.
37101 Document why we don’t have links between Cobol data variables and SQL columns forWHERE clauses - see https://doc.castsoftware.com/display/TECHNOS/Data+Column+Access+-+2.2#DataColumnAccess2.2-WhywedonothaveaccessReadlinksbetweenCOBOLdatavariablesandSQLcolumnsexternal link?

Other Updates

Details
Fixes an issue causing incorrect an object property value: “Don’t have primary key, unique key or unique index”.
Fixes an issue causing the following message in the log file: “ValueError: too many values to unpack (expected 3)”.
Fixes an issue causing missing T-SQL objects.
Improved bookmarks for violations related to embedded SQL in Cobol Programs.

Rules

Rule Id New Rule Details
1101008 FALSE Avoid non-SARGable queries - removed Cobol false positives when Cobol variable names contain the “-” operator which is misinterpreted.
1101014 FALSE Avoid queries using old style join convention instead of ANSI-Standard joins (SQL) - removed Cobol false positives.
1101032 FALSE Avoid exists and not exists independent clauses (SQL) - removed Cobol false positives.
1101072 FALSE Avoid not aliased Tables - removed Cobol false positives.
1101106 FALSE Avoid tables without primary key / unique key constraint / unique index - removed false positives for TYPE 2 unique indexes.
1101066 FALSE Avoid improperly written triangular joins with XXL tables - changed to “Critical” and increased the “Weight” to 8.
1101084 FALSE Avoid Cursors inside a loop (SQL) - removed false positives and added sample and remediation sample.

New Support

Summary Details
Add call links for SQL Named Queries objects Add call links when they are missing between SQL Named Queries objects and SQL Analyzer stored functions / procedures.
Support for Table / Procedure like SQL objects with the same CRC When some objects are identical (i.e. same CRC) they are now represented by a single object in CAST - i.e. they are merged. See https://doc.castsoftware.com/display/TECHNOS/SQL+Analyzer+-+How+object+identity+is+determined#SQLAnalyzerHowobjectidentityisdetermined-Similartable/procedurelikeobjectsexternal link.

3.6.2-funcrel

Resolved Issues

Customer Ticket Id Details
36303 Issue in SQL file analysing artifacts are not getting analysed.

Other Updates

Details
Table having REM for the table name should be correctly created.
Bad Number of occurrences for Avoid non-indexed XXL queries.

New Support

Summary Details
DB2 Support SET TERMINATOR statement The statement terminator is defined in the Mainframe side, and it could be any character except blank, comma (,), double quotes ("), single quote (’), left parenthesis, right parenthesis, or underscore (_): https://techdocs.broadcom.com/us/en/ca-mainframe-software/database-management/ca-sql-ease-for-db2-for-z-os/19/getting-started/operational-considerations/set-terminator-statement-support.htmlexternal link. Default value is semicolon (;).
Calculate SQL quality rules on the embedded SQL queries when there is no SQL file Client side queries - embedded SQL queries - should be analyzed always when SQL Analyzer is installed, even if the SQL files are missing. More details in the official documentation, Client Side Support topic.

3.6.1-funcrel

Other Updates

Details
Missing call links between Cobol code and SQL Triggers
Missing hasdistinct property on java method object
SQL-002: Parsing issue : parse_alter_table result.type = ‘’.join(token.text)TypeError
GDPR and PCI-DSS sensitive data are not identified

Rules

Rule Id New Rule Details
1101034 FALSE Fixed missing violation on java method
1634 FALSE Fixed false positives

New Support

Summary Details
Add columns for views when they are not specified When columns are not specified in the CREATE VIEW statement, retrieve them from the SELECT statement.

3.6.0-funcrel

Resolved Issues

Customer Ticket Id Details
35346 Analysis stuck for 12 hours at Start scanning links for Cobol ‘Run extensions after analysis’ step.
35564 Missing violation for rule (rule id: 7424): “Avoid using SQL queries inside a loop”.
35504 Missing Reference link between tables linked with foreign key.

Other Updates

Details
Fix added/deleted FETCH links between Cobol and SQL.

Rules

Rule Id New Rule Details
1101022 FALSE Removed false positive when the PRIMARY KEY is specified in ALTER TABLE statement, after ADD column.
7424 FALSE Fixed missing violation for the rule: “Avoid using SQL queries inside a loop”.

New Support

Summary Details
T-SQL : Added support for ALTER TABLE table_name ADD column_name_details PRIMARY KEY primary_key_details syntax Added support for the ALTER TABLE statement, when the ADD column the statement specify a PRIMARY KEY.

3.6.0-beta2

Resolved Issues

Customer Ticket Id Details
34547 Fixed an issue where a violation was reported for the rule “Avoid tables without Primary key” (1101022) even though the table had a foreign key. This was caused by the analyzer not supporting system-version related syntaxes (such as GENERATED ALWAYS AS ROW START/END/BEGIN/HIDDEN) at column level. These are now supported.

Other Updates

Details
Added more messages in the application level log: 1. When a table/view is missing for a SQL Named query like property, the following message is logged: “Missing table/view named <OBJECT_NAME>, the <useUpdateLink/useDeleteLink/useInsertLink/useSelectLink> will miss.”. 2. When we start analyzing a query, e.g.: “Start adding use links for the query (bookmark=Bookmark(File(<FILE_NAME>, sourceFile), <query_begin_line>, <query_begin_column>, <query_end_line>, <query_end_column>))”.
When a table is altered, renamed or dropped and the object name is not prefixed by the schema name, we try to find the best schema candidate. For details see here: https://doc.castsoftware.com/display/TECHNOS/SQL+Analyzer+-+How+object+identity+is+determinedexternal link
Tag the technical metamodel properties as “internal”, so that consumption tools can easily filter them out.
Improve DML performances and document all SQL file checks. See: https://doc.castsoftware.com/display/TECHNOS/SQL+Analyzer+-+How+my+SQL+file+is+categorizedexternal link
Add bookmarks for foreign keys.

Rules

Rule Id New Rule Details
1101022 FALSE Avoid Tables without Primary Key (SQL).

3.6.0-beta1

Resolved Issues

Customer Ticket Id Details
34199 SQL files didn’t get Analyzed, SQL LOC decreased after migration from 8.3.29 to 8.3.40 with additional “print” stmt beginning

Other Updates

Details
The SAP SQL script objects are no more created due to raise RuntimeError(‘Duplicate guid found “’ + guid + ‘” second object has fullname: “’ + fullname + ‘”’)
Oracle: SQL-002 warning is logged during analysis of Oracle SYS packages.

New Support

Summary Details
MySQL and MariaDB: INSERT IGNORE INTO Added support for INSERT IGNORE INTO.

Performance Improvements

Summary
Improved performance for data exports files wrongly interpreted as mixed files: the case of INSERTs and ALTER COLUMN statements.
Improved performances of the DML analysis.