Hey Developers,
Join us for a discussion guide of current operational tasks to reduce storage and an overview of new features coming in InterSystems HealthShare 2021.2, including stream, database, and journal compression abilities:
InterSystems Caché database is a file where all the data, application scripts, and users, roles and security configurations are stored. Typically the name of the file is cache.dat.
Hey Developers,
Join us for a discussion guide of current operational tasks to reduce storage and an overview of new features coming in InterSystems HealthShare 2021.2, including stream, database, and journal compression abilities:

This formation, accessible on my GitHub, will cover, in half a hour, how to read and write in csv and txt files, insert and get inside the IRIS database and a distant database using Postgres or how to use a FLASK API, all of that using the Interoperability framework using ONLY Python following the PEP8 convention.
This formation can mostly be done using copy paste and will guide you through everystep before challenging you with a global exercise.
We are available to answer any question or doubt in the comment of that post, on teams or even by mail at lucas.enard@intersystems.com .
We would
I am sure I came across this in the past with Cache and just saw this again in IRIS.
When rebuilding or swapping a DAT file for a database it retains the Resource of the DAT file, not the Resource of the Database it is being used for.
For instance, if I have a local Database called APP with a resource %DB_APP and I want to refresh the data from another Database called TEST that has a Resource %DB_TEST I can just copy the DAT file from the TEST folder to the APP folder.
No Database settings are changed and it is all done with either IRIS down or the databases dismounted.
If you now look at the
Hi
Does anyone know where the user generated code resides, the stuff one might write for a production, I presume it lives in a table somewhere within a database?
Basically, I want to do some dependency analysis of what I've written - find out what's in use, how it's referenced, etc. I know I can export it to an XML file and work on that, but direct access on a table would be quicker for me.
Cheers
Hi everyone,
How do you alter primary key on a table that has data?
Any example much appreciated.
Cheers,
Tom
I have a linked procedure class and SQL gateway setup and I can't seem to get any response, status or error from using the stored procedure, I think it must be something big I'm missing to not even get a status.
Can someone see what my problem is please, any help would be very much appreciated.
Class generated by linked procedure wizard:
Include %occInclude ///
Class dbo.MrnLookup [ Not ProcedureBlock ]
{ ClassMethod MrnLookup(pp01 As %String(MAXLEN=8), ByRef mrn As %String(MAXLEN=20)) As %Integer [ ProcedureBlock = 1, ReturnResultsets, SqlName = MrnLookup, SqlProc ]
{
if
Hi Community,
This post is a introduction of my openexchange iris-globals-graphDB application.
In this article I will demonstrate how to save and retrieve Graph Data into InterSystems Globals with the help of Python Flask Web Framework and PYVIS Interactive network visualizations Library
#create and establish connection
if not self.iris_connection:
self.iris_connectionHi!
I'd like to know if there are any issues if an index is inserted into a table without running the %BuildIndices() method.
It's important to note that data inserted before the index is not important for retrieval, so it's not a problem data inserted before the index don't show up in queries.
The reason why I'm asking this is that I'd like to avoid index reconstruction on big tables which I need to inser such index.
I'm using Cache 2018.1.
Thanks,
José
Hi Developers!
Here're the technology bonuses for the InterSystems IRIS Globals Contest 2022 that will give you extra points in the voting:
See the details below.

Hello,
Can anyone help on the below point? It will very helpful for me.
Copy exact same data from IRIS Instance 2019.1 to IRIS 2021.1 with the Identity column from the IRIS database.
Thanks,
Harshdeep Acharya
I am using the
import intersys.pythonbind3 as pyb
conn = pyb.connection()
conn.connect_now(...)
db = pyb.database(conn)
qry = pyb.query(db)
obj = pyb.object(db)
for connection to the cache instance
However when I run this class method, The error message indicates the method does not exist:
print(db.run_class_method("SYS.Database","GetStatus",[]))
intersys.pythonbind3.cache_exception: file=intersys/pythonbind3.c line=3034 err=-1000 message=<METHOD DOES NOT EXIST> 148 runMtdLow+22^%SYS.BINDSRV GetStatus,SYS.Database
I can not find the class reference docs for 2017.
Dear people,
I (really) spent hours on finding the maximum size a Global is allowed to be (for Windows, if that matters). All I seem to run into are database sizes (derived from a max number of blocks and block size), but I refuse to believe that is correct because too small to be realistic.
It will undoubtedly my fault that I don't understand or misread the concepts of "database" vs Globals, envisioning files as such while one set of functional Globals in one file (?!) could comprise of a database, hence it is one file after all, that file (block structure) not able to be larger than 17GB
Found one interesting behaviour in one system with Ensemble. Some Request class has a property with type %XML.CharacterStream by design, this class is the heaviest request in the system, and with profiling journal files, it got about 40% of the file. When I counted all the sizes of such streams per one day and found that the real stored data is three times less. After deep inspecting the journal file, I found the first save of stream data, then removing previously stored data, and saving again and there were no reasons to change the content of the stream, it should be stored only once.
After
I have a SQL query that I want to run against MS SQL from cache ensemble using the SQL outbound adapter.If I run this query direct from MS SQL Studio it take about 7 seconds MAX and returns about half a million rows.The row only contains one column it is a number all same size and if I run this query in the production in ensemble it takes for ever the production finishes without getting the response back.The same query run in cache outside the ensemble environment writing results to a file it returns results taking about 3minutes to complete.
Consider a Natural Key with an Identity (Serial) field.
I cannot seem to acquire the generated value after persisting my entity. That is, the returned entity by Spring Data's "save" does not have the generated value.
The value is generated by the database, and I can query it after repository.save(entity).
I have done some testing and created a Github repo with it...
https://github.com/jesjobom/iris-hibernate-key-test
Am I missing something?
Hi, Community,
This post will demonstrate how to display data on the web by using Embedded Python , Python Flask Web Framework and Jquery datatable
We will display processes from %SYS.ProcessQuery table.
<table id="myTable" class="table table-bordered table-striped">
</table> <script>
$(document).ready(function() {
// parse the data to local variable passed from app.py file
let my_data = JSON.parse('{{ my_data | tojson }}');
letHi Community,
This post is a introduction of my openexchange iris-python-apps application. Build by using Embedded Python and Python Flask Web Framework.
Application also demonstrates some of the Python functionalities like Data Science, Data Plotting, Data Visualization and QR Code generation.

Hello Programmers,
I'm trying to use Intersystems IRIS Database with
Quarkus, but I'm getting problems making it work
does anyone knows how to set up the Intersystems IRIS Database
on Quarkus ?
I did that on my pom.xml and also I added the jar
hibernate-iris-1.0.0.jar and intersystems-jdbc-3.2.0.jar but it's not working
<dependency>
<groupId>com.intersystems</groupId>
<artifactId>intersystems-jdbc</artifactId>
<version>3.2.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/intersystems-jdbc-3.2.0.jar</systemPath
Hi, the class %Library.Storage has several methods such as %BuildIndices(pIndexList As %RawString = "" ...), %ValidateIndices(idxList As %List = ""...), ... which take as a parameter (amongst others) a list of indices (in the example, the signature of the list is not the same but I guess it does not matter).
My question is: can get this list in code ? I know that is it possible to get the list of properties of a class in code, but can I have the same for indices ?
For those wondering what I'm trying to achieve:
I want to be able to update the schema of my database between two version of a
Hi Folks,
I created a persistent class as below
Class myclass.DataBase Extends %Persistent
{
Property ID As %String;
Property Skill As list Of myclass.SerialTablelist;
}and Created another Serial class as
Class myclass.SerialTablelist Extends %SerialObject
{
Property PSkill As %String;
Property OSkill As %String;
}Now I will save the id as below
do rs.Prepare("Insert into myclass.DataBase(ID)VALUES(?)")
do rs.Execute(ID)
I am facing issue with the AS LIST OF
Could any one guide me how to save the Skill (PSkill ,OSkill ) using resultset (I am able to )
In this article I will explain the usage of %SQL_Diag.Result and %SQL_Diag.Message table along with all-new LOAD DATA functionality.
It is recommended to go through LOAD DATA documentation first.
After successful operation LOAD DATA insert one record in %SQL_Diag.Result table and details are inserted in %SQL_Diag.Message table
Below is the basic command when table is already created and source file does not contain header row.
LOAD DATA FROM FILE 'C://TEMP/mydata.txt' INTO MyTable
The file name must include a .txt or .csv (comma-separated values) suffix and both source and target have the same sequence of data columns.
5 years ago, on December 19, 2013, the ESA launched an orbital telescope called Gaia. Learn more about the Gaia mission on the official website of the European Space Agency or in the article by Vitaly Egorov (Billion pixels for a billion stars).

However, few people know what technology the agency chose for storing and processing the data collected by Gaia. Two years before the launch, in 2011, the developers were considering a number of candidates (see “Astrostatistics and Data Mining” by Luis Manuel Sarro, Laurent Eyer, William O’Mullane, Joris De Ridder, pp. 111-112):
Comparing the technologies side-by-side produced the following results (source):
| Technology | Time |
|---|---|
| DB2 | 13min55s |
| PostgreSQL 8 | 14min50s |
| PostgreSQL 9 | 6min50s |
| Hadoop | 3min37s |
| Cassandra | 3min37s |
| Caché | 2min25s |
The first four will probably sound familiar even to schoolchildren. But what is Caché XEP?
Hey Developers,
It's time to announce the winners of the InterSystems Datasets contest! Are you ready?
A storm of applause goes to these developers and their applications:
Application to import 12 Datasets along with 43 tables dynamically by using LOAD DATA command which loads data from a source into an IRIS SQL table.
List of Datasets
Hi contestants!
We've introduced a set of bonuses for the projects for the Datasets Contest!
Here are the projects that scored it:
For the demonstration, a exchange-rate-cbrf-ui project was made and deployed an online demonstration in the cloud.
For authorization, you can use the account superuser with password SYS
For this project, I used the AdminLTE template, which I have already used in my projects more than once, for example info-chest or access-matrix.
On the main page, you can get a table of exchange rates...

... or download data from the official website of the Central Bank of the Russian Federation.

Two more pages have been created for demonstration purposes.

They show graphs of fluctuations in the exchange rate
Hey Developers,
Let the voting week begin! It's time to cast your votes for the best applications in the Datasets Contest!
🔥 You decide: VOTE HERE 🔥
How to vote? Details below.
Hi Developers!
Here're the technology bonuses for the InterSystems IRIS Datasets Contest 2021 that will give you extra points in the voting:
See the details below.

A full cycle project, from initial data initialization, daily update products from the official website, a service for sending a course on request and receiving a schedule for any period.
After installing the project, we will get a table of ruble exchange rates against the main currencies of the world established by the Central Bank of the Russian Federation for 2016-2021.
Launching the product service with default settings will allow you to receive daily new exchange rates for the current day.
If necessary, you can load the missing data with the product service by changing the parameter CountD
Hey Developers,
With the release of InterSystems IRIS 2021.2 Preview and all-new LOAD DATA functionality, we'd like to put it to the test with the new DATASETS contest!
🏆 InterSystems Datasets Contest 🏆
Duration: December 27 - January 16, 2022
In prizes: $9,450