#Caché

30 Followers · 4.5K Posts

  

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

Documentation.

Article Eduard Lebedyuk · Dec 19, 2016 3m read

If you have a lot of SQL queries to external systems (or even internal dynamic ones), you can encounter something like this:

Set SQL =    "SELECT "_
                "c.cid                        AS Id,"_
                "c.nid                        AS Nid, "_
                "FROM_UNIXTIME(c.created)     AS Created,"_
                "c.uid                        AS Uid,"_
                "IFNULL(vv.average,0)         AS AvgVote,"_
                "IFNULL(vv.amount,0)          AS VotesAmount,"_
                "body.
2
0 1599
Article Jonathan Levinson · Dec 19, 2016 1m read

To install the Python binding on Windows one must follow the instructions in the following: 

https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to…

The reason is that ActiveState Python version 2.7.X is built with Visual Studio 2008 and Microsoft provides Visual Studio 2008, which one must install, so that Python C extensions can be built. 

Also, if one still sees the "error "error: Unable to find vcvarsall.bat" message at the Visual Studio 2008 command prompt, then one needs to do the following: 

pip install --upgrade​ setuptools
0
0 1317
Question Evgeny Shvarov · Dec 18, 2016

Hi, community!

Consider you need to exclude substring(s) from a string.

I did it with the following snippet:

/// excludes all the substrings from the string
ClassMethod ExcludeSubstring(substr,str as %String) As %String

{

 while ($L(str,substr)>1) {

 set str=$Piece(str,substr)_$Piece(str,substr,2,*)

            }

 quit str

}

So, for example:

USER> set str=”ExcludemeGoodstringExcludemeExcludemeGoodstring” w ##class(User.Utils).ExcludeSubstring(“Excludeme”,str)

GoodstringGoodstring

Is this the optimal approach or I reinvented the wheel?

2
0 499
Article Michael Denhamson · Dec 16, 2016 2m read

I have posted to aid others in diagnosing problem with SSL/TLS connections to superserver port from .NET client executable.

The cache instance this appeared on is quite old - 2011 - so I do not know if Intersystems have added a better error message in a later version

The actual fault was due to the certificate in the %SuperServer SSL/TLS configuration having expired.

The unhelpful message that appeared in the .NET client included the following partial stack trace.

   *** CacheException.
0
0 1288
Article Rob Tweed · May 12, 2016 6m read

Those of you who keep an eye on developments in the mainstream of IT will be aware that a major upheaval has been occurring over the last 5 or so years, in which JavaScript has exploded in popularity and importance.  Largely as a result of its server-side incarnation - Node.js - it has broken free of just being the scripting language that you use in web browser, to becoming the world's most popular language and enterprise technology of choice.

As soon as I started playing about with Node.

11
0 1886
Question Eduard Lebedyuk · Dec 14, 2016

I have a server with public web application with Unauthenticated access and there seems to  be a problem that CSP session ends, but associated license persists for some time (hours). If several users log in, we can hit license limit and all the other users get 503 Service unavailable error.

We are currently debugging it and moving to authenticated web applications,  but is there a way to free these licenses quickly?

Here's how it looks like in SMP:

 

1
0 770
Announcement Bill McCormick · Aug 25, 2016

This announcement is to inform clients about changes in our 2016.2 and 2016.3 field test programs.  

The 2016.2 field test has been extended in order to address important syntax changes related to JSON. Simply stated, the JSON syntax introduced in 2016.1 had several inconsistencies that we did not want to perpetuate.   This is now addressed and the updated 2016.2 field test will be published today.  Concurrently, the syntax changes and guidance for developers will be posted on the Developer Community shortly. JSON is critically important to our Caché roadmap.

11
0 1503
Question Peter Steiwer · Dec 12, 2016

Is there a better way to iterate through all properties of an object than the following? Perhaps without needing to open a definition of the class but directly against the object?


SAMPLES>set t=##class(HoleFoods.Transaction).%OpenId(1)                          
SAMPLES>set def=##class(%Dictionary.ClassDefinition).%OpenId("HoleFoods.Transaction")
SAMPLES>for i=1:1:def.Properties.Count() {  w def.Properties.GetAt(i).Name_":"_$property(t,def.Properties.GetAt(i).Name),!  }
Actual:0
AmountOfSale:4.
6
1 3551
Question Peter Steiwer · Dec 8, 2016

I see that there is an "Insert Special Character" option from the text editor where "é" can be selected, but would it be possible to create a "Caché" button that inserts the word "Caché"? I can see cases where mixing these words can be confusing. An even more important reason would be searching. If the word "Cache" is used instead of "Caché" in many places, it may be difficult to find information about the "Cache".


If a "Caché" button existed, it may encourage the correct spelling to be used. I am not sure if this is a real problem, but I see the possibility of it happening.

2
0 722
Question Josh Tennefoss · Dec 9, 2016

Is there any way that I can check the native type of an object script variable? (similar to the typeof check in javascript)

I see that the DynamicArray class uses the type of the variable for its output, I would like to do something similar when I receive a value as an argument to my method.

USER>s var1 = 123  //No quotes, number type
 
USER>s var2 = "123" //quotes, string type
 

//DynamicArray can tell the difference
USER>s arr = []
 
USER>d arr.%Push(var1)
 
USER>d arr.%Push(var2)
 
USER>w arr.%ToJSON()
[123,"123"] //first value is output without quotes, second value is quoted

3
0 715
Question sansa stark · Dec 8, 2016

Hi all,

         While i connet telnet for particular user it call (%sys namepace  ^Test routine).

        In that rotine i switch namespace but the termial was closed(sessio disconnected).

       How i can acces the user namespace afer switching namespace ?

Thanks,

sansa.

2
0 654
Question Shawn O'Connor · Dec 2, 2016

Hello All,

   we have recently upgraded our network humming along 10gb across the board and we're curious as to how or if it is ok to backup cache over smb or to another network drive of that sort. instead of writing directly to local disk. (vmware environment)

4
0 555
Question Josh Tennefoss · Dec 9, 2016

How can I prevent large number truncation when using the DynamicObject and DynamicArray classes to create JSON in objectscript and then parsing the result in javascript. Are there any global settings that configure the output when using these classes?

I am looking at converting to the new DynamicObject and DynamicArray classes to build JSON. Our current (homegrown) JSON library forces string representation of numbers too long because of errors we were seeing with long numbers being truncated on the client, I am hoping to accomplish the same with the new classes.

2
0 1391
Article Murray Oldfield · Oct 1, 2016 10m read

One of the great availability and scaling features of Caché is Enterprise Cache Protocol (ECP). With consideration during application development distributed processing using ECP allows a scale out architecture for Caché applications. Application processing can scale to very high rates from a single application server to the processing power of up to 255 application servers with no application changes.

ECP was used widely for many years in TrakCare deployments I was involved in. A decade ago a 'big' x86 server from one of the major vendors might only have a total of eight cores.

6
2 3581
Question Thomas Chericka · Dec 8, 2016

Hi,

Thanks for your time.

Plain $ZF(-1) and $ZF(-2) calls from Cache Studio or Terminal have stopped launching the OS shell from Win10.

cmd (Windows Command Prompt) should be launched.

Configuration:

Windows 10 Anniversary Update, Ensemble 2016.2.0.585.0 Developer Edition x64

Is this common? I have enabled both %Developer role and a Cache CallOut privilege for all users that operate in this scenario.

In Terminal, W $ZF(-1) prints -1, W $ZF(-2) prints -1

In Studio, W $ZF(-1) hangs the IDE, W $ZF(-2) prints 0

In all four cases, cmd (Windows Command Prompt) is not launched!

Any ideas, anybody?

2
0 1414
Article Istvan Hahn · Dec 7, 2016 3m read

As web application gets more complex, more technologies are involved into the application development. Once it gets deployed in large scale the configuration gets more complex too. For sure one of the most difficult part of the story is the security. In a complex solution when independent servers are feeding single web pages with contents, it is indeed challenging to keep the integrity of such system. HTML5 introduced a (weak) security constraint, the Cross Origin Resource Sharing (CORS). This article tells how to enable CORS for CSP/ ZEN applications.

2
0 1642
InterSystems Official Andreas Dieckow · Dec 7, 2016

Beginning with the next release after 2017.1, InterSystems products will no longer be offered on macOS (OS X) as a Server platform. This platform has been re-classified and will be available as a Development platform in future releases.

Products: Caché, Ensemble
 
Expected Availability: next major release after 2017.1
0
0 500
Question Manoj Jayaraj · Dec 5, 2016

Hello folks,

      We have recently upgraded the cache (5.x) to cache 2016. All are working perfectly. But i am struggling in Telnet.

Working Good,

      when i connect to telnet it automatically gets the username(for example when we give the system ip addr(148.168.2.50), the ip address is taken as username) and directly goto the Password field in Telnet on old cache (5.x).

Now my problem is,

      I can't get the same from my new upgrade instance 2016. When i connect to telnet  it directly goes to username field but not to password field.

What is the problem ?

5
0 589
Question sansa stark · Dec 7, 2016

Hi all,

         Which routine use to get username and password (telnet) ?

cache version :Cache for Windows NT (Intel) 5.0.21 (Build 6408) Tue Jan 3 2006 13:28:20 EST

Thanks,

sansa.

1
0 408
Question Laura Cavanaugh · Dec 6, 2016

Hello.  When you export and then import a table of data, is the import smart enough to figure out if a row already exists in the new namespace, and if so update the row rather than just save/add the row?

For example, we have a table in DEV, and the same table in QA.  The DEV table has more fields than QA.  When we moved up the class, the field definitions went with the table into QA, so now the table definition is the same in both.

We need to export the data from DEV and import it into QA, but file each row in QA as an existing row, and just update its data.

2
0 607
Question William Proctor · Dec 5, 2016

All replies are appreciated.  We have put our first client into our production cache database and we are looking at what kind of regular maintenance is needed.  We were questioning whether we should defrag the database files using windows defrag program and whether we need to run the defrag for Globals regularly?  Should we be doing these routinely , occasionally or not at all?

1
0 765
Question Mack Altman · Dec 2, 2016

We don't often use SQL within our org, which is mostly due to the performance issue we experience due to the quantity of data we are reviewing.

Aside from the standard performance measures for non-Caché databases, are there any recommended approaches when querying large tables?

The table would have roughly 50M records, but there are not a finite amount of sub-nodes.

7
0 1095
Question sansa stark · Dec 5, 2016

Hi all,

         How to set username while take telnet from particular ip in cache 16?

Thanks,

Sansa.

2
0 519
Article Mark Bolinsky · Dec 5, 2016 26m read

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.

0
3 8593
Question Sebastian Thiele · Dec 2, 2016

Hi all,

I am looking for an implementation idea for displaying a large amount of data received from a webservice. This data are essentialy HL7-Message as a GlobalCharacter Stream and some metadata (status,processed,timecreated etc.).

Since I need sorting functionalities for those metadata a tablepane in a zen page seems to be suitable. i know there are different ways to provide data for the table but in this case it´s complicated to get them data fetched.

Consider the following steps

1. Get the data from webservice
2.

1
0 418
Question John Hotalen · Nov 30, 2016

Hello Fellow Caché Developers,

The purpose of this post is to ask for everyone's thoughts and input around the use of transient, SQLCalculated/Computed properties within persistent classes.

This approach allows for extra data values needed in SQL queries to be available without having to join to other tables.

Very simple/basic example to illustrate the topic:

Let's say I have a persistent class named ICDAutoCodeDefn to hold ICD Auto-Coding definitions, such as:

Class ApplicationName.DB.MedicalCoding.

4
0 957
Question Scott Beeson · Feb 12, 2016

 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'

The content of the actual field is XML, but the query simply returns a number.

10
0 4936
Question Jiri Svoboda · Nov 29, 2016

I have a class which defines a property as array of %String. Is it possible to index values of this property and use this property in SQL?

I have tried 'Index idx On prop(ELEMENTS)' and then a select from the generated collection table, but this is still orders of magnitude slower than queries to the containing class.

2
0 596