Question Mathew Lambert · Oct 22, 2021

Quite a complex scenario we are trying to solve but should be able to understand.

We're developing a task executer that runs on a server with a certain timezone.

The tasks run every day at a defined time, but in different timezones.

We're saving in database at what time we want to execute the task, and in what timezone (don't go to the save in UTC pitfall, as with DST it will be at different times)

What I want to do if when opening a task from the database, convert 02:00 Europe/Madrid, either to UTC or to local (server) time.

11
0 783
Discussion Mathew Lambert · Sep 22, 2021

When overwriting the Read method (that has a %CacheString return type) on a new class that inherits %Stream.FileCharacter class, returns an error about incorrect return type, must be Binary, even if it matched the real signature.

Looking at the compile global information we can see:

^oddCOM("%Stream.FileBinary","m","Read",42)="%Library.Binary"

After further investigation we realise that there is a generator method looking at the OdbcType class definition.

Setting LONGVARCHAR results in:

^oddCOM("User.CStream","m","Read",42)="%Library.String"

0
0 223
Question Mathew Lambert · Jan 12, 2021

Does anybody know if there is an easy way to know if the execution of the command $System.SQL.PurgeForTable went well/wrong?

The documentation describes that a string is returned, but in fact there is a nice Quit "" in the code.

Maybe inside PurgeForTable^%apiSQL there is any process variable set when it goes well/wrong?

Thank you very much!

5
0 249
Question Mathew Lambert · Jul 20, 2020
We are using the mentioned password function and we need to know if is in line with the NIST recommendations regarding strength, https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
 
Reading interystems docummentation is not 100% clear for me as it states "(See RSA Laboratories Public-Key Cryptography Standards #5 and Federal Information Processing Standards Publications 180-4 and 198-1 for more information.)"
1
0 1350
Question Mathew Lambert · Jun 23, 2020

I know that 1-1 relationships are not officialy supported by intersystems cache/iris so I want to know the best way to store data with this kind of data model.

Currently I have two classes that where implemented some time ago:

Table A with a relationship type one on table B

Table B with a relationship type one on table A

To compile I have a double compile with qualifyer U.

What is the best way to implement a data model with 1-1 relationships?

Thank you

6
0 681
Question Mathew Lambert · Jun 16, 2020

I would like to know if there is a way of having a callback or something similar, on persistent classes that is always called after the execution of the operation (failed or successfull).

%OnOpen is executed prior to the action, and there is no post callback

%OnAfterDelete and %OnAfterSave are executed after a successfull operation

8
0 306
Question Mathew Lambert · Apr 28, 2020

I've been reading the documentation guide for 2018.1 over frozen query plans several times in the last days (link) and there is an answer I can't seem to find directly.

My on-premise upgrade way is:

  • Update healthshare version
  • Unfreeze all my namespace plans
  • Purge all queries
  • Overwrite the database containing the logic (both the old and new logic contains static queries compiled with the target HS version, and dynamic queries) 
1
0 257
Article Mathew Lambert · Feb 21, 2020 1m read

I was searching for the most simple way to connect from visual studio code to my local instance via terminal without having to change any window.

I know this can also be achieved via telnet but seems a bit overhead if you're in your local machine.

For me the simplest sollution is to open a terminal window in VS Code, navigate to the /bin folder of your instance installation and run .\csession.exe INSTANCENAME

For simplicity you can just include your /bin folder in your path so you don't even need to navigate there

1
1 1332
Question Mathew Lambert · Feb 12, 2020

I've recently encountered a HS Caché that won't start informing that Collation 30 is not available, but I have not found an easy way of knowing what collation is 30.

I've found that the following command returns the ones from the current locale, but not from all locales:

Set Rset = ##class(%ResultSet).%New("%Library.Collate:CollationList")

d Rset.Execute()

While (Rset.Next()) {zw Rset.Number_": "_Rset.Name}

Thank you

2
1 425
Question Mathew Lambert · Jun 6, 2018

I need to send a PATCH call from the server to a given url.

Until now I was using %Net.HttpRequest to issue calls for get/post/put but today I had to make a PATCH and I can't find a way to do it.

1
0 742