go to post Robert Cemper · Oct 12, 2021 What do you mean by "my namespace extends %sys"This makes no sense to me.Did you setup the namespace yourself ?
go to post Robert Cemper · Oct 12, 2021 which means table does not exist.SO your namespace is not setup for Interoperability aka Ensemble as you use Studio jus look for some Ens* classes if you see nothing of them,then the setup of your namespace is just wrong You have to create it again or change your configeratiion manually.
go to post Robert Cemper · Oct 12, 2021 I think this should work if your namespace is enabled for Ensemble / Interoperability Check this in SMP:SELECT count(ID) FROM Ens.MessageHeader ClassMethod FetchMsgCount() As %Integer [ PublicList = msgCount,SQLCODE ] { set msgCount=-1&sql(SELECT count(ID) INTO :msgCount FROM Ens.MessageHeader)If SQLCODE=0 Quit msgCountQuit SQLCODE} or just simpler ClassMethod FetchMsgCount() As %Integer [ ProcedureBlock = 0 ]{ set msgCount=-1&sql(SELECT count(ID) INTO :msgCount FROM Ens.MessageHeader)If SQLCODE=0 Quit msgCountQuit SQLCODE}
go to post Robert Cemper · Oct 12, 2021 Your last finding signals to me that you get blocked by [ProcedureBlock] either try using %suspendedCount instead of suspendedCount Method OnTask() As %Status [ PublicList = suspendedCount,SQLCODE ] { //implementation } or put it into a PublicList together with SQLCODE https://docs.intersystems.com/iris20211/csp/docbook/DocBook.UI.Page.cls?KEY=ROBJ_method_publiclist
go to post Robert Cemper · Oct 12, 2021 The license-mechanic is a little bit complicated: users are identified by username@127.0.0.1 (as mentioned already) every new process consumes a license slot over its lifetime each user gets a set of license slots (typically 25) once this limit (25) is exceeded ALL 25 slots are converted to normal (non-licenses) As a consequence, a request for license number 26 consumes 25 additional licenses for that user !!And these licenses come back to in the license slot mode only if ALL processes of that user are terminatedSo using a single user (e.g. from CSP) is rather risky in that relation $system.License.Login() may help you cross that limit.from docs: This function will relinquish a license if the session/process is already holdingone under a different identifier and it will obtain a new one on the behalf of theuser ID provided.If the MAXCONNECTIONS connection limit per user is exceeded,the usual transition to one-license-unit-per-connectionwill apply to this user identifier.
go to post Robert Cemper · Oct 7, 2021 From the main menu, in DC select members select the member of interrest and show all posts
go to post Robert Cemper · Sep 27, 2021 Hi @Jeffrey Drumm . there are 2 options #1)From SMP > Explorer > Classes in %SYS set filter to %IO*.cls and Documentation #2)In Studio in NS %SYS load the class and show Class Documentation[CTRL + SHIFT +F1]and see the code. I have seen more thrilling constructs before.
go to post Robert Cemper · Sep 26, 2021 @Marlin Mixon It is just not possible the way you tried. Because: (from class docs) method MoveTo(position As %Integer) as %Boolean Move to this position in the stream. If this suceeds then return true, else return false. Note this implementation is not efficient because it searches from the start of the stream, This means it does a Rewind() and a Read(position) • method Write(data As %RawString) as %Status Appends the string data to the stream and advances the current stream position by the number of characters in data. Note that a write operation immediately following a read or rewind will clear out the existing data in the stream.
go to post Robert Cemper · Sep 24, 2021 %SYS>d ^SECURITY 1) User setup2) Role setup3) Service setup4) Resource setup5) Application setup6) Auditing setup8) SSL configuration setup9) Mobile phone service provider setup10) OpenAM Identity Services setup11) Encryption key setup12) System parameter setup13) X509 User setup14) KMIP server setup15) Exit Option? 1 1) Create user2) Edit user3) List users4) Detailed list users5) Delete user6) Export users7) Import users8) Exit Option?
go to post Robert Cemper · Sep 21, 2021 so you can call the local commandline ( session or terminal) and runyour SELECT in SQL shell [ do $system.SQL.Shell() ]or from SMP System->Explorer->SQL to see if there is any content.If there is some content you may try next to use variables from the global scopefor your embeded SQLinstead of &sql(Select demoVersion into :DemoVersion from demointerface.DemoInstances where ID=:demoID) try it with&sql(Select demoVersion into :%DemoVersion from demointerface.DemoInstances where ID=:%demoID)
go to post Robert Cemper · Sep 21, 2021 what do you mean by "local" ?local session, local instance, local server ?assuming "production" runs on a server
go to post Robert Cemper · Sep 16, 2021 Hi, %ALL is best understood as a virtual NAMESPACE.It is a mapping attribute that you add to your packages, classes, routine, globals to make them visible beyond the physical namespace that you can select in SMP.To see its content in SMP select System > Configuration > Namespaces
go to post Robert Cemper · Sep 15, 2021 definitely yes.global store is a fast-changing DB with related mirror, journal, ECP, Sharding.routine DB should change rarely and under special control.may eventually have journal, but should not participate in ECP, Sharding, Mirror
go to post Robert Cemper · Sep 14, 2021 The VIEW as such could be understood as a complex SELECT which definition is stored in the system At the first time processing, all code for access is generated and cached in the systemand marked with a signature. this may take a few seconds.In parallel, a significant amount of structural data are also cachedThe next time you call it, the signature is calculated and the already cached code is executed. You save time for code generation and compilation.If this happens shortly after the first call you take additional advantage of the cached structural data.How much and how long structural data are caches depends on the available buffer pool
go to post Robert Cemper · Sep 14, 2021 This proves my observation that some %-classes are like American cars: Not for speed, just for comfort!
go to post Robert Cemper · Sep 14, 2021 @Alexey Maslov you see with some tweaking the factor is at 300. It was initially even faster but hard to read.