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é

4 0
0 137.4K
Article
· Jun 15, 2016 1m read
MQTT Client in COS

Hi All,

I've created a sample implementation of the MQTT protocol, which is now available on GitHub.

The project demonstrates MQTT client capabilities and it's written in Caché Object Script.

Any comments, bug reports are welcome! Some more enhancements (like SSL / TLS support) are planned for the near future.

4 0
0 615

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.

13 12
0 2.7K
Article
· Jun 11, 2016 2m read
NewBie's Corner Session 7 True and False

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.

0 0
0 343
Article
· May 20, 2016 12m read
Collations in Caché

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”).

9 7
1 2.9K

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.

6 8
0 980

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

0 0
0 439
Article
· May 27, 2016 1m read
2016.3 Field Test Kit 2016.3.0.628.0

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/FieldTes...

Bill McCormick

Director of Product Management

0 0
0 323
Article
· May 26, 2016 1m read
Windows, Caché and virus scanners

I have seen a customer problem recently where the use of a virus scanner running over Caché databases was causing intermittent application slow downs and bad user response times.

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

Generally virus scanning must exclude the CACHE.DAT database files and Caché binaries. If an anti-virus is scanning CACHE.DATs and InterSystems files then system performance will be significantly impacted.

3 2
1 1.6K

NewBie's Corner Session: 5 Operator Precedence

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.

Order Precedence means the order in which mathematical operators are executed. In a Mathematical expression, you may have Multiplication, Addition, Subtraction, and Division. Which of these are executed first, second, third, etc.?

The basic Operator Precedence of mathematics is:

0 0
0 356

NewBie's Corner Session 4 The Plus Sign and Concatenation Operators

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.

Plus Sign (+) operator

Typically, the Plus sign (+) adds two numbers together. This is true in COS (Caché ObjectScript), but COS uses it in other ways as well.

Set the variable X to a value of +12

0 0
0 416

NewBie's Corner Session 2 Variables Set and Write commands

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

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

Variables

Like other computer programming languages, Caché uses Variables and the values they represent to control programming. Variables are elements that represent data values. Manipulating and interrogating variables is at the root of programming.

2 0
0 369
Article
· May 13, 2016 1m read
mySQL data importer tool

Hi,

If you want to import data from a mySQL export file (exported with mysqldump), you will find here a little script that could help.

Only the INSERT commands in the sql file are executed into Caché. Indices are not computed for better performance.
%NOINDEX, %NOCHECK and %NOLOCK are generated on each INSERT line.

Currently, the file can not contain a "),(" pattern inside the values part of the INSERT command. If this is the case, the line is skipped. This feature may be implemented in the extractValuesList method.

2 3
0 538

Greetings! This article describes yet another simple way of creating installers for the solutions based on InterSystems Caché. The topic covers applications, which can be installed or completely removed from Caché with one action only. If you are still documenting installation instructions that have more than one step to do to install your application — it’s high time you automated this process.

5 14
0 1.7K

Hi!

Want to share with you code snippet of try catch block I usually use in methods which should return %Status.


{ 
 try {
  	$$$TOE(sc,StatusMethod())
 }
 catch e {
 	set sc=e.AsStatus()
 	do e.Log()
 }

Quit sc 
}

Here $$$TOE is a short form of $$$TROWONERROR macro.

Inside macro StatusMethod is any method you call which will return %Status value. This value will be placed into sc variable.

5 21
2 3.2K
Article
· Apr 20, 2016 1m read
Feedback on Product Documentation?

We are in the process of putting a new UI on the existing product documentation, including a mobile-optimized view. We also plan on releasing additional "solution based" documentation that is targeted at common usage scenarios or important configuration tasks.

We are interested in your feedback on our current product documentation - what you like and dislike and especially what changes you would expect to see to make it as useful as possible.

3 15
0 889

You may experience errors executing Java programs that rely on the JAVA_HOME environment.

For example when Create PDF from this pivot in DeepSee or in this case, outputting a Zen Report as PDF.

You can verify the PDF generation configuration by clicking on the Verify Now button on the Management Portal System > Configuration > Zen Report Settings page:

1 0
0 844

Hi,

I'm posting this for the benefit of others. Not often one changes certificates in Cache, at least in my case. I run a system, that uses certificates to encrypt SOAP messages, and since the last time I ran it, my certificates expired.

So I renewed them using our PKI tool, so far so good. I gave all (3) certificates the same names (and filenames too) as to those expired, thinking that everything would just work fine next time I call the SOAP service.

Unfortunately, I got trapped.

2 0
0 622

Hello!

Link: https://demo.cachequality.com

In this presentation, developer oriented, we will cover this tool, how it works, how you can use it/administer it, etc. Duration 30 minutes.

The topics will include:

  • a short presentation of Caché Quality and SonarQube (which this plugin uses),
  • a demonstration of the rules and how to tailor them to your need.

Questions will be more than welcome! Hope to see you there!

And a big thanks to Evgeny Shvarov who made this possible!

2 0
0 627
Article
· Apr 8, 2016 1m read
2016.2 Field Test Kit 2016.2.0.632.0

I am pleased to announce the next 2016.2 field test kit, 2016.2.0.632.0.

Since I haven’t sent an update to this thread in a while it should come as no surprise that there have been quite a few changes since I wrote about build 609. In fact, there have been over 175 changes in 50 different areas, with the majority of changes in:

1 1
0 334

Presenter: Saurav Gupta
Task: Provide customized authentication support for biometrics, smart cards, etc.
Approach: Provide code samples and concept examples to illustrate various custom authentication mechanisms

Description: In this session we will discuss customized way to solve various authentication mechanism and show case some sample code.

Problem: Using custom Authentication mechanism to support devices like biometrics, smart cards, or create an authentication front end for existing applications.

Solution: Code samples and concept examples.

Content related to this session, including slides, video and additional learning content can be found here.

0 0
0 287

Presenter: Anton Umnikov
Task: Run SQL queries quickly on huge amounts of data
Approach: Use a shared-nothing architecture to leverage a cluster of small, cost-effective servers

Explains how a shared nothing architecture allows you to leverage a cluster of small, costeffective servers to serve query results that would have taken much longer on a single, big and expensive box. This brings affordable horizontal scalability.

Content related to this session, including slides, video and additional learning content can be found here.

1 0
0 340

Presenter: Ray Fucillo
Task: Provide high availability (HA) and disaster recovery (DR) in diverse architectures that demand high performance, including replication over long distances
Approach: Give examples of mirror architectures in disparate environments, including geographically separated systems. Discuss performance considerations and advances in InterSystems’ mirroring technology

In this session you will learn about deploying Mirroring to provide HA and DR in diverse architectures that demand high performance and throughput. Challenges and solutions to achieving high throughput will be covered along with mirror architectures that involve long distances and disparate environments.

Content related to this session, including slides, video and additional learning content can be found here.

0 0
0 288

Presenter: Jeff Semmens
Task: Model and access data as objects in .NET without designing the database first
Approach: Use InterSystems Entity Framework

Description: Come and experience how you can design your database model in .NET and evolve it over time by leveraging the Entity Framework.

Problem: Current bindings require database-first design. I cannot design my model in .NET.

Solution: The Entity Framework is an object-relational mapping framework that allows data-oriented applications to model and access their data as objects in .NET. Database- first is still supported but will fade away in future releases.

Content related to this session, including slides, video and additional learning content can be found here.

0 0
0 270

Presenter: Paul Dayan
Task: Upgrade with minimal downtime
Approach: Provide examples of planning minimal-downtime upgrades from a variety of starting scenarios

When upgrading Caché, Ensemble or your application on your business-critical system, you want zero or minimum downtime. This session explores the problems and options when upgrading, and how mirroring can reduce or eliminate business disruption, with practical steps and a demonstration.

Content related to this session, including slides, video and additional learning content can be found here.

0 0
0 172