Nueva publicación

Encontrar

InterSystems Official
· 22 mayo, 2024

Alerta: SQL Query usando “NOT %INLIST” falha ao retornar resultados

Alerta: SQL Query usando “NOT %INLIST” falha ao retornar resultados 

A InterSystems corrigiu um problema que pode causar que um pequeno número de consultas SQL retornem resultados incorretos. Veja abaixo os detalhes sobre as consultas impactadas.

Esse problema existe nas versões listadas dos seguintes produtos:

  • InterSystems IRIS® data platform
  • InterSystems IRIS for Health
  • HealthShare® Health Connect

Assim como:

  • Outros produtos InterSystems baseados nos produtos acima.

Versões Impactadas:

  • 2021.1.3, 2021.1.4
  • 2022.1.3, 2022.1.4
  • 2023.1.0, 2023.1.1, 2023.1.2, 2023.1.3
  • 2024.1.0

 

Somente as consultas com as seguintes condições podem retornar resultados errados:

  • Cláusula WHERE contendo NOT %INLIST
  • Havendo um valor NULL na lista

A correção para este defeito está definia como DP-430793 e será incluído nas versões futuras dos produtos começando com: 2022.1.5, 2023.1.4, 2024.1.0.267.2, and 2024.1.1. A correção também está disponível via distribuição de Ad hoc. 

Se você tiver alguma questão sobre este alerta, por favor contate o WRC (Worldwide Response Center). 

ATENÇÃO:  Editado em 16/05 para refletir que esse defeito foi corrigido no patch 2024.1.0.267.2 recém-lançado.

Comentarios (0)1
Inicie sesión o regístrese para continuar
Artículo
· 22 mayo, 2024 Lectura de 3 min

Overview of InterSystems IRIS® SQL usage options - Part 1

  

Hi Community,

In this series of articles, we will explore the following InterSystems SQL usage options:

  1. Embedded SQL

  2. Dynamic SQL

  3. Class Queries


SQL Overview

InterSystems SQL provides a full set of standard relational features, including the ability to define table schema, execute queries, and define and execute stored procedures. You can execute InterSystems SQL interactively from the Management Portal or programmatically from using a SQL shell interface. Embedded SQL enables you to embed SQL statements in your ObjectScript code, while Dynamic SQL enables you to execute dynamic SQL statements from ObjectScript at runtime.

 
1. Embedded SQL

Within ObjectScript, InterSystems SQL supports Embedded SQL: the ability to place an SQL statement within the body of a method (or other code). Using Embedded SQL, you can query a single record, or define a cursor and use that to query multiple records. Embedded SQL is compiled. By default, it is compiled the first time it is executed (runtime), not when the routine that contains it is compiled. Embedded SQL is quite powerful when used in conjunction with the object access capability of InterSystems IRIS.


2. Dynamic SQL

Dynamic SQL refers to SQL statements that are prepared and executed at runtime. In Dynamic SQL preparing and executing an SQL command are separate operations. Dynamic SQL lets you program within InterSystems IRIS in a manner similar to an ODBC or JDBC application (except that you are executing the SQL statement within the same process context as the database engine). Dynamic SQL is invoked from an ObjectScript program. Dynamic SQL queries are prepared at program execution time, not compilation time. 


3. Class Queries

A class query is a tool,  contained in a class and meant for use with dynamic SQL,  to look up records that meet specified criteria. With class queries, you can create predefined lookups for your application. For example, you can look up records by name, or provide a list of records that meet a particular set of conditions, such as all the flights from Paris to Madrid.


Before moving to the first option, let us create a  persistent class Demo.Person, that also extends the %Populate class to populate some data.

Class Demo.Person Extends (%Persistent, %Populate)
{
/// Person's name.
Property Name As %String(POPSPEC = "Name()") [ Required ];
/// Person's Social Security number. This is validated using pattern match.
Property SSN As %String(PATTERN = "3N1""-""2N1""-""4N") [ Required ];
/// Person's Date of Birth.
Property DOB As %Date(POPSPEC = "Date()");
/// Person's City
Property CITY As %String;
}


Run the following command to check the table data after compiling the above class:

SELECT
ID, CITY, DOB, Name, SSN
FROM Demo.Person



Now run the following command to populate 20 records:

do ##class(Demo.Person).Populate(20)

Run the select query again


We have created the table and populated it with some data. In the upcoming article, we will review Embedded SQL.

Thanks

Comentarios (0)1
Inicie sesión o regístrese para continuar
InterSystems Official
· 22 mayo, 2024

InterSystems anuncia InterSystems IRIS 2024.1.0.267.2, inclui suporte para Ubuntu 24.04

A InterSystems tem o prazer de anunciar a disponibilidade geral de

  • InterSystems IRIS Data Platform 2024.1.0.267.2
  • InterSystems IRIS for Health 2024.1.0.267.2
  • HealthShare Health Connect 2024.1.0.267.2

Esta versão adiciona suporte para o sistema operacional Ubuntu 24.04. Ubuntu 24.04 inclui kernel Linux 6.8, melhorias de segurança, junto com melhorias no instalador e na interface do usuário. InterSystems IRIS IntegratedML ainda não está disponível no Ubuntu 24.04.
 

Além disso, esta versão aborda dois defeitos em todas as plataformas:

  • Uma correção para algumas consultas SQL usando “NOT%INLIST” retornando resultados incorretos. Anteriormente, emitimos um alerta sobre esse erro.
  • Uma correção para rastreamentos de pilha incompletos em determinadas circunstâncias. 

Como obter o software

Como de costume, as versões de Manutenção Estendida (EM) vêm com pacotes de instalação clássicos para todas as plataformas compatíveis, bem como imagens de contêiner no formato de contêiner Docker. Para obter uma lista completa, consulte a página Plataformas Suportadas.

Pacotes de instalação clássicos

Os pacotes de instalação estão disponíveis na página Versões de Manutenção Estendida do WRC. Além disso, os kits também podem ser encontrados no site dos Serviços de Avaliação.

Contêineres

Imagens de contêiner das edições Enterprise e Community do InterSystems IRIS e IRIS for Health e todos os componentes correspondentes estão disponíveis na interface da web do InterSystems Container Registry.

Os contêineres são marcados como "2024.1" ou "latest-em".
 

Comentarios (0)1
Inicie sesión o regístrese para continuar
Resumen
· 22 mayo, 2024

¡Queda poco para que acabe el Concurso de Artículos! ¿A qué estás esperando?

Querido miembro de la Comunidad:

No dejes escapar los increíbles premios que están esperándote.

Algunos participantes ya han publicado sus artículos ¡Corre a verlos! 

 

Te dejamos toda la información al respecto en este post: https://es.community.intersystems.com/node/565946

Descripción del concurso: Escribe un artículo en español en la Comunidad de Desarrolladores, sobre cualquier tema relacionado con la tecnología de InterSystems.

Duración: del 6 de mayo al 2 de junio de 2024.

Premios

1. Todos los participantes ganan en el concurso de artículos técnicos de InterSystems -> Cualquier miembro de la Comunidad que participe en el concurso, recibirá un detalle de InterSystems por participar.

2. Premios de los Expertos – los artículos ganadores de esta categoría serán elegidos por expertos de InterSystems y podrán elegir en cada caso:

🥇 1er puesto: LEGO Ferrari Daytona SP3 o Banco Mágico Gringotts™ - Edición para coleccionistas. 

🥈 2do puesto: LEGO Sistema de Lanzamiento Espacial Artemis de la NASA o Chaqueta hombre Patagonia Nano Puff® Hoody.

🥉 3er puesto: Altavoz JBL Flip 6, Amazon Kindle 8G Paperwhite (Onceava generación) o Mochila Samsonite SPECTROLITE 3.0 15.6"

O como alternativacualquier ganador puede elegir un premio de una categoría inferior a la suya

Nota: Los premios están sujetos a cambiar si la disponibilidad en el país no permite su entrega.

3. Premio de la Comunidad de Desarrolladores – artículo con el mayor número de "Me gusta". La persona que gane, podrá elegir uno de estos premios:

🎁 Altavoz JBL Flip 6, Amazon Kindle 8G Paperwhite (Onceava generación) o Mochila Samsonite SPECTROLITE 3.0 15.6" 


¡Mucha suerte a todos!

Artículo
· 22 mayo, 2024 Lectura de 6 min

Tests de performance IRIS - PostgreSQL - MySQL avec Python

Il me semble que c'était hier, lorsque nous avons réalisé un petit projet en Java pour tester les performances d'IRIS, PostgreSQL et MySQL (vous pouvez consulter l'article que nous avons écrit en juin à la fin de cet article). Si vous vous souvenez bien, IRIS était supérieur à PostgreSQL et dépassait considérablement MySQL en termes d'insertions, sans grande différence au niveau des requêtes.

Comentarios (0)0
Inicie sesión o regístrese para continuar