go to post Robert Cemper · Feb 19, 2023 this shows how $QS could be used for a partial global listingit only checks the second subscript and writes the value for a match SAMPLES>k ^rcc SAMPLES>f i=12:1:19 s ^rcc($j,i)="SUB1=J,"_i SAMPLES>f i=12:1:15 f j=14,17 s ^rcc($j,j,i)="SUB1="_j_",SUB2="_i SAMPLES>zw ^rcc ^rcc(9372,12)="SUB1=J,12" ^rcc(9372,13)="SUB1=J,13" ^rcc(9372,14)="SUB1=J,14" ^rcc(9372,14,12)="SUB1=14,SUB2=12" ^rcc(9372,14,13)="SUB1=14,SUB2=13" ^rcc(9372,14,14)="SUB1=14,SUB2=14" ^rcc(9372,14,15)="SUB1=14,SUB2=15" ^rcc(9372,15)="SUB1=J,15" ^rcc(9372,16)="SUB1=J,16" ^rcc(9372,17)="SUB1=J,17" ^rcc(9372,17,12)="SUB1=17,SUB2=12" ^rcc(9372,17,13)="SUB1=17,SUB2=13" ^rcc(9372,17,14)="SUB1=17,SUB2=14" ^rcc(9372,17,15)="SUB1=17,SUB2=15" ^rcc(9372,18)="SUB1=J,18" ^rcc(9372,19)="SUB1=J,19" set glob="^rcc",last=14,start=13 SAMPLES>print a for { set glob=$q(@glob,1,val) quit:glob="" set sub=$qs(glob,3) if sub=start write glob," >> ",val,! else if sub]start,sub']last write glob," >> ",val,! else write glob,! } SAMPLES>d a ^rcc(9372,12) ^rcc(9372,13) ^rcc(9372,14) ^rcc(9372,14,12) ^rcc(9372,14,13) >> SUB1=14,SUB2=13 ^rcc(9372,14,14) >> SUB1=14,SUB2=14 ^rcc(9372,14,15) ^rcc(9372,15) ^rcc(9372,16) ^rcc(9372,17) ^rcc(9372,17,12) ^rcc(9372,17,13) >> SUB1=17,SUB2=13 ^rcc(9372,17,14) >> SUB1=17,SUB2=14 ^rcc(9372,17,15) ^rcc(9372,18) ^rcc(9372,19)
go to post Robert Cemper · Feb 17, 2023 In the first case, the quotes around you value are ignored and is treated as numeric>> typical check IF val=+val >>> numeric -----for the range end you can use $QSUBSCRIPT in combination with the follows Operator ] or sort after ]]
go to post Robert Cemper · Feb 10, 2023 Hi @Julius Kavay Sorry to see you leaving. Though I understand your concerns.I will miss your high-quality contributions that are based on a long and successful experience!Let's stay in contact
go to post Robert Cemper · Feb 10, 2023 Hi @Stefan Cronje !I share many of the concerns you raised: aged and outdated and dead packages extra points are given for PR and Merges, but most PS are ignored besides my own 402 reviews only 80 others no options for a release-related review enough dead links missing an ISC-controlled repo
go to post Robert Cemper · Feb 9, 2023 I claim 2nd article for both GlobalStreams-to-SQLhttps://community.intersystems.com/post/global-streams-sql-2 and JSONfile-to-Globalhttps://community.intersystems.com/post/jsonfile-global-2THX
go to post Robert Cemper · Feb 6, 2023 my helper was eliminated today by censorshelper-for-objectscript-language-extensionsTag version: 0.0.3 Released: 2023-01-26 22:33:33
go to post Robert Cemper · Feb 6, 2023 quite interesting.OEX was unreachable just now for some timeand now my previous voting is gone.no problem, I still remember.It's a warning to other early voters.
go to post Robert Cemper · Feb 6, 2023 I would have been surprised if you knew ZZQIt's my personal customized COS command for DO $SYSTEM.SQL.Shell()But I'm also aware you are selling and pushing PY. OKAnd I use happily COS and its predecessor for 45 years which made ISC bigAnd I dislike black painting its values.
go to post Robert Cemper · Feb 6, 2023 @Guillaume Rongier your terminal example is just poor , (sorry!) pauvreI do it his way, easy to read and easy to follow, (your notation) SAMPLES>zzq SQL Command Line Shell ---------------------------------------------------- The command prefix is currently set to: <<nothing>>. Enter q to quit, ? for help. SAMPLES>> << entering multiline statement mode >> 1>>CREATE TABLE test.formation ( 2>> name varchar(50) NULL, 3>> room varchar(50) NULL 4>>) 5>>go 1. CREATE TABLE test.formation ( name varchar(50) NULL, room varchar(50) NULL ) 0 Rows Affected statement prepare time(s)/globals/lines/disk: 0.0122s/1724/14836/0ms execute time(s)/globals/lines/disk: 0.4004s/68198/594881/177ms cached query class: %sqlcq.SAMPLES.cls47 --------------------------------------------------------------------------- SAMPLES>> << entering multiline statement mode >> 1>>INSERT INTO test.formation 2>>(name, room) 3>>VALUES('formation1', 'salle1') 4>>go 1. INSERT INTO test.formation (name, room) VALUES('formation1', 'salle1') 1 Row Affected statement prepare time(s)/globals/lines/disk: 0.0113s/2622/28346/0ms execute time(s)/globals/lines/disk: 0.0009s/13/143/0ms cached query class: %sqlcq.SAMPLES.cls48 --------------------------------------------------------------------------- SAMPLES>>q SAMPLES>
go to post Robert Cemper · Feb 6, 2023 This is just cool!I tried it with my Stream example using xDBC and no fake mimic.
go to post Robert Cemper · Feb 4, 2023 Before IRIS there was a trial version. But always only the latest.There was also no community. as we know it today.What you look for is more than 10 years back !
go to post Robert Cemper · Jan 27, 2023 this might do it: Class User.Scott { ClassMethod Clean(infile, outfile) As %Status { set in=##class(%Stream.FileCharacter).%New() do in.LinkToFile(infile) set out=##class(%Stream.FileCharacter).%New() set out.Filename=outfile do in.Rewind() while 'in.AtEnd { set line=in.ReadLine() set last=($e(line,*)="|") if last set sc=out.WriteLine(line) else set sc=out.Write(line) } do in.%Close() set sc=out.%Save() quit sc } }
go to post Robert Cemper · Jan 27, 2023 Just to understand your requirements correctly.- a linebreak $c(13,10) would only be acceptable if it follows a segment terminator "|" - IF YES Is this just a pipe | or a double pipe || as in your example?This could be a processing rule to check the last chars of the lineand ignoré the linebreak at a mismatch.
go to post Robert Cemper · Jan 23, 2023 In IRIS you have in SMP the option to run your Query in background and bypass the timeout.
go to post Robert Cemper · Jan 23, 2023 it still exists: ClassMethod Build(f As %Integer) { s a="#" f i=F:-1:1 w ?i,a,! s a=a_"##" }
go to post Robert Cemper · Jan 23, 2023 Just forget my contribution.I'm not interested in digging for secrets!I leave that to Indiana Jones my code is deleted ! it's not my type of fun
go to post Robert Cemper · Jan 23, 2023 Hmm!Where did you see the enclosing quotes? they are invisible in my browser.
go to post Robert Cemper · Jan 22, 2023 FOUND SOMETHING ! in SMP IRIS you see this header as in Caché / Ensemble but click to more has a surprise in IRIS Select foreground and you get all %session, .... that you look for.Recorded with SPOOL , device 2 %CSPsc=1%ROWCOUNT=0%ROWID=""%SNGetQueryStats=1%SYSLOG=1%application=<OBJECT REFERENCE>[356@%CSP.UI.Portal.Application]%caller=""%class="%CSP.UI.Portal.SQL.Home"%method="InvokeInstanceMethod"%msg=""%obj=<OBJECT REFERENCE>[362@%ZEN.Component.html]%objlasterror=""%page=<OBJECT REFERENCE>[20@%CSP.UI.Portal.SQL.Home]%request=<OBJECT REFERENCE>[1@%CSP.Request]%response=<OBJECT REFERENCE>[2@%CSP.Response]%sc=1%session=<OBJECT REFERENCE>[3@%CSP.Session]%sqlcontext=<OBJECT REFERENCE>[433@%Library.ProcedureContext]%tStatement=<OBJECT REFERENCE>[369@%SQL.Statement]%zenContext="method"%zenThreadId=39SQLCODE=0rs=""<Private variables>$zp=14828$io="|TCP|58771"Reverse engineering of the SMP page uncovered this new checkbox to me.Could be it is documented somewhereHTH