Question Dmitrii Baranov · Dec 21, 2025

I have a business service that actively reads data from a remote Postgres database. OnProcessInput opens a XDBC (actually JDBC) connection, executes an SQL query, fetches several thousand rows, iterates the resultset, and closes the connection. On each iteration I also need to update each source row in the remote database using PreparedStatement.

In other words, in every OnProcessInput call I have a long running SELECT statement and several thousands small UPDATE statements.

The problems I'm facing are:

11
0 135
Article Iryna Mykhailova · Jan 12 4m read

InterSystems IRIS is built on an architecture that separates the logical organization of data (namespaces) from its physical storage location (databases). Understanding this separation and the distinction between Namespaces and Databases is crucial for effective data management, security, and especially, high-performance data sharing.

In this article, I will discuss these foundational components and provide a practical guide on leveraging global mappings to share native data structures (globals) across different logical environments.

Databases: Physical Reality

A database represents the physical reality of where the data is stored on the disk. First and foremost, it’s a file in a file system called IRIS.dat (e.g., <Install folder>\mgr\user\IRIS.DAT). The maximum size of this file is 32TB. It is the container for all the actual data and the code. Databases are managed by the IRIS kernel, which handles caching, journaling, and transaction logging at the physical file level.

When you install InterSystems IRIS DBMS, the following databases are installed automatically:

0
2 98
Question Victor Paredes · Jan 7

Hello,

We are accessing an InterSystems Cacha database from Microsoft SQL Server using a linked server over ODBC (ODBC35). Queries are executed using OPENQUERY.

On the SQL Server side, there is a linked server property called Query Timeout. By default it is set to 0 (no timeout). We are considering setting it to 15 seconds and would like to understand how Cache behaves in this scenario.

Specifically, I would like clarification on the following points:

6
0 108
Article Jean Millette · Apr 23, 2025 7m read

I have a new project to store information from REST responses into an IRIS database. I’ll need to sync information from at least two dozen separate REST endpoints, which means creating nearly that many ObjectScript classes to store the results from those endpoints.

Could I use ChatGPT to get a headstart on creating these classes? The answer is “Yes”, which is great since this is my first attempt at using generative AI for something useful. Generating pictures of giraffes eating soup was getting kind of old….

Here’s what I did:

3
1 354
Question Ruslan K · Jan 8

Hello
How to hide a table completely in pdf generation when a row is empty?
A table has style with borders
<table group="services" removeEmpty="1" style="border:1px solid black;">
     <item field="TotalSum" suppressEmpty="1" />

     <item field="TotalAvSum" suppressEmpty="1" />
 </table>
With 
removeEmpty="1" and  suppressEmpty="1"  all data are hidden when a row is empty but top and bottom borders are remain on the page.
How to hide also table's top and bottom borders when a data row is empty?

3
0 66
Article Tani Frankel · Dec 28, 2025 6m read

Sometimes it is more convenient, more efficient, and more secure, to limit FHIR Searches per pre-defined "Lists" of Resources.

Since v2025.1 we support several List-related features in our FHIR Server.

I will highlight these here, and provide some samples.

2
1 90
Announcement Anastasia Dyubaylo · Jan 10
Hello and welcome to the December 2025 Developer Community YouTube Recap.
InterSystems Ready 2025
0
0 45
Announcement Anastasia Dyubaylo · Dec 26, 2025

Dear Community members,

We are currently performing technical work, and during this time, you may experience issues with the Developer Community portal, Developer Community AI, and search functionality:

🔹 Ask DC AI is temporarily unavailable
🔹 Search may take longer than usual or may not return results
🔹  You may experience problems with logging into the Developer Community and Open Exchange

We’re working to restore full functionality as quickly as possible. Thank you for your patience and understanding.

5
0 84
Article Jinyao · Feb 21, 2025 4m read

Motivation

I didn't know about ObjectScript until I started my new job. Objectscript isn't actually a young programming language. Compared to C++, Java and Python, the community isn't as active, but we're keen to make this place more vibrant, aren't we?

I've noticed that some of my colleagues are finding it tricky to get their heads around the class relationships in these huge projects. There aren't any easy-to-use modern class diagram tool for ObjectScript.

Related Work

I have tried relavant works:

12
5 664
Question Ashish Rathor · Jan 7

Hi Everyone!

We have an existing process (running in FIFO order), all business hosts having pool size=1.

Currently we are reading records from a file (one record at a time) then that record goes to business process for further processing and finally through the business operation. As of now we are using synchronous call in our existing code. Before processing the last record we are using hang of 50 seconds because we need to initiate a batch once the processing of last record is finished.

This process is taking too much time for a file having 0.1 million records (max records in a file).

5
0 94
Discussion Olga Zavrazhnova · Dec 10, 2025

As part of our holiday journey, it’s time to add a little cozy, fun energy to the community ✨
Welcome to the Holiday Jumper Challenge 🧣🎁

How to join:

✅ Share one festive photo in this thread. This can be:

  • you in a holiday jumper or sweater (selfies are optional, if you are not comfortable sharing!)
  • your desk / office / house decorations / tree or any cozy seasonal setup

✅ Get 50 points for participating (we will award manually on Global Masters) 🎁
Best photo win 100 extra points!
Let’s light up this thread with some cozy holiday vibe🎄💻

⬇️ Share your photo below! 

53
0 520
Question Evgeny Shvarov · Jan 4

Hi Developers!

Sometimes we need to deal with classes/tables where the primary key and the IdKey are something that is maintained by yourself.

What is the proper way to generate a new ID in case where ID is a %BigInt?

Property id As %Library.BigInt

Are there any system methods to provide it?

There is data already imported via SQL, so there is no last ID stored in ^myclassD, so I cannot do $I(^myclassD).

Thinking of:

set newid=$O(^myclassD(""),-1),newid=$I(newid)

What do you think?

34
0 203
Discussion Daniel Kutac · Dec 18, 2025

Hello community!
I have a small challenge for you :)

One of customers is sending quite a lot of messages between interoperability components, which mix standard request content and streams representing serialized JSON objects. As these JSON streams can be quite long (but not too long, just couple hundreds of characters) they would appreciate if the JSON content of stream was displayed in a nice-to-read way, using syntax highlighting by message trace view.

4
0 106
Discussion Eduard Lebedyuk · Dec 16, 2025

Time for another round of code golf!

Develop a function that performs a two-step encryption process on a given string:

  • First Step: Reverse Cipher

    • Reverse the entire input string.
    • Relocate the last character of the original string (now the first character of the reversed string) to the end.
  • Second Step: Alphabetic Index Binary Encoding

    • For each alphabetic character, determine its zero-based index in the lowercase alphabet (a-z).
    • Replace odd-indexed characters with '1' and even-indexed characters with '0'.
    • Preserve non-alphabetic characters unchanged.

Example:

17
0 298