#Caché

1 Follower · 4.5K Posts

  

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

Documentation.

Article Vitaliy Serdtsev · Jun 22, 2017 4m read

This is a translation of the following article. Thanks [@Evgeny Shvarov] for the help in translation.

This post is also available on Habrahabrru.

The post was inspired by this Habrahabr article: Interval-associative arrayru→en.

Since the original implementation relies on Python slices, the Caché public may find the following article useful: Everything you wanted to know about slicesru→en.

Note: Please note that the exact functional equivalent of Python slices has never been implemented in Caché, since this functionality has never been required.
And, of course, some theory: Interval treeru→en.

All right, let’s cut to the chase and take a look at some examples.

1
0 710
InterSystems Official Steve Brunner · Jun 26, 2017

InterSystems is pleased to announce the availability of the Caché and Ensemble 2016.1.4 maintenance releases.

 

For a complete list of the corrections, please review the release notes.

 

Caché and Ensemble 2016.1.4 are available on the same platforms as 2016.1.3.  For complete platform details, please refer to the Supported Platforms document.

 

Availability of HealthShare Health Connect will be announced separately.

 

The version number of the kits for these releases is 2016.1.4.104.0

0
0 473
Edit
Question PILAR GUERRERO · Jun 26, 2017

Hello,

I have a problem when i take the adapter: EnsLib.FTP.OutboundAdapter. 

I want to write a file, but if the file already exist using the method ..Adapter.PutStream(name,file) and in my setting "overwrite" is true. FTP response me this message:

2
0 21
Question André Rothe · Jun 22, 2017

I try to find a function, which generates hash values of columns. In MS SQL Server I can use

select hashbytes('sha2_256', my_column) ...

to create hash values of my_column. Is it possible to use such things in Caché?

Thank you
André

1
0 1339
Article John Murray · Jun 21, 2017 1m read

Recently I was conducting a remote support session with a site. The desktop they were sharing with me was on a PC configured with German as the native language. Since my German is rather rusty, and virtually non-existent when it comes to computing terms, I was glad to be able to switch the Portal session into English.

This is done from the page that appears when you use the About link:

All I needed to remember was that the About link is the second one, and the language selection dropdown is at the foot of that page.

0
0 437
Question Ivan Tioh · Apr 11, 2017

It is possible to update Cache object property from Python using the following Python code, with import of intersys.pythonbind3:

my_object.set("my_property",["A","B","C"])

However, I am unable to save 2D %List with 2D Python array like the following:

my_object.set("my_property",[["A","B","C"],["1","2","3"]])

I am not sure whether this is Python-Cache bind flaw or design issue. Is there any alternative/ workaround to do the same for above?

3
0 427
Question Evgeny Shvarov · Jun 20, 2017

Hi, Community!

How do you store the source files of your Caché project? What is the directories structure? What are the benefits?

I prefer the following structure:

/cls/package/subpackage/class.cls

/mac/package/routine.mac

/int/package/routine.int

/inc/macro.inc

/dfi/folder/sample.pivot.dfi

Example

Benefits: 

  • folders are packages.
  • easy to understand what type of sources are in the project.

What is your approach?

4
1 1362
Question CM Wang · Jun 19, 2017

Hi,

I want to attach one local namespace on instance A to the database on instance B.

How could I use ECP to achieve my goal?

Should I config instance B as ECP data server? If so, how could I explicitly specify which database on instance B could be exposed ?

Thanks for your help.

4
0 608
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
Question Nic Lorenzen · Jun 17, 2017

Hi all,

I have a non objectscript application connecting to a cache instance via ODBC and one column is a list of serial objects. The output from the query contains a lot of special characters and I'm hoping there's a better way to get this data back so I won't have to perform extensive parsing on the application side.

I've tried using the $ListToString() function, but that didn't help much, probably because the list contains complex objects rather than primitives. 

Any help will be greatly appreciated!

4
0 835
Question Adam Skurek · Apr 13, 2017

In Cache Studio there is export class dialog with options "Export current project" and "Include dependent classes".

Is there any way to export class programmatically, but with same effect as if "Include dependent classes" was checked? So that not only the class itself is exported, but also all dependent classes? I know of Export method in %SYSTEM.Obj class, but it only exports the class itself.

4
0 1055
Question Aditi Goswami · Jun 14, 2017

Hello,

I have a question related to running an SQL query for range of data.

I am running a query like:

Select A,B from table_name where A>=12345 AND A<=12390

 - Where A and B are my two of the properties under the mentioned table/class definition

- A is an integer property

 Question: The result of the above query does not return me all the values between the mentioned range of integer though I do have all the values in that range. I see that some of the values are missing in result.

Any reason why this query won't work?

Any ideas?

Thanks,
Aditi

9
0 534
Article Eduard Lebedyuk · Jan 9, 2017 3m read

In addition to its general security, Caché offers SQL security with a granularity of a single row. This is called row-level security. With row-level security, each row holds a list of authorized viewers, which can be either users or roles. By default access is determined at object modification Some time ago I became interested in determining row-level security at runtime. Here's how to implement it.

9
1 850
Question Jeffrey Semmens · Jun 15, 2017

I am trying to design a RESTful service that takes a string (with control characters). Does something with that in the logic on the server, then returns a string, which may also have control characters.

Basically the string is a pharmacy claim in a delimited format that uses control characters for those delimiters. The logic on the server will pull the entire claim apart and process it.

I was thinking that a GET method could be uses but I'm used to sending content in JSON format and wondered what other normal RESTful ways there were to do this.

4
0 870
Question Glenn van Bavel · Jun 15, 2017

Whenever I try to run a simple query on a production database table, I get a timeout 504 error. I'm using the SQL interface in Ensemble. One of the queries is a simple SELECT TOP 10. Even SELECT COUNT(*) gives a timeout. 

I have tried to run the SQL Runtime Statistics, but this gives me a timeout as well. 

Does anyone have an idea where I might look to find what is causing this? 

Thanks in advance, 

Best regards

Glenn van Bavel, 

3
0 1869
Question Lucas Scarduelli · Jun 14, 2017

Hi,

I only use Caché and CSP, I am making a simple request in CSP page with #call method, and I have to define a callback of this #call method, can I do this?

This is my simple request in CSP page (javascript):

            PainelBordoResource.prototype.obterIndicador = function(requisicaoParametros) {
                let retorno = #call(painelbordo.PainelBordoResource.obterIndicador(angular.toJson(requisicaoParametros)))#;
                return retorno;
            };
 

1
0 501