As you know in Caché / IRIS you have the possibility to define a property as Multidimensional as documented here:
and the explanation of how to use it

Though the access is quite comfortable (in traditional COS sense) there are 2 main restrictions that hurt:

#1) It is not saved to disk unless your application includes code to save it specifically.
#2) It cannot be stored in or exposed through SQL tables
there are some more
I'll show how to overcome these limits

14 1
2 386

Out of curiosity, I was looking in ^ROUTINE global to see how routines are stored internally.

I found out that lot of nodes are displaying "~pointer" as associated value (eg: instead of a string).

What are those pointers ? My guess is that it references some cache internal structure (eg: some nodes inside a B-Tree).

Is there a easily way to see what is behind ? Are pointers useful for user globals or is this something purely internal to Cache database ?

0 1
0 102

Hello community,

is there anything special to consider when running a foundation production regarding purge jobs (Ens.Util.Tasks.Purge)? I am thinking specifically of the QuickStreams, which according to my information are stored in a temporary database until the system is restarted. Since a system reboot is much less frequent then the purges, I wonder what happens to the QuickStreams whose messages and headers have already been purged. Is there a way to view Quickstreams (not content, but rather metadata) e.g. via the Management Portal?

Thanks for your comments and hints,

0 3
0 97

Hello All,

I have a class method on the DocRepo server that needs to query the data value of a global variable on the Edge server.

I have looked at the documentation for 'Global Structure,' but I didn't find anything that helped.

Global Structure | Using Globals | InterSystems IRIS Data Platform 2022.1

I am able to access this global easily from the Edge server using the $Get function, but I need to access it from the DocRepo server.

0 8
0 244

I am using $Query to loop through a global.

When I use $GET to get the data all we get back is the global name.

How do you get the value of the global after you have looped.

Below is my example in terminal.

Thank you in advance

Set node = $Query(^FromExtraMed(""))

w node

If i try w $GET(node) it returns


If i had this hardcoded it would have got the value

0 5
0 153

Hi there have been various posts around how to clean up globals without parent data but none have gone into how you solve these issues.

Our database is approaching 600gb in size so i am looking into how to reduce this.

We use standard purge tasks.

Our cache stream class has a global size of 2463243 from running global size so it is what i would like to tackle first.

1) is there any way i can find based on my oldest message session for where most of these globals

0 3
0 299
Jonathan Wald · May 25, 2022
Data import/export

I am creating "models" that contain rows in several class tables called Model, Path, Node.

So, model 19 includes 1 row in the Model table, 11 rows in the Path table, and 10 rows in the Node table.

I'd like to write some utilities to "move" model 19 from one instance to another.

0 4
0 253

Hey InterSystems Community!

This is probably far-fetched - is there a way to get notified/get a piece of code triggered whenever the state of a global changes?

Now what could I possibly want with that? Quite simple! I would like to forward the content of a global (in this case the "FSLog" global written by the FHIR implementation) while adding timestamps to it - to create some sort of file-based logging for it.

0 9
0 195
Peter Stordiau · Feb 20, 2022
Maximum Global Size ?

Dear people,

I (really) spent hours on finding the maximum size a Global is allowed to be (for Windows, if that matters). All I seem to run into are database sizes (derived from a max number of blocks and block size), but I refuse to believe that is correct because too small to be realistic. surprise

1 11
0 359

Hello community!

I'm facing a base growth issue, which is being generated by a process and an Ensemble feature.

When executing the process of cleaning up the message queues, the Ensemble “preserves” the Streams that were part of these messages, deleting only the Header and Body. In this way the database (of one of the namespaces) has grown around 60GB per day, which has been maxing out the disk capacity.

InterSystems informed that this is a characteristic and that it is explained in the documents mentioned below.

1 2
0 447


I'm getting thousands of errors like the ones below:

2021-05-03 14:11:44 [SQLCODE: <-400>:<Ocorreu um erro fatal>] [Cache Error: <<READ>Dispatch+14^%SYS.BINDSRV>] [Location: <ServerLoop>] [Client info: <Username: KIORAS, Node Name: 3IK0VLS5UU, IP Address:, Executable Name: EXTRService.exe, Internal Function: B0>] [%protocol: <52>] $Id: //ce/2018.1.2/kernel/common/src/aclass.c#1 $ 23468 104

0 1
0 293

Hi, we suddenly noticed that one of the edge storage increased by 30% and it was due to ERROR globals which was throwing repeated error for 7 days and it consumed 35GB space. Is there a way to log the storage of edge production on daily basis and compare the increase in storage with previous day and if increase is 5% more than trigger an email to system admit to look why the storage increased suddenly.

0 3
0 208