Question
· May 27, 2017
Insert SQL

I am inserting rows in a table. This table is appearing in all namespace as I did global mapping.

So once I run insert command from a method, it insert the rows. When I run the same insert command from other namespace, it replace the existing data in table.

Insert command is same in all namespace but the data I m inserting is different.

0 2
0 531
Question
· Sep 13, 2018
Purge Task History manually

Hi,

I've read into console.log that there is some problems writing the global Task History

09/13/18-09:33:00:109 (9052) 0 Error al escribir en global de historial de tareas - Error (ERROR #5002: Error de cache: <DATABASE>%SaveData+20^%SYS.Task.History.1 ^SYS("Task","HistoryD",66179),c:\intersystems\healthshare\mgr\)

1 2
0 393
Article
· Jan 24, 2022 1m read
GlobalToJSON-Academic

I have created a package that offers a utility to load a Global into JSON object and reverse
to create a Global from this type of JSON object. Academic refers to the structure created.
Each logical node of the Global is presented separately with all its descendants.
Even if they don't contain any stored data.

2 1
0 274

This example demonstrates the difference you may experience when you write to
Gllobals directly from Embedded Python compared to native ObjectScript.

To make this demo useful I start 2 background jobs that simply write sequentially
to a dedicated global. A common control method signals for a synchronous start.
Similar a common stop & view interrupts data feeding.

That's the principle process:

2 1
0 218

As noted in the previous article Native API has some limits.
So I did some research on a more Terminal-like interface that
provides me with access like a console or the IRIS terminal
to allow my $QUERY over a global and other nice commands
that are not supported/mapped in NativeAPI for ObjectScript.

The basic tools are well-prepared and available.

0 1
0 174

Let's say I have a global named ^a and I need to export its nodes 1, 2, 3, 5 only.

Currently I write something like this:

Write $SYSTEM.OBJ.Export("a(1).gbl,a(2).gbl,a(3).gbl,a(5).gbl", "C:\Users\eduard\Desktop\a.xml")

Is there a way to write it shorter? I want to write global node once and list all the subscripts I need.

1 1
0 660

We're developing Ensemble PoC and one day our frontend developer (who doesn't have Ensemble production running) said that Populate just doesn't cut it and he needs to see the real data. He needed only one object, but the problem was - it's a big object. Still, I checked ids of everything related and wrote this command (parts omitted, but you get the idea):

2 1
0 666

Hi:

We are looking again into DB size. Looking at our Ens.MessageHeaderI GSIZE is 3767107

Looking at the global i'm not sure if we have had an issue in the past so much of the data looks the same, we only have 3 values in the $zwc and although some of the data in the $c between 1 and 18630 it looks very similar as if there was an issue in the past. But if anyone has any examples of their index param this would help to know if our global is abnormal.

Data below

0 1
0 24
Article
· Apr 5, 2022 4m read
Serializing Python objects in globals

Motivation

This project was thought of when I was thinking of how to let Python code deal naturally with the scalable storage and efficient retrieving mechanism given by IRIS globals, through Embedded Python.

My initial idea was to create a kind of Python dictionary implementation using globals, but soon I realized that I should deal with object abstraction first.

So, I started creating some Python classes that could wrap Python objects, storing and retrieving their data in globals, i.e., serializing and deserializing Python objects in IRIS globals.

6 1
1 2.2K

Hey developers!

Sometimes we need to insert or refer to the data of classes directly in globals.

And maybe a lot of you expect that data structure of global with records is:

^Sample.Person(Id)=$listbuild("",col1,col2,...,coln).

And this article is a heads up, that this is not always true, don't expect it as granted!

8 1
0 356
Article
· Jan 30, 2023 2m read
JSONfile-to-Global #1

The similarity between JSON objects + arrays and Globals in IRIS or Caché is evident.
With small and medium size JSON objects navigation across %Dynamic Objects is comfortable.
But with large and/or deep cascaded objects it becomes a challenge.

The presented tool offers 3 variants

  • loading an already existing %Dyamic object or Array into a global of your choice
  • loading a %Stream containing a JSON object into a global of your choice
  • loading an external File containing a JSON object into a global of your choice

6 1
2 243

Out of curiosity, I was looking in ^ROUTINE global to see how routines are stored internally.

I found out that lot of nodes are displaying "~pointer" as associated value (eg: instead of a string).

What are those pointers ? My guess is that it references some cache internal structure (eg: some nodes inside a B-Tree).

Is there a easily way to see what is behind ? Are pointers useful for user globals or is this something purely internal to Cache database ?

0 1
0 215

JSON is a lightweight data interchange format for representing and exchanging data between a server and a web application. Its popularity has led to its widespread use in applications based on InterSystems technology, as well as demand for a converter that transforms globals to JSON and back. Therefore, @Evgeny Shvarov suggested developing Global->JSON->Global converter. Implementing such a converter is important to ensure interoperability, simplify data exchange, support web services, and provide a standardized approach to data representation across different software ecosystems. This article, the second in the "Implemented Ideas" series, focuses on several projects created by the legend of InterSystems Developer Community @Robert Cemper that deal with this task:

5 1
2 164