Recently I came across a very strong statement to the effect that InterSystems.Data.CacheClient.dll library works fast because it does not open a TCP/IP connection, instead it works in the same process as a database. It made me pause for quite some time. Firstly because .Net Managed Provider, which utilises this library, opens TCP/IP connection to the database (and it is stated in the documentation "Using .NET and the ADO.NET Managed Provider with Caché"). And secondly, because as far as I know only eXtreme applications attach themselves to the process.

1 6
0 1.2K

Hello,

This package may be of interest...

Link: https://github.com/litesolutions/cachedb-import

I have programmed this over a hunch, in order to facilitate the retrieval of source code from a Caché installation. It makes use of the Java API provided by Caché.

Right now, I use it as a means to salvage sources in order to analyze them using the SonarQube plugin I develop for my employer. Unfortunately this plugin is not open source.

I am calling for help here, on two fronts:

3 10
0 743

Hi all,

I was wondering, what is your favourite public cloud provider?

What is your level of engagement with the cloud provider? Are you testing their infrastructure? In which case I'd expect you being progressing a parallel test with at least a second provider ;-) Or, are you already running a production environment?

--

OK, so, let me be the first one to share my experience with one specific cloud provider.

2 8
0 432
Question
· Feb 12, 2016
Help with SQL error

Error:

[SQLCODE: <-400>:<Fatal error occurred>]
[Cache Error: <<SUBSCRIPT>%0AmEdun+4^%sqlcq.HSREGISTRY.cls966.1 ^||%sql.temp(1,"")>]
[Location: <ServerLoop - Query Fetch>]
[%msg: <Unexpected error occurred: <SUBSCRIPT>%0AmEdun+4^%sqlcq.HSREGISTRY.cls966.1 ^||%sql.temp(1,"")>]

Here is an example of a query that gives the error:

SELECT COUNT(DISTINCT Criteria) as Relevance FROM HS_IHE_ATNA_Repository.Aggregation
WHERE EventType = 'CROSS GATEWAY QUERY'

0 10
0 4.4K
Question
· Feb 12, 2016
Get columns dynamically?

In MSSQL I think you can do something like this:

select *
from HS_IHE_ATNA_Repository.COLUMNS
where TABLE_NAME=&#39;Aggregation&#39;

How can I do this in Cache SQL?

[%msg: < Table 'HS_IHE_ATNA_REPOSITORY.COLUMNS' not found>]

0 11
1 2.1K

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.

13 28
4 18.8K

I'm revisiting some older projects that can benefit from the new JSON support and dynamic object capabilities in 2016.1 FT / 2016.2 FT. (Particularly, some of the really new features in the latest 2016.2 FT.)
For the particular thing I'm working on, it would be very handy to be able to merge objects, similarly to https://api.jquery.com/jquery.extend/. The closest thing I've found so far (in 2016.2 only) is:

Set o1 = {"a":1,"c":2}, o2 = {"b":1,"c":1}
Write "o1: ",o1.$toJSON(),!

0 1
0 529

I am pleased to announce the third 2016.2 field test kit, 2016.2.0.590.0.

In the week since the last field test posting Development has made over a hundred fixes and improvements in Atelier, Enterprise Manager, Ensemble and Caché. Unlike the previous field test kit, though, in which the changes were distributed evenly over multiple areas and products, in this kit over half of the changes are associated just with Atelier.

2 0
0 244

In preparation for a presentation I need a real-world LDAP schema that has been customized a bit beyond the basics. Perferably this would be based on an OpenLDAP system which would make it easier to merge into this presentation.

If you have such a schema you would be willing to share please respond or contact my directly at Rich.Taylor@InterSystems.com

Thanks in advance.

Rich Taylor

0 1
0 302
Article
· Feb 5, 2016 11m read
Class Queries in InterSystems IRIS

Class Queries in InterSystems IRIS (and Cache, Ensemble, HealthShare) is a useful tool that separates SQL queries from 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!

17 17
6 7K

I'm working on a proposal for a deployment tool development project and I was wondering if anyone had any experience with such a thing.

We use Healthshare and implementations for new clients are tedius and lengthy. Lots of ensemble service, registry value, lookup tables, namespaces and other things have to be created and configured.

I would like to create a Zen or CSP page based deployment tool that can do all this with a few parameters and some custom code.

1 15
0 886

Has anyone come up with a way to create a separate thread of processing that can achieve shared access to a set of objects created from the initials process? The situation is this. There is a large complex set of objects representing a business process. Some of these objects are in-memory only. The desire is to spin off a separate thread that could do some ancillary processing on this data set without slowing down the main process. Any thoughts?

0 6
0 1.1K
Article
· Feb 3, 2016 1m read
2016.2 Field Test Kit 2016.2.0.585.0

I am pleased to announce the next in the series of 2016.2 field test kits, 2016.2.0.585.0.

In the two weeks since the last field test posting Development has made over a hundred fixes and improvements in Atelier, Enterprise Manager, Ensemble and Caché.

In Atelier alone there were over a dozen changes including a fix for the incompatibility issue that Jamie Newton described in his posting of February 1.

In Caché major areas of focus include:

3 0
0 255
Article
· Feb 2, 2016 1m read
Cache' databases as UNIX sparse files

Some third party backup products may by default restore CACHE.DAT files as UNIX sparse files when there are trailing zeroes in the backup file.

The support for sparse files vary from UNIX distribution and file system types. Sparse files attempt to use file system space more efficiently when blocks allocated to the file are mostly empty similar to thin-provisioned storage. The file system transparently converts metadata representing empty blocks into "real" blocks filled with zero bytes at runtime. The application is suppose to be unaware of this conversion.

5 0
0 365

I have a CSP page that needs to allow the user to submit a file. I have a form with an element in it <input type="file" name="file"/> which allows the user to select the file they want to upload from their local filesystem.

How do I go about actually getting the file to be sent to the server?

0 5
0 1.3K
Article
· Feb 2, 2016 1m read
Creating an IDKEY with a chosen name

What do you do if you want to have the ID field have a meaningful name for your application?

Sometimes it comes to pass that when you're making a new table that you want to have the unique row identifier (a.k.a. IDKEY) to be a field that has a name that is meaningful for your data. Moreover, sometimes you want to set this value directly. Caché fully supports this functionality and it works Suppose you have a class Test.Kyle. The data will be stored like so:

^Test.Kyle(IDKEY)=$LB("",Field1,Field2,...,Fieldn)

3 2
0 436