go to post Robert Cemper · Sep 30, 2020 To list a global (that's what ^%G does) it might be easier to run a FOR loop using $QUERY() function.example in docs
go to post Robert Cemper · Sep 23, 2020 "NotIn" is not part of InterSystems ObjectScript. Also not "in" . This is SQL slangAlternative to the proposal of @Adrian Zeeman you may try this construct: if '($LF($LFS("A39,A40,O01,O11,O09,R01"),msgType) { . . .
go to post Robert Cemper · Sep 23, 2020 Depending on how you have built your WebAPI every request may run its own session with its own job id.CSP has the concept of a SessionID to bypass such problem.But it requires that you pass the Id back to the client and clean it up once done. You may follow this philosophy using a random unused key [ $D(^SORT(key))=0 ] instead of $J that you pass back to the client.Cleaning it up is a good practice to avoid to much waste in your global. [ BTW. also with $JOB ]
go to post Robert Cemper · Sep 22, 2020 according to results found by Google, this seems to be an issue of your Eclipse Setup / Config / Version (?)and nothing specific to Atelier. e.g https://kodlogs.com/33629/java-lang-illegalstateexception-injectionmanagerfactory-not-found
go to post Robert Cemper · Sep 19, 2020 Inspired by real life I created a workaround for my special case.At home,I close the doors and put my super InterSystems headphones on (not plugged in). Here,I call a small helper function that does a JOB to the background where the install may tell his stories to //./nulIt's nothing to win a price nor is It my preferred solution though it does what I expect!
go to post Robert Cemper · Sep 19, 2020 done : https://github.com/intersystems-community/zpm/issues/152
go to post Robert Cemper · Sep 18, 2020 Hi @Dan Pahnke The "Red Fire Button" is a synonym I used over the years with my various teams for an action/decisionthat should not be taken by a single person but follows (at least) the 4-eyes-principle. Inspired by an endless number of Airforce fighting movies from Hollywood andthe old but still incredible song from The Dubliners.And its best cover version
go to post Robert Cemper · Sep 18, 2020 #1) check that ALL code Dbs are part of your Mirror. There is a fair chance that not all code you use is in a single code DB but is mapped to other DBs.I'm not talking about implicitly mapped pieces like all System and %* Utilities.#2) If you use code mapping It is highly important that Package mapping AND routine mapping go hand in hand#3) Whatever Mirror is synchronizing is based on Global Journal. So also all code DBs require Journalling. Since every routine or class whether deployed or not is stored in some global. But my personal preference is not to apply Mirror to code DBs.Mainly to control the point in time when a Change/Update happens. I'm a fan of the Red Fire Button and like to control the moment of essential changes
go to post Robert Cemper · Sep 17, 2020 It looks to me as if the query optimizer gets confused to have INSERT and UPDATE to the SAME table in sequence.If they both run well when separated I'd suggest calling both in sequence.From code or performance, I see no advantage to pack them together. Rather the opposite.
go to post Robert Cemper · Sep 17, 2020 It sounds to me quite familiar.Like this question from Aug. 27, 2020 https://community.intersystems.com/post/how-compare-value-global-and-add-description-segment
go to post Robert Cemper · Sep 17, 2020 quick sketch: open file start loop read line split pieces P1,P2 set ^global(p1,p2)="" done
go to post Robert Cemper · Sep 15, 2020 If there are queries hanging around then the mayor impact is just on IRISTEMP or CACHETEMP database that might grow.But it's not worth mentioning just for a query.
go to post Robert Cemper · Sep 15, 2020 with complete I mean something starting with Class.... Extends %Persitent......all Properties, .... until the last line of Storage definition. Just a copy out of Studioactually at least I just see a little bit here, some part there like a puzzle.
go to post Robert Cemper · Sep 15, 2020 Have you ever considered asking ADSC for help ?Do you have some maintenance contract with them as it seems to be their code.?With a COMPLETE class definition and some sample data, it shouldn't be magic.
go to post Robert Cemper · Sep 15, 2020 Typically a %ResultSet is an object. It is destroyed as soon as you de-reference it.This could be a ba killing the referencing variable or by assigning a different value.there is no need for a %Close or an object destructor. this happens implicitely. set rs= ##class(%ResultSet).%New() . . . . ; work it kill rs ; or set rs=""
go to post Robert Cemper · Sep 15, 2020 What you see could be explained best by "model mismatch"Java Gateway connection stays as long as the connecting process exists.While CSP.REST services a request and stops.To avoid repeated connection times you may run some background process as worker jobs that open Java Gatewayand get its requests from your CSP.Rest.As you have Ensemble already, you might run your Java Gateway as a Business Service connecting OnInit() an stay connected.This is of course all asynchronous processing which affects your response time. If you revert it and a Java process is scanning request using Native API for Java I wouldn't expect more attractive timing.
go to post Robert Cemper · Sep 14, 2020 I think you were looking for this: IRIS Native API for ObjectScriptSorry, I wasn't aware of it until a short time before.Thanks for asking!
go to post Robert Cemper · Sep 14, 2020 Is Native API for ObjectScript also included for Bonus Points ?