Robert Cemper · Apr 17, 2024 go to post

Is there some deeper reason not to contact LIB-IT DMS  that produced FILERO ?
They should know from the hip where their code is located and how to move it.
As your installation is talking German, there should be no lingual hurdle.

They even offer TeamViewer Support

Robert Cemper · Apr 16, 2024 go to post

Are you sure your HealthShare and the related ODBCdrivers are all 64bit?
the ending U of your $ZV might mean Unicode == 64 bit 
And OK. SMP doesn't need any ODBC  
 

Robert Cemper · Apr 16, 2024 go to post

If XML content is well formatted
it might be sufficient to remove all trailing text before
<?xml version="1.0" encoding="UTF-8 ?>

Robert Cemper · Apr 16, 2024 go to post

still works.
* don't forget all CSP content 
* don't forget to run $SYSTEM.OBJ.Upgrade()   

Robert Cemper · Apr 16, 2024 go to post

Way back some years I simple renamed CACHE.DAT to IRIS.DAT with IRIS stopped.
No guaranty this still works.
 

Robert Cemper · Apr 13, 2024 go to post

For testing I'd suggest to try an IRIS Community version 
Latest IRIS 2024.1 runs fine on Win11
the testing effort for that archaic code would be the same either for IRIS or latest Caché
the gap to bridge is about 2 decades in any case 

Robert Cemper · Apr 11, 2024 go to post

you describe 2 different record layouts that reside within the same storage 
#1 - just a name
#2 - a name + a "transferred" property

depending on the situation you use either layout #1  or layout #2 for INSERT
reading might be OK for layout #2 in both cases.

Caché once had a somewhat similar sample with Person
and Employee extending Person. 
available here: https://docs.intersystems.com/iris20241/csp/docbook/Doc.View.cls?KEY=ASAMPLES
this Repo:
https://github.com/intersystems/Samples-Data/tree/master/cls/Sample

Robert Cemper · Apr 11, 2024 go to post
set var="MyClass"
execute "set obj=##class("_var_").%New()"

a bit dirty but matches your request

Robert Cemper · Apr 10, 2024 go to post

BTW:  from bash inside the container run

/iris-main -h

to see all available options
 

Robert Cemper · Apr 10, 2024 go to post

in docker-compose.yml  set
 

  command: -b "sleep 1d" 
  • then you have a full day to access your container
  • start IRIS manually  from bash as you need it
Robert Cemper · Apr 6, 2024 go to post

Alternate approach:
in SMP SQL  run this:
 

CREATE PROCEDURE ZPM.terminal() LANGUAGE OBJECTSCRIPT
{
 zpm "install webterminal"
 quit 1
}
 and next
 SELECT ZPM.terminal()
Robert Cemper · Apr 5, 2024 go to post

confirmed! 
And healthshare is not available as docker image
SO >>> No Docker Demo nor Migration for HealthShare ????   👹

Robert Cemper · Apr 5, 2024 go to post

agreed.
But Switching on/off Journal by process every time you write ^EVENT seems rather uncomfortable.

though it's compact as you know exactly when you need it,
 

Robert Cemper · Apr 5, 2024 go to post

depending on the actual long time use you may of course also    
use ^mtemp.EVENT  (in IRISTEMP)    
instead of a journaled ^EVENT in your actual namespace to escape transactions

Robert Cemper · Apr 5, 2024 go to post
  • LOCK would be indeed the best equivalent to Isolation Modes
  • just IRISTEMP doesn't react to COMMIT or ROLLBACK  (there is no related Journal)
  • so instead of writing to your ^EVENT Global you may write to a PPG ^||EVENT acting as your  private temp
  • after Commit or Rollback you decide if you MERGE  ^||EVENT to public ^EVENT or not.
  • from your description, I assume you do it anyhow  
Robert Cemper · Apr 1, 2024 go to post

Congratulations to all the winners!
It was a great event and highly useful to follow.

Robert Cemper · Mar 28, 2024 go to post

PLEASE!
if you have a different question then PLEASE don't change the original content
this breaks the total information flow.
Existing replies will look like nonsense!

Robert Cemper · Mar 27, 2024 go to post

Thanks @Raj Singh  great input  !
I recently struggled with LOAD DATA and finally dropped it in favor
of an old-fashioned COS import for 2 reasons:

  • installation of Java was a prerequisite (might be mentioned somewhere, not identified)
    not a default in community containers
  • quality of data was POOR to express it politely e.g:
    • column expected to be DOUBLE   >> content was 
      • number 
      • $ number
      • some text
      • NULL
  • date with any sick non -SQL format
  • just empty lines by wild running \n

so some exception handling after validation would have been a great feature in my case
to filter out sick records.

The sick CSV is available on GitHub
 
 

Robert Cemper · Mar 27, 2024 go to post

By SQL priniciple:     
any straight name is meant to be a COLUMN of the actual table.  eg. Embeddings
but an external HostVariable is designated by an initial : (colon)  e.g.  : new_embedding_str or :params

This seems to be the deeper cause your problem

in addition I'd suggest to add  print(new_embedding_str)  to verify its format. (one of my problems.

Furthermore, take a closer look to this example:
iris-vector-search/blob/main/demo/sql_demo.ipynb

Robert Cemper · Mar 27, 2024 go to post

Sounds promising:
in my COS example, I had to use pure String parameters like  "0.54456,0.6987646,0.I123" 
happened by accident, more for reading and debugging

Robert Cemper · Mar 26, 2024 go to post

I use a similar setup in my example in OEX ,
Especially with TO_VECTOR() I ran into problems if I didn't add the explicit
type and size of the vector.  e.g. TO_VECTOR("..........",,DOUBLE,384)
as model all-MiniLM-L6-v2  produces exactly that type and size:
Don't ask for why. I just used the proposed example

Robert Cemper · Mar 26, 2024 go to post

- Thank you @Andrew Wardly:
Your observation is pretty correct. It derives from a late Latin dialect spoken
around Locarno (today Switzerland) around 1600. Eventually starting with a very sharp S.
So the mental link to "Semper Fidelis" is pretty close and matches well.  

Robert Cemper · Mar 22, 2024 go to post

eventually better to check for longer lists

USER>s x=$lfs("Purple,Black,Yellow,Pink")
USER>s y=$lfs("Red,Green,Orange,Yellow")
USER>f z="y","x" f i=1:1:$ll(@z) i $i(dif($li(@z,i)))
 
USER>zw dif
dif("Black")=1
dif("Green")=1
dif("Orange")=1
dif("Pink")=1
dif("Purple")=1
dif("Red")=1
dif("Yellow")=2
 

looping with $o() over dif() allows programmatic check