You may use $LISTFIND
- Log in to post comments
You may use $LISTFIND
No, there is no limit for the size of %Library.DynamicObject, but the %ToJSON() might give a <MAXSTRING> - here is a workaround for such:
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
Robert,
WIJ is used to write data to the Db. WIJ holds the copy of Db blocks before they are written to the Db to allow to keep Db integrity (Cache checks if there are "dirty" blocks on WIJ when started, if so writtes them to the Dbs).
"cache buffers" are used to store blocks that were READ from the Db to aviod disk access for concurrent reads
For a-sync mirror membwers, you could use the query:
and then to iterate on result and do the necessary cheeks.
Great workaround. I remember that I had a problem few years ago that the WebTerminal was unable to do:
ZLOAD routine ZPRINT
I did some (ugly, must say) changes in the broker to let this work
Does your wrapper is able to handle this as well?
I would recommend that in systems that the audit database is big or huge you stop IRIS and move that database to another disk. Then change in IRIS.CPF (Database section) the location for the audit database.
Check the user "task2" permissions, maybe this user does not have permission to the audit databse?
Which browser do you use? I noticed that in Edge the credentials box is not popped-up resulting an 401 error, so you need to work with "IE mode" (on chrome, it does pop-up).
I started programming around $H=55000.
Found in old MSM languange refrence manual ver. 4.4 that:
$ZU(1) and $ZU(0) are same as $ZUCI(1) and will returns the external name "UCI,VOL" for the current UCI
I would check the following:
1. Check the %SYS.Task class with SQL but also do an Integrity check, to see if there are any errors on those globals that hold that task manager data.
2. if the "corrupted"/"copied" task (with $h=0) is the one that consume 100% of CPU, I would try to "re-schedule" it to see if the new "next date" is set to something else. If not, to delete (you don't need to re-create it, looks like 1001 is a copy of 1000)
3. Monitor the 100% CPU task (SMP or JOBEXAM) to try to understand at what commands it's "stuck"
you need to have an object from the %Dictionary.CompiledClass not from "your" table/class. Then you will be able to access all those Methods, Triggers, Incidies and so on.
The code I gave is a working code, not a pseudo code.
SQL adaptive mode s not avail. on 2022.1.2 but only on 2023.1 (right)
%SYS>s Status=##Class(Config.SQL).Get(.Properties)
%SYS>zw Properties
Properties("ANSIPrecedence")=1
Properties("AdaptiveMode")=1
...
Properties("TimePrecision")=0
all headers are stored in the %request.CgiEnvs("HTTP"_xxxxx)
You may do something like this in the OnPreHTTP method in your CSP page:
if you encounter another situation that you cannot add a space before the # you can do:
Very good article, Yuri.
Wonder when Intersystems will support AMQP protocol, to integrate seamlessly with ASB (Azure Service Bus)
Hello,
If the database that you copy/import routines is journaled, and changes to routines source (^ROUTINE) and compiled code (^rOBJ) will also exist in the journal files. There is also a ^rBACKUP but it is not relay holding old versions of routines (for this you will have to use wither studio-hooks or GIT)
90 min. to 1M records is very low.
It seems that the query is scanning at one of your big tables (Records maybe).
Do you have indices on: Records.qw and on Records.er
Consider to run the query in %parallel mode, after you optimize it.
How exactly are you counting, Robert? to me it looks shorter than the previous one
Class codeGolf.Pyramid
{
ClassMethod Build(f As %Integer)
{
F i=1:1:f K s,c S ($P(s," ",f-i+1),$P(c,"#",i*2))="" W s,c,!
}
}
Read this: CSP Session Management | Using Caché Server Pages (CSP) | Caché & Ensemble 2018.1.4 – 2018.1.7 (intersystems.com) - look at "Session Timeout"
Yes the arbiter was unable to communicate. It looks like a network issue.
I recommend you to open a WRC for that
Usually what matters on "big globals" is the capacity (and compression) on disk.
For that, you may use:
Set sc=##class(%GlobalEdit).GetGlobalSize(directory , GlobalName , .Allocated , .Used)
%Library.GlobalEdit - InterSystems IRIS Data Platform 2022.2 - including private class members
Hello,
Basically, a namespace is a "logical" place that can have it's data from more than 1 database.
You have namespace1 binded to database1.
When you create a new namespace2 (binded to database2) and then create a "global mapping" for namespace2 to point for your specific globals from database1
Ephraim,
When you say "corrupted" to better understand...
- Did you try to mount the DB (from the SMP of with ^MOUNT)? Sometimes if IRIS/Cache was "forced" than a *.lck file on the DB folder need to be deleted in order to allow a successful mount.
- If the DB is mounted, did you got a <DATABASE> (or other) error? if so, then what was said using ^Integrity and ^Repair could help - but only if you fully understand how to use those tools (!) Most of the time, a corrupted DB is fixable using those tools, or at least data can be 99% recovered. Depending on the number of errors: if its huge than sometimes it is faster to recover the DB from a valid backup + journal files.
BTW - if this is a mirrored DB than there are other considerations as well.
Happy new year!
Was the normal procedure done after the upgrade?
e.g. $system.OBJ.CompileAllNamespaces("cru")
Happy new year Udo.
And many thanks and wishes to all the great community members that makes this place one of the best to acquire and share Intersystems technology knowledge.
Hello,
I have done a CSP page that allows to measure timings. This shows that using a delimited string, is somehow "a slight" faster than using a list.
Running 10,000,000 iterations on the following code gives:
| Set a=$LB(1,2,3) Set b=$LG(a,2) | 1.214642 sec. |
| Set a="1_2_3" Set b=$P(a,"_",2) | 1.1711362 sec. |
I see that all your TLS/SSL configurations are Client type.
Usually, there is no need to point to the certificate, unless the "client will be asked to authenticate itself".
You should go into each of your configurations, to check if this option is enabled/used. If so, then you will have to update the: "File containing this client's certificate" with the new pem file
I would put also embedded python here
Hello Paul,
The compression is using "zstd" type of compression, comming from %occStream.inc
The function that is used is: $System.Util.Compress(%data,"zstd")