go to post Robert Cemper · Nov 9, 2022 To achieve the expected result of individual storage you may take this approach: Class Test.NewClass Extends %Persistent [ NoExtent ] { Property Name As %String [ Required ]; Index NameIndex On Name [ Unique ]; } and Class Test.NewClass1 Extends Test.NewClass { Storage Default { <Data name="NewClass1DefaultData"> <Value name="1"> <Value>%%CLASSNAME</Value> </Value> <Value name="2"> <Value>Name</Value> </Value> </Data> <DataLocation>^Test.NewClass1D</DataLocation> <DefaultData>NewClass1DefaultData</DefaultData> <IdLocation>^Test.NewClass1D</IdLocation> <IndexLocation>^Test.NewClass1I</IndexLocation> <StreamLocation>^Test.NewClass1S</StreamLocation> <Type>%Library.CacheStorage</Type> } } and you see:ERROR #5808: Key not unique: Test.NewClass1:NameIndex:^Test.NewClass1I("NameIndex"," A1")
go to post Robert Cemper · Nov 9, 2022 no big surprise.if IDKEY <> PrimaryKey then PrimaryKey is just a UNIQUE Key on some property. I expected it as on object side you have %OpenId() but no %OpenPrimary() or similar.only Classmethod <uniqueProperty>KeyOpen(...)
go to post Robert Cemper · Nov 7, 2022 if you know the process id then $SYSTEM.Process.Terminate( . . .) should terminate it
go to post Robert Cemper · Nov 7, 2022 there is a quite wide selection of licenses.the best for details is to contact your local sales rep from InterSystems to find your optimal solution
go to post Robert Cemper · Nov 6, 2022 All said: the processor has too many cores which is not allowed by Community edition license So get an official distribution and an official/evaluation license: https://wrc.intersystems.com/wrc/coDistEvaluation.csp
go to post Robert Cemper · Nov 3, 2022 Following this discussion since beginning I'm wondering about the variant I've learned.my personal approach would be.#1)have an exact copy of your class also pointing to the same storageremove all index definitions from that clone classrun your bulkload#2)if you don't want to have the same storagejust eliminate the index definitions in the copyclean its storage and run your bulk loadfinally, merge the resulting globals #' .)It's not pure OO,but writing to storage is never OO with Caché or IRIS
go to post Robert Cemper · Oct 28, 2022 GREAT!Looks like embedded Py starts to understand how IRIS really works inside !!!!
go to post Robert Cemper · Oct 27, 2022 I'd say it's a bug in Query Generator.A workaround in DB-API just might hide the real cause. If you are lucky the bug is fixed by the next release or the next after or some future release
go to post Robert Cemper · Oct 27, 2022 thanks for confirming my diagnose- that's why I used "+id as id1" to break the link to index global- and :BTW: ORDER BY 1 ; just using column position shows the same bug
go to post Robert Cemper · Oct 26, 2022 set claim=##class(Claim).%OpenId(claimnum) ; or similar set line=##class(ClaimLine).%OpenId(linenum) ; or similar do claim.ClaimLineRel.Insert(line) now your query should work
go to post Robert Cemper · Oct 25, 2022 Why would you want to do this?the index related to %Save() is no "build" but just setting a value to the index global. setting an index is mostly less load than saving an object.
go to post Robert Cemper · Oct 24, 2022 @Laurel James (GJS) You are very welcome!I publish ANY review that I'm able to identify. Not just my own, which are easiest to find.
go to post Robert Cemper · Oct 24, 2022 see this article: Date before Dec.1840 ? Negative $H(orolog) ?
go to post Robert Cemper · Oct 23, 2022 A possible workaround SAMPLES>set rs= ##class(%SQL.Statement).%ExecDirect(,"SELECT +id id1, x, y, z FROM some_table ORDER BY id") SAMPLES>while rs.%Next() { zwrite $listbuild(rs.id1, rs.x, rs.y, rs.z) } $lb(1,1,2,"z1") $lb(2,2,3,"z2") $lb(3,3,4,"z3") $lb(4,4,5,"z4") SAMPLES> The point is to consume your value NOT from temp order global. tested in Cache for Windows (x86-64) 2018.1.7 (Build 721U) Fri Mar 18 2022 22:07:35 EDTShould also work in IRIS