Eduard Lebedyuk · Sep 1, 2020 go to post

If the user does not have W access on routines db he will not be able to edit it.

Also the  whole DB might be marked as RO.

Eduard Lebedyuk · Aug 31, 2020 go to post

Sure:

Set sc=##class(%REST.API).GetWebRESTApplication(namespace,webApplication,.swagger)
Eduard Lebedyuk · Aug 20, 2020 go to post

This is useful if you need to debug class methods where you can't use $$$TRACE

Add

Include Ensemble

to the start of your class and all Ensemble specific macros become available.

Eduard Lebedyuk · Aug 20, 2020 go to post

Just need to figure out (or take an advice!) how to exclude, say, system classes outright.  

Something like this should work:

WHERE 1=1
      AND NOT name %STARTSWITH '%'
      AND NOT name %STARTSWITH 'CSP'
      AND NOT name %STARTSWITH 'Ens'
      AND NOT name %STARTSWITH 'INFORMATION.SCHEMA'
Eduard Lebedyuk · Aug 19, 2020 go to post

Will they compare INT's or CLS's, given it's about CompiledClass?

No idea. Do you think someone might have edited generated int code directly?

Eduard Lebedyuk · Aug 19, 2020 go to post

I think this is a task better suited for Version Control System, such as git.

  1. Export all relevant code from the first namespace
  2. Commit
  3. Export all relevant code from the second namespace 
  4. Diff

And for CD/CI systems such as Jenkins, GitHub or GitLab.

That said you can use this SQL to compare class hashes (if hashes are identical than classes are identical)

SELECT
  Name,
  Hash,
  TimeChanged,
  TimeCreated
FROM %Dictionary.CompiledClass

After that you can use this SQL to compare hashes of the individual methods (if classes do not match):

SELECT
  parent,
  Name,
  RuntimeHash
FROM %Dictionary.CompiledMethod
Eduard Lebedyuk · Aug 13, 2020 go to post

This is an InterSystems IRIS functionality.

I recommend upgrading your Caché application to InterSystems IRIS.