Question Norman W. Freeman · Oct 29, 2021 How to migrate a CACHE database and code to IRIS ? I have a workstation with a CACHE instance up and running. On that same workstation there is also an instance of IRIS (fresh install). I would like to migrate manually the CACHE database to IRIS (ideally, all globals, routines and classes). What I tried is to copy C:\InterSystems\Cache\mgr\CACHE.DAT to C:\InterSystems\IRIS\mgr\IRIS.DAT (after shutting down both instances) but it does not work. I got the following message : (112) The service for the IRIS instance did not start. #Databases #Caché #InterSystems IRIS 0 6 2 945
Question Norman W. Freeman · Oct 8, 2021 Starting a new job with "job" command take more time than expected I use the following code to start a start a job : Class MyClass Extends (...) { ClassMethod Foo() { job $CLASSMETHOD("MyClass","MyMethod") //take forever depending hardware } ClassMethod MyMethod() { //do database related stuff } } On local environment, calling Foo() is instantaneous (a few ms). On production/test servers (which have much better hardware than local) calling this function is slow and take between 200 ms to 800 ms. Obviously starting a new job with "job" command take lot of time on those environments. #Performance #Caché 0 3 0 266
Question Norman W. Freeman · Oct 5, 2021 Could caché database encryption have an noticeable impact on performance ? I would like to know if an encrypted caché database can run significantly slower than a normal "unencrypted" database, in a way that is noticeable to the end user (e.g. slower response time for most pages, especially the ones that rely on read/writing to globals). I searched in Intersystems knowledge base and couldn't find anything related. I'm looking for possible before/after benchmarks. #Databases #Encryption #Performance #Caché 0 3 0 271
Question Norman W. Freeman · Aug 27, 2021 How to iterate a local array with $QUERY() in a job ? In Caché, it's possible to iterate a local array using $QUERY() : set a("foo") = 50 set a("bar") = 30 set key = "a" for { set key = $QUERY(@key) quit:key="" write key_" = "_@key } This code works perfectly, unless it's called in a job (eg: a routine called by the JOB command). #Globals #Caché 1 3 1 341
Question Norman W. Freeman · Aug 19, 2021 What is the maximum size of the URI of a request and how to increase it ? I have a CSP page that throw a "414 error - Request-URI Too Long" when I put lot of text (eg : 10000 characters) into a field of a submitted form. The form is submitted using POST method. Based on some experiments I made, it seems the max size of a URL is around 8200 characters. What is the official limit, and is there a way to increase it ? I searched in the documentation but couldn't find anything. #CSP #Caché 1 5 0 2.1K
Question Norman W. Freeman · May 26, 2021 How to add a try / catch block inside a routine that contains indentation with "." characters ? I have some code in a mac routine that use indentation and the "." character : IF condition1 DO .WRITE YCR,... .WRITE YCR,... .WRITE YCR,... I would like to add a try / catch block between the write statements.I can't refactor the whole code and use indentation with curly braces instead (there is too much code, not written by me) I have tried the following but it does not work (it compiles, but code stop running right before the try keyword) #Error Handling #Caché 0 2 0 262
Question Norman W. Freeman · Dec 24, 2020 Is there a way to automatically remove some specific characters from the response of a web service ? I have implemented a web service that inherit from %SOAP.WebService It exposes classes with string properties : #Databases #XML #Caché 0 1 0 462
Question Norman W. Freeman · Oct 1, 2020 Is there a built-in method to escape special characters in a string, in a similar way to what is done by Portal with global data ? If a global node contains special characters, (eg : a line returns), it will be displayed like this in Portal ("System > Globals > View Global Data" panel) : ^A(1) = "this is"_$c(13,10)_"a test" I would like to export global data to a txt file using a similar format. I already wrote the main code (that loops on all nodes and dump them to file), the problem is how to handle special characters.For the moment I replace them manually one by one. It works, but it's far from perfect : #Globals #Caché 1 5 0 1.5K
Question Norman W. Freeman · Sep 23, 2020 Where can I download the XSD (XML schema definition) of files exported by Cache Studio ? When you export entities like classes, routines, globals in Cache Studio, you usually end up with XML files that looks like this : #Studio #XML #Caché 0 8 0 1K