#InterSystems IRIS

19 Followers · 5.6K Posts

InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.

Question Dan Murt · Jan 3, 2025

Hi Community,

I have a CSP page I am developing with the intent of pulling files from an SFTP site and placing them in a folder on the local network.

I am having an issue where the CSP page is catching a JS error. The error in the browser is - A JavaScript exception was caught during execution of HyperEvent: SyntaxError: Unexpected identifier 'downloading'. (However, the unexpected identifier changes after refreshing page, or after removing the Write statement with the work 'downloading' in it.)

I think I have narrowed it down to a piece of the Javascript code - 

#server(..DownloadFiles(document

9
0 300
Discussion Nick Petrocelli · Jun 21, 2024

Hello everyone, 

My team is currently developing guidance and best practices for the generation, storage, and deployment of TUNE TABLE statistics across development and production environments. With that in mind, we want to get an idea of what methods teams in the field have developed for handling this data. In particular, we’d like to know the following: 

  1. How often do you use TUNE TABLE in your development vs. production environments? 
  2. Do you utilize the $SYSTEM.SQL.Stats.Table package to generate and export TUNE TABLE statistics as files? If so: 
    1. Do you store these in source control?
3
1 297
Article Ben Spead · Jan 11, 2019 4m read

There are three things most important to any SQL performance conversation:  Indices, TuneTable, and Show Plan.  The attached PDFs includes historical presentations on these topics that cover the basics of these 3 things in one place.  Our documentation provides more detail on these and other SQL Performance topics in the links below.  The eLearning options reinforces several of these topics.  In addition, there are several Developer Community articles which touch on SQL performance, and those relevant links are also listed.

There is a fair amount of repetition in the information listed below.  The most important aspects of SQL performance to consider are:

  1. The types of indices available
  2. Using one index type over another
  3. The information TuneTable gathers for a table and what it means to the Optimizer
  4. How to read a Show Plan to better understand if a query is good or bad
3
9 1300
Question Matjaz Murko · Jan 7, 2025

Hi.

How can I prevent the error:

2024-12-27 08:05:46 [SQLCODE: <-400>:<Fatal error occurred>] [Error: <<READ>XDCall+9^%SYS.DBSRV>] [Location: <$system.IO server loop>] [Client info: <Username: Operator, Node Name: PM_MIP_SRD01, IP Address: 10.40.1.108, Executable Name: Operative.dll, Internal Function: KÂ>] [%protocol: <65>] $Id: //iris/2023.2.0/kernel/common/src/sysio.c#2 $ 3514 121

It seems that this error occours when connection on PDA is lost and established again.

Tnx.

Regards,
Matjaž

2
0 173
Announcement Jake Coulter · Jan 7, 2025

I've just stumbled across this post. I am an aspiring developer and one of my first few projects is a HL7 v2 message generator. It takes in a message template and then you can edit and create bulk messages from it. 

Simply choose which segment to edit, specify the field position and then you can add a CSV of values. test, test2 and so on. You can choose to download the messages or display them in your browser. It also provides a JSON file showing you which new values are grouped. Not sure of all the use cases but I built it for a bit of fun over a weekend!

0
1 355
Question Amirul Irfan · Dec 31, 2024

Hi everyone,

I'm trying to connect my Laravel application with the InterSystems IRIS Data Platform using ODBC.I need help setting up the ODBC connection and querying the database properly. What is the proper way to configure Laravel to work with an ODBC connection to InterSystems IRIS?

Any help would be greatly appreciated!

Thanks in advance!

1
0 196
Question Steven Henry Suhendra · Dec 17, 2024

Hello my Friends,

I have a question, I have a data like this

And I want to create a display like this, which I can put a status column beside the Item Column

The status become new, if there's no previous item, and if there's a same item after the first one, the status become Old

Does anyone could help me ?

I need to display it without subquery if possible

Thank You

Best Regards,

Steven Henry

9
0 311
Question James Hipp · Jan 6, 2025

Hello,

I was just trying to get to the bottom of a TLS config - we have an interface with a TLS config that has had 'Server certificate verification' set to 'On', however the cert file specified either did not exist or contained a cert that was expired.

 

Does anyone know what the behavior is for this typically? I would expect this to not allow traffic on the interface, however this has been working fine for a few years now with an invalid cert specified for 'Server certificate verification' and set to 'On'.

 

0
0 168
Question Andreas Schneider · Jan 2, 2025

Hi everyone,

I’m currently experimenting with the SQL Gateway Connection, CREATE FOREIGN SERVER, and the THROUGH command (IRIS Documentation). To speed up my tests, I’ve combined several DemoDataSets in a Docker container and would like to automate the creation of SQL Gateway Connections using code. 

(By the way, if you’re interested, the Docker container is available here: Demo DBs IRIS.)

To achieve this, I’m using SQL to create a connection by running a command like INSERT INTO %Library.sys_SQLConnection.

3
0 269
Article John Murray · Sep 21, 2023 1m read

Earlier this year I announced availability of a VS Code extension for coding in ObjectScript, Embedded Python or SQL using the notebook paradigm popularized by Jupyter. Today I published a maintenance release to correct a "getting started" problem.

Here's a video of the installation steps from the extension's README:

(video superseded by an update in a later comment)

Why not try it for yourself?

4
0 481
Article Theo Stolker · Jun 4, 2024 2m read

When developing a new Interoperability Production, it is quite natural that settings are initially added in the Production.

However, as soon as you want to move the Production from development to a test or staging environment, it becomes clear that some settings like HTTP Servers, IP addresses and/or ports need to be changed. In order to avoid these settings being overwritten during a redeployment later on, it is essential that you move these settings from the Production to the System Default settings.

2
8 505
Question Igor Pak · Dec 12, 2024

Dear community, my company use intersystems iris, a old version of 2019 and centos 7.9

At the moment, we are faced with a rather strange luck of iris.

Every day during working hours, we receive a error that iris primary cannot transfer the journal to the backup node.

We have availability monitoring, these errors do not affect availability in any way, but I still wanted to analyze this error.

I understand that the severity of this error is only 1, but Can someone share a diagnostic method this error?

1
0 195
Article Yuri Marx · Dec 16, 2024 2m read

The best way to list, edit, save and delete globals is using an IDE. Now, it is possible if you use VSCode. It is also possible to save globals using yaml files. Perform the following steps:

1. Get an InterSystems IRIS instance and install the application iris-global-yaml: 

zpm:USER>install iris-global-yaml

2. If you just to want an InterSystems IRIS trial for tests git clone and run on docker:

git clone https://github.com/yurimarx/iris-global-yaml.git
docker-compose up -d --build

3. Go to https://openexchange.intersystems.

11
6 513
Article Kate Lau · Jan 2, 2025 5m read

Last Chapter: Creating a REST client to get Tracks from Spotify REST API - Part4 Save the Search Result

Git link: https://github.com/ecelg/InterSystems-IRIS-as-a-Spotify-REST-client

 

OK.... based on what I have done.... I am able to 

1. Query Track information by making use of the Spotify API

2. Store the necessary data into my own album, artists, and track table

 

so.... what next?🤔 How about I set up my own REST API service on my IRIS for the other people to query my table?🤔🤨

0
0 149
Article Jani Hurskainen · Dec 31, 2024 6m read

You'll find the original text and all my Advent of Code efforts in different programming languages in https://bitbucket.org/janihur/advent-of-code/src/master/

ObjectScript code discussed here is found in https://bitbucket.org/janihur/advent-of-code/src/master/objectscript

I have been using ObjectScript only on last 1,5 years maybe 30% of my working time but the code at work is very different than in these puzzles. You can find my random code snippets and learning notes from https://github.com/janihur/objectscript-ex

This is the first time using ObjectScript during the contest.

1
0 187
InterSystems Official Timothy Leavitt · Dec 17, 2024

We have released IPM 0.9.0. I previously remarked on some of the history and reasoning here; to summarize, this is a big release for two reasons: it represents a long-overdue reunification of our internal and community-driven work around IRIS-centric ObjectScript package management, and it has some backwards incompatibilities. There are several necessary backwards incompatibilities in our roadmap, and we've lumped them together; this will not be some new norm.

Under the hood, the class naming and package structure has completely changed.

3
0 370
Article Kate Lau · Dec 31, 2024 8m read

Last Chapter: Creating a REST client to get Tracks from Spotify REST API - Part3 Get some data (e.g. Artists)

Git link: https://github.com/ecelg/InterSystems-IRIS-as-a-Spotify-REST-client

 

OK we create a method to get data and lets try to get some Tracks 😁

Now open a terminal and test the code

Run the following line

w ##class(rest.utli.requestUtli).getdata("Spotify","/search","offset=5&limit=10&query=Shape%20of%20you&type=track&market=SG")

ooooo no seems there is huge among of data returns.....😥

I would like to know what information can be found in 1 track.

0
0 154
Article Kate Lau · Dec 29, 2024 4m read

Git link: https://github.com/ecelg/InterSystems-IRIS-as-a-Spotify-REST-client

 

Recently, I come up an idea in my mind that how can I put my playlist on IRIS.🧐

At the same time, I was told to pay for my Spotify subscription💸💸... ooo.. how about to get some data from the Spotify API... so I started to do study about it.

 

Like most of the development, let's start from Documentation of  the API https://developer.spotify.com/documentation/web-api

In order to get the data, i am required to request an access token from for the token endpoint URL.🧐

curl -X POST "https://accounts.
2
2 324
Article Robert Cemper · Dec 22, 2024 3m read

I recently met an ages old issue related to code maintenance:

  • You have access to your IRIS server just over ODBC/JDBC
  • no VSCode access, no Studio access
  • no (Web-)Terminal access

But you need to take a look on Classes or Routines or Globals !!
Anyhow SQL is your friend.

  • First you need a simple table as temporary text store.
CREATE GLOBAL TEMPORARY TABLE  arcc.txt (line VARCHAR(32000))

Not a thrilling action.

  • Next you export your code to local file and import it to your table
CREATE PROCEDURE arcc.show (IN code VARCHAR()) 
  RETURNS INTEGER
  LANGUAGE OBJECTSCRIPT 
 {
	set file="code
7
9 405
Question Andreas Schneider · Nov 23, 2024

Hello everyone,

I hope you're doing well!

I wanted to share that a new JDBC driver version has been added to the iris-driver-distribution repository on GitHub. The filename is intersystems-jdbc-3.10.1.jar.

However, I noticed that the commit message doesn’t provide much information about the IRIS version this driver is associated with. Could anyone clarify if this is a final release? Is it production-ready? Additionally, are there details about the bugs it addresses or the new features it introduces?

5
0 343
Article Kate Lau · Dec 30, 2024 2m read

Last Chapter: Creating a REST client to get Tracks from Spotify REST API - Part2 Save and Refresh Token

Git link: https://github.com/ecelg/InterSystems-IRIS-as-a-Spotify-REST-client
 

Ok, now I am pretty sure i have a valid token for making query.😀

Shall we try to query something from the API.

Again, its time to go through the API document https://developer.spotify.com/documentation/web-api/tutorials/getting-started

Search for Request artist data

the suggested code is like the following

curl "https://api.spotify.
0
0 207
Article Kate Lau · Dec 30, 2024 2m read

Last Chapter:  Creating a REST client to get Tracks from Spotify REST API - Part1 Check out token

Git link: https://github.com/ecelg/InterSystems-IRIS-as-a-Spotify-REST-client

 

Ok... Now we can check out a token but it will be expired in 3600 seconds.

There are 2 questions come up🤔

1. How to save this token????🙄

2. How to refresh this token????🤨🤔 

 

Lets come back to the API document https://developer.

0
0 218
Question Undefined Undefined · Dec 26, 2024

***Restoring /opt/iris2024/mgr/user/ at 15:06:28
1 blocks restored in 0.0 seconds for this pass, 1 total restored.***Restoring /opt/iris2024/mgr/user/ at 15:06:28
1 blocks restored in 0.0 seconds for this pass, 2 total restored.***Restoring /opt/iris2024/mgr/user/ at 15:06:28
1 blocks restored in 0.0 seconds for this pass, 3 total restored.Mounting /opt/iris2024/mgr/user/
   /opt/iris2024/mgr/user/  ... (Mounted)[Journal not applied to any directory]
 

What does it mean that the last line after recovery shows 'Journal not applied to any directory '.

1
0 141
Question Jonathan Perry · Dec 17, 2024

I'm trying to use embedded python code that receives an Iris %Stream.GlobalBinary and uses image manipulation library PIL.

Because PIL can't work with IRIS %Stream, I need to convert the image to python bytes.

This process seems to have very bad performance compared to writing to a file and then loading it from a file in python.

Is there a better way to send a stream into python? The conversion code I'm using is below.

Thanks.

def iris_stream_to_bytes(stream):
	stream.Rewind()
	s = ""
	while not stream.AtEnd:
		r = stream.Read(1024)
		s += r
	b = bytearray()
	b.
5
1 310