Hi all,

I have a situation where I am writing to global from different processes - let's call it an Event Queue.
There is then a different process that uses $order to read through the data - the PubSub processing BP.

Sometimes the writing of this global will form part of a transaction that also insert data into other tables, using tstart and tcommit.
If there is some issue, it will roll back, and the entry written to the global will also roll back.

0 6
0 166

Can someone direct me to where in the documentation we can find how consumption may be calculated for global storage?

Caché Version2010.1
Operating SystemHP OpenVMS 8.4

EDIT: After receiving some responses, it seems I was unclear in my initial inquiry. I am looking to determine our rate of consumption of storage; however, I am having some difficulty in doing that.

0 6
0 836
Question
· Apr 4, 2018
^ISCSOAP Error Console Log

Hi.

The message is received a few times a day.

On documentation, this ^ISCSOAP^is log to service SOAP, but why send to cconsole.log?

04/04/18-01:00:00:597 (10608) 2 ^ISCSOAP in Namespace %SYS has been active for 348 day(s).
04/04/18-01:00:00:598 (10608) 2 ^ISCSOAP in Namespace X has been active for 165 day(s).

Help-me.

Tks

0 6
0 1.4K
Question
· Aug 25, 2016
Iterate through global

Let's imagine I have a global like this:

^Users(12, "SETTINGS", "IsAllowed") = 1

^Users(41, "SETTINGS", "IsAllowed") = 0

^Users(52, "SETTINGS", "IsAllowed") = 1

Now I would like to check for each user whether they are allowed, therefore I'd need to iterate through the Global. How to do that? It seems that I can't use $Order here like such:

S FF = ""
For {
S FF=$O(^Users(FF,"SETTINGS","isAllowed"))
Q:$L(FF)
W "User ",FF," is allowed",!
}

Is there any other way of doing this?

0 5
0 1.2K

Hi,

We are using CACHE 2017.2.1, I would like to retrieve data from Journal for killed global. Let say we have global name ^ EMP(123) with data and also have some child nodes and it has been killed by using cache kill command for some reason and we don't know who has executed this and when. My questions are below.

1) Can we get back the data of killed global from journal files,Is it possible or not ?

0 5
0 707

I have created a global say ^myglobal and entered some data. I am storing the name of global in databases and fetching the name based on some criteria. I am getting "^myglobal" in return from databases but i am not able to fetch the data I stored in the global.

I tried set var = result.global which gives me "^myglobal" in var. Doing WRITE var will return "^myglobal" and not the data i stored in this global.

3 5
1 375

How to find a global's original namespace ? Potentially mapped from a different namespace .

I have a global ^Custom that exists in multiple namespaces but it could mapped from namespace Drone(A) to Launch(B)

Without access to Cache management portal how to find where is my global located using cache code ?

Like if ^Custom == ^[Drone]Custom ??

0 5
0 418
Article
· Dec 20, 2021 1m read
Holiday Reading: What Lies Beneath!

For those of you who might be new to IRIS, and even those who have used Cache or IRIS for some time but want to explore beyond its usually-assumed boundaries and practices, you might want to dive into this detailed exploration of the database engine that is at its heart, and discover just what you can really do with it, going way beyond what InterSystems have done with it for you.

10 5
4 488

If a global node contains special characters, (eg : a line returns), it will be displayed like this in Portal ("System > Globals > View Global Data" panel) :

^A(1) = "this is"_$c(13,10)_"a test"

I would like to export global data to a txt file using a similar format.

I already wrote the main code (that loops on all nodes and dump them to file), the problem is how to handle special characters.
For the moment I replace them manually one by one. It works, but it's far from perfect :

1 5
0 1.9K
Question
· Mar 17, 2023
A confusing experience

During my last migration to IRIS I met this Compatibility parameter

  • NullSubscripts true
0 - Throw error when referencing a null subscript.
1 - Null subscript references do not throw an error.

The consequences are shocking. This was allowed:

2 5
0 367

Suppose we need to store millions of values temporarily, that means, we don't care about them if we lose them but our application use them to get realtime information. Should I use Cachetemp or whatever other DB without journaling enabled? If answer is Cachetemp, shouldn't be a problem if we decide to scale using App Server + ECP? I'm not sure what would happen with the app logic in such architecture as I guess I couldn't map and share cachetemp...

Any idea/suggestion?

0 5
0 993

Hi,

I like to validate some use cases and have the following question. I am relatively new to IRIS. Perhaps someone can help:

1. I have a global m[x,y,z,f] distributed across multiple sharded instances
2. I know that i can set assign computed SQL expressions to class variables using Objectscript
3. Is there a possibility in Globals API to do the same ? Set f = x + y as a computed expression in the global m[x,y,z,f] ?

a. We would want to use the global API to change f programmatically using code

0 5
0 373

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
^FromExtraMed("A02",9220)

If i try w $GET(node) it returns

^FromExtraMed("A02",9220)

If i had this hardcoded it would have got the value

0 5
0 327

Dear experts,
Please, could you help me?

Im trying import a global:

ACB> K ^GlobalManualSend
ACB> D $System.OBJ.Load("C:\Users\BNAPC\GlobalManualSend.xml")
ACB> Set sc = ##class(%Studio.Project).InstallFromGbl("^GlobalManualSend","fv")

But is returning a error about version:

Please, could you help me about it?

Thank you.

0 5
0 303

I have been trying to track down an issue we are seeing in our TEST environment with Memory usage.

We have Several BP's for years now that take a HL7 message, parse it apart, and make calls to a Custom EnsLib.SQL.OutboundAdapter to have it execute Insert/Select/Update/Delete stored procedures against a MS SQL Database via JDBC connection. We are using Microsoft's JDBC 12.2 driver to do this.

What we are seeing is that IRIS.WorkQueue globals are being defined for these calls but then the IRIS.WorkQueue is not being cleaned up and taking up large amounts of Memory.

0 5
0 92

If I were trying to access an index of a global variable, what time complexity would this operation have? My understanding of languages like Java/C++ is that arrays are stored as blocks of memory so that x[15] would have a lookup time complexity of O(1) because it just goes to (address of the array + 15) and retrieves the value stored there.

How does this work in Cache where the index of a variable isn't necessarily an integer value? If I were to have a variable like the following:

x("Adam") = "Red"

x("George") = "Blue"

x("Bryan") = "Green"

etc...

3 5
0 556