In recent discussion on CachéQuality I was (friendly) blamed for old syntax promotion and deliberate obfuscation of the code. Therefore I decided to clarify my point and shed some light on one of possible source of side effects that may unexpectedly occur with RETURN command with an argument.

Last comment 15 March 2019
0   0 1
198

views

0

rating

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-NOJOURN
qAuditLog => APP-NOJOURN
qAuditLogC => APP-NOJOURN (three records in global mapping table)

Last answer 11 March 2019 Last comment 13 March 2019
0   0 1
181

views

0

rating

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. 

Last answer 1 October 2018 Last comment 2 October 2018
0   0 4
310

views

0

rating

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. 

Last answer 16 June 2018 Last comment 16 June 2018
+ 1   0 2
140

views

+ 1

rating

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:

Last answer 7 June 2018 Last comment 7 June 2018
0   0 3
169

views

0

rating

In old Caché versions it was possible to create a new role based on predefined %Developer by copying it and adding some resources as needed. It was true at least from 2010.1 to 2015.1.

After upgrade from 2015.1.4 to 2017.2.1 it turned that it's only partially true now. User with a "New-Developer" role can enter Studio and open existing cls/mac/etc for editing and everything is OK unless he tries to create something new (Ctrl-N), than he gets a pop-up with %msg: <User xxx does not have enough privilege to execute stored procedure %CSP.StudioTemplateMgr_Templates>

Last comment 31 May 2018
+ 1   0 3
185

views

+ 1

rating

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?

Last answer 7 March 2018 Last comment 8 March 2018
0   0 3
192

views

0

rating

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.

Last answer 6 March 2018 Last comment 6 March 2018
0   0 3
159

views

0

rating

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: 

Last answer 29 November 2017 Last comment 30 November 2017
0   0 2
189

views

0

rating