I searched for it in Studio in all files but yes, I see it your way. I'll let know here how %GOF does the job, tests seem reasonable.
- Log in to post comments
I searched for it in Studio in all files but yes, I see it your way. I'll let know here how %GOF does the job, tests seem reasonable.
Apparently GBLOCKCOPY is simply not available on my Cache 2017 version since search for it in system files returns nothing. I am trying to transfer a large number of globals, not all, from one computer to another, not just between namespaces within the same database. The system does not have actively modified globals. I got an old-timer advice to use %GOF which does accept ranges both for exclusion and inclusion so will work on that for a while.
Half of the globals were imported alright. Yes, I thought too it might be a failure to properly export, like an export related error. The 4GB file does contain all intended globals, I can see it in the Management Portal's Import utility. I tried to check just a couple on the list and they failed with no error.
Windows 10, i.e. NTFS, if that is the question. Not Fat32. What is ECP in this context?
What is WRC? It looks like the import process goes alphabetically, then stops and refuses to process any more globals. I would assume that the GOF file contains all globals alphabetically as well. I will look if the first not processed global is somehow different from previous ones.
It's not a single global it's about 1500 separate globals so you approach would involve a loop as well but yes, it is different.
It looks like code below would give me what I am looking for. Just need to figure out (or take an advice!) how to exclude, say, system classes outright.
s rs=##class(%ResultSet).%New("%Dictionary.ClassDefinitionQuery:ClassIndex")
s x=rs.Execute()
f {
s x=rs.Next() q:'x
s TimeChanged=rs.GetDataByName("TimeChanged")
s ClassName=rs.GetDataByName("ClassName")
s Hash1=rs.GetDataByName("Hash1")
s Hash2=rs.GetDataByName("Hash2")
s System=rs.GetDataByName("System")
s ClassType=rs.GetDataByName("ClassType")
s Size=rs.GetDataByName("Size")
}
P.S. Found the answer to my last question: https://cedocs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25SYS&CLASSNAME=%25Library.RemoteResultSet
Unlikely but could be. I'll look it up.
Thanks, Eduard! Queries look promising. Will they compare INT's or CLS's, given it's about CompiledClass?
Thanks, Dmitriy! Yes, I saw already that classes are stored differently. Our namespaces are huge and different enough though so looking through all their differences line by line is not necessarily practical.
P.S. I am looking forward to your VSCode add-on progress BTW :-). Tried it some time ago already.