Release Notes - 3.7
3.7.9-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|---|
50410 | Fixes an issue causing the "run extension" step to fail at application level during the analysis. |
50494 | Oracle: fixed missing links between PL/SQL stored procedures with same name when they belong to different packages. |
50131 | Fixed unexpected missing table when the table name is a parameter. E.g. : select * from ${dbschema}.${tableId}. |
50787 | Fixed missing links between Db2 views and Db2 tables. |
Other Updates
Details |
---|
Fixed missing Sensitive Data Option in V3 Imaging. |
Fixed missing table ( .net) named Release is not created. |
Fixed too many warnings SQL-001: No schema found, while the uaxdirectory seems to have the schema referenced. |
Fixed traceback raised by SQL Analyzer, for a Java Hibernate SQL Query "update from…". |
DB2 : fixed incorrect Unique Key Constraint named LABEL created when key label is specified at the table level for encryption (KEY LABEL key-label-name or NO KEY LABEL). Merge duplicate tables, having the same create statement, in different SQL files. |
Rules
Rule Id | New Rule | Details |
---|---|---|
1101038 | FALSE | Fixed false positive violations for the rule "Avoid OR conditions testing equality on the same identifier in SQL WHERE clauses" when the OR conditions are in different parentheses. |
7424 | FALSE | Fixed false positive violations for the rule "Avoid using SQL queries inside a loop" when analyzing Microsoft SQL Server source code. |
New Support
Summary | Details |
---|---|
Update vendor compatibility | Support has been added for various RDBMS: Microsoft SQL Server 2022, Oracle Server 21c and 23ai, PostgreSQL 17.x and CockroachDB 24. See also: Vendor compatibility matrix - official support. |
3.7.8-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|---|
49703 | Fixes an issue in the file "migrate_sql_project_name_in_guid.sql" causing the extension installation step to hang. |
50345 | Fixes an issue causing a missing link from Cobol SQL Query objects to Oracle function objects. |
49971 | Fixes an issue causing a missing link from Cobol SQL Query objects to Table through Synonym objects. |
Other Updates
Details |
---|
Fixes an issue causing missing links between Entity Operations / SQL Queries and Synonyms / aliased objects. |
Fixes an issue causing the the analyzer to detect the incorrect RDBMS Vendor type: DB2 for I instead of Oracle. |
Fixes an issue causing traceback warnings and duplicate GUIDs when analyzing Sybase ASE SQL files. |
Fixes an issue causing the creation of strange/not meaningful missing procedures named "{}?{}, {}'{}'{}". |
Added more information to the analysis log, specifically during the Inference Engine Queries loading step. |
Updated the documentation to improve information about the links generated by the analyzer, see: https://doc.castsoftware.com/technologies/sql/extensions/com.castsoftware.sqlanalyzer/3.7/#links . |
3.7.7-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|---|
49560 | Fixes an issue causing a false positive violation of the rule 1101000 "Never use SQL queries with a cartesian product (SQL)" for SAP Method SQL Script Functions containing a JOIN which uses the table name as a parameter, e.g. : table_name1 join :parameter_name. |
49437 | Fixes an issue causing the analyzer to fail to find the end of a SQL Server stored procedure containing XML tags in string expressions, in turn causing the remaining code in the relevant file to be analyzed as if it were part of the procedure. |
Other Updates
Details |
---|
The description of the object "SAP Method SQLScript Procedure" has been changed to "ABAP Managed Database Procedure". |
Improved the detection of Oracle variant. |
Fixes an issue causing the wrong vendor type to be detected on a Cobol file with .SQL as its extension. |
Rules
Rule Id | New Rule | Details |
---|---|---|
1101000 | FALSE | Fixes an issue causing a false positive violation of the rule 1101000 "Never use SQL queries with a cartesian product (SQL)" for SAP Method SQL Script Functions containing a JOIN which uses the table name as a parameter, e.g. : table_name1 join :parameter_name. |
New Support
Summary | Details |
---|---|
SQLSCRIPT-1386 | Added support for Missing Tables and Procedures for Java JSP projects in the com.castsoftware.jee.missingtable extension. |
SQLSCRIPT-1385 | Missing tables and procedures objects generated by this extension have been changed from the "external" to "internal" object type category. As a result of this change, objects are now visible in the Transactions > Data Entities section in CAST Imaging/Console, and in addition, where an existing application with unchanged source code is re-analyzed with this new release, the number of Data Function Points will increase. |
3.7.6-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|---|
49250 | Mainframe related analyses: Fixes an issue causing the analysis to hang during the "run extension after analysis step, within the stage "Start calculating client server quality rules". |
49242 | IBM for i related: Fixes a false Cyclomatic Complexity value for Views based on "lf" files. |
49253 | IBM for i related: Fixes a missing table issue when the table is prefixed by a schema starting with "&", e.g. : "CREATE TABLE &VAR/OTTO (COL1 INT, …);". |
48868 | Fixes an issue causing missing links between CRUD Entity and Table. |
Other Updates
Details |
---|
XXXL Mainframe application: Fixes a performance issue during the application level step for SQL Analyzer. Removed unuseful logged messages. |
Mainframe XXXL application: Fixes a performance issue during the application level step, impacting the calculation of client server quality rules. |
Fixes an issue causing the generation of an incorrect Missing Procedure object. |
Fixes an issue causing a runtime error at application level for a CTLProgram object. |
Minor update to add code "bookmarks" for monitor links. |
3.7.5-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|---|
48461 | Fixed false links from SpringData Query to Tables. |
Other Updates
Details |
---|
Fixed issue with PostgresSQL tables identified as DB2 / Oracle tables. |
Fixed Oracle built-in functions wm_concat, LISTAGG and NUMTODSINTERVAL reported as Missing Procedure. |
Fixed performance issue during application level at the step "removing UA select all properties for SQL Analyzer Objects and objects from languages having SQL Named Queries objects". |
Fixed duplicated tables when create statements are similar. |
Fixed error during application level at the step "adding missing links between SQL embedded queries and SQL Tables / Views / Procedures / Functions". |
Fixed an issue causing the property "Raw SQL Complexity" to not be generated for Java Methods. |
Fixed a performance issue in the post-application step pushing links from synonyms to aliased objects for Mainframe applications. |
3.7.4-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|---|
48078 | PostgreSQL: fixed missing SQL objects due to a misinterpreted regular expression. |
Other Updates
Details |
---|
Fixed Missing Table not created when the table belongs to system schema. |
Fixed SQL-002 warning raised by a "CREATE INDEX" statement with a column named "KEY" in the list of indexed columns. E.g. : "CREATE INDEX index_name ON table_name (column_name, KEY)". |
Cobol SQL Query: fixed a missing link to a table column object. |
Fixed LF and PF files analyzed in RPG and SQL Analyzer. |
PostgreSQL: fixed built-in functions which are created as missing procedure / table objects. |
Fixed an issue causing SQL files to be ignored (visible in com.castsoftware.sqlanalyzer 3.6.19). |
Rules
Rule Id | New Rule | Details |
---|---|---|
1101114 | TRUE | Added a new rule named Avoid "SELECT *" queries (SQL) which replaces the rule 7344: Avoid "SELECT *" queries for the SQL objects and also for the SQL Query objects. This quality rule reports the SQL artifacts containing queries using the "SELECT *" statement. It applies to DDL as well as DML, including embedded SQL in client code when materialized by a SQL Query object. Not all "SELECT *" queries are reported in violation, some of them are ignored. E.g.: SELECT * FROM a single table in VIEWs / MATERIALIZED VIEWs, CREATE TABLE AS SELECT * FROM a single table, SELECT * INTO table_name FROM a single table, EXISTS(SELECT *, NOT EXISTS(SELECT *, SELECT * EXCEPT(…). |
1101022 | FALSE | Fixed an issue causing false positive violations when the primary key is added in the same alter table statements with a default constraint, in the second position. E.g.: "ALTER TABLE table_name ADD CONSTRAINT default_name DEFAULT (default_value) FOR column_name, CONSTRAINT pk_name PRIMARY KEY (list_of_the_columns)." |
1101090 | FALSE | Fixed an issue causing false positive violations when the clustered index is added in the same alter table statements with a default constraint, in the second position. E.g.: "ALTER TABLE table_name ADD CONSTRAINT default_name DEFAULT (default_value) FOR column_name, CONSTRAINT pk_name PRIMARY KEY (list_of_the_columns) CLUSTERED". |
New Support
Summary | Details |
---|---|
SQLSCRIPT-1325 | Added Raw SQL Complexity Metric for SQL Query objects. |
SQLSCRIPT-1338 | Added a specific property named "System object" for any SQL system objects detected. |
SQLSCRIPT-1339 | When PostgreSQL objects are created without specifying any schema name, by default such objects are automatically put into a schema named "public". From now on, "public" will be considered by com.castsoftware.sqlanalyzer as the DEFAULT schema for PostgreSQL objects. |
3.7.3-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|---|
47746 | Added support for CREATE EXTERNAL TABLE statement. |
47857 | Fixed incorrect link to a table which has same name but different parent schema to the one referenced in the Dapper SQL Query object. |
Other Updates
Details |
---|
Fixed ValueError: invalid literal for int() with base 10: '100000 00270000' during table's size loading. |
Fixed missing useSelect link between FETCH Cobol Query and Table. |
Fixed missing links between JPA Query and JPA Entity Operation and SQL Tables. |
Fixed WARNING during run extensions after analysis when adding missing links between SQL embedded queries and SQL objects. |
3.7.2-funcrel
Other Updates
Details |
---|
Fixed a WARNING occurring during the run extension step after an analysis, for Mainframe applications. |
Fixed missing links between JPQL Query and SQL Table objects. |
3.7.1-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|---|
47343 | Oracle: Some SQL files, with data export / loading statements, were previously and incorrectly considered as DML. This has now been fixed. |
46682 | Fixed incorrect links created from procedure to a table named SET (MERGE INTO… UPDATE SET syntax). |
46591 | Fixed missing links between SQL Query objects and Table objects due to a crash at the application level. |
Other Updates
Details |
---|
Fixed multiple "AttributeError" issues found in in com.castsoftware.sqlanalyzer 3.6.11-funcrel. |
Fixed and removed duplicated objects. |
Oracle : Fixed SQL-004 warning. |
Rules for Cobol SQL Embedded Query objects: removed Cobol file parsing at application level. To benefit from this fix, you should use at least the version 1.1.0-funcrel of com.castsoftware.mainframe. |
Oracle: improved the process of merging duplicate objects. |
Fixed RuntimeError ("Cannot use Object.get_property() if property has not been loaded"). |
Fixed an issue causing a SQL Missing table object to not be created and a duplicate GUID message to be logged in the application level file. |
Fixed invalid Missing Procedure object when a Package Procedure with the same name also exists. |
Rules
Rule Id | New Rule | Details |
---|---|---|
1101026 | FALSE | T-SQL: fixed false positives for the rule "Always define column names when inserting values" when WITH tables hints are used. |
1101004 | FALSE | Fixed a random missing violation for the rule "Avoid non-indexed SQL queries". |
1101000 | FALSE | T-SQL: fixed false positives for the rule "Never use SQL queries with a cartesian product (SQL)" when a SELECT is used in dynamic SQL. |
1101008 | FALSE | T-SQL: fixed false positives for the rule "Avoid non-SARGable queries" when a SELECT is used in dynamic SQL. |
3.7.0-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|---|
45553 | Fixes an issue causing SQL-004 warnings for 5 files during link creation phase for an Oracle analysis. |
45635 | Fixes an issue where the analysis became stuck after the "DssRun" step finished successfully. |
45659 | Fixed tables columns reported as missing procedures. |
46125 | Fixed missing links between Cobol SQL Query and Tables. |
Other Updates
Details |
---|
Fixes an issue where some objects (Synonyms, Missing Tables) were incorrectly set as "end points" isntead of "data entities" for transaction purposes. |
Removed SQL Analyzer log messages from analysis units that are not SQL related. |
Cobol SQL Query object: fixed missing links when FETCH is used with NEXT ROWSET. |
Fixed missing links between JPQL Query and SQL Tables. |
Oracle PL/SQL scripts: a change has been implemented to ensure that a BEGIN in a PROMPT statement is no longer considered the beginning of a block statement. |
JDBC SQL Query objects: fixed incorrectly created Missing table object for CREATE TABLE statements. |
Spring JDBC Query obejcts: fixed missing links for tables that have the same name. |
CTLCode objects: fixed missing links between CTLCode and SQL Table objects when the name of the table is PRINT. |
Fixed duplicated tables. |
DotNet Enterprise Library SQL Query object: fixed an issue causing a missing Procedure. |
Fixed duplicated synonyms. |
Improved application level performance. |
Rules
Rule Id | New Rule | Details |
---|---|---|
1101026 | FALSE | Fixed false positive violation which was occurring when the table's schema name is a parameter. |
New Support
Summary | Details |
---|---|
Support for missing tables for Entity Operations | Added the support for missing tables for Entity ORM CRUD operations. You should install com.castsoftware.sqlanalyzer >= 3.7.0-funcrel if you have Entity Operations in your applications and you are already using com.castsoftware.entity >= 2.2.12-funcrel. |
Support fo IMS linking | Added support for the linking between IMS SQL Query objects and IMS DB Segment objects. Available with com.castsoftware.mainframe >= 1.4.0-alpha1 and com.castsoftware.wbslinker >= 1.7.33. |
3.7.0-beta5
Resolved Issues
Customer Ticket Id | Details |
---|---|
40693 | Fixed false positive on the rule 1101106 "Avoid tables without primary key / unique key constraint / unique index". |
41969 | Fixes an issue causing missing "belongs to" links. |
44556 | Improved links for SQL DML files: DML files are now considered as data exports only when INSERTs have static data. |
Other Updates
Details |
---|
Improved detection of DATA exports vs DML files. |
Fixed SQL-002 parsing issue raised on ALTER TABLE … RENAME statement. |
Fixed missing insert link from Spring JDBC Query to SQL Table. |
Fixed application level error. |
Rules
Rule Id | New Rule | Details |
---|---|---|
1101106 | FALSE | Fixed false positives for the rule "Avoid tables without primary key / unique key constraint / unique index". |
New Support
Summary | Details |
---|---|
ORACLE : Object Types : added call link for indirect calls | Added callLink from a Method's Type via another Method's Type when an object's method is called indirectly, via a variable. |
ORACLE : Object Types : added relyon link for parameters/variables datatypes | Added relyonLink from Type's Method to another Type/Table when parameters/variables datatypes are Type/Table Columns. |
ORACLE : Object Types : changed link type from sub Type to super Type | The link inheritLink has been changed to inheritExtendLink. |
ORACLE : Object Types : added new link between methods | Added inheritOverrideLink from a Method's Type which overrides a super Type's Method. |
Support for missing tables | Added support for missing tables for .NET/JEE ORM CRUD operations. |
Link ORM CRUD Operations with SQL Tables/Views | Moved the linking of ORM CRUD Operations with SQL Tables/Views from Universal Linker (com.castsoftware.wbslinker) to SQL Analyzer. |
3.7.0-beta4
Resolved Issues
Customer Ticket Id | Details |
---|---|
44816 | Fixed incorrect missing table object "LOCKS" created for SQL statement "USE AND KEEP UPDATE LOCKS". |
44915 | Fixed an issue causing the error "ERROR: negative substring length not allowed." |
42424 | Fixed false link between SQL Server Procedures and Db2 Tables. |
Other Updates
Details |
---|
Changed SQL Analysis objects GUID’s. 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. |
When two missing objects with same name are created one in DEFAULT the second in a named missing schema - because the object is prefixed - the one in the DEFAULT schema should be merged in the second one, from the named schema. E.g.: for the following SQL Embedded Queries: "select * from TOTO.TATA and "select * from TATA" a single Missing Table will be created : "TOTO.TATA.TATA". |
Fixed Invalid name assigned to artifact when %SCHEMA% prefix is used in SQL script. E.g. : "CREATE PROCEDURE %SCHEMA%.TOTO" … previous to the fix the SQL Procedure was named "%" and now the name is "TOTO". |
Rules
Rule Id | New Rule | Details |
---|---|---|
1101008 | FALSE | Fixed false positives / negatives for "Avoid non-SARGable queries". |
1101102 | FALSE | Fixed false negatives for "Avoid using LIKE conditions without wildcards". |
1101024 | FALSE | Fixed false negatives for "Avoid using dynamic SQL in SQL Artifacts". |
1101090 | FALSE | Fixed false positives for "Avoid Tables without a clustered Index (SQL)". |
3.7.0-beta3
Resolved Issues
Customer Ticket Id | Details |
---|---|
43979 | Fixed Trigger and Index fullnames when only the table name is prefixed. |
Other Updates
Details |
---|
Fixed random metric inconsistency for metric "Max Control Statements Nested" for duplicated objects, created in different SQL files. |
Fixed false link between a procedure and a table, when table is not in the procedure scope. |
New Support
Summary | Details |
---|---|
Add support for the Teradata statement DATABASE <DATABASE_NAME> ; |
The default session database is correctly detected. |
3.7.0-beta2
Other Updates
Details |
---|
Fixes an issue causing the creation of a "SQL Missing Table" object when a standard SQL table obejct with the same name already exists. |
Rules
Rule Id | New Rule | Details |
---|---|---|
1101006 | FALSE | Fixed a false positive violation on the rule 1101006 "Avoid non-indexed XXL SQL queries". |
1101008 | FALSE | Fixed a false positive violation on the rule 1101008 "Avoid non-SARGable queries". |
1101076 | FALSE | Fixed a missing violation for the rule 1101076 "Avoid unqualified column references". |
New Support
Summary | Details |
---|---|
New advisor: Migrate DB2 to MySQL | Added support for "Migrate DB2 to MySQL" advisor rules in com.castsoftware.sql.movetocloud extension. |
3.7.0-beta1
Resolved Issues
Customer Ticket Id | Details |
---|---|
43519 | Fixed missing Oracle procedure and package objects when the SQL file is considered as DML instead of DDL. |
Other Updates
Details |
---|
Fixed SQL-002 analysis warning for ALTER TABLE statements. |
Rules
Rule Id | New Rule | Details |
---|---|---|
1101006 | FALSE | Removed false positives when the table is filtered via a CASE statement. And also in the situation when multiple tables with the same name are matching for the selected table. |
New Support
Summary | Details |
---|---|
Added the support for new SQL file extensions. | More file extensions are supported. You can find all details in the official documentation https://doc.castsoftware.com/display/TECHNOS/SQL+Analyzer+-+3.7#SQLAnalyzer3.7-Supportedfileextensions . |