Question Stefan Cronje · Jul 18 Finding all usages of deprecated classes and methods Hi folks, We are in the process of migrating from Ensemble to IRIS. After the migration I would like to find all usages of deprecated classes and methods in all of our code. This is to align with the changes in package like %SYSTEM.SQL for example. Is there an easy way to do this, or maybe a tool that can assist? Thanks. #Coding Guidelines #Compiler #ObjectScript #Ensemble #InterSystems IRIS #VSCode 1 7 1 211
Question Stefan Cronje · Apr 5 Is there a way to Isolation Mode on global interactions? Hi all, I have a situation where I am writing to global from different processes - let's call it an Event Queue.There is then a different process that uses $order to read through the data - the PubSub processing BP. Sometimes the writing of this global will form part of a transaction that also insert data into other tables, using tstart and tcommit.If there is some issue, it will roll back, and the entry written to the global will also roll back. #Database Transaction Processing #Globals #Caché #Ensemble 0 6 0 131
Question Stefan Cronje · Dec 21, 2023 Determining all contending processes on exclusive lock issues Hi, The system I am working on processes large numbers of records. Inserts, updates and so forth. There are multiple processes that can potentially work on the same table at the same time. It is an almost impossible task to try and time these processes to not run at the same time, due to volumes, SLAs, etc. Every now and then there are a few locking issues, Not many considering the volumes. It is just a bit of a nuisance as we need to reprocess these records later. #Database Transaction Processing #ObjectScript #SQL #Ensemble 0 6 0 252
Discussion Stefan Cronje · Dec 15, 2023 CSP Pages versus Classes extending from %CSP.Page Hi all, The last time I used CSP was back in 2008, so I am very rusty on it.This question might have been asked many times, and the answer probably is that it is a matter of preference. Are there scenarios to which CSP pages is easier/better to use than classes extending from %CSP.Page?I want to build a little thing and don't want to start at the wrong end.Doing an API-based, heavy client-side framework is not a requirement, and I would prefer not to do it that way. Some of the criteria #CSP #JavaScript #ObjectScript #Ensemble 1 4 0 302
Question Stefan Cronje · Dec 15, 2023 %PARALLEL and Per Process Memory issue HI *, So last night I was doing a deployment which had a query to select from a large dataset of joined tables, to iterate through and populate data in a new table. This was done in a classmethod using embedded SQL and the %PARALLEL keyword.On a testing environment with the same dataset, this worked perfectly a few days earlier. #ObjectScript #SQL #Ensemble 0 2 0 255
Article Stefan Cronje · Nov 6, 2023 2m read IRIS Smart String Package Hi folks, I have published a new package on OEX. In short, it is a string datatype that support various configuration options and flexibility. #ObjectScript #Open Source #Caché #Ensemble #InterSystems IRIS #Open Exchange Open Exchange app 5 0 0 314
Question Stefan Cronje · Feb 23, 2023 Issue with Logical Operators on Strings Hi all, I might be losing my mind or do not understand how ObjectScript does string comparisons, but the following does not look right to me. Is it really possible that you can't compare non-numerical strings other than with an equals or not equals? USER>w ("45" < "46") 1 USER>w ("45" > "46") 0 USER>w ("V45" < "V46") 0 USER>w ("V45" > "V46") 0 USER>w ("V45" <= "V46") 1 USER>w ("V45" >= "V46") 1 In Python: #ObjectScript #Ensemble 0 4 0 274
Job Stefan Cronje · Feb 23, 2023 Internship Available Job description We are looking for a software development intern. We are a small company, and this creates the opportunity for you to help grow the business, and your career with it. Responsibilities #Job Opportunity 5 0 0 283
We are looking for a software development intern. We are a small company, and this creates the opportunity for you to help grow the business, and your career with it. Responsibilities
Discussion Stefan Cronje · Feb 21, 2023 Testing out the new Bing Morning all, I got access to the new Bing this morning and thought I would try out some things on it. Below are a series of screenshots of what I searched and the results.Please share your experiences here too. #Artificial Intelligence (AI) #ObjectScript #InterSystems IRIS 3 0 0 199
Discussion Stefan Cronje · Feb 12, 2023 Proposed new DC DataTypes Package Hi Community, A long time ago, I create a package for a String datatype that works with Regular Expression. It is quite a simple solution. This can work well with packages like the OpenAPI-Suite, where you can then use the "Regular Expression String" as the type for properties of the validator objects where the Swagger contained a Regular Expression. I am proposing we start a common package of datatypes for use. The package name to use can be provided by the admins. #ObjectScript #Open Source #InterSystems IRIS #Open Exchange 3 3 0 226
Discussion Stefan Cronje · Feb 10, 2023 OEX , ZPM and GitHub: Control, Quality, Community Hi Community, Please read this when you have the time and keep an open mind. Also, you are welcome to tell me it is a terrible idea. The main reason for this post If you look at NPM, it has 1.3 million packages. Now ask yourself, is this an achievement or a nightmare?How many of those packages are no longer supported?How many of those packages break compatibility on version changes?How do you know which one to use? #Other 11 13 2 254
Question Stefan Cronje · Feb 7, 2023 VSCode defaults to "spaces: 4" on new Class files, not tab Hi all, In the days when I was still using studio, the indentation character of choice was tab, due to misalignment of code when using non-monospaced fonts. In VSCode when I create new class files, this defaults to 4 spaces. Where and how do I set the default indentation for ObjectScript class files? Also, with python it should be spaces. So what is recommended when doing python script inside objectscript classes? Thank you. #ObjectScript #VSCode 0 2 0 1.1K
Question Stefan Cronje · Feb 4, 2023 What is %Projection.Monitor ? Hi everyone, I have been reading up a bit on projection. I found a reference made to %Projection.Monitor on this page. However, I cannot find any further information on %Projeciton.Monitor. What is it? How does it work? How do you use it? What value does it add? Thank you. #Monitoring #ObjectScript #InterSystems IRIS 0 1 0 150
Article Stefan Cronje · Jan 25, 2023 3m read InterSystems IRIS Persistent Class Audit Package Hi folks, I am announcing a new package I have loaded on the OEX, which I am also planning on entering into the contest this month. In a nutshell, what it offers you are the following. #ObjectScript #InterSystems IRIS #Open Exchange Open Exchange app 1 2 0 286
Question Stefan Cronje · Jan 25, 2023 Generating Method Arguments with objectgenerator Hi *, I want to dynamically generate the arguments of a method during compile time. 'For example, I want the following method ClassMethod DoCleverStuf() As %Status [ CodeMode = objectgenerator ] { do %code.WriteLine(" Set tSC = $$$OK") ... } to look like this in the .int code. ClassMethod DoCleverStuf(pValue1 As %Integer, pValue2 As %String) As %Status [ CodeMode = objectgenerator ] { // some generated code will be here } Is this possible? Or alternativel;y, can I generate a whole method at compile time? Thanks. #ObjectScript #InterSystems IRIS 0 2 0 233
Question Stefan Cronje · Jan 22, 2023 System Process and Session Information in Triggers Hi all, I am trying to use some process private variables (percent variables) in Triggers. I am referring to values from $System.Process, like the ClientIPAddress and CSPSessionID.These do to not contain values and I suspect it is bacause of scope. I also checked, and the %session variable is not available if the change originated from a CSP request.I know that in triggers the scope of the variables are to be kept local, that is why NEW is to be used. #ObjectScript #SSL #InterSystems IRIS 0 10 0 309
Question Stefan Cronje · Feb 1, 2022 VSCode: Formatter not found Hi, I am using VSCode together with IRIS 2021.1.When using Shift+Alt+F to reformat a class file, it pops up with the below message. When I select install formatter, it routes me to the extensions page, where it shows the extensions as being installed. Any advice will be appreciated. #ObjectScript #VSCode 0 8 0 1.2K
Question Stefan Cronje · Jan 7, 2022 Ensemble Production Tests with Deferred Responses Hi all, I am busy trying out the %UnitTest.TestProduction class to implement some automated production testing. I have a scenario which I am not sure how to get the final results of for assertion. Below is the scenario I am trying to test, with comments on what I have done. #Interoperability #Testing #Ensemble 0 0 1 355
Question Stefan Cronje · Nov 10, 2021 OmniDB connection or advice on a similar tool Hi, We need a web-based SQL tool to connect to Ensemble/Cache, that will offer more functionality than what the Management Portal offers.It needs to be web based, so that we can host it on a machine that has connectivity to the server via the superserver port. We (the devs and support) only have browser access to the environment via Remote Desktops, hence the requirement. Has anyone gotten OmniDB to connect to Ensemble/Cache? If so, can you please advise on how to configure it? Any other suggestions for such a tool are also welcome. #ODBC #SQL #Caché 0 1 0 270
Question Stefan Cronje · Jun 10, 2021 Dynamic SQL DisplayFormatted split files on row count Hi, I have the requirement to dump large result sets into files. I am currently using %SQL.Statement and the result set created by it. The DisplayFormatted is used to write a CSV. The query I used to test does not contain any filters, it is just a select * from a table with 16 million rows.The file created is 2GB in size. The issue I have is that it takes 8 hours to create this file. #ObjectScript #Caché 0 3 0 230