Hi everyone.

I have a function that may end up being called from a number of transformations at the same time, and within the function there's some Embedded SQL to first check if a local table has an entry, and then adds the entry if it doesn't exist.

To prevent a race condition where the function is called by two transformations and they both end up attempting to insert the same value, I'm looking to use the table hint "WITH TABLOCK" on the insert, but this seems to be failing the syntax checks within vscode.

Are table hints supported with embedded sql?

0 4
0 149
Article
· Apr 1 1m read
How to get server/instance info

Hi all,

As part of the development an API to know what is the instance of IRIS is connected, I've found some methods to know information about the server that can help you.

Get the server name: $SYSTEM.INetInfo.LocalHostName()

Get the server IP: $SYSTEM.INetInfo.HostNameToAddr($SYSTEM.INetInfo.LocalHostName())

Get the instance name: $PIECE($SYSTEM,":",2)

2 2
0 112
Question
· Aug 22, 2024
Access to current line text

Is there a general way to set a variable XYZ equal to the text of the code line being executed now? Debugger or production. For example, for a code below if code is currently assigning a to 1, XYZ would be equal "S a=1". The same question about a variable containing current routine name.

S a=1

0 2
0 149

Hi developers,

We're hosting a User Group session for our Deltanji source control and Serenji debugger users on Wednesday, November 3rd at 11-12pm EDT / 3-4pm GMT.

We'll be showcasing some advanced features of Deltanji and Serenji in VS Code with time for a discussion - so feel free to bring along any problems you need help solving or share your feedback on our tools. We'd love to hear your thoughts.

You can find out more on Eventbrite.

Everyone is welcome. If you're interested in our tools this is a great chance to hear what others have to say, as well as asking your own questions.

We hope to see you on November 3rd!

3 0
0 151
Question
· Apr 29, 2024
IRIS Dashboard/Deepsee Queries

Hi Everyone,

We are using SQL based KPI's to display reports in IRIS dashboards. We have applied the filter functionality in these SQL based KPI reports.

I need your help for below scenario.

Below is my full report. Filter is applied on Name and Subject Name in this report.

Now I have used filter on Name and selected values 'Virat' and 'Big Show'

0 1
0 146

I'm running a query, joining nine tables together. When I run it with a SELECT COUNT(*) I get about 200,000 rows. When I run the SELECT with the columns I want, I get about 2,700 rows. Is there something inherent with the queries that limits the result set size, or anything I can do to make sure I'm getting back all the results? Rather, than trying to run it about 100 times limiting all previously gotten accounts.

0 2
0 144

I have a few routines in ^rINDEX that are missing in ^ROUTINE. At least some of those routines lack a timestamp, probably Date and Time Modified in ^rINDEX. It causes D %RO crash when such a routine is referenced by a routine range, since "" is an illegal $ZDTH value.

Healthy entry (note the timestamp): ^rINDEX("ABC,"INT") = $lb("2021-06-15 15:08:38.846885",) ;The second argument is sometimes present and sometimes not, likely the routine size.

Unhealthy entry (note an empty timestamp): ^rINDEX("DEF,"INT") = $lb("",21)

0 3
0 142

Is there a way in ObjectScript to return the OS user of the superserver? I know %SYS.ProcessQuery can find this for a given process but is there a clean way independent of a specific process ID I can find the OS user used for background jobs?

For IRIS this is usually irisusr and Caché this is usually cacheusr but may vary based on installation and upgrade history of an instance. I would find it very useful to determine programmatically if a process is running as this particular user when the username may vary.

0 12
0 132

At the moment we're creating multiple BPLs are using a router (or another BPL) to direct to these based on a unique key modulo the amount of BPLs available, e.g. if we have 3 BPLs created.

Message key = 1 mod 3 + 1 -> BPL02
Message key = 2 mod 3 + 1 -> BPL03
Message key = 3 mod 3 + 1 -> BPL01

FIFO only matters in that each messages for each key is processed in order.

1 7
0 137
Question
· Aug 28, 2024
COMPARE ROUTINES

IS IT POSSIBLE TO COMAPRE TWO ROUTINES ACCROSS INHOUSE NETWORK AND IF SO THEN WHAT IS THE PROPER SYNTAX TO USE?

SAMPLE:

K ^RICH D ##class(%Library.Routine).RoutineCompare("\\IP\C$\.......\$NAMESPACE","RTN","\\LOCALHOST\..........\$NAMESPACE","RTN","^RICH")

1 2
0 142

Does anyone know how to get the closing tab/menu changing event in a CSP? I've tried the JS "OnBeforeUnload" already but it seems the browsers aren't allowing it anymore. I need to show a pop-up that holds the user if trying to get away before completing the stage.

0 1
0 143
Question
· Jan 23, 2024
Cache ZEN Issues with MS Edge

Dear Fellow Cache Developers and Cache Experts,

The company I work for has a Cache Web Application that is built on the Cache ZEN framework. The application has run very well for almost 2 decades across many versions of MS Internet Explorer ranging from IE5 all the way through IE11.

0 0
0 142
Announcement
· Jun 10, 2021
Serenji v3.1.4 update

We’ve published an update to the Serenji debug extension for Visual Studio Code, making it ready for the Workplace Trust feature in VS Code 1.57.

This allows the Serenji ObjectScript editor to work without restrictions across all workspaces and, by bringing it in line with the VS Code update, only allows the debugging feature to be used in trusted workspaces.

3 0
1 141

Let's suppose two different routines use one and the same chunk of code. From the object-oriented POV, a good decision is to have this chunk of code in a separate class and have both routines call it. However, whenever you call code outside of the routine as opposed to calling code in the same routine, some execution speed is lost. For reports churning through millions of transactions this lost speed might be noticeable. Any advice how to optimize specifically speed?

0 14
0 125

I am looking for an installation kit: CachePCkit_x64.exe for 64 bits Windows newer than 2015.1
I have had a computercrash and needed to install Caché all over again.
Unfortunately I only had the kit from 2013 and that had just one feature missing.
I always could do anything I had to do with Caché 2015,2 and I don't need anything else.
Could somebody help me?

0 1
0 138

InterSystems FAQ rubric

Mirroring only synchronizes database files.

To synchronize other files required for your application (CSP files, images, documents, etc.) between the two servers that make up the mirror set follow one of the approaches:

  1. Place those files on a shared disk by introducing a NAS or similar device
  2. Or use file sync software to synchronize files between two servers.
2 0
0 137

Hey, So the title pretty much describes the question:
Where and How can i see the Stream that contains the response back to the client of a CSP application.

When the request is being processed and finished we return a response to the client - We do that by writing the data to a stream and that stream is sent back to the client.
I wanted to know how i can access the point right before that Data is actually written to the client back (meaning the place where the response is actually being send back, the last point of contact).

0 9
0 127
Question
· Apr 28, 2024
<NOROUTINE>zExternalFreeze

Dear experts,

I'm using a test enviroment to test freeze & thaw scripts on windows. I executed command:

..\bin\cache -s. -U%%SYS ##Class(Backup.General).ExternalFreeze()

then was saved log in cconsole:

0 1
0 134

As I was trying to create a routine search query via RoutineList, I discovered that documentation both for Cache and Iris offers only ABC* and ABC? syntax for including routine names and, unlike %RO, does not offer name ranges. Is that indeed so?

After some system files reading, I discovered that you can EXCLUDE certain routines with ', by using the 'ABC or 'ABC* syntax. That is not documented but it should be. Any other non-documented RoutineList syntax capabilities?

Example:

0 1
0 133