Execute it again.
- Log in to post comments
Execute it again.
Nice article!
My attempt at Office Open XML processing.
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.
New (2016.2+) Dynamic Objects support NULLs:
set mynull={"def":null}
set mynull2 = {}
do mynull2.%Set("def","","null")Check possible Java access modes.
You can query with JDBC.
You can set ..HTMLZIPDoc.Filename to any filepath you need.
You can use %NOCHECK %NOLOCK to speed things up. Work Queue Manager can be used for parallelization.
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 NULLto recalculate only for documents where a property value is missing.
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)
You can try to compile from source.
Note that it requires that you're the only writer on the system during that update.
There are two options:
Check RESTForms2 and RESTFormsUI2.
Check Retain cached query source option?
Only if the property becomes calculated after being stored which I don't see happening that often.
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.
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.
Starting with 2020.1 Universal Query Cache is used for all SQL statements.
Have you encountered an issue with it?
Pinging @Benjamin De Boe
Use %VarString instead of %String. It has 3.6Mb limit by default.
You do it by chaining GetStored methods:
Class Document Extends %Persistent {
Property Filename As %VarString;
}
Class Question As %Persistent {
// Or relationship
Property Document As Document;
Property Filename As %String [ Calculated, SqlComputeCode = {set {*}=##class(Document).FilenameGetStored({Document})}, SqlComputed ];
}You need data-level encryption at rest.
DeepSeeWeb review seems to be missing.
I'm not really sure what is it that you want (please consider providing more information), but this project can be used to both read and write excel files.
Try it like this:
Class User.ResultsMessage Extends (%Persistent, %XML.Adaptor)
{
Property PersonIDs As list Of %String(XMLITEMNAME = "PersonID", XMLNAME = "PersonIDs", XMLPROJECTION = "WRAPPED");
XData Data
{
<Results>
<PersonIDs>
<PersonID>1000000</PersonID>
<PersonID>1000001</PersonID>
<PersonID>1000005</PersonID>
</PersonIDs>
</Results>
}
/// do ##class(User.ResultsMessage).Test()
ClassMethod Test()
{
Set text = ##class(%Dictionary.XDataDefinition).IDKEYOpen($classname(), "Data").Data
Set reader = ##class(%XML.Reader).%New()
Set sc=reader.OpenStream(text)
Do reader.Correlate("Results","User.ResultsMessage")
While reader.Next(.msg,.sc) {
Write !,"Count(): "_msg.PersonIDs.Count(),!
}
Write:$$$ISERR(sc) $System.Status.GetErrorText(sc)
}
}Docs.
Check RESTForms2.
Command:
d ##class(%DeepSee.Utils).Shell()Have you tried connecting to this second DSN right from the start?
Are you talking about this?