Arto Alatalo · May 13, 2020 go to post

Hi Daniel,

well, my problem is as simple as this: I have data of same structure stored in two different globals and I want to read it with  SQL-mapped storage. It would be too boring to have two identical classes with the only difference in the location.

Arto Alatalo · May 16, 2020 go to post

@Murray Oldfield 
Current version of documentation says regarding to the update

https://cedocs.intersystems.com/latest/csp/docbook/Doc.View.cls?KEY=GCM_pbuttons#GCM_pButtons_runsmp
This utility may be updated between releases. The latest version is available on the WRC distribution site under Tools

The xml indeed can be downloaded from WRC but no word neither about pButtons version not the way to install it. Should I simple import the xml into %SYS?

Arto Alatalo · May 20, 2020 go to post

@Murray Oldfield 

I'm getting similar error with latest container version:

ValueError: time data '19.05.2020' does not match format '%d/%m/%Y'

19.05.2020 00:00:00
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0,75    0,00    0,10    0,04    0,00   99,11
Arto Alatalo · Jun 6, 2020 go to post

minimum platform version of InterSystems IRIS 2018.1

Porting old apps with a framework available on new version of the platform (IRIS) only, no contradictions here? :) Is there something fundamental preventing the framework from being used on Cache too?

Arto Alatalo · Aug 23, 2021 go to post

Great article! Thank you for sharing your experience and thoughts with us.

Arto Alatalo · Nov 1, 2021 go to post

I've never worked with NET client but I suppose it works on request/response principle, so it is not possible to get async call from the database.

Arto Alatalo · Mar 10, 2022 go to post

Hi Robert,

JRNDUMP does solve the timeout issue, but searching with it looks really challenging.

Arto Alatalo · Feb 20, 2023 go to post

I have a question regarding to the indexing: for me example shown in the article works fine, the index global is populated property for inserted records but then I have two problems:

- Rebuild Index just deletes the whole index global and creates nothing instead.

- Show Plan indicates that my index cannot be used directly when selecting on the indexed property. Instead, the executor has to create a temporary map applying %SQLUPPER to the property.

Any advice how to make fully compatible index?


Cache for Windows (x86-64) 2018.1.5

Arto Alatalo · Feb 23, 2023 go to post

Here it is. InsertData properly creates both ^mytest("data") and ^mytest("idx"). Rebuild Index does nothing except deletes ^mytest("idx").

Class loggpro.IndexTest Extends%Persistent [ ClassType = persistent, ProcedureBlock, SqlCategory = INTEGER, StorageStrategy = itemstore ]
{

Property aaa;Property bbb;
Index prim On aaa [ IdKey, PrimaryKey ];
Index idxBbb On bbb;ClassMethod InsertData()
{
	for a=1:1:10 {	
		s o=##class(loggpro.IndexTest).%New()
		s o.aaa=a
		s o.bbb=a+100d o.%Save()
	}
}

Storage itemstore
{
<SQLMap name="indexmap">
<Global>^mytest</Global>
<PopulationType>full</PopulationType>
<Subscript name="1">
<Expression>"idx"</Expression>
</Subscript>
<Subscript name="2">
<Expression>{bbb}</Expression>
</Subscript>
<Subscript name="3">
<Expression>{aaa}</Expression>
</Subscript>
<Type>index</Type>
</SQLMap>
<SQLMap name="itemmap">
<Data name="bbb">
<Node>"bbb"</Node>
</Data>
<Global>^mytest</Global>
<Subscript name="1">
<Expression>"data"</Expression>
</Subscript>
<Subscript name="2">
<Expression>{aaa}</Expression>
</Subscript>
<Type>data</Type>
</SQLMap>
<StreamLocation>^CacheTemp</StreamLocation>
<Type>%CacheSQLStorage</Type>
}

}
Arto Alatalo · Feb 24, 2023 go to post

Now all my fields are of type %Library.Integer but Rebuild Index still just deletes ^mytest("idx"). Does Rebuild Index work for you?

Arto Alatalo · Feb 25, 2023 go to post

That's weird, ##class(loggpro.IndexTest).%BuildIndices() indeed recreates the index properly. But the way I do it, with Portal's SQL, Rebuild Index just wipes the index out. Please check how Portal works for you.