go to post Robert Cemper · Aug 7, 2020 That's a general problem of a web interface like this.You start a query but it isn't finished before your fall into a browser timeout. An easy workaround: Start a terminal session (terminals don't know about timeout)and from prompt run SQl.Shell or for a multi-line statement just start with an empty line and run with GO It will wait forever until completed
go to post Robert Cemper · Aug 5, 2020 I'm not aware that this is available at SQL / DDL level You can set the default collation for all globals in a database. or specific for an individual global before using it. The available collations have to be added here
go to post Robert Cemper · Aug 3, 2020 https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_INSERTORUPDATEThe article is pretty explicit on the issues of IDkey.
go to post Robert Cemper · Aug 3, 2020 I see 4 critical points to check: if customerID is autogenerated or calculated you can't insert to it or update it if customerName has some constraints like UNIQUE or fails some other formal checking if the (existing) record is locked by some application running in parallel if some access rights block you
go to post Robert Cemper · Aug 3, 2020 what you are looking for is called global indirection https://docs.intersystems.com/iris20201/csp/docbook/DocBook.UI.Page.cls?KEY=GGBL_using#GGBL_using_indirect set myglobal="^A"write $d(@myglobal@(12))write @myglobal@(12,sub2) and so on
go to post Robert Cemper · Aug 3, 2020 As these buffers are a (hopefully large) pool that belongs to your whole installation.They are only cleared if you restart Caché.But you should probably take a look at your "disk drives" (whatever type they are).Their performance might be worth to check[in quotes as they might be virtual in some way] In addition, a performance check with WRC might make sense.They are top experts to the subject. If you have a large buffer pool you might run a $QUERY() loop across the whole globalin the morning and hope it stays there long enough. Some installations practice it that way.
go to post Robert Cemper · Aug 3, 2020 Almost right!not $order but the related global blocks are cached in global buffers.large global buffers improve performance but they have to be loaded first.and disk access is the slowest part in your machine (except network) so at 1st access, you load the buffers and that might be slow.any further access uses the loaded buffers
go to post Robert Cemper · Aug 2, 2020 @Evgeny Shvarov GREAT ! I had never expected this practical value!
go to post Robert Cemper · Aug 2, 2020 Thank you @Dan Pasco !This confirms that it is not just a crazy idea ( as some of my former colleagues classified it).I met this during testing about a decade ago to manage test data and to compare the impact of code changes. And - based on my history - the global was and is the ultimate truth for me of what is done on objects.Robert
go to post Robert Cemper · Aug 1, 2020 Thanks @Evgeny Shvarov for checking !the clause item IN ('$ZE','$ZV') catches the same set of records twice.image + fix in the original reply
go to post Robert Cemper · Aug 1, 2020 Thanks for your clarification. I have now 1 rcc.PKG and several rcc.anything.PKG
go to post Robert Cemper · Aug 1, 2020 @Evgeny Shvarov Are you looking for something like this ? this is the related query: select %vid AbsRef , TO_CHAR(Day,'YYYY-MM-DD') Day , Seq , $PIECE($PIECE(p,'$ZE=',2),'>',1)||'>' Type , $PIECE($PIECE(p,'>',2),',$ZV',1)||'>' Line , $PIECE(p,'$ZV=',2)||'>' Version from ( SELECT TOP ALL day, seq, LIST(item||'='||value) p FROM zrcc.ERRORStack WHERE Stacklevel=0 AND item IN ('$ZE','$ZV') GROUP BY day,seq )
go to post Robert Cemper · Aug 1, 2020 out of the experience: every project in ZPM needs its personal package. otherwise, you may see this: ERROR #5001: Resource 'rcc.PKG' is already defined as part of module 'echoserver-wsock-iris'; cannot also be listed in module 'iris-internal-websocket-client'ERROR #6315: FErrors reporting importing XML subelement in file 'C:\InterSystems\IRIS\mgr\.modules\USER\iris-internal-websocket-client\1.0.0\module.xml', at line'3', offset '55'. skipping this item.
go to post Robert Cemper · Aug 1, 2020 @Evgeny Shvarov %ETN typically stops your job. set $ZT="^%ETN"If you use LOG^%ETN it writes to ^ERRORS and continues the job.this is highly comfortable to be used in try {....} catch error { do LOG^%ETN }more details to be found in ^%ETN.int (easy to read)
go to post Robert Cemper · Jul 30, 2020 Thanks for the hint. I was pretty sure there should be something similar to serve SysMgmtPortal. I just didn't know.Obviously the authors had the same problems as me with the old structure and applied a bunch of custom queries.I don't think I missed something:- the class is deployed so you have to accept what it does.differently %ERN.int doesn't hide anything and speaks full truth. - next to use it you require full access rights to %SYS and a namespace change %SYS to run it.- and finally the topmost requirement: The queries are invisible to SQL! Just because not being exposed as SqlProcedure. My solution runs in any namespace on Caché / Ensemble / iris .Without any privileges and doesn't touch any ISC copyrights!
go to post Robert Cemper · Jul 30, 2020 @Evgeny Shvarov I went into Studio and then killed the job from Portal by <RESJOB>
go to post Robert Cemper · Jul 30, 2020 Thanks @Eduard Lebedyuk ! Fixed@Evgeny Shvarov It seems to me OEX changes the URL with every update. here appending -1 to original URL.