Release Notes - 3.6


  • 3.6.19

    3.6.19
    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. 📝 45704
  • 3.6.18

    3.6.18
    Oracle: fixed SQL-004 warnings during link creation phase for views selecting from synonyms. 📝 45553
  • 3.6.17

    3.6.17
    Fixed added/deleted SQL objects. 📝 45227
    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

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

    3.6.16-funcrel
    Provided information about how to split source code into multiple SQL analysis units to improve analysis performance. 📝 43071
    Documented the list of supported files extensions, see https://doc.castsoftware.com/display/TECHNOS/SQL+Analyzer+-+3.6#SQLAnalyzer3.6-Supportedfileextensionsexternal link.
    Added a common metamodel category, “CAST_SQLScript_MissingProcedure_Procedure”, for Missing Procedures and SQL Missing Procedures.
    “Avoid non-indexed SQL queries” - fixes an issue causing false negative violations. 💎 1101004
    “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. 💎 101002
    “Avoid not aliased Tables” fixes an issue causing false positive violations. 💎 1101072
    “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. 💎 1101106
    “Avoid Tables without Primary Key (SQL)” - fixes an issue causing false positive violations of the rule due to an erroneous scope. 💎 1101022
    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.SQL rules and incomplete embedded SQL queries
  • 3.6.15-funcrel

    3.6.15-funcrel
    Oracle SQL*Plus scripts. Fixes false positives on the rule: “Always define column names when inserting values”. 📝 41889
    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.
    Mainframe: Access links are correctly displayed starting with Mainframe 1.0.1-funcrel.
    Mainframe: Fixes after analysis error when Cobol SQL Queries are not called by a Cobol object.
    Teradata: Fixes performance issue due to wrong detection of vendors.
    Fixed false positive for “COL_NAME in (” syntaxes. 💎 1101006
    Fixed false positive for Oracle SQL*Plus scripts. 💎 1101026
    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.Improve the resolution of Db2 for i tables/views.
    Added support for Oracle INSERT ALL statements.Oracle multi table insert statement.
  • 3.6.14-funcrel

    3.6.14-funcrel
    Fixes a missing link from procedure to the table’s column. 📝 42722
    Fixes an issue wherein “error code 3” was displayed while running SQL analyzer caused by the wrong vendor detection: Oracle instead of PostgreSQL. 📝 42712
    Fixes a missing link issue which occurred when DB2 Table was used in COBOL program with EXEC SQL statement. 📝 42626
    Fixes an analysis warning which was displayed during Run Extension at application level SQL analysis resolving queries:AttributeError: ‘NoneType’ object has no attribute ’lower’. 📝 42652
    Fixes an issue related to Informix procedure, wherein the analysis was incomplete (END EXCEPTION). 📝 42724
    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.
    Embedded SQL Queries which contain JCL statements are filtered.
    Fixed false negative on embedded SQL queries. 💎 1101076
    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.SQL Table Size and exponential notation
  • 3.6.13-funcrel

    3.6.13-funcrel
    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. 📝 42104
    Fixed message “Missing function / procedure nON, the callLink will miss” when embedded queries contain \r\n characters, e.g. : \r\nON.
    Fixed a missing table object that was marked as internal for some projects.
    Fixed missing links between “Microsoft Enterprise Library Query” objects and the procedure/table.
    Fixed error on Linux deployment: “[ERROR] no property with name: SQLScript_Metric_HasLike.like_starlike_has_no_wildcardst_with_wildcards”.
    Fixed a missing “use” link between SQL embedded queries and SQL tables.
    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 missing violation for the rule 7344 “Avoid SELECT *” when the SELECT ALL uses the following syntax: “SELECT a.*”. 💎 7344
    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”. 💎 1101000
  • 3.6.12-funcrel

    3.6.12-funcrel
    Fixed a missing inheritance link between a Type and a super Type. 📝 41966
    Fixed an issue where the SQL Artifacts were not completely analyzed. 📝 41863
    Teradata : fixed missing links between SQL Macro and SQL Tables / Views when they are not declared in the same SQL file.
    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.
    An update was made to ensure Linux path names are correctly supported.
    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.
    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).
    Fixed warning SQL-004: Analysis issue between line 119194 and 119301.
    Fixed missing access link between Cobol Program, Cobol Data and SQL Column
  • 3.6.11-funcrel

    3.6.11-funcrel
    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

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

    3.6.9-funcrel
    Removed confusing log messages logged by the SQL Analyzer during a SAP analysis. 📝 41007
    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. 📝 40970
    Fixes missing column and links to columns, when the column name is “index”.
    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 false Access Links when com.castsoftware.datacolumnaccess is installed.
    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 missing Functions / Procedures when multiple Functions / Procedures with the same name are created in multiple files.
  • 3.6.8-funcrel

    3.6.8-funcrel
    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. 📝 39404
    Fixes a false positive violation of the rule 1101106 - “Avoid tables without primary key/unique key constraint/unique index”. 📝 40525
    Fixes an issue where a Teradata SQL file is incorrectly analyzed as DB2 leading to missing objects and links. 📝 40391
    Fixes a false positive violation of the rule 7424 - “Avoid SQL queries inside a loop”. 📝 39530
    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>”. 📝 39838
    An update was made to ensure objects with duplicated CREATE statements are not displayed in the CAST Engineering Dashboard with duplicated violation bookmarks.
    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.
    Removed false positive violation for the rule “Avoid Tables without Primary Key (SQL)”. 💎 1101022
    Removed false positive violation for the rule “Avoid tables without primary key / unique key constraint / unique index”. 💎 1101106
    Removed false positive violation for the rule “Avoid using SQL queries inside a loop”. 💎 7424
    Added support of PL/SQL Subprograms, nested procedures and functions.Oracle: Support forPL/SQL Subprograms
    Post-application performance improvement for the step “Run analysis after analysis” when DDL is missing.
  • 3.6.7-funcrel

    3.6.7-funcrel
    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. 📝 39693
    Update to the documentation to add non-support of sub procedures / functions in begin/end blocks within another procedure. 📝 39476
    Fixes an issue for Oracle PL/SQL where links are not created when a procedure and functions are called from procedure. 📝 39666
    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.. 📝 39612
    Fixes an issue where a SQL Script object was not created for a DML file. 📝 39598
    Fixes an issue causing missing links between Procedures and Table objects for Microsoft SQL Server. 📝 39517
    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.SQLSCRIPT-1090
  • 3.6.6-funcrel

    3.6.6-funcrel
    Fixes an issue related to MySQL analysis. Tables were not created from SQL file even when create table syntax were available. 📝 39297
    Fixes an issue wherein wrong Synonym objects were created. 📝 37531
    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 📝 38521
    Fixes the missing links between SQL Script and Oracle Table and also SQL table. 📝 38934
    Fixes the missing links between SQL Script and Table objects leading to change in DF type. 📝 38967
    Fixes a performance issue during the “Run extensions” step at Application level while creating links from synonyms to aliased objects.
    Fixes an issue related to missing links between COBOL programs and DB2 tables.
    Fixes an issue where reference links between tables were missing when database name contained dots. Removed limitation for database names.
    Fixes a performance issue in statement for migrating SQL Server projects.
    Fixes an issue related to metric inconsistencies with AIP CORE-8.3.48-10578 for SQL Script.
    Documentation update : https://doc.castsoftware.com/display/TECHNOS/SQL+Analyzer+-+3.6#SQLAnalyzer3.6-Vendorcompatibilitymatrix-officialsupportexternal linkSupport of PostgreSQL above 13
    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.Open use/call links to all kind of SQL objects not only to SQL Analyzer objects
    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.Data Sensitive Properties at the Table level
  • 3.6.5-funcrel

    3.6.5-funcrel
    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. 📝 38142
    CREATE TYPE 2 <UNIQUE> INDEXAdd new pattern for DB2 vendor
  • 3.6.4-funcrel

    3.6.4-funcrel
    Moved the rule (1101022): “Avoid Tables without Primary Key (SQL)” to the Technical Criterion category “Robustness”. 📝 31258
    Fixed missing link from Stored Procedure to Cobol program when the EXTERNAL NAME is a string instead of identifier. 📝 38228
    Moved the rule (1101022): “Avoid Tables without Primary Key (SQL)” to the Technical Criterion category “Robustness”. 💎 1101022
  • 3.6.3-funcrel

    3.6.3-funcrel
    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? 📝 37101
    Fixes an issue causing Stored Procedure objects to not be created. 📝 37458
    Fixes an issue causing missing links from C/C++ functions to SQL tables for some SQL query objects. 📝 36841
    Fixes an issue causing missing links between Stored Procedures and Table/Stored Procedure objects. 📝 37613
    Fixes an issue where valid links to procedures were deleted leading to deleted Shell transactions. 📝 37435
    Improved bookmarks for violations related to embedded SQL in Cobol Programs.
    Fixes an issue causing missing T-SQL objects.
    Fixes an issue causing the following message in the log file: “ValueError: too many values to unpack (expected 3)”.
    Fixes an issue causing incorrect an object property value: “Don’t have primary key, unique key or unique index”.
    Avoid Cursors inside a loop (SQL) - removed false positives and added sample and remediation sample. 💎 1101084
    Avoid improperly written triangular joins with XXL tables - changed to “Critical” and increased the “Weight” to 8. 💎 1101066
    Avoid tables without primary key / unique key constraint / unique index - removed false positives for TYPE 2 unique indexes. 💎 1101106
    Avoid not aliased Tables - removed Cobol false positives. 💎 1101072
    Avoid exists and not exists independent clauses (SQL) - removed Cobol false positives. 💎 1101032
    Avoid queries using old style join convention instead of ANSI-Standard joins (SQL) - removed Cobol false positives. 💎 1101014
    Avoid non-SARGable queries - removed Cobol false positives when Cobol variable names contain the “-” operator which is misinterpreted. 💎 1101008
    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.Support for Table / Procedure like SQL objects with the same CRC
    Add call links when they are missing between SQL Named Queries objects and SQL Analyzer stored functions / procedures.Add call links for SQL Named Queries objects
  • 3.6.2-funcrel

    3.6.2-funcrel
    Issue in SQL file analysing artifacts are not getting analysed. 📝 36303
    Bad Number of occurrences for Avoid non-indexed XXL queries.
    Table having REM for the table name should be correctly created.
    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.Calculate SQL quality rules on the embedded SQL queries when there is no SQL file
    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 (;).DB2 Support SET TERMINATOR statement
  • 3.6.1-funcrel

    3.6.1-funcrel
    GDPR and PCI-DSS sensitive data are not identified
    SQL-002: Parsing issue : parse_alter_table    result.type = ‘’.join(token.text)TypeError
    Missing hasdistinct property on java method object
    Missing call links between Cobol code and SQL Triggers
    Fixed false positives 💎 1634
    Fixed missing violation on java method 💎 1101034
    When columns are not specified in the CREATE VIEW statement, retrieve them from the SELECT statement.Add columns for views when they are not specified
  • 3.6.0-funcrel

    3.6.0-funcrel
    Missing Reference link between tables linked with foreign key. 📝 35504
    Missing violation for rule (rule id: 7424): “Avoid using SQL queries inside a loop”. 📝 35564
    Analysis stuck for 12 hours at Start scanning links for Cobol ‘Run extensions after analysis’ step. 📝 35346
    Fix added/deleted FETCH links between Cobol and SQL.
    Fixed missing violation for the rule: “Avoid using SQL queries inside a loop”. 💎 7424
    Removed false positive when the PRIMARY KEY is specified in ALTER TABLE statement, after ADD column. 💎 1101022
    Added support for the ALTER TABLE statement, when the ADD column the statement specify a PRIMARY KEY.T-SQL : Added support for ALTER TABLE table_name ADD column_name_details PRIMARY KEY primary_key_details syntax
  • 3.6.0-beta2

    3.6.0-beta2
    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. 📝 34547
    Add bookmarks for foreign keys.
    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
    Tag the technical metamodel properties as “internal”, so that consumption tools can easily filter them out.
    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
    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>))”.
    Avoid Tables without Primary Key (SQL). 💎 1101022
  • 3.6.0-beta1

    3.6.0-beta1
    SQL files didn’t get Analyzed, SQL LOC decreased after migration from 8.3.29 to 8.3.40 with additional “print” stmt beginning 📝 34199
    Oracle: SQL-002 warning is logged during analysis of Oracle SYS packages.
    The SAP SQL script objects are no more created due to raise RuntimeError(‘Duplicate guid found “’ + guid + ‘” second object has fullname: “’ + fullname + ‘”’)
    Added support for INSERT IGNORE INTO.MySQL and MariaDB: INSERT IGNORE INTO
    Improved performances of the DML analysis.
    Improved performance for data exports files wrongly interpreted as mixed files: the case of INSERTs and ALTER COLUMN statements.