Introduction
InterSystems Caché is a multi-model DBMS and application server. See more details here.
InterSystems Caché is a multi-model DBMS and application server. See more details here.
Introduction
I've been using iFind indices in one of my applications but this morning discovered that the index is missing data. I confirmed the issue also exists in our test environment and rebuilt the indices there. That seems to have fixed the immediate problem. However I'd like to understand how this came about to avoid it happening in the future.
Has anyone encountered this before and know the cause?
I followed the Documentation instructions to install Caché on my Linux box and it seems to be running fine except when I try to modify the configuration. I keep getting errors that a previous cache.cpf file (e.g., cache.cpf_8503) cannot be opened. Is my Linux "user who owns instance" account deficient in Linux permissions?
Hello community!
Heretofore is announced a new project which aims at providing a usable library for both running unit tests and collecting code coverage information at the same time:
https://github.com/litesolutions/cache-utcov
I shamelessly admit that this is my first project written in ObjectScript; the only source file right now barely loads a %Studio.Project instance on a given namespace and fails ungracefully on failure (it HALTs; meh); and even on success it will not even list the items correctly... Well, that's part of the learning curve.
I have a Cache classes with %TimeStamp (e.g. 2016-04-18 12:29:11) and %Date (eg. 64027) properties. And I have a javascript client app, which needs full CRUD over this properties.
But in javascript date/time are defined by ISO8601 (e.g. timestamp 2016-04-18T12:29:11Z, date 2016-04-18).
Recently I have been working on a performance issue reporting about that Sets or Kills in the same global performed by multiple processes in a very focused time period can sometimes take a long time (several seconds) to complete. I feel this is an interesting case study to understand about some performance tunings of Caché.
Case background:
Does Caché support SQL CREATE SEQUENCE as in PostgreSQL?
If not, what would be the best alternative? Create my own sequence logic as the example bellow?
Class Util.MySequence Extends %Persistent [ ClassType = persistent, ProcedureBlock ]
{
Property dummy As %String;
Property myvalue As %Integer [ Calculated, SqlComputeCode = { Set
{myvalue}=##class(Util.MySequence).CurrentValue()}, SqlComputed ];
ClassMethod CurrentValue() As %Integer
{
s x=$I(^MySequence)
Quit x
}
Method myvalueGet() As %Integer [ CodeMode = expression ]
{
..CurrentValue()
}
}
Thanks.
Greetings.
I'm currently struggling with launching a routine from the command prompt using ccontrol.
Basically I have a routine with a parameter which works fine using the following:
ccontrol cterminal ^ANDYTST(\"c:\temp\\\") USER
MessagePack is a binary-based efficient object serialization library. It enables to exchange structured objects between many languages like JSON. But unlike JSON, it is very fast and small.
Any chance of adding support for MessagePack?
Hello,
For CachéQuality I'd love to be able to create issues when the programmer uses classes which are deprecated for this or that version of Caché... But short of reading all the changelogs of all versions, I can't really tell when a command appeared (for instance RETURN; I know now that it appeared in 2014.x, but it took me some time to realize that), or when a (set of) class(es) became deprecated (for instance %GlobalCharacterStream to be replaced with %Stream.GlobalCharacter -- I don't even know since which version this is true :/).
Is there an existing source which I am missing?
Hello,
I hereby announce the creation of an IRC channel dedicated to Caché development:
* network: FreeNode (connect to server: irc.freenode.net)
* channel: ##cos (yes, two hashes).
Topic is anything related to Caché development in spite of the name (and the fact that of Caché development I only really know about COS anyway), so sorry in advance for the restrictive channel name :)
Waiting for you here! (my nick is idletask on freenode)
I am happy to share the news that Zen Mojo 1.1.1 has been released. This release includes many improvements and bugfixes, the most important are:
During a fine breakfast at Global Summit 2016 I was asked about the %DEFAULTDB database that now appears when creating the %ALL namespace. Until the documentation on "Mapping a Package Across Multiple Namespaces" is updated to include the use of subscript level mapping for all namespaces here is a brief explanation for this change in 2016.1: When creating a global subscript level mapping in the %ALL namespace the database that was used for the non-subscripted global could not be set to be the default database for each namespace. This behavior prevents using %ALL namespace to help manage
Hello everyone,
I have discussed extensively with Andrew Cheshire, the author of the Atelier parser (which I'll be able to hack on and reuse for CachéQuality -- yay!), and while we were at it, we also discussed code coverage.
We ended up talking about the ZBREAK command and its /TRACE option.
It appears that combining this command and the unit test runner, we can indeed do code coverage (Andrew also told me about a way to map "back" routine lines to original lines in the source code).
I interested on how others feel on this subject. In general terms when you have a class that extends from %XML.Adaptor and you call XMLExport no validation is automatically done as part of the XMLExport process. As an example if you do the following
SAMPLES>S tPatient=##Class(Sample.Person).%New()
SAMPLES>Set tPatient.Name="asdfghjklqwrrrrokkfkljbvkfbjflkbjflkbjblkjblkjdblkjblkcn l nn klkjdfkbjdlkbjlkbj"
SAMPLES>w tPatient.XMLExport(,",indent")
<Person>
<Name>asdfghjklqwrrrrokkfkljbvkfbjflkbjflkbjblkjblkjdblkjblkcn l nn klkjdfkbjdlkbjlkbj</Name>
</Person>
Hello community!
Two new rules have been implemented:
This rule detects when the body of a method contains two or more of the following statements:
set $namespace = something, orznspace something.If this is the case, it then checks whether there is a new $namespace prior to those two declarations; if not, it raises a warning.
List of issues currently found here:
Hello!
Link: https://demo.cachequality.com
In this presentation, developer oriented, we will cover this tool, how it works, how you can use it/administer it, etc. Duration 30 minutes.
The topics will include:
Questions will be more than welcome! Hope to see you there!
And a big thanks to Evgeny Shvarov who made this possible!
Does anyone know any sites who configure an async reporting member to connect to two different failover mirroring sets ?
I know this is supported, but I would like to know how it is working in real world systems.
Any information would be appreciated.
Here's my code (download):
Class Utils.Generators [ Abstract ]
{
ClassMethod B()
{
s ^a = 1
}
ClassMethod A() [ CodeMode = objectgenerator, GenerateAfter = B, PlaceAfter = B ]
{
k ^a
do ..B()
}Now, obviously for it to work I need method B compiled and ready to use before compiling method A().
I test it with the following code:
do $system.OBJ.UnCompile("Utils.Generator")
do $system.OBJ.Compile("Utils.Generator")Yet, I receive the following compilation error:
I am pleased to announce the next 2016.2 field test kit, 2016.2.0.632.0.
Since I haven’t sent an update to this thread in a while it should come as no surprise that there have been quite a few changes since I wrote about build 609. In fact, there have been over 175 changes in 50 different areas, with the majority of changes in:
The most changes since build 609 are in Atelier and the biggest Atelier change is that the Atelier client is no longer bundled with the field test kit. The latest Atelier client is available HERE.
Presenter: Saurav Gupta
Task: Provide customized authentication support for biometrics, smart cards, etc.
Approach: Provide code samples and concept examples to illustrate various custom authentication mechanisms
Description: In this session we will discuss customized way to solve various authentication mechanism and show case some sample code.
Problem: Using custom Authentication mechanism to support devices like biometrics, smart cards, or create an authentication front end for existing applications.
Solution: Code samples and concept examples.
Hi,
I need to give an answer for a RFP where it'll be considered an extra to have a failover system where each member of the failover is located in a different datacenter, separated by more than 100-200 miles.
Presenter: Anton Umnikov
Task: Run SQL queries quickly on huge amounts of data
Approach: Use a shared-nothing architecture to leverage a cluster of small, cost-effective servers
Explains how a shared nothing architecture allows you to leverage a cluster of small, costeffective servers to serve query results that would have taken much longer on a single, big and expensive box. This brings affordable horizontal scalability.
Content related to this session, including slides, video and additional learning content can be found here.
Hi -
I'm trying to create a method that will automatically create something I can save and use later, which will let me automate data migration from one version of a class to the next.
Presenter: Ray Fucillo
Task: Provide high availability (HA) and disaster recovery (DR) in diverse architectures that demand high performance, including replication over long distances
Approach: Give examples of mirror architectures in disparate environments, including geographically separated systems. Discuss performance considerations and advances in InterSystems’ mirroring technology
Presenter: Jeff Semmens
Task: Model and access data as objects in .NET without designing the database first
Approach: Use InterSystems Entity Framework
Description: Come and experience how you can design your database model in .NET and evolve it over time by leveraging the Entity Framework.
Problem: Current bindings require database-first design. I cannot design my model in .NET.
Presenter: Paul Dayan
Task: Upgrade with minimal downtime
Approach: Provide examples of planning minimal-downtime upgrades from a variety of starting scenarios
When upgrading Caché, Ensemble or your application on your business-critical system, you want zero or minimum downtime. This session explores the problems and options when upgrading, and how mirroring can reduce or eliminate business disruption, with practical steps and a demonstration.
Content related to this session, including slides, video and additional learning content can be found here.
Presenter: Murray Oldfield
Task: Avoid bottlenecks caused by scaling up, before they become a problem
Approach: Discuss what operating system and InterSystems metrics you should look at and how to interpret them
Presenter: Murray Oldfield
Task: Deploy applications based on InterSystems’ technology using VMware.
Approach: Provide a checklist of factors to consider, particularly when deploying a production database application that requires high availability
Are you ready to deploy your applications on a virtualized architecture? This talk will highlight what you need to plan and do when deploying applications built on ISC data platforms using VMware. Special focus on what you need to know when planning for highly available (HA) production database applications.
Hello all,
I know it is perhaps too vague question, but anyway:
Do you have experience from running a thick (preferably .NET) application in any of these modes - client installed locally, Terminal Server, Citrix ? Say, there are around 300-400 concurrent users using application.
Can you share your observations / opinions?
Thank you!
Dan Kutac