#Caché

30 Followers · 4.5K Posts

  

InterSystems Caché is a multi-model DBMS and application server. See more details here.

Documentation.

Article Stefan Wittmann · May 31, 2016 12m read

Introduction

The field test of Caché 2016.2 has been available for quite some time and I would like to focus on one of the substantial features that is new in this version: the document data model. This model is a natural addition to the multiple ways we support for handling data including Objects, Tables and Multidimensional arrays. It makes the platform more flexible and suitable for even more use cases.

12
0 2835
Question Simcha Gershon · Jun 9, 2016
Hi
I'm trying to inser a button into a grid cell with no sucssess. You can see what I get, I don't understand what I'm doing wrong, can any one help me
Thanks
This is my code :
 
content {
children: [
{type:'$ContentPane',key:'layoutContainer-1',style:'width:100%;height:100%;',children:[
{type:'$span'
1
0 389
Question Nikita Savchenko · Jun 1, 2016

Hello!
Are there any short ways of serializing COS entity to the string? I am searching for something like .$toJSON() , but I need Caché 2013.* support.

The one way I supposed to work is to use $listbuild:

set str = $LISTTOSTRING($LB(1,2,3,",",5))
set list = $LISTFROMSTRING(str,",")
zw list
list=$lb("1","2","3","","","5")

 

But the problem is that $listbuild does not escape delimiters, and it is not possible to deserialize serialized string. The structure I need to serialize may contain any characters.

Are there any short ways to do this in Caché to avoid writing custom parser?

15
0 3381
Article Evgeny Shvarov · Mar 9, 2016 2m read

Hi!

Here is small "How to" again.

Suppose you need to share something with source code. How can we manage it on DC?

Sharing code snippets

1. Add normal post (not Code Package).

2. Paste your code in the post and format it with highlighting as it is described here.

3. If you see that your COS code is highlighted wrong it means that autodetect missed with language. Open the post's HTML ("disable rich-text" button below the Editor) and put class=COS parameter into the code tag.

Example:

#dim test as %Library.Integer 
SET test = 123.099 
set ^global = %request.Content 
Write "Current date """,
2
0 567
Article Mike Kadow · Jun 11, 2016 2m read

NewBie's Corner Session 7 True and False

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Click on the Caché Cube in your system tray and select Terminal to try out these commands.

In COS, a 0 is false and any other number (positive or negative) is true.

Set X=1
If X Write "True"          ;  1 is true and 0 is false
True
 
Set X=0
If X Write "True"          ;  0 is false
<> 
 
Set X=10
If X Write "True"          ; Any number other than 0 is true
True
Set X=-10
If X Write "True"          ; Any number other than 0 is true, even negative ones
True
 
Set X="1"
If X Write "True"
0
0 407
Article Alexander Koblov · May 20, 2016 12m read

Order is a necessity for everyone, but not everyone understands it in the same way (Fausto Cercignani)

Disclaimer: This article uses Russian language and Cyrillic alphabet as examples, but is relevant for anyone who uses Caché in a non-English locale.Please note that this article refers mostly to NLS collations, which are different than SQL collations. SQL collations (such as SQLUPPER, SQLSTRING, EXACT which means no collation, TRUNCATE, etc.) are actual functions that are explicitly applied to some values, and whose results are sometimes explicitly stored in the global subscripts. When stored in subscripts, these values would naturally follow the NLS collation in effect (“SQL and NLS Collations”).

7
1 3182
Question Danny Spell · Jun 9, 2016

I've been in IT since 1986.

I started with Pr1me INFORMATION and Primos on Pr1me hardware.

In the 90s and 00s, I used D3.

I'm giving Caché a try, but I'm kinda having some difficulty getting started.

I've installed Caché on a 64-bit Windows 7 workstation. It was installed under an administrator's account. From a standard users account, I'm trying to access the Management Portal at:

http://localhost:57772/csp/sys/UtilHome.csp

It is prompting me for credentials. Which ones do I use? I've tried several, but nothing is working.

In going through the MultiValue Quick Start Tutorial, but I'm not getting

5
0 447
Question Ray Fucillo · Jun 6, 2016

Mirroring provides an admin capability to Stop Mirroring on this member, which causes a non-primary member to temporarily disconnect from the primary, stop dejournaling, etc.  While most system administrators may never need or use this function, some employ it for certain kinds of maintenance or other special cases.

The intent is that the administrator uses the Start Mirroring function when they wish the member to reconnect.However, today mirroring also implicitly restarts (reconnects) if the Caché instance restarts.

4
0 462
Question Nikita Savchenko · Jun 6, 2016

Hello!

I have a WebSocket application which spawns new process using JOB command.

Sometimes WebSocket connection can be terminated, and in the meantime I need to hold spawned process alive until it can be associated with the new WebSocket connection. (Do not suggest serializing process state here instead please)

Technically, in Caché WebSocket connection is represented by the class, which executes in its own process. This process is terminated when the connection is lost. In this case the JOBbed process does not terminates (thanks Edward), but it rely on $ZPARENT variable.

Is it possible to hold

11
0 484
Question Evgeny Shvarov · May 30, 2016

Hi, Community!

Last weekend we held the Final of InterSystems Contest on Caché, DeepSee and iKnow under the aegis of IT Planet Student Championship in Ekaterinburg. BTW, this year we had more than 1,400 participants in InterSystems Contest.

One of the tasks for the final was to solve T9 Spelling problem  with Caché ObjectScript and use the minimum code. 

Problem description:
The Latin alphabet contains 26 characters and telephones only have ten digits on the keypad.We would like to make it easier to write a message to your friend using a sequence of keypresses to indicate the desired characters.

20
0 1410
Article Steve Brunner · May 19, 2016 1m read

I am pleased to announce the field test of Caché and Ensemble 2016.3 -  with many new improvements.

The product team at InterSystems looks forward to your participation in the field test and feedback over the coming months.

Some of the more signification changes in 2016.3 are new RESTful APIs for iKnow and broader APIs for programmatic control of multiple servers (enterprise manager).  As always, there are a host of scalability and performance improvements, including improvements to the core database and SQL.  And hundreds of smaller improvements and corrections.

8
0 1075
Question Isaac Aaron · Jun 3, 2016

Hello

During some consultant activity I did at a client's I have discovered something very interesting. It seems like the current processing cycle as written in ObjectScript has trouble utilizing an SSD-based storage machine with five-digit IOPS.

6
0 2781
Question Harry Tong · May 31, 2016

Recently I was asked by a customer with this question. In MS SQL Server, there is a function called host_name() that will return the work station name.

Here is how I would do it in Caché :

With default SQL schema name, in my case SQLUser in SQL (which is equivalent as User in Caché class definition), I have a class called User.dummy, I added a classmethod called hostname and expose it as SQL function host_name:

/// 
Class User.Dummy Extends %Persistent [ ClassType = persistent, DdlAllowed, ProcedureBlock, SqlRowIdPrivate, SqlTableName = dummy, StorageStrategy = "" ]
{
Property f1 As %Library.Integ

4
0 1573
Question Peter Kopp · Jun 2, 2016

I have a ZEN page with buttons, text boxes and a tab group. The tab group contains a single tab which I use to display an image(src). When the user, uses the browser zoom capabilities to reduce or enlarge the image, the other controls are reduced or enlarged as well. How can I reduce or enlarge the tab src alone? Thank you for any and all input.

1
0 447
Article Mike Kadow · Jun 2, 2016 3m read

NewBie's Corner Session 6 If and Kill commands

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Click on the Caché Cube in your system tray and select Terminal to try out the commands.

As in other computer programming languages, the If command is the primary decision makes.

If command with numeric operands

Set X=12
If X=12 Set X=13
Write X
13

If command with alphanumeric operands

Set X="ABC"
If X="ABC" Set X="XYZ"
Write X
XYZ

Whenever alphanumeric data is being referenced, quotation marks are required.

Kill command

Thus far, we have learned how to set a variable to a value

0
0 506
Question Alexandre Marques · May 16, 2016

I have a homeTemplate and ExamesTemplate page. When I'm in ExamesTemplate and make a resfresh (F5 browser), the page back to the HomeTemplate. I need the page ExamesTemplate not return HomeTemplate.

I'm using ZenMojo with Bootstrap

Can someone help me?

Thanks.

4
0 521
Question Marco Blom · Apr 2, 2016

Hi,

I am working on a DataGrid based upon ZenTest.Datagrid.cls

I want to save data after changes on a row.

The existing samples do not explain how to save changes on data in a grid.

I have tried something like zen(‘json’).save

Does anybody has some sample code?

4
0 1045
Question Andy Richards · Jun 1, 2016

I have a production system that has a large dataset of about 2 million rows. I need to create an index on a property but don't want it available to queries until the index is fully populated. Is there a way I can create the indexed, fire off the build, then "activate" the index so queries can use it.

The problem I face is the minute I create the index queries start returning zero rows because it starts using the index.As I start building it starts returning qualifying rows for those it has indexed but misses those not yet processed.

3
0 559
Question Steve Pisani · May 25, 2016

Hi,

Assume an architecture where an ECP Database Server is connected to by one or more ECP Application Servers inside a firewall.The application server hosts the web application that web users connect to.

The Web servers are outside the firewall, and, (using the CSP gateway/server mechanism) issue requests over the SuperServer port and into the application server.

I know that the traffic between the Web Server and the ECP application server can be encrypted using HTTPS, and access to the CSPServer on the Application server is username/password secured.

Q1: In order to bolster security, is it

2
0 4829
Article Bill McCormick · May 27, 2016 1m read

Steve Glassman is on vacation today so in his place I wanted to announce the availability of a new kit for the 2016.3 Field Test. The kit details are: 2016.3.0.628.0

Most of the changes are related to DeepSee, DocDB data models and dynamic objects. You can find a complete listing here:

https://wrc.intersystems.com/wrc/WRC.StreamServer.cls?FILE=/wrc/FieldTe…

Bill McCormick

Director of Product Management

0
0 385
Question Evandro Santos · May 25, 2016

Hi.

I'm facing a problem when I try to use the Runtime Expression below inside the XData Contents:

<html>#($$$Text("Testing!"))#</html>

It compiles correctly, but when I open the page on the browser I get the message "Expression Error" instead of "Testing!".

How could I use the $$$Text macro with Runtime Expressions? Is there a way to make this?

Thanks!

5
0 479
Article Murray Oldfield · May 26, 2016 1m read

Post updated in August 2025 to include links to IRIS.

I have seen customer problems where the use of a virus scanner running over Caché or IRIS databases was causing intermittent application slowdowns and bad user response times.

This is a surprisingly common problem, so this short post is just a reminder to exclude key Caché and IRIS components from your virus scanning.

Generally, virus scanning must exclude the CACHE.DAT or IRIS.DAT database files and the InterSystems binaries. If an anti-virus is scanning *.DAT files and other InterSystems files such as journals and binaries, then system

2
1 1895
Question Fabio Goncalves · Apr 14, 2016

Hello, one of our application partner, is considering modernizing their old CSP laboratory portal by using Zen Mojo with Bootstrap. They have a lot of experience with COS, CSP and some ZEN. They are new to REST/JSON and have some limited knowledge of javascript - perhaps not enough to the extent used by client framework. 

They are trying to create their portal main page with header and footer fixed where at the header level is going to have a menu or navbar and at the footer level they would like to have some options (buttons, search options, text, messages, etc) dynamically loaded during run

6
0 3875