go to post Timothy Leavitt · Feb 3, 2022 Problem in my case is that it's a non-IRIS process, so interactions from IRIS are limited.
go to post Timothy Leavitt · Feb 2, 2022 I was hoping to avoid something like that. It seems like I run into other issues with what I'm trying to do though around killing the spawned process anyway. I think $zf(-100) just won't do the trick.
go to post Timothy Leavitt · Feb 2, 2022 I think it's probably going to just come down to using a pipe/command pipe/etc. instead of $zf(-100).
go to post Timothy Leavitt · Feb 2, 2022 What I'm trying to do is manage the process spawned with $zf(-100) from ObjectScript. In short, if the ObjectScript process is killed or <INTERRUPT>ed (which you can't do while in a ZF state), I want to kill the spawned process as well. More specifically, I have a main ObjectScript process that's monitoring an Angular build. It spawns another ObjectScript process that used to just call $zf(-100) synchronously to run a build script. This other process would then notify the parent via $System.Event when it's done. Normally this build script will run for a finite period of time, but I'm looking to run an Angular build with the --watch flag and terminate it when the user Ctrl+C's in Terminal.
go to post Timothy Leavitt · Jan 24, 2022 @Stephen Canzano good call - I've updated the post accordingly.
go to post Timothy Leavitt · Jan 24, 2022 I've updated my original post with a bit of performance analysis as well (couldn't resist) - I'm curious if anyone has ideas for getting an embedded SQL approach even closer to raw global refs. :)
go to post Timothy Leavitt · Jan 24, 2022 Just had time to do a more detailed writeup here: https://community.intersystems.com/post/listing-all-properties-class-and...
go to post Timothy Leavitt · Jan 21, 2022 I'd run a query against %Dictionary.CompiledProperty where parent = (the classname)
go to post Timothy Leavitt · Jan 21, 2022 I'm not aware of any JSON schema capability. %Dictionary has two sets of classes: *Definition and Compiled*. If you want to see inherited members you need to look at Compiled* (e.g., CompiledClass / CompiledProperty). If you want to know from which class, there's an "Origin" property.
go to post Timothy Leavitt · Jan 20, 2022 Per message from @Stefan Cronje the issue was a missing coverage.list. I've filed https://github.com/intersystems/TestCoverage/issues/11 to cover an enhancement to fail early and descriptively in this case rather than just doing nothing.
go to post Timothy Leavitt · Jan 19, 2022 It's also possible that %objlasterror is leaking without that error being the root cause of any issues. I'd start by looking at how you're saying which units of code to measure coverage for - e.g., via coverage.list or an explicit list passed in to the CoverageClasses/CoverageRoutines parameter as described at https://github.com/intersystems/TestCoverage
go to post Timothy Leavitt · Jan 19, 2022 @Stefan Cronje I've sent you a message. The discussion at https://github.com/intersystems/TestCoverage/issues/10 is relevant but I think your root cause may be different.Basic troubleshooting steps / things to think about:* Is the line-by-line monitor running? (do ^%SYS.MONLBL and see what it says)* Do you have .int code for the classes for which you're measuring coverage? (compile with the "k" flag to keep this around)* Did you say what classes/routines you wanted to measure coverage of? (see instructions at https://github.com/intersystems/TestCoverage) Given that two people have run into this now I think there's something that should be changed to help avoid the situation. Perhaps forcing the line-by-line monitor/PERFMON to stop (if it's running) prior to starting it for a test coverage run and/or identifying possible causes of the issue.
go to post Timothy Leavitt · Jan 13, 2022 Right - at this point I'd say set Server to apisidra.ibge.gov.br instead of api.sidra.ibge.gov.br and see if that fixes it.
go to post Timothy Leavitt · Jan 11, 2022 It looks like there might be an issue with the service you're trying to use - at https://apisidra.ibge.gov.br/ , pasting in "/t/1612/n2/all/v/all/p/last/c81/2702/f/u" as "Parâmetros/valores da API:" then clicking "Consultar" I get an alert saying "A solicitação de conexão com pools sofreu timeout". I also see this from ObjectScript with Server set to apisidra.ibge.gov.br instead of api.sidra.ibge.gov.br
go to post Timothy Leavitt · Jan 11, 2022 I'd recommend looking at what (other than valid JSON) is in result.HttpResponse.Data. Also worth looking at result.HttpResponse.StatusCode - is it 400 or 404?
go to post Timothy Leavitt · Dec 15, 2021 This is awesome!! Clarifying question - re: "special tables that only support row-based sampling", would this be tables with custom/non-default storage definitions?
go to post Timothy Leavitt · Dec 14, 2021 Thanks - simple example is: do ##class(%SQL.Statement).%ExecDirect(,"select top 10 'foo'").%DisplayFormatted("CSV",,,.filesUsed) do ##class(%Stream.FileCharacter).%OpenId(filesUsed(1)).OutputToDevice()