#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Article Sean Connelly · Aug 21, 2017 3m read

If you want to dynamically serve images as a property of JSON then there is no perfect encoding solution. One method used frequently is to Base64 encode the image. Whilst there are some negatives to doing this, such as data inflation, there are some positives to working with Base64 images inside the browser.

Let's say you have an image placeholder on a web page...

<div id="image-container"><div>


And you fetch a JSON message from the Caché server containing the image as one of its properties...

var msg = JSON.
4
1 1935
Question Alex Goncharov · Nov 6, 2017

Hello, evrybody, I'm writing one project using CSP("OnPreHTTP"), and also REST angular. At the beginning I wrote purely on csp, then I decided to use angular for the flexibility of the client part. Now I can not design logging, I created a table App.

3
0 695
Question Victor Tamotsu · Nov 5, 2017

I work in a small development company that uses Caché as a database. In some support cases I have doubts about whether the client's infrastructure environment is not affecting Caché's response time. Reading a bit about comparing installations in different environments, both in production as testing and homologation environments , I understood that the TPC-E is a benchmarking method accepted in the market.
I'm reading the specifications of the TPC-E and I wonder if anyone has implemented or seen something similar in Caché.

4
0 460
Question Laura Cavanaugh · Nov 3, 2017

Hello; We are managing several Ensemble instances on several servers.  One server has 4 instances, and two other servers have one instance each (those are production servers).  We encrypt all instances using the Caché encryption in the management portal.

Currently we are using two different encryption keys: 1 key on the server with 4 instances, which is used for all 4 instances, and a second key on single-instance server. ( I'm installing the newest production server now.)

What I'd like to know is what are the best practices for managing encryption keys for separate servers.

1
0 784
Question CJ H · Nov 5, 2017

I get two methods below: I would run both methods concurrently.

However, the "testRead" would always read the uncommitted results from "testInsert".

Anyway to avoid that? Thanks.

ClassMethod testInsert()
{
  &sql(START TRANSACTION ISOLATION LEVEL READ COMMITTED, READ WRITE)
  &sql(insert into Test.Table(AttrA,AttrB,AttrC,AttrD) values(1,2,3,4))
  hang 15
  &sql(ROLLBACK)
}

ClassMethod testRead()
{
  &sql(START TRANSACTION ISOLATION LEVEL READ COMMITTED)
  &sql(select count(*) into :ans from Test.Table)
  &sql(COMMIT)
  w !,ans
}
5
0 780
Question Gerry Connolly · Oct 31, 2017

Is it possible to make the cache terminal available over a mirrored vip address for a healthshare mirrored environment? So that connecting to a terminal for a mirrored environment will always connect to the Live Node?

I'm looking to write a Powershell script to run against the system and need to connect to the Live Node in a mirrored setup. Is this possible or am I going to have to log onto each node to establish which is Live.  Or does this even matter?

4
0 576
Article Danny Wijnschenk · Nov 3, 2017 4m read

This is a series of programming challenges for beginners and experienced Caché programmers.

For an introduction : goto to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t… or look at the http://adventofcode.com/ website.

In today's challenge, you have to find out how many 'valid' triangles you find on the walls of the Easter Bunny HQ.
(you can find the input on the adventofcode website : http://adventofcode.

3
0 716
Article Danny Wijnschenk · Nov 2, 2017 4m read

Advent of Code is a series of programming challenges for beginners and experienced Caché programmers.

For an introduction : look  at article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…

In this challenge, you need to find a password using instructions to move on a keypad.
Instructions can be U(p), D(own), L(eft) and R(ight).

You start at button 5 on a keypad like

1 2 3
4 5 6
7 8 9

each line of instructions lead to one digit of the password.
Full description can be found at http://adventofcode.

0
0 429
Question Soufiane Amroun · Oct 30, 2017

Hi Team

i want to implement  an Oauth 2.0 framework in my application , i define my  connexion IHM, i want to check if the login and password are right when a user connect

do you've any idea ?

thank's

2
0 617
Article Brendan Bannon · Nov 29, 2016 7m read

The Art of Mapping Globals to Classes (3 of 3)

If you are looking to breathe new life into an old MUMPS application follow these steps to map your globals to classes and expose all that beautiful data to Objects and SQL.

If the above does not sound familiar to you please start at the beginning with the following:

The Art of Mapping Globals 1

The Art of Mapping Globals 2

This example is going to show you how to map a classic parent-child structure.

9
0 2051
Question Jason Ip · Sep 20, 2016

So just this morning we started to get this error from all of our SQL-client based tools that connect to our Caché SQL via ODBC: 

[%msg: <Error instantiating cached query class in Prepare(): <METHOD DOES NOT EXIST>Prepare+41^%SYS.SQLSRV *%New,%sqlcq>] (State:S1000, Native Code: 190)]

No queries work... any help? stumped over here.

doing a SQL query via Class %SQL.Statement

##class(%SQL.Statement

in Caché command line works... so that's why I think it's an ODBC issue..

6
0 1308
Question Nadirbek Nurlybekov · Nov 1, 2017

Greetings to all! Faced with such a problem, I ask for help, someone with great practical skills I think has already implemented this. The task was not to delete any objects from the database, but somehow mark this data deleted by client, because of this, I added Property Deleted As% Boolean [InitialExpression = 0];in the class. And in the redefined method %OnDelete:

ClassMethod %OnDelete(oid As %ObjectIdentity) As %Status [ Private, ServerOnly = 1 ]
{
        s person = .%Open(oid)
        s person.
3
0 897
Article Danny Wijnschenk · Nov 1, 2017 8m read

Advent of Code is a series of 25 small programming challenges, it's an ideal way for beginners to start learning a computer language, and for advanced people to sharpen their programming skills.

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

Advent of Code is created by Eric Wastl, you can find all info on https://adventofcode.com/.

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

0
1 1451
Question Pravin Barton · Oct 30, 2017

I want to limit the length of the value of a textarea in Zen. In HTML the textarea element has a 'maxlength' attribute, but the Zen component doesn't have an equivalent property. Is there any way to add a maximum length in Zen short of creating my own custom component?

3
0 826
Question Sergio Martinez · Oct 16, 2017

Hi,

I know you're doing a big effort to build a new IDE in Eclipse ecosystem but Visual Studio Code is a new an even better and faster tool for coding... did you have any plans to release any COS extension for it in the near future? There you can already find extensions for all current more common progrmaming languages and it would be great to have COS as one of them.

Thanks

5
0 1555
Question Alexey Maslov · Oct 17, 2017

This small function is of great need sometimes. My solution is straightforward:


dupquote(str) ; duplicate quotes in str
    quit $replace(str,$char(34),$char(34,34))

I'm just curious whether other solutions exist. Is there some "standard" and/or quicker approach which I've just overlooked?

6
0 1254
Question Eduard Lebedyuk · Oct 26, 2017

I have a classname and a property name. I want to know, when I get object value directly from a global, which property corresponds to which position in the $lb structure.

Here's what I got so far:

Class Utils.Storage {

/// write ##class(Utils.Storage).GetPosition()
ClassMethod GetPosition(class As %Dictionary.CacheClassname = "Sample.Address", property As %Dictionary.CacheIdentifier = "Zip") As %Integer
{
    set strategy = $$$comClassKeyGet(class, $$$cCLASSstoragestrategy)    
    set strategyId  = class _ "||" _ strategy
    &sql(SELECT Name INTO :position
         FROM %Dictionary.
6
0 704
Question p rd · Oct 25, 2017

I defined the variables in Cache, as follows:

Property Content As% Stream.GlobalCharacter [Required, SqlColumnNumber = 3, SqlFieldName = B_Content];

And then use the SQL statement to add:

insert into table_name (B_Content) values ('very long string');

But the error:

 org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: No serializer found for class com.intersys.jdbc.CacheInputStream and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com .sxxxx.jdbc.datastore.

3
0 688
Article David E Nelson · Mar 9, 2017 9m read

Apache Spark has rapidly become one of the most exciting technologies for big data analytics and machine learning. Spark is a general data processing engine created for use in clustered computing environments. Its heart is the Resilient Distributed Dataset (RDD) which represents a distributed, fault tolerant, collection of data that can be operated on in parallel across the nodes of a cluster. Spark is implemented using a combination of Java and Scala and so comes as a library that can run on any JVM.

5
1 2858
Question Nadirbek Nurlybekov · Oct 26, 2017

Greetings to all!!! How to get the value of the Content-Type field from the object of the class %Stream.Object obtained with:

stream=% request.GetMimeData (FormDataName, 1) 

I tried:

write stream.GetAttribute("Content-Type")

write %request.Get("Content-Type")

but always returns a void, although it should be "image/jpeg", "application/pdf" or something like that.
In JS:

    var formData = new FormData();
    formData.append('file', element[0].files[0]);
    console.log(element[0].files[0].type);

The console of browser displays "image / jpeg", "application / pdf",  etc.

2
0 533
Question Nadirbek Nurlybekov · Oct 26, 2017

Greetings to all!!! Suppose there is a table Mother (ID, Name) and Child (ID, Name, Mother), Mother in the table Childis a relationship. Let's say the task is to deduce the names of all the children whose their moms' names start with the letter 'A', I can do this in two ways in sql, and I can not understand the difference, the pros and cons that when to use:

1) SELECT Child.Name FROM Mother INNER JOIN Child ON Mother.ID = Child.Mother WHERE Mother.Name LIKE 'A%'
2) SELECT Child.Name FROM Child WHERE Child.Mother->Name LIKE 'A%'

1
0 515
Question Nic Lorenzen · Oct 20, 2017

Hi all, 

Is there a way to setup a classmethod or routine to execute immediately after cache is started?

I wrote a batch file that does execute the cache start, but I'm getting an Access Denied error on the cession command despite running as Administrator:

ccontrol start HEALTHSHARE1
csession HEALTHSHARE1 -U %SYS "##class(SomeClass).SomeMethod()"

Thanks for the help/suggestions

6
0 899