I know a bit about how to use tree-sitter, but npm install does not work in this project, and tests are failing
- Log in to post comments
I know a bit about how to use tree-sitter, but npm install does not work in this project, and tests are failing
Wow, thanks a lot, now we have something to work on.
Is there any contribution guide? I cloned the project and tried to build it locally, but it does not look so simple
So, essentially, the primary reason for using hashed globals is to create a separate global for each index. Which will help, only if you have quite a big table with lots of indexes, and a high-load application.
Just a different global name will not make access faster. Most of the reasons here are just to support uniqueness. So, it will not overlap.
It's based on closed code, which does not support AST, and requires running in IRIS.
We need full AST, and have been able to run without IRIS, just run in any of CI environments.
We can discuss a lot about this. However, the problem lies in how developers enforce these rules. When you have 1-2-3 developers with a strict rule of approving all the changes by one another developer, you probably will be able to maintain it. With a big development team and a legacy codebase, it will be mission impossible.
Unless, if we would be able to have linters set in with forced checks in CI, and it would fix some issues on the fly or enforce developer do it. As well as proper Formatter setup in the developer environment (nowadays that would be VSCode), with a bunch of rules defined for the project.
But we don't have any linters (ObjectScriptQuality is quite bulky and may still require some improvements), or good formatters (the one with InterSystems Language Server extension is quite primitive), and no way to build new tools, and especially inject to CI process.
That leads us to the point that our community requires open-source ObjectScript parser that can help developers to build all sorts of tools, such as linters, formatters, and all sorts of scanners of the code. It would even help with AI today, so LLM would better understand our code. Until then, all these discussions are mostly useless.
Yes, I know, and requires additional tools to be installed in IRIS, that's not out of the box solution
I while back InterSystems added some new resources to add more security for Native API
You may need to add them
.png)
Published Video about typeorm-iris
Can I get a bonus for Community opportunity Idea?
As part of the main project, to proper test across multiple versions of IRIS, I implemented another project and wrote an article about it, with examples from typeorm-iris project
I know that only Python matters nowadays, but what about other languages officially supported by InterSystems?
I found significant bugs in the NodeJS driver, and it is not worth anything.
The issue with reconnection was reported to WRC, and it should be fixed already, it will be resolved with the next release of the driver.
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
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
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
And by some reasons, there is no SQL support.
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.
You can change System Mode, you can put whatever you want to be displayed there
.png)
Will be displayed on top of the management portal, much more visible than the instance name
.png)
Can be set during startup by using iris merge
[Startup]
SystemMode=Demo System
Thanks a lot for recognition
It was developed ages ago. I did not do it for Windows, but I think it should be possible to make it working
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
Ensemble was renamed to Interoperability and its part of any IRIS editions
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
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
And what was the reason for it?
Routnes now deprecated in IRIS?
Which version you trying to connect to?
2024.1 should work
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.
#include with # used in Mac routines
for classes should be just include without #