hi
I want to create one class and add one method in it, and then invoke it from terminal. I find this
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…
But there is only examples for adding property.
Anyone can help me? Thanks
InterSystems Caché is a multi-model DBMS and application server. See more details here.
hi
I want to create one class and add one method in it, and then invoke it from terminal. I find this
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…
But there is only examples for adding property.
Anyone can help me? Thanks
You might find it useful or not. It depends on what you can imagine it to be used with, like I had to.
Either way, I created a lib that can fetch environment variables from a file or from the OS where Caché is running.
Mostly know as dotenv. Many languages have it, so why not Caché?
The usage is pretty simple:
If you want to use OS env vars exclusively, just use the method:
##class(DotEnv.Parser).FromOS()
Otherwise, if you want to specify a .env file containing your variables to complement the OS ones use the method:
##class(DotEnv.Parser).FromPath("/path/to/file")Both methods return an
Greetings,
I am working on the first of many triggers which will have identical code upon row insertion or update of a single column. According to the document I should be able to define a multiple-event trigger using Cache SQL/DDL.
Here is a link to the current CREATE TRIGGER documentation. Within the description section is the following paragraph:
A single-event trigger is triggered by a specified INSERT, DELETE, or UPDATE operation.A multiple-event trigger is defined to execute when any one of the specified events occurs on the specified table.
Hi, folks!
I need to get the source code of a class installed on a remote server. I have no Studio or Atelier access to it but I can manage REST and Web terminal access.
What is the easiest way for me to make it?
Beginning - see Part 1.
A structure, such as an ordered tree, has various special cases. Let's take a look at those that have practical value for working with globals.
Quotes (1NF/2NF/3NF)ru:
Every row-and-column intersection contains exactly one value from the applicable domain (and nothing else). The same value can be atomic or non-atomic depending on the purpose of this value. For example, “4286” can be
- atomic, if its denotes “a credit card’s PIN code” (if it’s broken down or reshuffled, it is of no use any longer)
- non-atomic, if it’s just a “sequence of numbers” (the value still makes sense if broken down into several parts or reshuffled)
This article explores the standard methods of increasing the performance of SQL queries involving the following types of fields: string, date, simple list (in the $LB format), "list of <...>" and "array of <...>".
Hello,
I'm currently exploring alternatives to CSP/services and ODBC/Sql Maps for access to Caché. I'm not seeing a library which would interest me, so am considering creating one myself.
Does 'CacheConnection' in C# use RPC of some sort, or a defined protocol to communicate with Caché, or does it do so over telnet with scripted commands? I would assume the former. If so, is this a publicly documented protocol that can be implemented by library developers?
Any guidance in this area would be appreciated.
hi
I restored one database on Server B with EXTSELCT^DBREST command from backup file (this backup file is taken from Server A).
When I execute select some rows from one table, it return error like this,

the same select sql can return correct data in server A
But when I select other rows from same table on Server B, it return correct data.
Why? maybe the backup file corrupted?
Thanks
I have a stored procedure like below:
Call USER.SP('select * from Sample.Person where SSN='aaaaa'','0','S')How could I escape the single quotes for aaaaa? I try double single quotes but in vain.
Thanks you.
"SELECT %SYSTEM.SQL_TableExists('table name') "could work as expected under SQL shell,
but for "CALL %SYSTEM.SQL_TableExists('table name')" does not work (not any error reported, it just show nothing).
Is there any reason why CALL could not be applied to a stored procedure?
Thanks.
hi
I execute sql from Terminal
SET result=$SYSTEM.SQL.Execute("SELECT TOP 5 name,dob,ssn FROM Sample.Person")
but I got error "<METHOD DOES NOT EXIST> *Execute,%SYSTEM.SQL"
Why?
Thanks
Hello. I am a student from Syktyvakar Forest Institute(Russia).
I need to make Research : "Databases for working with spatial data
Consider MySQL, PostgreSQL and 1 to choose from". I want to explore Cache with subject library of spatial data.
Help.
Does Someone from the developers write the libraries of spatial data?
Caché offers a number of methods for going through a collection and doing something with its elements. The easiest method uses a while-loop and lets you fulfill the task in an imperative manner. The developer needs to take care of the iterator, jumping to the next element and checking if the loop is within the collection.
But is it really what a developer should be concerned with?!A developer should be working on solving the problem at hand – quickly and producing code of the highest quality.
Good day, I have this issue. I have global like: ^myglobal(varX) = $LB(var1,var2). I need to delete all globals that have variable var1 in that list same without a need to iterate through all globals and checking their value.
Exact example:
- in database exist following:
^myglobal("Marek") = $LB("code2",1400)
^myglobal("Ondrej") = $LB("code1",12)
^myglobal("Nikita") = $LB("code2",32)
^myglobal("Evgeny") = $LB("code1",76)
^myglobal("Maks") = $LB("code2",99)
^myglobal("Eduard") = $LB("code1",14)
Now!How to delete all globals that have in list in the first place value "code2" please?
Good day, I would like to find out the size of Caché ObjectScript variable in order to guarantee that my program will not leak, equally in terminal and Caché globals. For example how huge number I can store in that variable ? And what happen in Caché when variable will leak ? How is this behavior treated? (how much memory is reserved for common variable?)
Thanks in advance for your answers.
How do we generally create an error object of %Status?
Set status=$SYSTEM.Status.Error($$$GeneralError,"Something went wrong")
Now, like $$$GeneralError there are many more macro defined within %occErrors include file by Intersystem which we can use.
i.e.
#define GeneralError 5001
#define CacheError 5002
#define NotImplemented 5003
#define FeatureNotSupported 5014
#define DataMissing 5022
#define FileCanNotCopy 5024
#define FileAlreadyExists
In my cache studio i couldn't find the a namespace of iknow so how can i check is my studio version is compatible to to the one i am using now. If i don't have one then can be able to create a new namespace in studio?
Hi Every Body
I'm studying AngularJS now ( looking for a substitute for my zen-mojo application ) , I would like to understand how can I connect from the client (AngularJS) with the server , passing data & invoking methods server side.
Hi.
It is easy to receive JSON representation or dynamic Array from %ListOfDataTypes:
set l=##class(%ListOfDataTypes).%New()
do l.Insert("a")
do l.Insert("b")
do l.Insert("c")
set arrStr=l.$toJSON()
zwrite arrStr
set arr=l.$compose([])
zwrite arr
How to make backward conversion? How to receive %ListOfDataTypes from dynamic Array an JSON string?
I've tried
SAMPLES>set list = ##class(%ListOfDataTypes).$fromJSON("[""a"",""b"",""c""]")
%FromObject+21^%Library.RegisteredObject.1 *%Exception.General Compose Compose %FromObject Unable to map from %Library.Array instance to Hello...
I need to convert a array (JSON) in a List Of String. I think, there is some method that does it directly.
Something like that:
SAMPLES>set list = ##class(%ListOfDataTypes).$fromJSON("[""a"",""b"",""c""]")
%FromObject+21^%Library.RegisteredObject.1 *%Exception.General Compose Compose %FromObject Unable to map frm %Library.Array instance to %Library.ListOfDataTypesI have reading about this but I don't found some trick to help me.
https://community.intersystems.com/post/how-convert-json-listofdatatypes
Thanks!!
Sometimes, it comes in very handy (especially for the EAV model) to use array properties in a class and be able to qickly search by their elements: both the key and the value.
Let’s take a look at a simple example:
Hi everyone!
We have many severs (DEV, QA and LIVE) besides many other slave servers (about 133) that are running Caché instances. Before writing this utility myself, I would like to know if anyone has done it before. We need to change the SuperUser password and do other credential setups like this on all of these servers and we don't want to do it one by one.
A few customers have seen this happen, so I thought it would be worth mentioning here on the Developer Community. This could affect users running versions between 2014.1.3 and latest who install or upgrade Wireshark. There is a bug in the Visual C++ 2013 redistributable shipped with the current Wireshark 2.2.1.
This is from Microsoft’s bug report https://support.microsoft.com/en-us/kb/3138367 :
“When you install an updated redistributable package, binaries for non-target architectures are removed.
I would like to start a discussion regarding Caché Objects and Caché SQL.
It is my understanding that the creators of Caché Objects see Caché SQL as the reporting arm of Objects and as such SQL is essential to Caché Objects.
I once met a Caché Objects programmer who was writing code to $Order through the Globals because that person thought that Caché SQL was too slow and inefficient. I attempted to convince the person otherwise.
So, what say you? Is SQL essential to Caché Objects?
Or
Is Caché SQL a nice to have but we can do without? Is it too slow? Is it too inefficient?
I really would like to
FYI, on the Field Test page, the links highlighted below are currently broken:

UPDATE: this is now working again.
Can we use iknow in the Cache tool means if i don't have deepsee tool to work on like for doing some sample programs. Because i don't have deepsee tool with me?
And is there any open source for downloading deepsee?
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.
Hi,
I would like to retrieve the O.S version (Windows or Unix) and Cache installed directory.
which COS apis should I use ?
Thanks for your help.
I would like to invoke some unix/windows commands from COS, any API could do that?
Also, I would like to set up some Environment Variables for this process which would execute the above external command.
Anyway to achieve that?
Thanks for your help.
This post is originally posted on GitHub.
This discussion is open to anyone who use or know about WebTerminal project. It is a result of a long story of the project development, testing and maintaining.
While WebTerminal greatly improves user experience by enhancing standard terminal with additional features, there are numerous issues (#77, #92, #81, #87 and others) showing that it performs not as expected in some cases, and does not support some very basic things (like $ZA/$ZB variables). The reason is in fact that WebTerminal project tries to reimplement Caché TERM behavior over Caché