Robert Cemper · Jan 21, 2023 go to post

As @Enrico Parisi pointed out: IRIS.DAT is an independent structure
The link between file and Namespace is in the ConfigFile (??.CPF) in your install directory.
The file could be located anywhere.
 

Robert Cemper · Jan 21, 2023 go to post

MS Acess typically uses ODBC data sources.
By default, the ODBC35 driver for Cache/IRIS is installed at Cache/IRIS installation time.
You have to configure it (directly or from MS Access)  with Namespace + SuperServer Port
Take care not to mix 32bit mode with 64bit mode depending on your Cache installation

Robert Cemper · Jan 20, 2023 go to post

I use the suggested common method for length calculation

/// write ##class(Golf.Task2).length()ClassMethod length(
	class = {$classname()},
	method = "Build") As%Integer
{
  #dim methodObj As%Dictionary.MethodDefinitionset methodObj = ##class(%Dictionary.MethodDefinition).IDKEYOpen(class, method)
  quit methodObj.Implementation.Size
}

also in terminal:
USER>p
         s (b,h)="*" f L=f:-1:1  w ?L,b,! s b=b_h_h
         F i=1:1:f K s,c S ($P(s," ",f-i+1),$P(c,"#",i*2))="" W s,c,!
 
 
 

Robert Cemper · Jan 19, 2023 go to post

You are on the right path, I use deuw and see

some differences grown by history

  • sort ÄÖÜ + ß (sharp S) after Z as by ASCII
  • sort Ä after A, Ö after O, Ü after U  but before Z
  • ignore trema. sort Ä=A, Ö=O, Ü=U   no idea about ß

4 and 5 may contribute to the lastest nonsense of German Language Authoroties
that introduced sharp_S also in uppercase.
<we lived since ever without it and didn't miss anything>

Your case:
You can't change the collation of an existing Global
But you can apply a different collation before first use in SMP
to overwrite default collation of the  DB
System > Configuration > Local Databases > Globals > New Global 

So you set up a global ^TEMP3  with collation German3
and run MERGE ^TEMP3=^TEMP  and have a new collation.

Some time back I set that to have different index collations for
German, Hungarian, Italian, French, Slovenian, ...
see my post Multi Language Sort

Robert Cemper · Jan 18, 2023 go to post

expression into :var   stores the content of the expression into a local host variable var 
in your case you seem to get from STRING(...) 2 expression stored in to variables CODE  and  VALUE
this construct is typical for embedded SQL

Robert Cemper · Jan 18, 2023 go to post

You should really read the docs in detail

LOAD DATA ......<filename>
 'D:\Intersystem\IRISHealth\Mgr\'   is just a directory, not a file
and you need all access rights
I would expect something like 'D:\Intersystem\IRISHealth\Mgr\tablename.txt'
 
Did you use $system.SQL.Shell() to launch it ?

Robert Cemper · Jan 17, 2023 go to post

from the command line you may start SQL shell  >  DO $SYSTEM.SQL.Shell()
and then use LOAD DATA  as described here LOAD DATA
 

Robert Cemper · Jan 16, 2023 go to post

I found this during the cleanup of old files. 
Created when DeepSee was announced at some German Symposium ages ago.

Robert Cemper · Jan 2, 2023 go to post

Looks like an encoding issue.
Encoding in Studio is most likely different from your terminal settings.
And phyton has no idea about your surface settings.
Run this line in Studio and in Terminal and you see what's happening.
Matching ends after the end of 7bit ASCII encoding.

f j=0:1:64 w ! f i=0:1:63 w $c(j*64+i)

Robert Cemper · Dec 26, 2022 go to post

The content of Column COMMENT is expected to be $LB() format.
The most likely reason is : this property contains some ages-old junk 

This works:

SELECT 
ID,
CPFName,
%INTERNAL(Comments),
Name, Product, SectionHeader, Version
FROM Config.ConfigFile

Cache for Windows (x86-64) 2018.1.7 (Build 721U)

Robert Cemper · Dec 25, 2022 go to post

Now also the Leader of our ranking has completed

Thanks to @Kevin An
- His code passed successfully Code Quality
- And the checks with test data set 1 and set 2 are OK
Congratulations!

Robert Cemper · Dec 25, 2022 go to post

Alea iacta est !
The race is done.  We see 3 leaders and I have checked the first repo.
Thanks to @Robert Barbiaux:     
- His code passed successfully Code Quality
- And the checks with test data set 1 and set 2 are OK
Congratulations!

Merry Xmas to all members of the Community!
 

Robert Cemper · Dec 24, 2022 go to post

@Kevin An ,  
I really appreciate your suggestion. For a long list of candidates, 
BUT. with only 3..4 possible participants in the winning ranks the effort is acceptable.
So it provides for me a deeper insight into your creativity.
- AoC is the first filter >>> "outsourced"
- Code Quality is the second >>> "normalized and automated"
- Calculations + Results is the last. >>> by own hands for now.
I take this burden with pride.
Though this personal view shouldn't prevent anyone
to create a better template for NEXT year.
 

Robert Cemper · Dec 24, 2022 go to post

The final day of AOC  is approaching.
It is still 1 day to reach the magic 50 stars.
I plan to take my last ranking on my morning (CET) of Dec.26
Good luck and Merry Xmas.
Test data + results on GitHub will be updated as​ I have them​​​​​ available.

Robert Cemper · Dec 23, 2022 go to post

I have published 2 sets of test data on GitHub with results verified by AoC.
You may use it to check the independency of your code from specific input.
That's what I will use for verification of the correct calculation.

HTH

Robert Cemper · Dec 23, 2022 go to post

It's the classic impedance mismatch:

  • AOC goes for time and numbers.
    For the numbers, you may calculate them, gamble, get inspired, or ...
  • this contest goes straight for ObjectScript and I will verify the calculation
Robert Cemper · Dec 20, 2022 go to post

BIG THANKS to @Dmitry Maslennikov for your detailed analysis!
To me, this looks like Retro-Trip.
Back to NMP world  (No  Mouse Please)  with Terminal, Telnet, Console Interface.
It's a big chance for a broad revival of all the old command line utilities
that are still around and working well. (some still using dot syntax).

And thanks also to @Guillaume Rongier to underline the motivation
- "breaking down the monolith"
- "make the product more modular"

Other industries have shown us what that piece-by-piece dropping means.

Robert Cemper · Dec 18, 2022 go to post

Hi folks !

It's just another week to finalize Advent Of Code 2022. 
Though the ranking didn't change much recently there are still 14 exercises to be done.
- But keep in mind that the ranking is just the first hurdle to take.
- Next, your code in ObjectScript has to be provided in a public repo on GitHub
- Besides the formal verification with Code Quality (use the provided template)
also, the calculations will be verified with a neutral dataset that is not yours.

So good luck and happy coding.

Robert

Robert Cemper · Dec 17, 2022 go to post

but I found no  .github/workflow/ as in the official template. also module.xml doesn't match the content.

Robert Cemper · Dec 17, 2022 go to post

is there a line limit in code quality?
2000 line by class * 1 class by day over 10 days is not impressive
???? I didn't get your message!