Date range queries going too slow for you? SQL Performance got you down? I have one weird trick that might just help you out! (SQL Developers hate this!)*

If you have a class that records timestamps when the data is added, then that data will be in sequence with your IDKEY values - that is, TimeStamp1 < TimeStamp2 if and only if ID1 < ID2 for all IDs and TimeStamp values in table - then you can use this knowledge to increase performance for queries against TimeStamp ranges. Consider the following table:

17 9
1 26,470

It has been noticed that some customers running JAVA programs (for example, FOP) on AIX would see the server eventually running low then out of memory. Customer would notice the system pages heavily and user experience becomes bad. And the server would crash when out of memory.

When the problem happens, we can see in ipcs a lot of shared memory segment marked for deletion (Capital D at the beginning of MODE section). This means they will not disappear until the last process attached to the segment detaches it.

5 0
1 1,702
Article
Peter Everett · Sep 22, 2016 3m read
Windows write caching

(This article was reviewed in February 2021. It is still relevant to Caché-based installations and similarly applies to IRIS-based installations.)

This article discusses the Windows write caching setting which can leave systems vulnerable to data loss or corruption in the event of power loss or operating system crash. The setting is on by default in some Windows configurations.

10 3
1 1,654

December 13, 2021 - Advisory: Vulnerability in Apache Log4j2 Library Affecting InterSystems Products

InterSystems is currently investigating the impact of a security vulnerability related to Apache Log4j2.

3 0
0 920
Question
Neerav Adam Verma · Mar 5, 2019
PrimaryKey vs Idkey

Just wondering an Insight in the difference between these two indexes

IdKey / PrimaryKey
=================

Property Identifier As %Integer

Index Index1 on Identifier [Idkey]

Index Index2 on Identifier [PrimaryKey]

What's the difference?

1. If I don't have Index1 and only have Index2, then cache does still make its own id.
So how and why do I ever use the PrimaryKey. In Joins ??

1 4
0 775

Hi,

somehow my installation on win10 canceled during finish. "Installation of Caché finished" showed up for 20 minutes and canceled with an error I didn't saved.

Every file and service was installed but never registered as successfull installation. Now I try to reinstall it but the installer shows me everytime "Another installation is already in progress. Please finish the second installation first".

The unfinished installation is broken. I can't startup Caché from launcher. So I deleted everything in c:/intersystems

Things I already tried:

0 9
0 767

I running a query and get the results inside a result set. Now I have to iterate through the result set many times. From the doc I've seen only the Next() method. Is there a way to reset the cursor? Otherwise what is a good data structure to save multiple rows of a table?

My code in this case is something like this:

set sql = "SELECT * FROM MY_TABLE WHERE X= '"_Y_"'"
set status = ..Adapter.ExecuteQuery(.rs, sql)
// somehow iterate the rs more than one time

0 6
1 703

InterSystems has identified an issue with product distributions containing Certificate Authority certificates that expire at the end of 2020. This issue does not affect system operation or system security in any way, although it does generate alerts about expiring certificates in the cconsole.log or messages.log files.

2 2
3 644
Article
Leo Makowski · Jul 15, 2016 5m read
Zinsert and friends: Coding in terminal

While Studio and Atelier are useful development interfaces, there are occasionally situations where a quick edit needs to be made to code and only terminal access is available. A useful set of tools to do this are the zload, zprint, zinsert, zremove, and zsave commands. These are abbreviated to zl, zp, zi, zr, and zs respectively. While each of these commands has its own page in documentation, this article will synthesize that information with examples to provide instruction for their combined use.

5 2
1 603

Hi, guys,

One of my clients was required by the hospital to name their webservice operation as Action_Subject, ie. Get_PatientInfo

When I define the web method as "Get_PatientInfo" as below,

/// MyApp.MyService
Class MyApp.MyService Extends %SOAP.WebService [ ProcedureBlock ]
{

/// Name of the WebService.
Parameter SERVICENAME = "MyService";

/// TODO: change this to actual SOAP namespace.
/// SOAP Namespace for the WebService
Parameter NAMESPACE = "http://tempuri.org";

0 4
0 557

I am currently working on an Upgrade to HealthShare 2019.1.1. As described in the steps once the upgrade was complete to run $system.OBJ.Upgrade(). When I run $system.OBJ.Upgrade() , it is not finding any classes to update. However I am getting an Error 5116 on one of my Productions...

Class dictionary version for '%1' is out of date, please run upgrade utility $system.OBJ.Upgrade()

so if I am running $system.OBJ.upgrade() why isn't it updating this production as it should?

1 5
1 526

InterSystems has corrected a defect that can cause a build-up of orphaned processes consuming system resources. In extreme cases, this can cause a system to become unresponsive.

This defect affects the following versions:

2 1
0 461
Article
Peter Steiwer · Mar 2, 2020 2m read
SQL -99 error while viewing a listing

This error is sometimes seen while viewing a listing in InterSystems IRIS Business Intelligence:
ERROR #5540: SQLCODE: -99 Message: User <USERNAME> is not privileged for the operation (4)

As the error suggests, this is due to a permission error. To figure out which permissions are missing/needed, we can take a look at the SQL query that is generated. We will use a query from SAMPLES as an example.

1 0
0 459

Hi, guys,

I'm working on zen report to display an examination report for a client.

They stored order information in several tables. Examination findings and diagnosis were recorded in a html page and codes of the page was stored in another table. We need to put them together in one single report.

So far we can only read the html codes from that table which is a whole page since it start from label <html> and have <header>. We know that if we are using javascript we can display the page by assigning the codes to innerHtml property of an iframe object.

0 6
0 440
Announcement
Neerav Adam Verma · Feb 13, 2020
Class Queries

Class Queries in InterSystems IRIS (and Cache, Ensemble, HealthShare) is a useful tool that separates SQL queries from Object Script code. Basically, it works like this: suppose that you want to use the same SQL query with different arguments in several different places.In this case you can avoid code duplication by declaring the query body as a class query and then calling this query by name.

0 6
0 434