I'm having trouble creating a view in cache with query like:

 

SELECT column1, column2, column 3
    FROM  table
    WHERE
        (column1, columnn 2) IN (SELECT c1, c2 FROM table2 GROUP BY c1)
    ORDER BY column1

 

I think the problem is in where clause, because it cannot take two columns .

 

the exact error: [SQLCODE: <-1>:<Invalid SQL statement>] [%msg: < ) expected, , found^ (column1,>]

 

Any idea on how to solve this?

 

Thank you.

Last answer 31 January 2017 Last comment 31 January 2017
0 0
19772

views

0

rating

Setting the TZ Environment Variable on Linux

The Update Checklist for v2015.1 recommends setting the TZ environment variable on Linux platforms and points to the manpage for tzset. This is recommended to improve the performance of Cache’s time-related functions. You can find out more about this here:

https://community.intersystems.com/post/linux-tz-environment-variable-not-being-set-and-impact-caché

The manpage on my CentOS 7 test system (RHEL 6 says the same) has this to say:

“The tzset() function initializes the tzname variable from the TZ  environment  variable.   This function is automatically called by the other time conversion functions that depend on the timezone.”

So how do you set TZ? How does it affect the time on a Linux server? Let’s see what we can learn

0 2
0

comments

33087

views

+ 3

rating

** Revised Feb-12, 2018

While this article is about InterSystems IRIS, it also applies to Caché, Ensemble, and HealthShare distributions.

Introduction

Memory is managed in pages.  The default page size is 4KB on Linux systems.  Red Hat Enterprise Linux 6, SUSE Linux Enterprise Server 11, and Oracle Linux 6 introduced a method to provide an increased page size in 2MB or 1GB sizes depending on system configuration know as HugePages.

At first HugePages required to be assigned at boot time, and if not managed or calculated appropriately could result in wasted resources.  As a result various Linux distributions introduced Transparent HugePages with the 2.6.38 kernel as enabled by default.  This was meant as a means to automate creating, managing, and using HugePages.  Prior kernel versions may have this feature as well however may not be marked as [always] and potentially set to [madvise].  

Transparent Huge Pages (THP) is a Linux memory management system that reduces the overhead of Translation Lookaside Buffer (TLB) lookups on machines with large amounts of memory by using larger memory pages.  However in current Linux releases THP can only map individual process heap and stack space.

Last comment 22 February 2017
1 9
2355

views

+ 4

rating

I need to pass a parameter string that contains slashes to a REST call.

I tried URL encoding, or making URL map to accept query parameter instead of path parameter but apparently we only allow for path parameters.

I can come with several workarounds, but these involve some transformation at client and then on server, but I'd prefer a direct support.

Q1: is there any Cache specific trick to pass slashes in path parameters

Q2: are we going to support query parameters in REST?

something like this would help:

Last answer 1 June 2016 Last comment 1 June 2016
0 0
11526

views

0

rating

I have an application using examples from the lottery example in samples name space how do I create a dynamically link based on the data displayed to add a record id to the link

the idea is to loop over the records displays fields and link to edit the shown data at the end of the record in a table format

Last answer 2 hours 53 min ago
0 2
0

comments

16

views

0

rating

I have a query string that I am creating programmatically, based on some user inputs.  The user might search on 5 fields, or 8 fields, or no fields.

In my sql statment, some of these fields require parameters in the %Execute statement.

 

For example:

if user picks lastname, sql = "select * from person where lastname = ?"

if user also picks age, sql = "select * from person where lastname=? and age > ?"

 

I then have these lines of code to create my result set:

set statement = %SQL.Statement

statement.%Prepare

resultset = statement.%Execute(param1, param2)

 

-- but it might be 

resultset = statement.%execute(param1)

 

How can I pass a variable number of parameters  when I don't know how many the user will pick to filter the search?  I need some kind of parameter object? Or will indiraction work? Something with $lists? %ListOfDataTypes?

 

parameterObject.Insert(param1

Last answer 18 July 2017 Last comment 20 July 2017
0 3
5708

views

0

rating

Intro

Most server-client communication on the web is based on a request and response structure. The client sends a request to the server and the server responds to this request. The WebSocket protocol provides a two-way channel of communication between a server and client, allowing servers to send messages to clients without first receiving a request. For more information on the WebSocket protocol and its implementation in InterSystems IRIS, see the links below.

This tutorial is an update of "Asynchronous Websockets -- a quick tutorial" for Caché 2016.2+ and InterSystems IRIS 2018.1+

Last comment 2 days ago
1 3
74

views

+ 3

rating

Date range queries going too slow for you?  SQL Performance got you down?  I have one weird trick that might just help you out! (SQL Developers hate this!)*

If you have a class that records timestamps when the data is added, then that data will be in sequence with your IDKEY values - that is, TimeStamp< TimeStampif and only if ID1 < IDfor all IDs and TimeStamp values in table - then you can use this knowledge to increase performance for queries against TimeStamp ranges.  Consider the following table

Last comment 4 June 2018
0 8
4439

views

+ 12

rating

We would like to know if there are any ramifications swapping out our code database while an Ensemble production is running. We are trying to minimize down time as much as possible and even though stopping and starting the production ideally would be pretty quick, is it possible that we could just restart the business hosts that had the code change?

So this is our setup:
Ensemble 2016.1

global cache.dat
code1 cache.dat
code2 cache.dat

Namespace that we switch to point to either code1 or code2 and is mapped to the globals.

Has anyone done this? We are hesitant to do this and we also know we could try this out in our non prod environments but any user feedback would be very helpful.

Last answer 3 days ago
0 3
0

comments

35

views

0

rating

Hi all. Today we are going to use k-means algorithm on the Iris Dataset.

Note: I have done the following on Ubuntu 18.04, Apache Zeppelin 0.8.0, python 3.6.5.

Introduction

K-Means is one of the simplest unsupervised learning algorithms that solves the clustering problem. It groups all the objects in such a way that objects in the same group (group is a cluster) are more similar (in some sense) to each other than to those in other groups. For example, assume you have an image with a red ball on the green grass. K-Means will split all pixels into two clusters. The first cluster will contain the pixels of the ball, the second cluster will contain the pixels of the grass

3 2
0

comments

2460

views

+ 6

rating

Hello everyone,

 

i am in process of changing our authentication method, so we can integrate our AD authentication in our programs. At the moment i am using they %SYS.LDAP object, and trying to use the .Bind() method with the user information to authenticate. This seems to work without issues, but here the problems start.

When i flag a user 'Change password on next logon' in our Active Directory, the Bind fails with a status error: "Invalid Credentials". To make sure the user who logged in is in fact the user to change the password. I still need to check if this user entered the correct current login information.

Checking the fields 'badPwdCount' or 'badPasswordTime' does not help since they are not filled after a failed .Bind() it seems.

Anyone has experience with this issue and knows how to work around the change password issue?

Thank you guys in advance!

 

Thomas

0 1
0

answers

0

comments

20

views

0

rating

Hi,

I want to create a messages statistics group by month and year using deepsee. To do that I'm creating a DeepSee data model based on Ens.MessageHeader.

I added both SourceConfigName and TargetConfigName as dimensions and now I'm trying to add TimeCreated but I get these messages 

ERROR #5001: Level in time dimension must have a timeFunction: TimeCreated.H1.TimeCreated
  > ERROR #5490: Error running generator for method '%GetModel:User.Mensajes' 
ERROR: %DeepSee.CubeDefinition.cls(%GetModel) of generated code compiling subclass 'User.Mensajes'
    > ERROR #5030: An error occurred while compiling class 'User.Mensajes'
Compiling routine User.Mensajes.1

Also, I tried to add a time function (MonthYear) to extract the TimeCreated value and got these messages

Last answer 3 days ago
0 2
0

comments

19

views

0

rating

Hello All,

I have been associated with Intersystems technologies for over a decade working on Cache, Zen, Ensemble etc.

This is a very niche field and a lovely community. I wanted to extend my hands to connect with people who are of same field or related to it.

Here is my linkedin profile. Pls feel free to send me an invite or drop me a message

https://www.linkedin.com/in/vneerav/

Last comment 7 days ago
0 1
75

views

0

rating

I am having an intermittent issue that when I make a call to MSSQL from a BPL that the response does not come back in the amount of time required. Since the call from the BPL is synchronous I tried changing the timeout to 60 but it has not helped (see below). Is there anyway to guarantee that the call waits long enough for a response before continuing on?

 

Thanks

Scott Roth

Last answer 4 days ago Last comment 4 days ago
0 3
42

views

0

rating

Hi All,
 How to create Https request with Negotiate,NTLM Authentication in cache using %Net.HttpRequest package.
 I tried with basic authentication it is throwing >401 - Unauthorized: Access is denied due to invalid credentials.
 
 can anyone please guide me 
 
 Many Thanks !!
 Vicky

Last answer 9 days ago Last comment 9 days ago
0 3
49

views

0

rating

Our application has a SOAP service that is currently exposed via the built-in Apache server inside of Cache.  I have configured the application to IIS instead so we can IP-Filter, however I no longer wish to have the management portal or other resources via the built-in Apache server.  How can I disable the built-in Apache server so internal resources no longer reply on that server and are instead routed via the IIS site?

I also want the management portal option via the right click on the cube to be pointed towards the IIS URL rather than the old Apache instance with a port number.  

Thanks in advance!

Last answer 15 September 2017 Last comment 15 September 2017
0 1
206

views

0

rating

We have a large number of processes and operations being applied to outbound HL7 messages from our PAS.

If I select a message, and open its visual trace, I see the service, as well as all processes, and operations. 

My debugging is often about a new operation, and I don't need to see all the other operations that are in functioning as desired.

Is is possible to configure Visual Trace to only show specific services,processes and operation?  Or is is possible to see a trace from the perspective of a particular operation, showing only (service,process&Operation) columns in the trace that pertain to that operation, or the resulting message?

 

Kind Regards,

Stephen

 

Last answer 20 September 2017 Last comment 20 September 2017
0 1
150

views

0

rating

I have an application that as part of the registration process is using reCaptcha to provide a captcha. The issue is that service is served from Google and is unavailable in certain countries, namely China. I've been researching this some and believe it's possible to proxy the requests to the Google CDN to avoid the Chinese firewall ban on Google URLs, however I'm not quite sure how to do this in CSP. 


Does anyone have suggestions on how to solve this, either with a technical solution or an alternative service I can fall back to?
An example would be greatly appreciated.


Thanks

Last answer 25 September 2017 Last comment 10 October 2017
0 2
133

views

0

rating

Hello,

we have to implement some application logic using either Java or .NET. Which should we choose? Given that all other considerations are equal, which is in your experience better way performance-wise to interact with external components in Caché: .NET Gateway or Java Gateway?

 

Thanks.

 

Last answer 3 October 2017
0 1
0

comments

162

views

0

rating