There is an example on JSON XDATA.
But it only describes Name mapping.
Is it possible to define somehow also a structural mapping
e..g an Array of Arrays Structure: without property names
[
[12,33], [88,44]
]
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.
There is an example on JSON XDATA.
But it only describes Name mapping.
Is it possible to define somehow also a structural mapping
e..g an Array of Arrays Structure: without property names
[
[12,33], [88,44]
]
Hi folks!
When I launch IRIS as a docker container instance, e.g. like this one:
docker run --name iris-sql -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community
And then try to connect to it e.g. via irissqlcli it says I need to change the password:
irissqlcli iris://_SYSTEM:SYS@localhost:9091/USER
Password change requiredI know that I can open Management portal http://localhost:9092/csp/sys/UtilHome.csp and change password manually, but is there a programmatic way?
Say if I have a password in a file and I can just provide it to docker instance for the change?
Assuming I have an SQL table with data, is it possible to get DML export (INSERT statements for this data)?
I followed the instructions to setup the Port Authority Report in our new IRIS instances, but noticed if I tell it to run every hour I am getting the following error message...
.png)
Here is how the report is setup...
.png)
.png)
Has anyone run into this issue? If so how do you resolve it?
Please and thanks
How to Create a XML Document from HL7 inside the BPL
The ID of the last updated record can be obtained using the SQL function LAST_IDENTITY().
* This function can be used with embedded SQL or ODBC but not with Dynamic SQL, SQL Shell, or the Management Portal's SQL interface.
Here's an example of usage with simple Embedded SQL:
InterSystems has corrected a defect that can result in Enterprise Cache Protocol (ECP) client instability under rare conditions.
The defect exists in the following products and any InterSystems offerings based on them.
Impacted versions are 2022.1.x, 2022.2, and 2022.3:
InterSystems IRIS®
InterSystems IRIS for Health™
HealthShare® Health Connect
Impacted version is 2022.2 (only for customers deploying ECP):
InterSystems HealthShare®
The issue can only occur on ECP client systems. When this issue is triggered, processes may experience a <SYSTEM> or <DATABASE> error.
Trying to make some scripts to do some IRIS initialization during startup, I noticed that iris start and particularly stop takes too much time, and it starts to many processes in the background.
nostu is mostly useless for system initialization but could help in some scenarios, such as setup passwords, but it is still too slow
irisowner@4ea1bfb50b7f:~$ time iris start iris nostu
Starting IRIS
Using 'iris.cpf' configuration file
Starting Control Process
Global buffer setting requires attention. Auto-selected 25% of total memory.
Allocated 7417MB shared memory
6002MB global buffers, 600MB routine buffers
Creating a WIJ file to hold 99 megabytes of data
InterSystems IRIS is started in single user mode.
To log into InterSystems IRIS, type:
iris session IRIS -B
real 0m0.513s
user 0m0.090s
sys 0m0.207sFor instance, I have no idea why it starts so many AUX processes, even during NOSTU. With a normal start with no extra volumes attached, just plain start, I see no reasons to have so many AUX processes as well.
2011 pts/0 S 0:00 /usr/irissys/bin/irisdb -s/usr/irissys/mgr/ -w/usr/irissys/mgr/ -cc -B -Enostu -C/usr/irissys/iris.cpf*IRIS 2052 pts/0 S 0:00 /usr/irissys/bin/irisdb WD 2053 pts/0 S 0:00 /usr/irissys/bin/irisdb GC 2054 pts/0 S 0:00 /usr/irissys/bin/irisdb JD 2055 pts/0 S 0:00 /usr/irissys/bin/irisdb AUX2 2056 pts/0 S 0:00 /usr/irissys/bin/irisdb AUX1 2057 pts/0 S 0:00 /usr/irissys/bin/irisdb AUX5 2058 pts/0 S 0:00 /usr/irissys/bin/irisdb AUX7 2059 pts/0 S 0:00 /usr/irissys/bin/irisdb AUX4 2060 pts/0 S 0:00 /usr/irissys/bin/irisdb AUX3 2061 pts/0 S 0:00 /usr/irissys/bin/irisdb AUX6 2062 pts/0 S 0:00 /usr/irissys/bin/irisdb DBXD
How to use the cmd command line to compile cls files
My general question is how to convert to a %Library.ListOfObjects to a Python "array-like" structure for use in Matplotlib.
Specifically, I have a Line Object which is comprised of a list of Points (see classes below). I want to pass the line to Python to create a Matplotlib Path.
Bonus points for converting the Point to a Python tuple!
Class geo.model.Point Extends %SerialObject
{
Property latitude As %Float(MAXVAL = 90.0, MINVAL = -90.0, SCALE = 6);
Property longitude As %Float(MAXVAL = 180.0, MINVAL = -180.0, SCALE = 6);
}
Class geo.model.looking into tenants I see this:.png)
But on the main page, I have 2 deployments that I can work with !! .png)
What is going on ??
I have an accepted tenant and want to share my deployment..png)
how is this possible?.png)
set x509 = ##class(%SYS.X509Credentials).GetByAlias("foo")
write x509,!
write x509.OwnerList,!
write x509.PrivateKey,!It works perfectly fine under Studio (eg: when called from output window) :
29@%SYS.X509Credentials
-----BEGIN RSA PRIVATE KEY-----MIIEpAIBAAKC...
However, it fails when called in the context of a CSP request. I got a stack trace when displaying content of PrivateKey :
6@%SYS.X509Credentials
0??%Admin_Secure:USE MYNAMESPACE?-e^zPrivateKeyGet+2^%SYS.X509Credentials.1^1e^^User.www.1^1B^zOnPage+7^User.
On an IRIS system, we expect the default string collation for SQL columns to be SQLUPPER. This means WHERE conditions will be case-insensitive. However, when I make a WHERE condition on a SQL procedure that returns a string, it's case sensitive.For example:
Class Sample.Person Extends %Persistent
{
Property Name As %String;
ClassMethod Test() As %String [ SqlProc ]
{
return "Abe Lincoln"
}
} If I query select * from Sample.Person where Name = 'abe lincoln', it will return results where name = "Abe Lincoln". If I query select * from Sample.Person where Sample.
This week I was able to demo a proof of concept for our FMS interface on traffic cop architecture to my team. We are working on modernizing an Interoperability production running on mirrored Health Connect instances. We deploy IRIS workloads on Red Hat OpenShift Container Platform using InterSystems Kubernetes Operator (IKO). We can define any number of replicas for the compute stateful set where each compute pod runs our Interoperability production. We introduced Horizontal Pod Autoscaler (HPA) to scale up the number of compute pods based on memory or CPU utilization.
We have a function that was written for us that allows us to create text files for logging certain aspects to the OS using %Stream.FileCharacter. We had no issues with this until we moved from AIX to Red Hat.
Now it seems the 1st time the function is called, and the file is created the permissions seem to be correct on the file. But as soon as we attempt to write another line to the file using MoveToEnd() it seems the permissions are changed on the file. I have been able to narrow the issue down to the MoveToEnd() by calling the function from different users.
InterSystems Production Monitor is a page in Management Portal to display monitoring information for the current running production. I like the page as it comes, but one size does not fit all.
On May 13, 2022 I read this post on Developer Community:
https://community.intersystems.com/post/creating-custom-monitoring-page
I agree with Mark that Production Monitor is complex. I liked the idea to create a nice clean clear monitor page.
I began to work on a Cache Server Page utilizing class methods to provide the production data.
I shared my first attempt with Mark.
InterSystems announces its fifth developer preview, as part of the developer preview program for the 2023.1 release. Many updates and enhancements have been added in 2023.1 and there are also brand-new capabilities, such as production-ready support for Columnar Storage, ability to use Bulk FHIR, and support to MacOS 13 Ventura. Additionally, a new feature to provide the ability to use Foreign Tables is being released as "experimental" and will be accessible through an Early Access Program (EAP). Some of these features or improvements may not be available in this current developer preview.
Hi Community,
Watch this video to see InterSystems IRIS in action as it is applied to real-world use cases, including business 360 and real-time analytics processing:
I'm trying to read the response to a long (indefinitely) running HTTP response with Transfer-Encoding: chunked. Ideally I'd be able to read the individual chunks from the response and do something with them as they arrive rather than needing to wait for the response to finish (because it never will) - ultimately I'm thinking to wrap these back up over a WebSocket connection which seems cleaner from an API perspective.
So far it looks like my options are:
InterSystems has corrected a defect that can cause an SQL query to return incorrect results.
The defect exists in the following products and any InterSystems offerings based on them.
Impacted versions are 2021.2, 2022.1.x, 2022.2, and 2022.3:
InterSystems IRIS®
InterSystems IRIS for Health™
HealthShare® Health Connect
Impacted version is 2022.2:
InterSystems HealthShare®
The issue can be triggered when SQL Runtime Plan Choice (RTPC) is enabled (the default) and the query contains a "truth value" WHERE ? = ?
Hi developers!
What is the way using SQL to list all the tables available in the current database/namespace?
Hi.
I have a query:
SELECT '['||Material->Sifra||'] '||Material->Opis AS Material,
SUM(MasaBlago) AS MasaBlago
FROM Tehtanje.Dokument
WHERE DatumDokumenta BETWEEN '01/01/2023' AND '04/01/2023'
AND (Material->Sifra %INLIST $LISTFROMSTRING('5,7',','))
GROUP BY Material
ORDER BY %EXACT Material
The query returns all rows where Material->Sifra is 5 or 7. That's OK.
If I want to get all rows where Material->Sifra is NOT 5 or 7 I use query:
SELECT '['||Material->Sifra||'] '||Material->Opis AS Material,
SUM(MasaBlago) AS MasaBlago
FROM Tehtanje.
Most of the databases with SQL access offers the DATE_TRUNC function or analogs. This helps to easily truncate a date by any part while keeping the DateTime in a valid format
.png)
In some testing scenarios, I need to clone the database. While I use only SQL access.
I need all data to be cloned, not mapped from the original database, and a separate database to be accessed.
Is there any way to do so?
Something like
CREATE DATABASE [Database to create]
WITH TEMPLATE [Database to copy]When using %JSONImport it seems to only report a single error, is there a way to report all the errors with out having to do multiple requests?
{
"errors": [
{
"code": 9406,
"domain": "%ObjectErrors",
"error": "ERROR #9406: Unexpected format for value of field, CurrencyCode, using Update mapping",
"id": "JSONImportError",
"params": [
"CurrencyCode",
"Update"
]
}
],
"summary": "ERROR #9406: Unexpected format for value of field, CurrencyCode, using Update mapping"
}
I've been working for some days in the connectivity between NodeJS client applications and IRIS as server using web sockets.
You can get all the information in relation to the web socket connections using IRIS as a client or as a server from this URL: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
For this example we are going to configure an asynchronous server, that would be really usefull to create a subscription manager for our productions.
In this article, I am trying to walk through my deploying step of IAM on my EC2(ubuntu).
IAM is InterSystems API Manager
you may reference to the link below to get more idea about IAM
https://docs.intersystems.com/components/csp/docbook/Doc.View.cls?KEY=PAGE_apimgr

.png)
.png)
.png)
.png)
https://community.intersystems.com/post/introducing-intersystems-api-manager
During a migration from a rather old Caché Version (2016.1) to IRIS
I met the problem to migrate Streams.
The difference in the storage Global is minimal
It's not a big effort to do it manually for a few streams.
But for some thousand streams I hope there is a tool already available.
But where?
Our ERP solution runs on different sql databases (such as ms sql and posgre). We are using the same code for all plattforms, doing database-specific changes in the db driver for each type of database.
There is one function in our program, where the user can store long text to discribe something, which is used in print and web. This text is treated/stored as html and can include pictures. The pictures in the html are stored base64 coded inside the html and the html is stored as text in a column. In other database systems, this is treated as TEXT or BLOB, and workings just fine.