User Answers

I'm sure it is quite difficult to write such a universal solution, every time it depends on your code. Years ago I wrote such a tool for an application which textual interface, and I had to convert parse code for pseudographics there and convert it too. So, I would say you need such specific too, just for your case.

STORE error means, your reached limit of memory per process. Since 2012.2 we have 256Mb per process by default and you can increase it up to 2Tb.  You can increase it, but I would recommend playing with different ways how to collect SQL Data, or on optimization in this SQL query. Or you can split such many rows by portions with less number of rows.

Better to use command JOB INT^SHUTDOWN instead of DO. When you use DO, the task will not be finished and will be marked as suspended, and you will have to resume it manually.

ROLLBACK should revert any changes in data which was done in a transaction, with some exceptions like $increment on Global.

You can look at this example.

I think it will not be possible to restore backups from Caché/Ensemble to IRIS.

I'm sure that in most cases, it is possible to just rename CACHE.DAT to IRIS.DAT, and configure it exactly as it was in Ensemble, should work. And maybe it will work for you as well.

If you can easily repeat configuration on any just installed Ensemble server, do it in the same way for IRIS.

I think we don't have any other possibilities how to catch changes in source code. Do you know how to catch if any object in any class was changed, outside of this class, if you don't have any triggers there? No easy task. But I think it is possible to find some tricky ways if you don't care about just in time notifications. You can monitor any changes in the data, and filter by changing particular globals and subscripts. 

If you will describe what are you going to achieve exactly, it will be easier to help you.

  1. It is possible to develop and never use ObjectScript, but you will be limited with used language and will not most of the breakthrough features we have in Caché/IRIS. Likely with IRIS you have more capabilities, and even almost as in ObjectScript.
  2. Yes, you can move from Caché to IRIS, maybe you will need some changes in your code. But it's not so much work.

Evgeny already mentioned just released preview version of IRIS 2018.2. And fortunately documentation from this version already available online,  and they offer to use new dialect  org.hibernate.dialect.InterSystemsIRISDialect. You can try to use it.