Skip to content
搜索以了解InterSystems产品和解决方案,职业机会等。

Alert: Outer Join Query Results

June 25, 2018 – Alert: Outer Join Query Results

InterSystems has corrected two defects that can cause SQL outer joins to return incorrect results. These defects can also impact DeepSeein Caché and Ensemble, as well as InterSystems Business Intelligence in InterSystems IRIS; in these cases, building and synchronizing some analytic models may result in build errors.

These issues exist on all platforms for the following released InterSystems Data Platform products:

  • InterSystems IRIS Data Platform 2018.1.1
  • Caché and Ensemble 2017.2.0 and 2017.2.1
  • HealthShare Health Connect 15.03 on Ensemble 2017.2.0.744.0
  • HealthShare Health Connect 15.03 on Ensemble 2017.2.1.801.0
  • HealthShare Health Connect 15.031 on Ensemble 2017.2.1.801.3.18095

Queries with an OUTER JOIN that Use TOP with ORDER BY

The first defect appears in queries that use an OUTER JOIN together with TOP with ORDER BY. The defect results in either extra rows being returned or the query never completing. A query is susceptible to this defect when there are NULL rows in the outer table. An example of a query that could experience the problem is:
SELECT TOP 1 E.Name, C.Name As CompanyName
FROM Sample.Employee E
LEFT OUTER JOIN Sample.Company C ON E.Company = C.Id
ORDER BY E.Name

Queries with multiple OUTER JOINs that use Read Committed Mode

The second defect appears in queries with multiple OUTER JOINs that use Read Committed Mode. In join conditions where there is no matching data in the outer table the row is erroneously omitted from the results.

For details on Read Committed Mode, please refer to the section “ISOLATION LEVEL in Effect” in the SET TRANSACTION page of the InterSystems SQL Reference.

Either of the following queries could return incorrect results:
SELECT Name, Spouse->Name As SpouseName,
Company->CompanyName As CompanyName
FROM Sample.Employee
WHERE ID = ?

SELECT E.Name, S.Name As SpouseName, C.Name As CompanyName
FROM Sample.Employee E
LEFT OUTER JOIN Sample.Person S ON E.Spouse = S.Id
LEFT OUTER JOIN Sample.Company C ON E.Company = C.Id
WHERE E.ID = ?

Since InterSystems Business Intelligence and DeepSee use Read Committed Mode, this defect may be triggered when building and synchronizing cubes.  In this case, the issue results in the following error:
ERROR #5001: Error fetching row: (100)

 Availability of Corrections

The corrections for these defects are identified as TRW1600, TRW1605, TRW1610, and HSU250.  These will be included in all future releases of InterSystems IRIS, Caché, Ensemble, and HealthShare. These corrections are also available via Ad hoc distribution from InterSystems Worldwide Response Center (WRC).

If you have any questions regarding this alert, please contact the Worldwide Response Center.

 

最新警报和通知

Aug 21, 2024
InterSystems 已修复了一个缺陷,在极少数情况下,该缺陷可能导致多卷数据库出现数据库损坏或 错误。只有被截断的数据库才存在风险。
Jun 03, 2024
从发布InterSystems IRIS®数据平台2022.3开始,InterSystems修改了许可证强制执行机制,以包括REST和SOAP请求。由于这种变化,在升级后,使用REST或SOAP的非处理器核数的许可证环境下,用户可能会遇到更高的许可证消耗。要确定此警报是否适用于您的InterSystems许可证,请按照下面链接的FAQ中的说明进行操作。
May 01, 2024
InterSystems has corrected an issue that can cause a small number of SQL queries to return incorrect results. See below for the specifics on impacted queries.
Nov 14, 2023
There are 10 alerts in the HealthShare HS2023-02 Alert communication. An alert summary for each issue is shown is in the table below. Details for each alert are contained in the attached document: HS2023-02-Communication.
Jun 17, 2023
InterSystems 已纠正导致进程内存使用量增加的缺陷。
May 11, 2023
InterSystems已经解决了影响Caché、Ensemble、HealthShare、InterSystems IRIS、InterSystems IRIS for Health、HealthShare HealthConnect和TrakCare的安全漏洞。 这些漏洞影响到InterSystems所有版本的产品。
Apr 28, 2023
InterSystems 已修复了一个缺陷,该缺陷可能会导致使用 IBM POWER8 或更高版本的 POWER 处理器的 AIX 系统上的数据库和Journal日志文件损坏。只有在使用数据库或Journal日志加密时才会触发此缺陷。
Apr 11, 2023
InterSystems已修复一个缺陷,该缺陷在罕见情况下会导致ECP客户端不稳定。
Apr 06, 2023
InterSystems 已修复一个导致SQL查询返回不正确结果的缺陷。该缺陷存在于以下产品和基于这些产品的任何InterSystems产品中。