Question Alexey Maslov · May 7, 2024 Annoying Bulb in VS Code Hello everyone,After upgrade to InterSystems ObjectScriptv2.12.3 extension an annoying "bulb" occured in the beggining of code line. If point upon it, there are some actions being offered. In my case, an action "Wrap in try/catch" is always among them, even if the code line is already within try/catch block. Another action which appears sometimes is "Extract to method". If accept, new method is inserted into the class with only one line body inside. IMHO, not too clever "AI solution" as well. #Development Environment #VSCode 0 2 0 165
Question Alexey Maslov · May 25, 2023 Should numeric overflow be detected during the syntax check? In elder versions of IRIS/Cache numeric overflow was detected during the syntax check: #Compiler #Testing #InterSystems IRIS 0 5 0 186
Question Alexey Maslov · Feb 10, 2023 How to expand commands and functions to their full names programmatically? It's well-known that Studio and probably VS Code have options to expand ObjectScript commands and functions to their full names (Ctrl-E and Ctrl-Shift-E in Studio), therefore some methods to accomplish this should exist. The question is: how to do it programmatically? #Compiler #Studio #InterSystems IRIS 0 3 0 318
Question Alexey Maslov · Jun 21, 2021 Porting Server Side Source Control Menu items to VS Code: is it possible? Hi, I've started active use ISC VS Code extensions about a half year ago, seem to be used to use, and started to enjoy them :) The documentation promises the #Studio #InterSystems IRIS #VSCode 1 12 0 436
Question Alexey Maslov · Feb 6, 2021 How to disable an Audit event on the process level? During some consulting activity, I found at the client's site CACHEAUDIT database of more than 100 GB size. The reason was simple: several processes produced a great amount of %System/%System/OSCommand audit records due to frequent external calls ($zf(-100,...)). As it is well-known, those events can be easily disabled systemwide, while this can be hardly considered secure enough. Reducing the number of days before audit cleanup from default 62 to some reasonable figure (e.g. 15) seems to be a better solution, but... #Security #System Administration #Caché #InterSystems IRIS 0 2 0 317
Question Alexey Maslov · Sep 2, 2020 Is it possible to export User-Defined Code Fragments from Studio? It's well-known among Studio users that besides few predefined code fragments (for ObjectScript, Basic, MV Basic) it's possible to add user-defined code fragments. I found it rather convenient to use them as patterns that help to follow some conventions (internal standards) of writing, say, methods descriptions. But I didn't find a way how to share these patterns, except dumb copy-pasting. Did somebody succeed with this task? Any help would be appreciated. #Studio #Caché #InterSystems IRIS 0 10 0 338
Question Alexey Maslov · Aug 7, 2019 What is the simplest/quickest way to detect that Journaling was switched to a new file? My fantasy didn't go beyond periodically running %SYS.Journal.System:Progress() class query, while I'd prefer to use an event handler of some kind. Any ideas? #Journaling #Caché #InterSystems IRIS 1 13 0 480
Question Alexey Maslov · Jan 31, 2019 Which global mapping definition is better? Sometimes global mapping of the same globals can be defined in different ways. E.g., I need to define it for 3 globals ^qAuditC, ^qAuditLog, ^qAuditLogC from the same database named APP-NOJOURN. Which approach should be better from the performance point of view? 1) qAudit* => APP-NOJOURN (one record in global mapping table)or 2) qAuditC => APP-NOJOURNqAuditLog => APP-NOJOURNqAuditLogC => APP-NOJOURN (three records in global mapping table) #Globals #Mapping #Namespace #System Administration #Caché #InterSystems IRIS 0 3 0 600
Question Alexey Maslov · Sep 28, 2018 Impact of OREF support There are some classes in our code base that contain Methods only (no properties). I told my colleagues that converting them into the ClassMethods should improve performance as it would eliminate unnecessary OREF support at run-time. Some of them replied that it would be microseconds, so what is the reason to bother.Is it possible to estimate the impact of OREF support of method calls at run-time? E.g., as a % of all CPU load. #Object Data Model #ObjectScript #Caché 0 12 0 515
Question Alexey Maslov · Jun 14, 2018 How to get rid of JRNREST annoying questions? I am still working on a generic task where I need to apply journal file records to another database. Initially I didn't want to use Journal.Restore class methods as I need to perform some data transformation, and it seemed that the clearest way to achieve it was to read journal file record by record using %SYS.Journal.Record API. #API #Journaling #Object Data Model #Caché 3 8 0 550
Question Alexey Maslov · Jun 7, 2018 What Object Script command can write KILLdes journal records? I'm working on a task where I need to apply journal file records to another database. I can't use Journal.Restore class methods as I need to perform some data transformation, therefore I'm reading journal file record by record using %SYS.Journal.Record API. It seems that there are only few journal records that I need to process, namely: #Globals #Journaling #Caché 0 4 0 472
Question Alexey Maslov · May 7, 2018 Strange Messages During Class Compilation (oops: ...) During programmatic classes compilation performed by the code like this: set status=$system.OBJ.Load(updaterFile,"cruk-d",,.resList) strange messages appear in console log, e.g. #Compiler #Object Data Model #Caché 0 12 0 643
Question Alexey Maslov · Mar 7, 2018 Does IRIS really not mention Cache in its $ZVERSION string? Documentation (http://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?...) states that it looks like: IRIS for Windows (x86-64) 2018.1 (Build 487U) Tue Dec 26 2017 22:47:10 EST Does it really true, or just a documentation typo? #Caché #Compatibility #InterSystems IRIS 0 3 0 392
Question Alexey Maslov · Mar 6, 2018 How to upgrade Cache 2015.1.4/SUSE running on Ubuntu 16.04 LTS to Cache 2017.2.1? I have one in my testing environment. According to https://community.intersystems.com/post/licensing-ubuntu-and-suse-20171-and-later, I should move to native Ubuntu build with 2017.2. So I downloaded Cache for UNIX (Ubuntu Server LTS for x86-64) 2017.2.1 and tried to update my existing 2015.1.4 installation. What I got was:Upgrade from lnxsusex64 platform is not allowed. #Compatibility #System Administration #Ubuntu #Caché 0 4 0 376
Question Alexey Maslov · Nov 28, 2017 How to read Health Monitor sensors and/or warnings and alerts programmatically? In short, I wanted to react on CPUusage warnings and alerts with my own actions. It seemed that it was possible in my Caché version (2015.1): http://docs.intersystems.com/cache201513/csp/docbook/DocBook.UI.Page.cls... But all my attempts silently failed. Callback code was as simple as possible: #API #Caché #Monitoring 0 6 0 420
Question Alexey Maslov · Oct 26, 2017 What are Mirror Relay Server and Client? Looking through Mirroring routines sources, I've noticed these terms, while even the latest documentation keeps silence on them. I'm just curious what are they, and how to configure / to use them? #Caché #Mirroring 0 2 0 371
Question Alexey Maslov · Oct 17, 2017 Yet Another Way to Duplicate Quotes in String This small function is of great need sometimes. My solution is straightforward: #Tips & Tricks #Caché 2 6 0 1.2K
Question Alexey Maslov · Aug 21, 2017 How to get a PID of Windows process called with $zf(-1,...)? Hello everybody,We have a piece of Caché software which calls an external utility using $zf(-1,command). It works fine under Linux, but under Windows an external process occasionally hangs (due to some internal problems out of the scope here) and need to be killed programmatically. Having PID, it's easy to kill a process. If a Caché process is called with JOB command, the caller can easily get its PID from $zchild, but alas $zf(-1) does not seem to return the similar info. Is it possible to get it somehow? #API #Caché #Callout 0 4 0 666
Question Alexey Maslov · Aug 17, 2017 Replacing all strings of special kind with macro calls Hello everybody. What I have is a criteria how to select "my" strings. What I need is to replace all of them with macro calls (using the same strings as arguments) in all classes of current namespace. I was ready to write straightforward code, but at the last moment decided to ask the community: maybe I've overlooked a smarter option? Any comments and advices would be great appreciated. #ObjectScript #Tools #Caché 1 6 0 534
Question Alexey Maslov · May 11, 2017 Health Monitor: What is CPUPct Sensor Object meaning Since most of our customers moved to Caché 2015.1, some admins became abused with CPUPct warnings (sometimes alerts) in console log without other signs of lacking CPU power.Documentation states that: #Monitoring #System Administration #Caché 0 4 0 676