go to post Iryna Mykhailova · Apr 3, 2023 Awesome! Thanks for the prize and congratulations to the winners and all participants!
go to post Iryna Mykhailova · Apr 1, 2023 Hmm, probably InterSystems folks were doing something. Works OK now.
go to post Iryna Mykhailova · Mar 16, 2023 Before: Query GetAllOlderThan(Age As %Integer = 65) As %Query(ROWSPEC = "Name:%Name,Age:%Integer") [ SqlProc ] { } ClassMethod GetAllOlderThanExecute(ByRef qHandle As %Binary, Age As %Integer = 65) As %Status { set qHandle = $lb($random(200), 0) Quit $$$OK } ClassMethod GetAllOlderThanClose(ByRef qHandle As %Binary) As %Status [ PlaceAfter = GetAllOlderThanExecute ] { set qHandle = "" Quit $$$OK } ClassMethod GetAllOlderThanFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ PlaceAfter = GetAllOlderThanExecute ] { if $ListGet(qHandle, 2) = $ListGet(qHandle, 1) { Set Row = "" set AtEnd = 1 } else { Set Row = $Lb(##class(%PopulateUtils).Name(), ##class(%PopulateUtils).Integer(18, 90)) set $list(qHandle, 2) = $list(qHandle, 2) + 1 } Quit $$$OK } After: Query GetAllOlderThan(Age As %Integer = 65) As %Query(ROWSPEC = "Name:%Name,Age:%Integer") [ SqlProc ] { } ClassMethod GetAllOlderThanExecute(ByRef qHandle As %Binary, Age As %Integer = 65) As %Status { set qHandle = $lb($random(200), 0, Age) Quit $$$OK } ClassMethod GetAllOlderThanClose(ByRef qHandle As %Binary) As %Status [ PlaceAfter = GetAllOlderThanExecute ] { set qHandle = "" Quit $$$OK } ClassMethod GetAllOlderThanFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ PlaceAfter = GetAllOlderThanExecute ] { if $ListGet(qHandle, 2) = $ListGet(qHandle, 1) { Set Row = "" set AtEnd = 1 } else { Set Row = $Lb(##class(%PopulateUtils).Name(), ##class(%PopulateUtils).Integer($ListGet(qHandle, 3), 90)) set $list(qHandle, 2) = $list(qHandle, 2) + 1 } Quit $$$OK } }
go to post Iryna Mykhailova · Mar 16, 2023 > Hi @Iryna Mykhailova and welcome to the Tutorials Contest. Why, thank you Both %SQLQuery and %Query are class queries. As for the Studio - I do believe it's the easiest way for people who start working with IRIS to get acquainted with the technology! You are right, I forgot to keep in mind that I have a parameter for the second example. I will correct it to reflect that I'm looking for people older than the exact age. Thanks for the heads-up!
go to post Iryna Mykhailova · Mar 16, 2023 I know about multidimensional properties. But at this pint they aren't even listed as an option in the Wizard. And I'm not sure they are that useful for modern applications. I would guess their use was to transition applications from hierarchical model to object model.
go to post Iryna Mykhailova · Mar 15, 2023 Yes, and what I love about it - you can use any ODBC based tool and write a simple SQL select and voila:
go to post Iryna Mykhailova · Jan 16, 2023 Linguistic expert 1 less translation and I could've been a Prolific Blogger
go to post Iryna Mykhailova · Dec 13, 2022 Ok, I found it. It was Ctrl+/ But I have several / on my keyboard and only the one on the main keyboard (with letters) works.
go to post Iryna Mykhailova · Dec 12, 2022 I don't really care what are the exact keystrokes, I just want them to work, and they don't
go to post Iryna Mykhailova · Dec 11, 2022 Sure, I know /* */ work. But students use different IDEs so they get used to some behavior and adding multiline comments is apparently one of them. In my Studio it shows like this and the menu works but the shortcuts don't.
go to post Iryna Mykhailova · Dec 9, 2022 Does it work for you? I have 2022.2 and it doesn't work I press and nothing happens.
go to post Iryna Mykhailova · Nov 30, 2022 Thank you I had to figure out how this whole thing works (and to search lots of sites to get the general idea) so decided it would be nice to share the basics with others as well.
go to post Iryna Mykhailova · Nov 13, 2022 Will this do, to have both delete and update: CREATE TABLE nodes2 ( name VARCHAR(50) NOT NULL, parent VARCHAR(50), PRIMARY KEY (name), FOREIGN KEY(parent) REFERENCES nodes (name) ON UPDATE cascade on DELETE cascade )
go to post Iryna Mykhailova · Nov 10, 2022 Yes, that's what I did (because, obviously, the class being abstract is not the cause - works great in other scenarios): Class Test.NewClass Extends %Persistent [ Abstract, NoExtent ] {} Class Test.NewClass1 Extends Test.NewClass {} I do know you don't inherit all from the secondary class, but I though the number of things I do inherit was more than just parameters, properties and methods. I take it queries, foreign keys, triggers, projections are out as well?