go to post Otto Medin · Oct 29, 2021 Note that applying the new IRIS for Health key (I haven't tried plain IRIS) yields a warning that it lacks some of the analytics features of the expiring key.
go to post Otto Medin · Sep 22, 2021 Nothing nonstandard. I went to the marketplace (link below) and pressed "Launch". The deployment page then (optionally) allows TCP traffic on ports 22, 1971 and 52773. (For unrelated reasons, I haven't actually deployed yet.) https://console.cloud.google.com/marketplace/product/intersystems-launch... Cheers, Otto
go to post Otto Medin · Dec 10, 2020 ...or using a stored procedure along these lines:ClassMethod RenameTable(oldName As %String, newName As %String) As %String [ SqlProc ]{ try { &sql(select %ID into :className from %Dictionary.ClassDefinition where SqlTableName = :oldName ) if SQLCODE set status = "Error: Table '" _ oldName _ "' not found." quit set classDef = ##class(%Dictionary.ClassDefinition).%OpenId(className) set classDef.SqlTableName = newName set saveStatus = classDef.%Save() set status = $case(saveStatus, 1: "OK", : "Error: " _ $system.Status.GetErrorText(saveStatus)) } catch { set status = "Error: " _ $zerror } return status}Note: This doesn't handle the special case where there is no 'SqlTableName' defined.
go to post Otto Medin · Apr 15, 2020 Hi Dimitry, Was the webinar recorded? I'd say you'll get at least another 80 viewers if you publish it... Cheers, Otto
go to post Otto Medin · Jan 24, 2018 Agreed, and if you want to have your cake and eat it, too: if (a) { set b = a }
go to post Otto Medin · Nov 8, 2017 Somewhat off-topic, there are reasons to watch out for %OnBeforeSave():The object is already serialized at this point, so you can't change any properties.The method is only triggered if the object was changed.%OnAddToSaveSet() has neither of these gotchas (but you don't have %Id() there either, of course).
go to post Otto Medin · Aug 16, 2017 ...and don't forget to kill the global when you're done. On a busy system, the log file could grow very large.Otto