Caché

Setting the TZ Environment Variable on Linux

The Update Checklist for v2015.1 recommends setting the TZ environment variable on Linux platforms and points to the manpage for tzset. This is recommended to improve the performance of Cache’s time-related functions. You can find out more about this here:

https://community.intersystems.com/post/linux-tz-environment-variable-not-being-set-and-impact-caché

+ 3   0 2
0

comments

43608

views

+ 3

rating

I'm having trouble creating a view in cache with query like:

 

SELECT column1, column2, column 3
    FROM  table
    WHERE
        (column1, columnn 2) IN (SELECT c1, c2 FROM table2 GROUP BY c1)
    ORDER BY column1

 

I think the problem is in where clause, because it cannot take two columns .

 

the exact error: [SQLCODE: <-1>:<Invalid SQL statement>] [%msg: < ) expected, , found^ (column1,>]

 

Any idea on how to solve this?

 

Thank you.

Last answer 31 January 2017 Last comment 31 January 2017
0   0 0
35408

views

0

rating

I need to pass a parameter string that contains slashes to a REST call.

I tried URL encoding, or making URL map to accept query parameter instead of path parameter but apparently we only allow for path parameters.

I can come with several workarounds, but these involve some transformation at client and then on server, but I'd prefer a direct support.

Q1: is there any Cache specific trick to pass slashes in path parameters

Q2: are we going to support query parameters in REST?

something like this would help: 

Last answer 1 June 2016 Last comment 1 June 2016
0   0 0
15360

views

0

rating

WebSockets look to be supported reasonably well in Cache. I have yet to use them in production so I am wondering how well it has worked for other developers.

In particular what happens when the browser does not support WebSockets, or when a firewall blocks the connection.

Have you had to write your own long polling fall-back?

I've read the documentation and found this interesting article...

https://community.intersystems.com/post/asynchronous-websockets-quick-tutorial

Last answer 21 April 2017 Last comment 22 April 2017
0   0 0
9818

views

0

rating

I have a query string that I am creating programmatically, based on some user inputs.  The user might search on 5 fields, or 8 fields, or no fields.

In my sql statment, some of these fields require parameters in the %Execute statement.

 

For example:

if user picks lastname, sql = "select * from person where lastname = ?"

if user also picks age, sql = "select * from person where lastname=? and age > ?"

 

I then have these lines of code to create my result set:

set statement = %SQL.Statement

statement.%Prepare

Last answer 18 July 2017 Last comment 20 July 2017
0   0 3
8240

views

0

rating

Intro

 

Please note, this article is considered deprecated, check out the new revision over here: https://community.intersystems.com/post/tutorial-websockets

The goal of this post is to discuss working with Websockets in a Caché environment. We are going to have a quick discussion of what websockets are and then talk through an example chat application implemented on top of Websockets.

Last comment 28 January 2019
+ 12   4 19
7893

views

+ 12

rating

Caché and InterSystems other products based upon Caché are very reliable. The vast majority of our customers never experience any kind of failure. However, under rare conditions Caché has failed, and in doing so may have produced a core file (called a dump file on Windows and OpenVMS). The core file contains a detailed copy of the state of the process at the instant of its failure, including the processes registers, and memory (including or excluding shared memory depending upon configuration details).

Last comment 9 November 2016
+ 7   2 4
7757

views

+ 7

rating

This post is intended to guide you through the new JSON capabilities that we introduced in Caché 2016.1. JSON has emerged to a serialization format used in many places. The web started it, but nowadays it is utilized everywhere. We've got plenty to cover, so let's get started.

Last comment 11 January 2019
+ 32   1 33
7512

views

+ 32

rating

This question came on the Ensemble in Healthcare email list. It's a great question. I'm working on an answer, but am posting it here to get any other input. I'll also address the option of using %CSP.REST.

Hello everyone,

 

Last answer 10 May 2016 Last comment 25 March 2016
+ 2   0 2
7060

views

+ 2

rating

Now, let’s say you can’t access the terminal or simply you just rather execute it from a web interface. In this article, I will show you how to execute terminal commands from a simple web page.

For example, in the image below you see how we execute $zv on a webpage:

Last comment 13 October 2016
+ 2   0 0
7028

views

+ 2

rating

++Update: August 2, 2018

This article provides a reference architecture as a sample for providing robust performing and highly available applications based on InterSystems Technologies that are applicable to Caché, Ensemble, HealthShare, TrakCare, and associated embedded technologies such as DeepSee, iKnow, Zen and Zen Mojo.

Azure has two different deployment models for creating and working with resources: Azure Classic and Azure Resource Manager. The information detailed in this article is based on the Azure Resource Manager model (ARM).

Last comment 8 July 2016
+ 11   0 1
6682

views

+ 11

rating

This post is dedicated to the task of monitoring a Caché instance using SNMP. Some users of Caché are probably doing it already in some way or another. Monitoring via SNMP has been supported by the standard Caché package for a long time now, but not all the necessary parameters are available “out of the box”. For example, it would be nice to monitor the number of CSP sessions, get detailed information about the use of the license, particular KPI’s of the system being used and such. After reading this article, you will know how to add your parameters to Caché monitoring using SNMP.

Last comment 20 September 2019
+ 10   1 5
5961

views

+ 10

rating

This post will show you an approach to size shared memory requirements for database applications running on InterSystems data platforms including global and routine buffers, gmheap, and locksize as well as some performance tips you should consider when configuring servers and when virtualizing Caché applications. As ever when I talk about Caché I mean all the data platform (Ensemble, HealthShare, iKnow and Caché).


A list of other posts in this series is here

Last comment 22 August 2017
+ 22   4 11
5741

views

+ 22

rating

Here are a few examples of conversions and operations you might need, along with links to documentation where you can learn more.

At the time I wrote this, Eastern Daylight Time was in effect for my Caché system.

How Caché keeps the time and date

Caché has a simple time format, with a longer range of recognized dates compared to some other technologies.

The current time is maintained in a special variable $HOROLOG ($H):

Last comment 23 August 2019
+ 6   0 7
5665

views

+ 6

rating

The topic of for/while loop performance in Caché ObjectScript came up in discussion recently, and I'd like to share some thoughts/best practices with the rest of the community. While this is a basic topic in itself, it's easy to overlook the performance implications of otherwise-reasonable approaches.

Last comment 12 July 2019
+ 20   2 13
5146

views

+ 20

rating

Enterprises need to grow and manage their global computing infrastructures rapidly and efficiently while simultaneously optimizing and managing capital costs and expenses. Amazon Web Services (AWS) and Elastic Compute Cloud (EC2) computing and storage services meet the needs of the most demanding Caché based application by providing
 a highly robust global computing infrastructure.

+ 14   3 9
0

comments

5061

views

+ 14

rating

In this post I show strategies for backing up Caché using External Backup with examples of integrating with snapshot based solutions. The majority of solutions I see today are deployed on Linux on VMware so a lot of the post shows how solutions integrate VMware snapshot technology as examples.

Last comment 30 September 2019
+ 14   2 6
4765

views

+ 14

rating

This article, and following two articles of the series, is intended as a user guide for developers or system administrators, who need to work with OAuth 2.0 framework (further referred to as OAUTH for simplicity) in their InterSystems product based applications.

Last comment 27 September 2019
+ 12   6 6
4652

views

+ 12

rating

An installation or upgrade of Caché, Ensemble, or HealthShare on Windows could fail with the titled error if a newer version of the Microsoft Visual C++ Redistributable 2013 (x86) or (x64) is installed instead of version 12.0.30501.

Last comment 14 August 2017
+ 2   0 3
4475

views

+ 2

rating

Class Queries in InterSystems Caché is a useful tool that separates SQL queries from Caché Object Script code. Basically, it works like this: suppose that you want to use the same SQL query with different arguments in several different places.In this case you can avoid code duplication by declaring the query body as a class query and then calling this query by name. This approach is also convenient for custom queries, in which the task of obtaining the next row is defined by a developer. Sounds interesting? Then read on!

Last comment 9 December 2016
+ 14   0 9
4169

views

+ 14

rating

Can I connect to Cache using SSMS (SQL Server Management Studio) and view schemas and build queries as I do for SQL Server?

If yes, step-by-step instructions for setting up the connection would be greatly appreciated.

I googled the topic but didn't find any results that were on target.

Thanks,

Christian Bahnsen

Last answer 16 June 2016 Last comment 16 July 2019
0   0 6
3969

views

0

rating

The Caché System Management Portal includes a robust web-based SQL query tool, but for some applications it’s more convenient to use a dedicated SQL client installed on a user’s PC.

SQuirreL SQL is a well known open source SQL client built in Java, which uses JDBC to connect to a DBMS. As such, we can configure SQuirreL to connect to Caché using the Caché JDBC driver.

Last comment 13 July 2016
+ 7   0 9
3966

views

+ 7

rating

So, one day you're working away at WidgetsDirect, the leading supplier of widget and widget accessories, when your boss asks you to develop the new customer facing portal to allow the client base to access the next generation of Widgets..... and he wants you to use Angular 1.x to read into the department's Caché server.   

There's only one problem:  You've never used Angular, and don't know how to make it talk to Caché.

This guide is going to walk through the process of setting up a full Angular stack which communicates with a Caché backend using JSON over REST.  

Last comment 13 December 2018
+ 16   3 10
3869

views

+ 16

rating

I am often asked by customers, vendors or internal teams to explain CPU capacity planning for large production databases running on VMware vSphere.

In summary there are a few simple best practices to follow for sizing CPU for large production databases:

  • Plan for one vCPU per physical CPU core.
  • Consider NUMA and ideally size VMs to keep CPU and memory local to a NUMA node.
  • Right-size virtual machines. Add vCPUs only when needed.

Generally this leads to a couple of common questions:

Last comment 8 November 2017
+ 5   0 3
3825

views

+ 5

rating

Recently I started working with GitLab - GitHub self-hosted foss alternative. So far so good, liked the UI,  ease of administration, and available functionality (I was on Phabricator previously,  and still use it for repo mirroring).

GitLab has GitLab CI  (GitLab Continuous Integration) which looks promising (pluggable docker/vm/ds to run code) , but I wondered if someone uses it already and can share scripts for it?

Last answer 13 January 2017 Last comment 13 January 2017
+ 1   0 2
3710

views

+ 1

rating