go to post Yaron Munz · Apr 28, 2023 all headers are stored in the %request.CgiEnvs("HTTP"_xxxxx) You may do something like this in the OnPreHTTP method in your CSP page: Kill ^yourGlobalS a="" F { S a=$O(%request.CgiEnvs(a)) Q:a="" If $E(a,1,4)="HTTP" Set ^yourGlobal(a)=%request.CgiEnvs(a) }
go to post Yaron Munz · Apr 25, 2023 if you encounter another situation that you cannot add a space before the # you can do: <server>W #($select($data(^ImportantFlag)#2:"Important!",1:"Normal"))#</server>
go to post Yaron Munz · Feb 24, 2023 Very good article, Yuri. Wonder when Intersystems will support AMQP protocol, to integrate seamlessly with ASB (Azure Service Bus)
go to post Yaron Munz · Feb 10, 2023 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)
go to post Yaron Munz · Jan 25, 2023 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.erConsider to run the query in %parallel mode, after you optimize it.
go to post Yaron Munz · Jan 20, 2023 How exactly are you counting, Robert? to me it looks shorter than the previous one
go to post Yaron Munz · Jan 20, 2023 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,!} }
go to post Yaron Munz · Jan 19, 2023 Read this: CSP Session Management | Using Caché Server Pages (CSP) | Caché & Ensemble 2018.1.4 – 2018.1.7 (intersystems.com) - look at "Session Timeout"
go to post Yaron Munz · Jan 19, 2023 Yes the arbiter was unable to communicate. It looks like a network issue.I recommend you to open a WRC for that
go to post Yaron Munz · Jan 10, 2023 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
go to post Yaron Munz · Jan 10, 2023 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
go to post Yaron Munz · Dec 30, 2022 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!
go to post Yaron Munz · Dec 30, 2022 Was the normal procedure done after the upgrade?e.g. $system.OBJ.CompileAllNamespaces("cru")
go to post Yaron Munz · Dec 30, 2022 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.
go to post Yaron Munz · Dec 21, 2022 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.
go to post Yaron Munz · Nov 30, 2022 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
go to post Yaron Munz · Nov 8, 2022 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")
go to post Yaron Munz · Oct 28, 2022 I would open a WRC on that since it looks like a pure bug in the SQL compiler
go to post Yaron Munz · Oct 26, 2022 I assume that you want to skip one (or more) indices for specific values.You may use an "after" trigger to manually delete an index based on some of the properties.For this approach, you will need to change this trigger, every time you add/change a property or an index.