go to post Tani Frankel · Aug 7, 2016 Thanks Dmitry.Indeed the focus here was on finding the possible globals you would want to dive deeper into regarding why they are taking up relatively a lot of journal space, and thinking of ways to mitigate that.When I get a chance I planned to follow-up with another post on ways to avoid journaling for such globals (though not always is that an option). Stay tuned...
go to post Tani Frankel · May 17, 2016 Thanks Luca.Note this is not instead of run-time monitoring and alerting.This is intended for a one-time run (though could be iterative) at development/testing phase. In order to help plan the required disk-space (and validate proper purging). For this I thought something Ensemble-specific, as well as growth process-oriented (capture, run, capture, compare, report) was beneficial. In real-time production phase of course one would put into place the more generic core monitoring functionalities, and would have no use of this framework.
go to post Tani Frankel · Mar 20, 2016 Hi Jon, I'm not sure this is exactly what you were looking for but you should be aware of the %XML.DataSet class. With this class you can run an SQL query (for example returning all the instances of your class, or filter out some subset of it) and get the results in XML format (including the metadata of the result). See more details in the docs. Here's a sample run: SAMPLES>set dataset=##class(%XML.DataSet).%New() SAMPLES>write dataset.Prepare("SELECT TOP 5 ID, Name, DOB FROM Sample.Person WHERE Name %STARTSWITH ?") 1 SAMPLES>write dataset.Execute("b") 1 SAMPLES>do dataset.XMLExport() <SQLResult> <s:schema id="DefaultDataSet" xmlns="" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <s:element name="DefaultDataSet" msdata:IsDataSet="true"> <s:complexType> <s:choice maxOccurs="unbounded"> <s:element name="SQL"> <s:complexType> <s:sequence> <s:element name="ID" type="s:long" minOccurs="0" /> <s:element name="Name" type="s:string" minOccurs="0" /> <s:element name="DOB" type="s:date" minOccurs="0" /> </s:sequence> </s:complexType> </s:element> </s:choice> </s:complexType> <s:unique name="Constraint1" msdata:PrimaryKey="true"> <s:selector xpath=".//SQL" /> <s:field xpath="ID" /> </s:unique> </s:element> </s:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <DefaultDataSet xmlns=""> <SQL diffgr:id="SQL1" msdata:rowOrder="0"> <ID>3</ID> <Name>Bush,Sam K.</Name> <DOB>1932-05-05</DOB> </SQL> <SQL diffgr:id="SQL2" msdata:rowOrder="1"> <ID>53</ID> <Name>Basile,Rhonda B.</Name> <DOB>2001-07-18</DOB> </SQL> <SQL diffgr:id="SQL3" msdata:rowOrder="2"> <ID>66</ID> <Name>Bachman,Julie M.</Name> <DOB>1959-10-11</DOB> </SQL> <SQL diffgr:id="SQL4" msdata:rowOrder="3"> <ID>102</ID> <Name>Bach,Mo N.</Name> <DOB>1936-01-17</DOB> </SQL> <SQL diffgr:id="SQL5" msdata:rowOrder="4"> <ID>116</ID> <Name>Braam,William V.</Name> <DOB>1983-03-06</DOB> </SQL> </DefaultDataSet> </diffgr:diffgram> </SQLResult>
go to post Tani Frankel · Mar 9, 2016 Hi John,Out of curiosity - if you could share - what is your Plugin going to do?Tani