go to post Dmitry Maslennikov · Jun 9, 2023 It looks like there is something wrong with an instance. And It would require some more details, such as the exact version, edition, and the way how it was installed. And just check it manually if HSSYS is present in the system, as well as HSLIB with databases, and all databases are accessible too.
go to post Dmitry Maslennikov · May 25, 2023 Creating an Index with SQL, not directly in ObjectScript, will build Index by default if you don't say do not do it.
go to post Dmitry Maslennikov · Apr 24, 2023 There is no way, to catch the possible issues for the previous version of IRIS. The best case scenario is if you automate the build process, for instance with Docker, and test a compile stage on different versions of IRIS. But the ability to successfully compile may not prove that it will work, it would be better to have some unit tests, which will check it. One more thing, may help, to check it, using the such tool as ObjectScript Quality, can help with checking System's API version. Where you can set the oldest supported version of IRIS, and during the scan, it can check if Methods are available in that particular version.
go to post Dmitry Maslennikov · Apr 10, 2023 Or just add this to the end of docker run command -a "iris session iris -U%SYS '##class(Security.Users).UnExpireUserPasswords(\"*\")'"
go to post Dmitry Maslennikov · Apr 3, 2023 Implemented it with SQL Procedure CREATE OR REPLACE PROCEDURE %ZDJANGO.CLONE_DATABASE(sourceNS %String, targetNS %String) LANGUAGE OBJECTSCRIPT { new $namespace set $namespace = "%SYS" $$$ThrowOnError(##class(Config.Namespaces).Get(sourceNS, .sourceNSparams)) $$$ThrowOnError(##class(Config.Namespaces).Get(targetNS, .targetNSparams)) for kind="Globals", "Routines" { $$$ThrowOnError(##class(Config.Databases).Get(sourceNSparams(kind), .sourceDBparams)) $$$ThrowOnError(##class(Config.Databases).Get(targetNSparams(kind), .targetDBparams)) set from = sourceDBparams("Directory") set to = targetDBparams("Directory") quit:$Data(done(to)) set done(to) = "" $$$ThrowOnError(##class(SYS.Database).Copy(from, to, , , 4)) } } DANGER: Do not use it, made specifically for my case, it may overwrite database
go to post Dmitry Maslennikov · Apr 3, 2023 You can do this query SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' Filter by TABLE_TYPE is to get rid of system tables
go to post Dmitry Maslennikov · Mar 20, 2023 Is it really the reading file taking so much time or using $piece on the line and setting it to global too? There are various things here that may slow you, even $increment (best to be replaced by i+1) You can also split the reading file and set it to global by two parts, and use $sortbegin Try to run your code with %SYS.MONLBL started, it will help you understand where it spends more time.
go to post Dmitry Maslennikov · Mar 20, 2023 You may slow a bit your process, to leave some process time to other processes. to do so, you would need to use hang command, somewhere in the loop, with some small value such as 0.1 seconds, and depends how fast is your process may do it once per 100 iterations or more
go to post Dmitry Maslennikov · Mar 17, 2023 It’s actually in process now, to be implemented, should be available soon
go to post Dmitry Maslennikov · Mar 15, 2023 Your issue with screen formatting is very interesting, it deserves a separate topic. I have not seen any issues yet with it. While I’d like to find a way to improve a standard IRIS terminal, like irissqlcli, I’d like to see the most challenging parts like this. webTerminal obviously not a right tool for it. As a replacement for it, you can try to use ttyd, I use it for irissqlcli-web
go to post Dmitry Maslennikov · Feb 27, 2023 I wanted to add this ability to irissqlcli, I think it will be useful there.
go to post Dmitry Maslennikov · Feb 23, 2023 Go to Security, Web Applications, select /csp/user, which is default app for the USER namespace, or if you need it for another namespace, find default web application for that namespace. And check Analytics there, and save
go to post Dmitry Maslennikov · Feb 22, 2023 You can use whatever you want, just remember about some caveats, like issue with bitslice/bitmap indexes, which requires numerical ID I would recommend using just a Unique Index for the UUID field and use it, it should cover most of the needs.
go to post Dmitry Maslennikov · Feb 16, 2023 I've done a similar task, with much bigger databases. And it was quite good. Mirroring working with data itself, not the on the block level. So, there should not be an issue, if you do not change data stored there.
go to post Dmitry Maslennikov · Feb 3, 2023 There are many why's, and this is one of them for sure. Another few things I found quite interesting It starts ECPWork too, even when CE does not have any networking available, including ECP It starts up to 7 AUXWD processes, not sure if there is any help from such amount if you have a limit of 10GB of databases there
go to post Dmitry Maslennikov · Feb 3, 2023 Yeah, this may happen if Recurse flag is not checked for REST application. IRIS hides this flag for REST, but it is still in use, so, you would need to switch to CSP/ZEN, mark Recurse, and return back to REST