Hello! So my question is quite simple, Do the different data models of Intersystems all support the ACID properties? I assume that for the SQL data model implementation it does, But does it also work for global (i.e the hierarchical data model)?
Ok, I am attempting to clarify the required use of the RESIZE command, when you have a UNIVERSE or a UNIDATA DB attached to Cache. Traditional UNIVERSE / UNIDATA databases 'require' that hashed files be re-sized according to historic use, to prevent file overflow (aka. performance issues). It is not clear if that requirement is fully eliminated by attaching one of these databases to Cache. It is clear that, if you do not allocate 'enough' space on Cache for the database 'as a whole', that is a problem.
Is there a general way to set a variable XYZ equal to the text of thecode 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.
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.
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)
Looking for a SQL query or any other method to find the Unique/distinct message counts for all productions or at least per production namespace within a given time frame. For e.g TimeCreated = January 2025 (Whole month)
I have used the following, but its not restricting the numbers based on the TimeCreated filter. Every time a new message is processed by system, its added to the total. I am running the query in today's date
Select Sum(MsgCount)
From
(Select DISTINCT TargetConfigName, count(DISTINCT SessionID) as MsgCount
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?
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.
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?
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.
I try to create a tab delimiter file with bold header, when I convert the file into Microsoft Excel, it has a bold header. The file can be in text or CSV exension.
Could you help to search message details based on MRN in intersytems iris.
We have created 100+ interfaces and currenly in live (interystems cloud) . Now I try to search message details based on MRN using below query. it is working fine in DEV. but in prod it is taking ages.
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).
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?
I'm trying to make some use of AI to help with coding. To achieve this I've moved to VS Code linking to a cache instance, and installed the "Cody" extension from Sourcegraph that talks to Claude Sonnet.
I try to generate JWT tokens in Cache (not in IRIS).
In IRIS I managed to generate tokens using ##class(%OAuth2.JWKS).AddOct("HS256",secret,.jwks).
But In Cache there is no such routine.
Could you provide me a place to find an example how to use JWT, please ? I am interested to generate a token in Cache, send it to javascript client, and read a token provided by the client and check it is valid.
I am receiving the garbled text due to incorrect encoding or decoding. I tried to use the $zconvert function to convert it into the normal text but failed to do that. Can anybody suggest what I have to use to convert that into normal text?
Example: Garbled text that I am getting is "canââ¬â¢t , theyââ¬â¢re".
We are receiving the report in text format and it has special characters like ', - like that in the text. Source system is using the UTF8 encoding format hence the text is showing as ' � ' . Is there a way to convert the utf8 to actual character in the DTL.
Hi we are migrating to Linux from OpenVMS. which includes a new server and SAN. after reading a prior post about the differences with ESX and a VSAN I would think that the a SAN with Virtual disks all SSD type would be similar. which after reading it makes me think that using thick provisioning is the way to go. the 3rd party vendor is arguing this point with me. is it the same premise? is non-dedupe the way to go with thick provisioning. we are currently on 2015.2 of Cache with the plans to go to 2018 until the app vendor is able to certify their product on the latest versin.
New to Python. Attempting to use pypyodbc to select data from a table in one Cache database, and inserting into a similarly configured table in another. Process works fine except for tables containing Date types. NULL values in date columns are handled without issue, but when data is present, insert fails with:
An error occurred: argument 7: TypeError: 'NoneType' object cannot be interpreted as an integer.
Hello. Currently, we are developing using Cache 2018 version. Our team is working on improving an existing legacy program so that it can also be used on the web.
Before asking my question, here is the development environment.
I am trying to convert a base64 encoded string to a pdf. I have tried a lot of possible ways, but never succeeded. I am able to decode the base64 using $System.Encryption.Base64Decode but I am not able to convert it and store this in a path.
Customer is trying to use Veeam as backup of Cache database and we need a script to freeze (quiesce) the database for a clean snapshot. i am looking if there is a script already done.