go to post Alexey Maslov · May 11, 2023 VS Code is great for development, while InterSystems extensions behavior is disappointing sometimes. E.g., since some update was installed, <Ctrl/Mouse pointer> stopped referencing the methods of another class. <Right button menu -> Goto Definition> stopped working as well. Is it a bug or a feature?
go to post Alexey Maslov · May 4, 2023 Establishing of source control based development technology needs some efforts, while gives much more advantages. It's possible even with Studio, while easier with VS Code.Besides, when each developer has its "own" methods it would be easier to resolve possible merge conflicts.
go to post Alexey Maslov · Apr 28, 2023 Thank you.In Caché 5.0 and earlier versions there were no web portal at all; those version were supplied with so called GUI Utilities: System Explorer, Configuration Editor and so on.System Management Portal appeared in Caché 5.1, and many people still call it by its initial name often abbreviating it to SMP.
go to post Alexey Maslov · Apr 28, 2023 Hi Hiroshi,Can you explain the difference between "Management Portal" and "System Management Portal"?
go to post Alexey Maslov · Apr 26, 2023 Hi Luis,Thank you for the article.Did I understand right that its main purpose was to introduce the mirror concepts to novices? If so, it's great, while in real life: if the host goes down, all three containers would go down.
go to post Alexey Maslov · Apr 12, 2023 Chad, thank you for complete explanation of available options. As to you questions: 1. We have a TASKMGR task which calculates the size of each global in all databases. It's usually scheduled by our customers for daily run.2. The main purpose of collecting such info is the ability to quickly answer the questions like this: "why my database is growing so fast?". Integrity Check is not used for the similar purpose because it can't be scheduled for daily run due to its relative slowness in our versions of Cache and IRIS.
go to post Alexey Maslov · Mar 28, 2023 You can use ^$ROUTINE to return information on the OBJ code version. while one can list routines of any given code type using the OP's approach.
go to post Alexey Maslov · Mar 24, 2023 Hiroshi, take it easy - everybody can make a mistake.Meanwhile, I'm sure that $ZIO was initially intendent for terminal devices only. Here is the oldest link I was able to find: https://cedocs.intersystems.com/documentation/cache/cache41/olr/olrvzio....Why not use ##CLASS(%SYS.ProcessQuery) for similar purposes? It's more powerful and better documented than some "mystic" system variables and functions.Happy writing!
go to post Alexey Maslov · Mar 22, 2023 I should check docs before any "quick testing": only terminal (TRM:), telnet and file current devices can provide $ZIO with non-empty values. No client/server!
go to post Alexey Maslov · Mar 22, 2023 Hiroshi,May I ask you where did it ever work? Here are the results of quick test in Studio Output window: w "*"_$zio_"*" ** w "*"_$zutil(67,12,$j)_"*" *MYPC* w ##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientNodeName ; prefered (documented) way MYPC w ##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientIPAddress 10.8.3.37 Alternative program which supports CacheActiveX connection showed the same results, by the way, regardless of server's platform, whether it was UNIX/Linux or Windows. IRIS for Windows (x86-64) 2021.1 (Build 215U) Wed Jun 9 2021 09:39:22 EDT while results were similar in all previous Cache/IRIS versions I managed to run.
go to post Alexey Maslov · Mar 22, 2023 It seems to be an IP of its first network adapter, probably of virtual one.
go to post Alexey Maslov · Mar 6, 2023 47 (pure COS w/o undocumented features :) a q:$i(r($a(w,$i(i))#32))=2 0 q:i>$l(w) 1 g a
go to post Alexey Maslov · Mar 4, 2023 The suggestion on the transaction was to avoid needing to lock and block by read processes Hi Alex,How can transactions help to avoid locking/blocking by read processes if they need to see a consistent database state, taking in account well known fact that transactions are not isolated in IRIS?
go to post Alexey Maslov · Mar 4, 2023 > This avoids the need wait with locks / blocking If so, why the common practice is to write something like this: tstart lock +^smth set ^var1(x1,...xn)=... ... set ^varN(x1,...xm)=... lock -^smth tcommit
go to post Alexey Maslov · Mar 3, 2023 58 s r=1 f i=1:1:$l(a){s r=$i(r($a(a,i)#32))<2 q:'r} q r f i=1:1:$l(a){s r=$i(r($a(a,i)#32))<2 q:'r} q r
go to post Alexey Maslov · Feb 13, 2023 Hi Ben and John, now I've got some food for thought, thank you.
go to post Alexey Maslov · Feb 8, 2023 It would be nice if this was not be hidden when View -> Output panel is visible.
go to post Alexey Maslov · Jan 19, 2023 Standard queues provide at-least-once delivery, which means that each message is delivered at least once. FIFO queues provide exactly-once processing, which means that each message is delivered once and remains available until a consumer processes it and deletes it. Duplicates are not introduced into the queue. ..so I guess that you mean standard queue with several worker processes dequeuing items from the queue. In this case the CPU utilization would likely depend on the number of workers, wouldn't it?