go to post Eduard Lebedyuk · Dec 24, 2021 To integrate your IDE with Git you need to use Source Control Hooks, for example Cache-Tort-Git UDL (but many others are available, I just use this one). Git in general and it's use as a part of CI/CD pipeline is described in this series of articles.
go to post Eduard Lebedyuk · Dec 24, 2021 New (2016.2+) Dynamic Objects support NULLs: set mynull={"def":null} set mynull2 = {} do mynull2.%Set("def","","null")
go to post Eduard Lebedyuk · Dec 20, 2021 You can set ..HTMLZIPDoc.Filename to any filepath you need.
go to post Eduard Lebedyuk · Dec 17, 2021 You can use %NOCHECK %NOLOCK to speed things up. Work Queue Manager can be used for parallelization.
go to post Eduard Lebedyuk · Dec 17, 2021 Properties are recalculated so it's enough to execute this query once: UPDATE <DOC TABLE CLASS> SET %Doc = NVL(%Doc||' ', %Doc) I'm not sure how to trick SQL engine into updating the value without changing it completely but just NVL(%Doc, %Doc) does not work. Adding empty space after json does not affect it. For DocDB indexed properties are defined as Property firstName As %String [ SqlComputeCode = { set {*}=$$%EvaluatePathOne^%DocDB.Document({%Doc},"$.firstName")}, SqlComputed, SqlComputeOnChange = %Doc ]; So updating %Doc does the trick. Also add: WHERE <NEW PROPERTY> IS NULL to recalculate only for documents where a property value is missing.
go to post Eduard Lebedyuk · Dec 17, 2021 Try it like this: new reader,sc,data,xmlSignature set sc=reader.OpenFile(file) quit:$$$ISERR(sc) sc set document = reader.Document do reader.Correlate("Signature","%XML.Security.Signature") if 'reader.Next(.xmlSignature,.sc) { quit sc } quit xmlSignature.ValidateDocument(document) From docs.
go to post Eduard Lebedyuk · Dec 17, 2021 Note that it requires that you're the only writer on the system during that update.
go to post Eduard Lebedyuk · Dec 16, 2021 There are two options: Use SQL Gateway to create Linked Tabled from Oracle (if there are a lot of tables it might be better to create a linkage with a view). After that query Linked Table same as any normal InterSystems IRIS table using the code snippet above. Write a service with the EnsLib.SQL.InboundAdapter to query Oracle database. In that case you need to implement a CSV writer.
go to post Eduard Lebedyuk · Dec 13, 2021 Use three repos: dbLib, dbA, dbB. Add dbLib as submodule to both dbA and dbB.
go to post Eduard Lebedyuk · Dec 6, 2021 Only if the property becomes calculated after being stored which I don't see happening that often.
go to post Eduard Lebedyuk · Dec 6, 2021 Sure Property D As %String [ Calculated, SqlComputeCode = {set {*}=##class(CClass).DGetStored(##class(BClass).CGetStored(##class(ClassA).BGetStored({A})))}, SqlComputed ]; Would be way faster than SQL approach too.
go to post Eduard Lebedyuk · Dec 6, 2021 if you need to get a->b->c->d That's what chained GetStored is for! and they at the same time can be null GetStored is a safe method: GetStored("") -> "", so it can be safely used even if some values are NULL.
go to post Eduard Lebedyuk · Dec 5, 2021 Starting with 2020.1 Universal Query Cache is used for all SQL statements. Have you encountered an issue with it? Pinging @Benjamin De Boe
go to post Eduard Lebedyuk · Dec 3, 2021 Use %VarString instead of %String. It has 3.6Mb limit by default.