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
go to post Robert Cemper · Jan 22, 2023 I could imagine 2 variants: creating a "clone" of the CSP based "synchronous" Queries we know from C/E to have the unique session just using xDBC based tools such as Squirrel, DBeaver, WinSQL, ..... which is probably better since SMP mimics ODBC mode, but doesn't use real xDBC connection external xDBC provides a 1:1 connection as a terminal session would do.
go to post Robert Cemper · Jan 22, 2023 You are CORRECT , In Caché/Ensemble SMP uses straightforward CSP and you have %session object and %request ...I verified IRIS 2022.2 and 2022.3:- SMP runs Queries differently and neither %session nor %request is visibleby variable » %inBackground = 1 it indicates working in backgroundand once completed the Job is gone, but SMP is still around
go to post Robert Cemper · Jan 22, 2023 As a first step I would try to find out if your Trigger is running in the same process as your CSPjust writing $JOB with a $H into a test global. eg.: set ^stefan($h,$j)="CSP" for CSP set ^stefan($h,$j)="TRIGGER" for the trigger code ;;; or use do LOG^%ETN() ; write to ^ERRORS
go to post Robert Cemper · Jan 21, 2023 As @Enrico Parisi pointed out: IRIS.DAT is an independent structureThe link between file and Namespace is in the ConfigFile (??.CPF) in your install directory.The file could be located anywhere.