go to post Stephen Canzano · Apr 15, 2020 with your updated problem description where your globals only contain a single node I would consider the serial/embedded approach. This still don't address your request for a variable name for the storage, but it does mean for the columns/properties you can define them in the serial class once and then embed in the class that represents global a and global b. It also means in the storage map you just have to define the data node as the serial property. Let's say we could get it to work such that the storage map is based on a variable, I suspect other things wouldn't work. For example, in Documatic when you view a class you can select the Storage checkbox and get a display that looks like I suspect if somehow you can get the storage map to be dynamic and based on a variable name this display would fail or not show you the value of the variable.
go to post Stephen Canzano · Apr 15, 2020 Depending on what you exactly mean by the same structure you consider using a Serial Class definition that is embedded in both of your classes. However, if the structure is stored across several global nodes I do not think you could use this as the Serial class would define the pieces(whether delimited or $ListBuild pieces) and then the serial property is described in your 2 classes to occupy a single node. You could also consider defining a single abstract class that describes the properties and have your 2 classes inherit from your abstract class. With regards to having a variable defining the data location I suspect that it may not be doable, even if it were I don't see how it improves things in a significant way.
go to post Stephen Canzano · Apr 3, 2020 I've used the Security.Users class in %SYS as well as Security.Roles. In both cases the documentation suggests you should use the methods to interact with the data.. ie call the Create, Get, Delete methods found in the corresponding class.
go to post Stephen Canzano · Jan 10, 2020 I'm generally looking at the query plans either from the SMP or from the context menu in Studio while writing class queries/embedded sql statements. One issue that I've seen is that while the query plan is very good, an in many cases better than what other dbms's provide, when a sub-query is part of your query statement it's not exactly clear when it is utilized in the query plan. For example, I have this query plan I cannot tell with 100% certainty where "subquery" is called.
go to post Stephen Canzano · Dec 26, 2019 While the cost may be high, the real question might be better focused on the performance. Relative cost is just that, relative. What does the rest of the query look like? What is the time to first row, time for all of the data? Does the query plan utilize the index on the StartDate column?
go to post Stephen Canzano · Dec 13, 2016 A couple ideasIf it's for debugging I use $System .OBJ.Dump(oRef)If it's in application code I ran across something that looked like While prop '= "" {// Use global lookup instead of %Dictionary.Class query so users don't need privileges on that table Set tPropClass = $$$comMemberKeyGet(sourceClass,$$$cCLASSproperty,prop,$$$cPROPtype)
go to post Stephen Canzano · Dec 2, 2016 If you have more recent versions of Cache you will likely benefit by using %PARALLEL especially if you have a large number of cores for your environment.
go to post Stephen Canzano · Sep 13, 2016 While not specifically an answer to your question I have used Class Projections as a way to detect when a class is compiled or removed. This will not allow you to see the changes between classes but could be useful to see when classes are compiled.
go to post Stephen Canzano · Jul 14, 2016 Thanks, that is one way to do it. Might this be something that is fixed more formally in the future?
go to post Stephen Canzano · May 17, 2016 Given that you guys have opened the hood, while not specifically a DOCBOOK request, I would like to see https://www.chromium.org/tab-to-search be supported for DOCBBOOK content. As an example I'd like to when using Google Chrome be able to type docs.intersystems.com [tab] {SearchTerm} and have the page respond with a list of results based on {SearchTerm}I understand there may be issues with what version of DOCBOOK to show but it might be useful to just show results from the latest version.
go to post Stephen Canzano · May 17, 2016 Just checking as I still see Technical Articles I assume if you add content to DOCBOOK this additional content will still be part of this new UI?
go to post Stephen Canzano · May 17, 2016 One aspect that has been lost in the transition is to have the Search Dialog always on the page. If you go to this page as an example http://docs.intersystems.com/beta/csp/docbook/DocBook.UI.FramePage.cls?K... in order to initiate a new search it appears I have toSelect this back button on the top left hand corner Scroll the left hand side menu, list of books to the very topPlace my cursor in the search field and enter a new search term.Whereas in the old system I could Press the [Home] key to be taken to the topEnter a new search term. I would vote to make the search box visible at all times.
go to post Stephen Canzano · Apr 28, 2016 If you can share the Show Plan information for each query that will probably add some insight. Given that the second query has only one column it may be that there are additional adjustments to the query that would yield better performance, although this does not directly address your specific question as to why it is much slower. At the same time a query that is taking well over 30 minutes seems like there is something not quite right.
go to post Stephen Canzano · Feb 4, 2016 Great news. only comment I would add is I would think the peformance chart in this article would be easier to quickly digest if all of the values were in ms.