go to post Dmitry Maslennikov · Jul 28 And I'm using NodeJS, and the official driver has so many issues, quite critical to make it somewhat useful, but only bugs in Embedded Python are worth extra points. Does not look fair. NodeJS support requires a lot of attention, too, not only Python
go to post Dmitry Maslennikov · Jul 28 thanks. Unfortunately, to make this as useful as SQLAlchemy, will need much more work, and most probably full rewrite of the driver. Of course, I can do it too, I just see an interest in it, and some support. This project has already laid some foundation for future improvements
go to post Dmitry Maslennikov · Jul 23 Javascript support for IRIS is quite limited, and it includes async/await. But you can wrap all IRIS related stuff to promises, and it will work, kind of. There is a lot of work needed to be done on the driver side, to make it powerful in JavaScript. At the moment, I'm working on TypeORM support for IRIS, the package not published yet, should finish this week. But mostly working, there are some samples provided, all of them working. Please have a look. I'm looking forward to any feedback, and open to any suggestions about which JS library would need to get IRIS support next
go to post Dmitry Maslennikov · Jul 10 SSL Error for this driver does not really mean it's SSL ERROR, in most cases it could mean, that connection can't be established, from the first step. Check if port really available, you could try it by using some different tools, like DBeaver. And unfortunately I can't recommend this driver you trying to use, it's unstable. May throw sigfault errors randomly and have other bugs. I would recommend using this driver instead, in most scenarios both are compatible, this one just more stable and predictible. And this driver used by lots of other Python projects, like SQLAlchemy, Django, irissqlcli, and more based on them.
go to post Dmitry Maslennikov · Jul 3 You can change System Mode, you can put whatever you want to be displayed there Will be displayed on top of the management portal, much more visible than the instance name Can be set during startup by using iris merge [Startup] SystemMode=Demo System
go to post Dmitry Maslennikov · Jun 12 It was developed ages ago. I did not do it for Windows, but I think it should be possible to make it working
go to post Dmitry Maslennikov · Jun 10 Ages ago I've impleted project named BlocksExplorer, with a various of ways of using it One of them is generating a picture of of the database, and visualization of defragmentation. I think I tried it once on 2TB Database, but that was long time ago. Anyway, this tool generates picture in BMP format, where each pixel represents each block in the database, so, for For 2TB database, it will be around 268435456 blocks, that will be a picture 16384x16384, and in BMP with a 3 bytes per pixel, it will be around 768MB for this picture, quite big one This project is fully open, you can try to modify it a bit, and maybe if you do it per global, you will be able to make a map
go to post Dmitry Maslennikov · Jun 1 Ensemble was renamed to Interoperability and its part of any IRIS editions
go to post Dmitry Maslennikov · May 28 There is one more way of getting it, is using ASQ USER> write responseData.apply("$.items[0].titles[0].value.en_US").%Get(0) Professor
go to post Dmitry Maslennikov · May 18 USER>:py Python 3.12.3 (main, Feb 4 2025, 14:48:35) [GCC 13.3.0] on linux Type quit() or Ctrl-D to exit this shell. >>> import sys >>> sys.path ['/usr/irissys/mgr/python', '/usr/lib/python312.zip', '/usr/lib/python3.12', '/usr/lib/python3.12/lib-dynload', '/usr/local/lib/python3.12/dist-packages', '/usr/lib/python3/dist-packages', '/usr/irissys/mgr/python', '/usr/irissys/lib/python', '/usr/local/lib/python3.12/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3.12/dist-packages'] >>> did you try /usr/irissys/mgr/python, that's the path expected to be used by IRIS packages pip install whatever --target /usr/irissys/mgr/python and another place is /usr/irissys/lib/python, it's a place where InterSystems places Python Embedded support sys.path, is a list of folders where python will look for the installed modules
go to post Dmitry Maslennikov · Apr 16 Did you try using more appropriate package %Stream for it? In your case, you would need to use %Stream.FileCharacter Set stream=##class(%Stream.FileCharacter).%New() $$$ThrowOnError(stream.LinkToFile("c:\export.csv")) set rs = ##class(%SQL.Statement).%ExecDirect(, "SELECT a, b FROM table") if rs.%SQLCODE'=0 { throw ##class(%Exception.SQL).CreateFromSQLCODE(rs.%SQLCODE, rs.%Message) } while rs.%Next() { set line = $listbuild(rs.a, rs.b) do f.WriteLine($listtostring(line, ",")) } $$$ThrowOnError(stream.%Save()) Additionally, nowadays using embedded classes does not give much advantage, if it's not for one row result, only makes the code a bit harder to read
go to post Dmitry Maslennikov · Apr 15 And what was the reason for it? Routnes now deprecated in IRIS?
go to post Dmitry Maslennikov · Apr 11 The codebase for AI, not enough in comparison to other languages. Even with much more popular languages, it makes mistakes, but yes, much less. To help with it we need to significantly increase codebase in GitHub in ObjectScript, so that AI will have something to learn from.
go to post Dmitry Maslennikov · Apr 5 #include with # used in Mac routines for classes should be just include without #
go to post Dmitry Maslennikov · Apr 2 When you start background job, in the master process, you can collect $zchild with a pid of started process and collect them in the logs, and then in the loop you can check $data(^$job(child)) if it's still running that's the simplest approach
go to post Dmitry Maslennikov · Mar 25 Implemented for Interoperability: it can check status, including items in it, restart, update, recover, and check for queues and errors.There is also SQL Query executonhttps://www.youtube.com/embed/EVzZnkjIvoM[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
go to post Dmitry Maslennikov · Mar 21 Looks like there is no one specific use case for server, and there are so many variants on how it can be implemented Do you have something in mind, how would you use it? Just thinking about the list of tools to add in server implementation