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
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. |
Link Improvements
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-PostgreSQL. |
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+Notes. |
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
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
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. |
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
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
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
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
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.html. 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+determined |
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+categorized |
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. |
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. |