#Caché

30 Followers · 4.5K Posts

  

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

Documentation.

Edit
Article Tao Sun · Apr 20, 2016 6m read

Recently I have been working on a performance issue reporting about that Sets or Kills in the same global performed by multiple processes in a very focused time period can sometimes take a long time (several seconds) to complete. I feel this is an interesting case study to understand about some performance tunings of Caché.

Case background:

A testing routine creates multiple processes to do set (or kill) random nodes of a global in tight loop and records the timing how long a set (or kill ) operation takes.  For a global with a large number of nodes (e.g.

0
0 0
Edit
Article Thomas Carroll · Sep 17, 2016 3m read

Embedded SQL is a tool that allows us to execute SQL statements in Caché Object Script. For example, to select the name of a person with a particular SSN from the Sample.Person class we can do the following.

&SQL(

SelectNameinto:tName

FromSample.Person

WhereSSN = :tSSN

)

The colon syntax is used to identify local variables, in this case tName and tSSN. &SQL indicates to our compiler that this is SQL syntax. At compile time, this statement will be optimized to executable Object Script code. More about this syntax can be found here.

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.

0
0 0
Edit
Question Stuart Byrne · Jul 11, 2018

Hello,

I'm just re-going through the Caché foundations course exercises using a copy of Try-Caché on my home pc.

I'm trying to create a web application to receive REST calls however, when I use the Restlet client I get no response.

My web application config is:

0
0 0
Edit
Question sansa stark · Sep 12, 2016

Hi ,

     The below code is working in cache 5.02 but it'snot working cache 16.

      while we calling this method in another csp page it's show some different character.

     ClassMethod OnHTTPHeader(ByRef OutputBody As %Library.Boolean) As %Status [ ServerOnly = 1 ]
  {
set user $ZUTIL(67,15,$JOB)
set status %session.Login(username"Test" ,1)
set log $Get(%session.Data("Log")) 
set logtype $Get(%session.Data("logtype")) 
if (log "")
{
!, "<div style='color:#000000; background:white; ; font-size=10pt;'><B>Your session has expired.

1
0 24
Edit
Article Carter Tiernan · Sep 21, 2016 2m read

Overview

Current Caché system monitoring functionality provides real-time information about a Caché environment. This allows for preventative measures to be taken before system failure by highlighting specific metrics when they are at unusual or dangerous values. Additionally, diagnosis of past or current erronious events is aided by informative logs that are created by the system monitoring process.

The System Monitor Dashboard project is a successor to the current system monitoring functionality.

0
0 0
Edit
Question sansa stark · Nov 29, 2016

Hi all,

       In Cache 5.02 while creating user the password was encrypted.

      how to decrypt the password in cache 5.02?

       We upgrade the cache 5.02 to cache 2016 ,But the user accuonut  are not updated in cache 16.

      We have created user acconut in login global in "%SYS" namespace .But the password are encrypt.

Thanks,

sansa.

1
0 64
Edit
Article Alexey Maslov · Nov 11, 2016 14m read

The technology of load balancing between several servers with relatively low capacity has been a standard feature of Caché for quite a while. It is based on the distributed cache technology called ECP (Enterprise Cache Protocol). ECP provides a host of possibilities for horizontal scaling of an application, and yet keeping the project budget fairly low. Another apparent advantage of ECP network is the possibility to conceal its architecture in the depths of Caché configuration so that applications developed for the traditional (vertical) architecture can be fairly easily migrated to a horizontal ECP environment. The ease of this process is so mesmerizing, that you start wishing it was always this way. For instance, everybody is used to having a possibility to control Caché processes: the $Job system variable and associated classes/functions work magic in skilful hands. Stop, but now processes can end up being on different Caché servers…

This article is about how to gain as much transparency in controlling processes in ECP environment as in traditional (non ECP) one.

0
0 6
Edit
Article Chris Stewart · May 6, 2017 2m read

In our last lesson, we added a form to Edit our existing Widgets, and save them back to the server.  However, our Form was not well strcutured and our Save button had no intelligence, and was not fully visible.  So today, we will apply some Material components and Angular style to make the form more useful

Let's open EditWidget.csp, and make some changes.  First, we want to change the component from an md-card to an md-dialog.

0
0 0
Edit
Article Jon Jensen · Jan 19, 2016 1m read

A quick announcement about the upcoming Global Summit 2016 -  April 10-13, 2016.

InterSystems Global Summit 2016 is an unparalleled opportunity to meet with your peers and with InterSystems’ executives and experts, discussing the technologies, strategies, and methodologies that lead to success.

All InterSystems Global Summit 2016 sessions will be held at the Arizona Biltmore in Phoenix, Arizona on April 10-13, 2016

Learn more about Global Summit 2016 and register today!

(Early bird discounts end soon!)

0
0 21
Edit
Article Danny Wijnschenk · Oct 29, 2017 1m read

Advent of Code is a series of 25 small programming challenges, created by Eric Wastl, see https://adventofcode.com/.

There are small and bigger puzzles, which you can solve typically in half an hour to a few hours. (Looking at the leaderboard, the top aces can do them in less than 10 minutes.) 

It's an ideal way for beginners to start learning a computer language, and for advanced people to sharpen their programming skills.

To help you get trained for this year's challenges which start at December 1st, I will try to solve and comment the puzzles from 2016.

0
0 0
Edit
Question Laura Cavanaugh · May 12, 2017

I was looking at the OrefToArray^%occRun in the %CSP.ErrorLog page in version 2016.  However, we're on version 2014, and that method does not seem to exist yet.  I would love a good way to swizzle out the info in the %request, %session, %response objects for the error log for my own error page, in version 2014.  I don't want to have to go through and get all the properties manually, but I will if I must.  Any other good way  already written?

Thanks,

Laura

0
0 0
Edit
Article Eduard Lebedyuk · May 9, 2017 6m read

Introduction

If you manage multiple Caché instances across several servers, you may want to be able to execute arbitrary code from one Caché instance on another. System administrators and technical support specialists may also want to run arbitrary code on remote Caché servers. To address these needs, I have developed a special tool called RCE.
In this article, we will discuss what are the typical ways of solving similar tasks and how RCE (Remote Code Execution) can help.

0
0 34
Edit
Question Keith McCauley · Nov 24, 2016

Hi,

I've managed to get a zen Report working where it outputs the contents to a pdf file - the pdf has a background image and it works perfectly. I now want to print that PDF from Caché.

I've tried to use the GenerateReport method - mode 12 — Generate a report in PDF format, and send it directly to a printer via the Caché Print Server e.g. sc=rep.GenerateReport("Printdoc.pdf",12)   (where "rep" is my zen report)

I've created the Caché print server in the management protal as per the documentation.

I don't understand where I need to specify the printer that I want to use.

0
0 24
Edit
Question Mike Kadow · Apr 26, 2017

I need some help on navigating through the DC.

I never know where I am, what comes next, what was previous.

Do I just mindlessly go from post to post? 

A least when I use to receive email on the posts, I had some control.

0
0 0
Edit
Question Peter Kopp · Jan 31, 2017

Good morning, I would like to visualize the data summarized in a tablepane in a pieChart widget. Since my tablepane has already executed the query, I would like to use the tablepane snapshot as the data source for the pieChart widget. Is this possible? What would the syntax be for linking the widget to the snapshot look like? Thank you for all input.

0
0 14
Edit
Question Arpitha Ramakrishnaiah · May 11, 2017

Hi,

I would like to know if there is any code to compare and update two directories/namespaces for class files.
If file is present in directory1 and not present in diectory2, it should import the classfile.
If file is not present in directory1 and it is present in directory2, the corresponding file should be deleted from  directory2.

Please suggest code for the task.

Thanks,
Arpitha R

0
0 0
Edit
Question Soujanya Naganuri · Jun 20, 2017

In Oracle sql Developer, you can still listing the records in a desk the use of the statistics tab when viewing a desk. there where can add, delete, edit or just viewing facts of desk currently viewd

the trouble is that we regularly actually need to view a couple of table immediately, then we want more than one tab opened, issue that i dont recognise how to do that, any sugestion. tq earlier

0
0 30
Edit
Article Gevorg Arutiunian · Jul 17, 2018 1m read

The following code snippet contains a class method "test" that determines the value of a specified property for an instance of its class:


/// get property value within class by indirection
Class objectscript.getPropOfThisClass Extends %RegisteredObject
{
	// extra code to help test
	Property myProp as %Integer;
	
	// need to instantiate an object to access property value
	method test() {
		// extra code to help test
		set .
0
0 0
Edit
Question Alexey Maslov · May 11, 2017

Since most of our customers moved to Cache 2015.1, I found some admins abused with CPUPct warnings (sometimes alerts) in console log without other signs of lacking CPU power.
Documentation states that:

          CPUPct               job_type              CPU usage (percent) by all processes of the listed job type in aggregate       

What does it really mean?
E.g., if total system CPU usage is 25%, and all running processes are of the same type (e.g, CSPSRV), would CPUPct be equal to 100%? If so, why this case should be a reason for alert?

0
0 11
Edit
Question Stella Ticker · Jul 7, 2017

There is a need to send a SAML token from a local cache web application to an external web application in order to grant these cache web app users access to the external web app. Is it possible to use SOAP SAML token functionality to do IDP initiated authentication with Cache acting as the IDP server? The example in this online course shows a code snippet of the service web method that adds  the token to the outbound SOAP message. So I am assuming , this would be returned to the client in response to a client request of some sort.

0
0 38