go to post Robert Cemper · Mar 22, 2020 why not use a free local mail server for testing?I personally use the german speaking Hamster. But there are lots of them. Google is your friend
go to post Robert Cemper · Mar 14, 2020 make your formula f = x + 20(y*y) > z a calculated, SQLcomputed property in your TABLEand provide it with a bitmap index and it will run distributed and be incredible fast docs: https://docs.intersystems.com/iris20192/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_proplit#GOBJ_proplit_computedhttps://docs.intersystems.com/iris20192/csp/docbook/Doc.View.cls?KEY=RSQL_C145362
go to post Robert Cemper · Feb 28, 2020 error -400 means there is an internal error It might be caused by using object properties as :context.anyname inside embedded SQL give it a try and use "simple variables" as :%myanyname , :%myShipmentTrackingNo and fill the context object outside the embedded SQLas you do with SQLCODE
go to post Robert Cemper · Feb 26, 2020 I'm surprised you don't see the obvious performance difference of looking for something of distinct length at the beginning of a stringvs. scanning an eventual rather long string for some bytes somewhere eventually including also composed strings as %AB%CD%. keep in mind: Caché is built for speed, not for the comfort of the average programmer
go to post Robert Cemper · Feb 24, 2020 %STARTSWITH relates better to Caché internal structures and is faster in larger scale
go to post Robert Cemper · Feb 24, 2020 what you seem to look for is $LISTTOSTRINGsame concept as .toString in Java, just no dot
go to post Robert Cemper · Feb 7, 2020 USER>w $ZDATETIME($h,3)2020-02-08 00:59:59USER>w $ZDATETIME($h,-2)1581120005 docs: https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_fzdatetime
go to post Robert Cemper · Feb 6, 2020 https://cedocs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25SYS&CLASSNAME=Security.Users The API is the System Mgmt Portal or do ^SECURITY from Teminal in %SYS namespace
go to post Robert Cemper · Feb 1, 2020 Once the query is running it is not interested in any browser activity. BUT:the query is stopped when you fall into the session timeoutand the related process (and any query) is terminated.SO it not running forever!
go to post Robert Cemper · Jan 31, 2020 the benefit of the shell is: you can stop it by <CTRL>+C immediately. But also don't get any output.so it's rather a KILL than a STOP
go to post Robert Cemper · Jan 31, 2020 in Caché Terminal you may set file="c:\dir\filename"OPEN file:(:("RS":/IOTABLE="UTF8"):0 if $t write "file open ok",!use file read lineZw lineZZDUMP line ;;; see I/O device guide for more details The name of the io table is really just UTF8 with no hyphen ! So you force translation to internal format.
go to post Robert Cemper · Jan 31, 2020 So Caché normally should be ok.Have you tried to read the HEX codes stored. (eg. by http://www.pspad.com/ ) I had the experience that especially with Windows some well-written fileslooked bad by false (back)translation in some cases. (Notepad is one of the ugly beasts to stick with 8 bit chars.)
go to post Robert Cemper · Jan 31, 2020 It looks to me somehow like double encoded. Does your installation run as 8bit national (iso latin1) set or as wide char. unicode PTUW ?Mgmt Portal "About" tells you
go to post Robert Cemper · Jan 30, 2020 Assuming that cdate has a rather narrow selectivity #1) looking for a distinct value (1) gives a rather moderate result set. So the index global might not consume too much buffer blocks. #2) looking for >1 (combined with a significant EXTENTSIZE may create a huge resultset.So it is wise to scan the index global first {typically less blocks than data global] and keep the hits sorted by ID.Then you run with this hit list along the master map through your data global. Assuming that data require significantly more block reads than the index global. With a reasonable amount of Global buffers, your temp Global even might not see the Disk storage at all. You see it's a bunch of assumptions hidden in this query plan.The main goal, in any case, is to have as less "disk" access as possible.I quoted "disk" as storage has so many kinds of variations that it just stands as a synonym.
go to post Robert Cemper · Jan 25, 2020 Download as by PRODUCTS / Download IRIS .Never heard of J-Report before.
go to post Robert Cemper · Jan 22, 2020 Sounds good.Does this imply to allow more than one accepted Comment / Reply ?
go to post Robert Cemper · Jan 13, 2020 I see !And can confirm that this is by design (and ANSI definition) built like a routine call by value.And you have no chance for a pass by reference. [ somehow for i=1:1:.x ]Funny enough I remember a related discussion when I implemented that piece of M_interpreter almost 40 yrs ago (pre Caché in MACRO32)And the result was: If someone wants a dynamic ended loop he should use the unlimited variant and QUIT it when done.(WHILE was unknown in the standard definition of '78) And for reason of backward compatibility, no one ever tried to change it.
go to post Robert Cemper · Jan 13, 2020 I probably miss the point of your example. BUT, the equivalent of your WHILE loop is this FOR loop: set x=5 for i=1:1 write "i: ",i,", x: ",x,! if $i(x) quit:i>x and it's immedeatly evident that this loop is endless by design similar as the while construct