検索

InterSystems 官方
· 八月 14, 2024

InterSystems IRIS & IRIS for Health 2024.3 developer preview is now available

The first developer preview of InterSystems IRIS 2024.3 and InterSystems IRIS for Health 2024.3 has been posted to the WRC developer preview site.  Containers can be found on our container registry and are tagged latest-preview.

This is a very early build in the release cycle and there aren’t any “highlight” worthy features that are complete.  They’ll start to arrive in future preview releases.

Initial documentation can be found at these links below.

Availability and Package Information

This release comes with classic installation packages for all supported platforms.  For a complete list, refer to the Supported Platforms document.

Installation packages and preview keys are available from the WRC's preview download site or through the evaluation services website (tick the "Show Preview Software" box).

讨论 (0)2
登录或注册以继续
问题
· 八月 14, 2024

Iterating ^$GLOBAL is very slow

I use the following code to loop trough all globals : 

set name=""
for
{
   set name=$order(^$GLOBAL(name))
   quit:name=""
   write name,!
}

However this is really slow : about 1second per node. 

I ran debugger, and it seems most of the time is spend in "%SYS.GD Visible" function. There is a comment that says : 
"Sees if globals in dataset are visible to our namespace"
This function loop on a global named  ^mtemp which contains lot of records (10K or more).
I have cleared global, hoping it has been filled by another process but it's not (it seems to be filled by %SYS.GD)

Why is it so slow, Is there a way to make this faster ?

5 Comments
讨论 (5)3
登录或注册以继续
问题
· 八月 14, 2024

ObjectScript ClassMethod when called from Python method always returns empty string

If anyone has experience debugging Embedded Python or has insight into why an ObjectScript method when called from a Python method would not work but would work when called directly via ObjectScript or in a Python shell, your help would be appreciated! 

We have an ObjectScript ClassMethod called GetTemplateString() which takes in a templateName of String type and uses the template name to get the template object, access the Code, and read the code into a templateString. The string version of the Code is returned.

ClassMethod GetTemplateString(templateName As %String) As %String
{
    set template = ##class(%Library.RoutineMgr).%OpenId(templateName)
    set templateString = template.Code.Read()
    return templateString
}

This method works as expected when called directly from ObjectScript in an IRIS terminal and also works when called directly from an IRIS terminal in the Python shell. In both cases the expected string value of the template Code contents is returned.

However, we need to call the GetTemplateString method from inside a Language = python type ClassMethod. When we call the method from within the Python class using iris.cls() an empty string is the returned value for templateString. 

ClassMethod MergeInternal(templateName As %String, templateString As %String) As %Stream.Object [ Language = python ]
{
    import iris
    class IRISLoader:
        def load_text(self, name):
            # for some reason, when called from a Python method the below method always returns an empty string.
            templateString = iris.cls('pkg.isc.airspeed.API').GetTemplateString(name)
            return templateString
        def load_template(self, name):
            template = Template(self.load_text(name), filename=name)
            return template
...
}

In debugging, we have confirmed using CodeGetSwizzled(1) that the Code has been swizzled, but Code when Read() always returns an empty string when called in this way. We are unsure why this is happening when the method is called from within the python ClassMethod.

Does anyone have ideas or insight that could assist us in our debugging efforts? Thank you!

2 Comments
讨论 (2)1
登录或注册以继续
摘要
· 八月 14, 2024

InterSystems Community Q&A Monthly Newsletter #39

Top new questions
Can you answer these questions?
#InterSystems IRIS
#InterSystems IRIS for Health
Setting EnsLib.SQL.Snapshot = "" vs EnsLib.SQL.Snapshot.Clean()
By Scott Roth
Create FHIR Foundation Namepsace and SQL Privilege Exception
By Ruiyan Yu
FHIR infostructure for those connecting to External FHIR Repository
By Scott Roth
IRIS Health 'Universe DB' configuration
By Robert Driver
Using .Net to call the GetStateBySystem function from SYS.DataCheck in IRIS 2022.1
By Guy Gelin
System Hangs when Withdrawing from License Domain
By Mark Dawson
Exporting all Patient SDA to file
By Cristiano Silva
VS Code Connection
By Neerav Adam Verma
how to get CpuID and diskid
By water huang
Avoid duplicate resources in FHIR
By Anne Luzignan
Cold Backup via Batchfile on Windows Server
By Erik Wickop
How to get value from Zenpage component from Chrome/edge addon JS
By Mark OReilly
Convert IRIS DynamicArray to Python list
By Ashok Kumar
Index Build uses SetMapSelectability 
By Ashok Kumar
Automation Testing through gherkin
By Jignesh Patel
SQL Gateway getClob() errors in Redshift and Postgresql
By Don Martin
Java 21 support
By David Foard
#Ensemble
#Caché
#Health Connect
#HealthShare
#39Monthly Q&A fromInterSystems Developers
文章
· 八月 14, 2024 阅读大约需 1 分钟

QuinielaML - Predicciones de la 1ª jornada de la Quiniela

¡Vuelve la liga de fútbol y vuelve la Quiniela! Y fieles a nuestra tradición, aquí tenemos la primera predicción de la Quiniela de la temporada 2024/25.

Veamos los partidos que forman parte de la 1ª jornada de la Quiniela:

Aquí tenemos la predicción generada por QuinielaML para la Primera División:

Y para Segunda División:

Por lo que la Quiniela resultante será la siguiente:

¡Venga! A ver si empezamos con fuerza esta temporada.

¡Mucha suerte a todos!

讨论 (0)1
登录或注册以继续