Robert Cemper · Jul 29, 2017 go to post

You are right. The check for pure number got lost

if  +number=number  has to precede 

so the combined is  if  +number=number,number\1=+number

Robert Cemper · Jul 28, 2017 go to post

The oldest and most simple and fastest integer check is
if value\1=+value

\1 strips trailing decimals,  + strips leading 0

; just pure integer arithmetics no string checks

Robert Cemper · Jul 28, 2017 go to post

Journaling a DeepSee environment is a real performance killer.
Take a look of the Journal when  using a Bitmap Index 

Robert Cemper · Jul 27, 2017 go to post

since every installation of Caché has it's gateway I'm not clear what you did by
" configured as CSP gateway. "
with no manual change the gateway always talks to your local server  ser-app-w

From CSPgatewayMgmt on ser-app-w  you should check access to ser-app-db

Robert Cemper · Jul 25, 2017 go to post

so you may use $$$comClassDefined(class)  for compile classes

or go for ^oddCOM(....)

Robert Cemper · Jul 25, 2017 go to post

I just got this information:

Developer group worked at it and version 2018.1 1 will contain the new pattern.

smileysmiley

Robert Cemper · Jul 25, 2017 go to post

And if you also want to be sure that also the Method %New exists you my use

write $$$comMemberDefined(ClassName,"m","%New")

[just reading through %occReference.inc]

Robert Cemper · Jul 24, 2017 go to post

I'm fully with you.
Using hidden %System.whatever   Classes is as bad practice as using undocumented $zu(anynumber,  ,  , )

Robert Cemper · Jul 23, 2017 go to post

Using the term MACRO for code saved as .INC is quite a challenge to beginners working in .MAC and more in .CLS
Always a nice check for a trainer to verify attention of his victims

Robert Cemper · Jul 23, 2017 go to post

set exist=##class(%Dictionary.CompiledClass).%ExistsId(ClassName)

will tell you the status

Robert Cemper · Jul 22, 2017 go to post

If there is an index defined on PBD_PBO_ParRef  is it correctly generated?
If not sure, do rebuild index from MgmtPortal. 

Robert Cemper · Jul 21, 2017 go to post

What about chopping your query like this or similar

lastID=0

"Select TOP 10000 ID,Text from eprinstance.isegment where ID > ?"

passing lastID as query Parameter

Now you loop on it until you collected all records.

The basic idea is to limit your result set by TOP as your partition allows.

wink it's definitely independent of Cache versions.
 

Robert Cemper · Jul 21, 2017 go to post

I wish I had this half a year ago when I was teaching Caché basics to total fresh developers.

Great stuff.

Robert