Rechercher

お知らせ
· 2024年11月13日

Which implemented ideas would you like to know more about?

Hi, Community!

We've had several new ideas from the Ideas portal implemented and thought that you might be curious to learn more about them in our series of articles dedicated to Implemented ideas 😉

 

So help us choose the ideas you want us to write about in the poll below.

To help you decide, here is a list of recently implemented ideas:

1 Comment
ディスカッション (1)1
続けるにはログインするか新規登録を行ってください
質問
· 2024年11月13日

Problems with url values with Studio / VScode

I'm using a server side fonts control, with the userAction method, i'm using the action 3 (to open a zenPage). passing some info on the URL.



on Studio, the new windows opens fine and blurs the url values:

But doing this with the vs code server side command, the url keeps the values:

i can't have the same behavior on the vsCode and Studio.

The method Link on CSP.Page  doesn't work.

1 Comment
ディスカッション (1)1
続けるにはログインするか新規登録を行ってください
質問
· 2024年11月13日

AutoParallel feature in SQL not working

Hello all,

We have our system with AutoParallel enabled:

USER>w ##class(%SYSTEM.SQL.Util).GetOption("AutoParallel")
1

But whenever I try to run any sql the autoparallel does not work. For example, this simple query:

When I force it with %PARALLEL we can see it will effectively run in parallel:

The total records is bigger than the threshold. So, what can go wrong? Anyone in the same situation?

9 Comments
ディスカッション (9)3
続けるにはログインするか新規登録を行ってください
記事
· 2024年11月13日 3m read

Pasarela de Lenguaje Externo de Java

Si os gusta Java y tenéis un ecosistema Java activo en el trabajo en el que necesitáis incorporar IRIS, no es un problema. La Pasarela de Lenguaje Externo de Java lo hará sin complicaciones, o casi. Esta pasarela sirve como puente entre Java y ObjectScript en IRIS. Podéis crear objetos de clases Java en IRIS y llamar a sus métodos. Solo necesitáis un archivo jar para hacerlo.

Connection diagram: proxy object <-> Gateway object <-> TCP/IP <-> External server <-> target object

Lo primero que debéis hacer es configurar el entorno. Para empezar a usar la Pasarela de Java, aseguraos de tener lo siguiente:

  1. InterSystems IRIS: Instalado y en funcionamiento.  
  2. Java Development Kit (JDK): Instalado y configurado

El segundo requisito puede parecer simple, ya que ya usáis Java en vuestro trabajo, pero no lo es. Gracias a esta cuestión, resultó que necesitáis usar la versión 11 de JDK como máximo. Esto significa que debéis cambiar la versión en vuestro IDE, lo cual puede causar bastantes complicaciones.

El siguiente paso es verificar que todo funcione e intentar instanciar el objeto de una clase del sistema de Java. Para hacer esto, tenéis que iniciar una conexión, crear un objeto proxy y llamar a un método. Suena como mucho código, pero en realidad es solo una línea:

write $system.external.getJavaGateway().new("java.util.Date").toString()

Esto imprimirá la fecha y hora actual en la pantalla.

Para ir más allá, podemos crear nuestra propia clase en Java:


public class Dish {
	private String name;
	private String description;
	private String category;
	private Float price;
	private String currency;
	private Integer calories;
	
	public void setName(String name) {
		this.name = name;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public void setCategory(String category) {
		this.category = category;
	}

	public void setPrice(Float price) {
		this.price = price;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	public void setCalories(Integer calories) {
		this.calories = calories;
	}
	
	public String describe() {
		return "The dish "+this.name+" costs "+this.price.toString()+
				this.currency+" and contains "+this.calories+" calories!";
	}
}

y llamar a sus métodos desde ObjectScript:

 set javaGate = $SYSTEM.external.getJavaGateway()
 do javaGate.addToPath("D:\Temp\GatewayTest.jar")
 set dish = javaGate.new("Dish")
 do dish.setCalories(1000)
 do dish.setCategory("salad")
 do dish.setCurrency("GBP")
 do dish.setDescription("Very tasty greek salad")
 do dish.setName("Greek salad")
 do dish.setPrice(15.2)
 write dish.describe()

Como resultado, obtendremos una cadena con la descripción del plato creado:

The dish Greek salad costs 15.2GBP and contains 1000 calories!

En Español: El plato Ensalada Griega cuesta 15,2 GBP y contiene 1000 calorías.

De todos modos, aprendéis más sobre el uso de las Pasarelas en la Documentación y ¡buena suerte implementando este conocimiento en vuestros proyectos!

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
質問
· 2024年11月13日

Charting lineage across views and statements

Hi,

A customer today asked whether we could offer anything like the nice lineage charts that dbt offers, based on SQL view metadata. They are very much aware of our dbt-iris adapter, but were asking in the context of their landing area, which combines foreign tables and views, ahead of possibly using dbt for onward transformations.

I didn't have anything to point at right away, but was wondering if any creative minds in the Developer Community would have looked into something like this, and used any data viz libraries to feed on the DependsOn keyword for SQL view classes that point at the tables they depend on. And while we're at it, a similar (or combined) type of analysis could be made for query statements as a whole, drawing from the INFORMATION_SCHEMA.STATEMENT_RELATIONS table. I'm curious if this resonates with the audience here, and if someone would have particular suggestions wrt the graphics libraries one might use to implement this.

Thanks,
benjamin

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください