0

I would like to know how it's possible to run a integrity test without starting it in background. So I want to run it in foreground and wait until it's finished.

The following runs on background (http://docs.intersystems.com/cache20071/csp/docbook/DocBook.UI.Page.cls?KEY=GSA_manage):

Do Silent^Integrity("/tmp/logfile")

I also can't find the routine of ^Integrity (in %SYS). How may I see the code?

Using Caché Intersystems 2008.

Thanks by advance,

user74952
  • 35
  • 2
  • 5

1 Answers1

1

In the %SYS namespace, you can run ^Integrity directly without providing a tag name, e.g.:

> Do ^Integrity

You should be able to view the source code in Cache Studio in your version, assuming you are in the %SYS namespace. I can pull it up fine in Cache 2010, though I understand that Intersystems has stopped providing the underlying source for much of their standard codebase in more recent versions. If, in fact, you don't have the source for ^Integrity available on your system, you'll simply have to contact them for any information you need beyond what the documentation provides.

Derek
  • 952
  • 3
  • 13
  • 34
  • Also note that you can only run %SYS routines starting with % (like %GO etc) from any namespace, but to run non-% routines you should zn to %SYS explicitly: set ns=$znspace zn "%SYS" Do Silent^Integrity("/tmp/logfile") zn ns – SSH Apr 22 '12 at 09:52
  • I now this utility. But it requires user interaction. I want to avoid this. I'm using Cache 2008, but I can't get the source code. – user74952 Apr 23 '12 at 07:56
  • @user74952 - if you don't want it to run in the background and you don't want to provide it manual input in the foreground, then one solution is to write an automated script that will interact with it. I don't have experience running Cache on Unix systems, but we've done exactly that in our VMS environment using scripted batch command files. – Derek Apr 23 '12 at 18:55
  • @user74952 - Looking at the source code of the Integrity routine, the Silent tag calls the tag Back. I can't say if this is an approved entry point to the integrity checker, but this does seem to work for me: `> D Back^Integrity(filename)` – Derek Apr 23 '12 at 18:57
  • I get an undefined. I will contact Intersystems. I'm using now also a script for the required input, but it just isn't a clean way to do it. Thanks for your time. I will update the post when I get an answer. – user74952 Apr 24 '12 at 10:29
  • @Derek - What is the optimal time to schedule the Integrity Check task for an Intersystems Cache database? I would imagine during off-peak hours, no? – Zengineer Feb 17 '14 at 21:20
  • @Zengineer - I would imagine that's the case, though to be honest, monitoring the integrity of the system wasn't my job role at the time of this answer, so I can't give you an answer with 100% certainty. You may want to ask InterSystems directly, or pose your question to the [InterSystems Google group](https://groups.google.com/forum/#!forum/intersystems-public-cache). – Derek Feb 18 '14 at 21:54