We've traditionally run a selection of development environments from a single cache instance using different namespaces for DEV TEST PREP etc. This has come with a few drawbacks, mainly that you then cant break down into namespaces per environment and everything is sharing various options.

Is there a massive overhead to running multiple cache instances from the same 'box' instead?

How best to share the memory setup in that situation, we usually pre-define around 80% for the instance, do we just share that evenly between the multi instance scenario?

0 8
0 220
Question
· May 27, 2021
ERROR#5002

User antiterrorism is assigned the following SQL procedure privileges:

ERROR #5002: Cache error: <UNDEFINED>SQLUserPrivsExecute+57^%SYS.SQLSEC ^oddPROC("ENSEMBLE_ENS","BAIYAOJIREQUEST_EXTENT",27)

SOURCE ELEMENT: %CSP.UI.Component.SQLTables (SQLProcs)

0 1
0 385

Afternoon all,

Is there a way (at SQL level) to script out the definition of a Cache stored procedure from within SQL?

In SQL Server, I would do...

Select * from INFORMATION_SCHEMA.ROUTINES where ROUTINE_NAME = 'my_sproc_name'

But cant find anyway to do this in cache.

Note, its an old version of Cache, so "INFORMATION_SCHEMA" is not available.

I am trying to see the SQL definition in the sproc from SQL itself.

Thanks all

0 4
0 183
Article
· Jul 8, 2020 7m read
Tips for debugging with %Status

Introduction

If you're solving complex problems in ObjectScript, you probably have a lot of code that works with %Status values. If you have interacted with persistent classes from an object perspective (%Save, %OpenId, etc.), you have almost certainly seen them. A %Status provides a wrapper around a localizable error message in InterSystems' platforms. An OK status ($$$OK) is just equal to 1, whereas a bad status ($$$ERROR(errorcode,arguments...)) is represented as a 0 followed by a space followed by a $ListBuild list with structured information about the error. $System.Status (see class reference) provides several handy APIs for working with %Status values; the class reference is helpful and I won't bother duplicating it here. There have been a few other useful articles/questions on the topic as well (see links at the end). My focus in this article will be on a few debugging tricks techniques rather than coding best practices (again, if you're looking for those, see links at the end).

15 7
11 1.8K

I have some code in a mac routine that use indentation and the "." character :

 IF condition1 DO
     .WRITE YCR,...
     .WRITE YCR,...
     .WRITE YCR,...

I would like to add a try / catch block between the write statements.
I can't refactor the whole code and use indentation with curly braces instead (there is too much code, not written by me)

I have tried the following but it does not work (it compiles, but code stop running right before the try keyword)

0 2
0 263

I have run into two annoyances when using VS Code for server-side editing of Objectscript and was wondering if anyone knows of any solutions or workarounds.

1. In .mac routine files, class names that aren't fully qualified (e.g. ##class(example) instead of ##class(Package.example)) fail to be understood, so the class will have a red squiggly underneath it and a problem that reads

"Class 'example' does not exist. InterSystems Language Server".

0 2
0 210

Hi Team,

I have a requirement to delete the Ensemble interfaces , as per User request. I would like to write a routine for that and once I execute, it should remove the interface components through code.
Could you please provide code samples for the following actions ?

  • Deleting an individual rule from a rule class
  • Deleting a class from Ensemble
  • Deleting a Host (Service/Operation/Process) from the Production.

Appreciate the help.

Thanks,

Purushothaman.T

1 6
0 306

At the heart of IRIS and Cache is a very interesting database architecture that we, at M/Gateway Developments, refer to as "Global Storage". If you ever wanted to know more about the fundamentals and capabilities of this underlying database, you might want to read a major analysis we've put together:

https://github.com/robtweed/global_storage

Amongst other things you'll discover that:

8 4
2 558
Question
· May 19, 2021
Error in file handling

When parsing a text file into a mumps routine I get this error

<FUNCT>Method+2^%CDCalBk

Any idea what can be causing this

Thanks in advance

0 2
0 199

Hello everyone,

I have a question, I am trying to use xecute command, but something wrong happen when i was using the command, and i don't know why hahahaha.

I created a file .mac with this code:

label(test) public{
       set routine="variable"
       set call="write routine,!"
       xecute call
       quit
}

But when i run the command, show me this message error:

<UNDEFINED>label+3^tstFJR3 *routine

After that i changed the code to:

0 4
0 210

Hello Community,

we read data from an Oracle database. The desired order is created by an 'order by' in the sql statement. The individual elements of the result set are converted into objects and inserted into a parent object using 'insert' on a property, which implements a one-to-many relationship with the result objects. Later, we iterate over the objects in a for loop and process the contents. At this point the order is apparently no longer identical to the order in which the elements were inserted.

0 5
0 296

I'm looking for a SQL function equivalent for SQL server STRING_SPLIT. I have records like this:

join_to_tx_history (key), ss_note_multi_dict_1_value (varchar)

64559.001 Assistant Principal, Case Worker, Client, Dad, Daughter, Mentor, Mom, Other, Principal, Psychiatrist, School Counselor, Teacher

and I like the field ss_note_multi_dict_1_value split to rows for each comma delimited value. So I can get this:

0 2
0 659
Question
· May 14, 2021
SSLConfig with ECC

Hello everyone,
I can choose between RSA and DSA. ECC seems to be unsupported.
Is there any workarounds without using external binary like curl?

Best regards
RY

0 5
0 350
Question
· May 14, 2021
Luhn Mod N in Cache?

Hi all

I'm trying to recreate this method below in Cache/IRIS.

https://en.wikipedia.org/wiki/Luhn_mod_N_algorithm ISO-7812-1 (LUHN-10)

I've been following the javascript example. It seems simple in theory but i'm struggling with which cache methods to pick.

$LENGTH, $System.SQL.FLOOR() - seem ok

$EXTRACT - I think for .charAt (though may need to correct base)

$FIND - for .indexOf

Any suggestion which would be the best ones for the job?

0 5
0 214
Question
· May 12, 2021
$preprocess failure

There is an undocumented command, $preprocess, that can be called as below. In this case it takes the class name and converts its code into a text array. That includes comments as well. Two questions about it if you know:

0 8
0 223

Hi-

I have a REST client that calls a REST service and as a response gets a stream containing a JSON structure. The service is placing some weird non-printable characters into some places in the JSON document that is throwing off parsing of a down-stream XML document.

What I would like to do is just remove the non-printable characters from the response stream that comes back from my call to the REST service.

Does anyone have a handy utility or method for removing all non-printable characters from a character stream?

0 10
0 2.3K
Question
· May 12, 2021
Cache sql query

Hi ,

I am trying to retrieve the contact type column data of a patient based on the recent date as shown below.

for instance

contacttype Datefrom

contact 1. 24/03/2020

contact 2. 20/05/2021

i need to retrieve the second contact2 based on the recent date.

i tried like below but not working .

Case max(datefrom) >0 then contacttype

End as contacttype

Can anyone please tell me why this is not working.Any other options?

Thanks

jude

0 3
0 268

Hi Team,

A month ago, we purchased the cache license for a 10user limitation. We are a 6developers and using 3different development (internal)servers for this same license. All Developers aren't login at the same time. We have a limitation for login 2developers at a time in a server. But sometimes, we are facing a <LICENSE LIMIT EXCEEDED> issue. We don't know why we are facing this one. So anyone please guide me, why we are getting this type of issue. I have attached the errored screenshot.

0 2
0 734

I need to show the absence of data, so I have to join the list of predefined values with a result of a select statement.
However, it seems like Table Value Constructors in JOIN are either not supported, or I do not understand the syntax.
Basically, I am going for something like this:

Select v.valueId, m.name 
 From (values (1), (2), (3), (4), (5)) v(valueId)
     left Join otherTable m
        on m.id = v.valueId

Is it supported in Cache SQL or not?

0 6
0 171