Merci beaucoup @Thibault Odor d'avoir traduit mon article avec autant d'élégance.
👍
More on the subject Code Scanner & Code Scanner - enhanced
- Log in to post comments
Merci beaucoup @Thibault Odor d'avoir traduit mon article avec autant d'élégance.
👍
More on the subject Code Scanner & Code Scanner - enhanced
very detailed, very precise. I'm impressed
What you describe is a Basic Class Query. Slightly advanced to embedded SQL
BUT inside a Custom Class Query
https://docs.intersystems.com/supplychain20251/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_queries_userqueries
You have Exec, and Fetch methods.
They can mask whatever you like as long as you feed the formal requirements.
Define the following class methods in the same class:
Where queryname is the name of the query.
Each of these methods accepts an argument (qHandle), which is passed by reference. You can use this argument to pass information among these methods.
So you can mask your DELETE (implemented by embedded SQL) or any other way
It's not the standard way, but nothing prevents you as long as the formalism is served.
You may reduce the number of XDBC connects by 50%
#1)
Create an SQL function for the update
CREATE FUNCTION done_func(integer,varchar) RETURNS integer
AS 'update my_postgres_table set status=$2 where id=$1'
LANGUAGE SQL
IMMUTABLE
RETURNS NULL ON NULL INPUT
RETURN 1 ;#2)
run your SELECT, adding the function in your WHERE clause which is always TRUE
select * from my_postgres_table limit 10000 Where 1 = done_Func(id,'S') You should check the exact syntax for PostgreSQL
I just composed it guided by
https://www.postgresql.org/docs/current/sql-createfunction.html
@Evgeny Shvarov you pointed me to the correct place
Did some checks using the most native approach.
set sc=$system.OBJ.Import(file, . . . . .
Removing the Export Tag from the 2nd line in the 'hidden XML' names DFI
<Export generator="IRIS" version="26" zv="IRIS for Windows (x86-64) 2024.3 (Build 217U)" ts="2025-09-21 16:53:05">
ends with unknown flle type !!!
After re-insert of that Export Tag all import works perfect
might be necessary to teach VScode to add that tag
Interesting observations.
My export came directly out of STUDIO.
InterSystems Studio Client 2024.1.0 Build 262
Server IRIS for Windows (x86-64) 2025.1 (Build 230.2U)
Simple right click + export ..... (+ Windows Directory).
Just straight, no flags, no anything extra
to me *.PKG is imported by $system.OBJ.LoadDir(...) whaever the file name is
one file contained a %ZX.* class.
That one required manual compilation as it didn't match the ZX.* pack
a real class, no DFI
I see.
This didn't happen for me as I just work from Studio
GREAT,
So the DFI worked. I never have touched MAC until now,
Updated init + load + build of cubes
2025....latest had a minor surprise in init
here is it - work in progress ZPM load DFIAnalytics need manual enable, cube to build still manually
BUT:
all DFI are all there (checked with Studio) and working immedeately
Just can confirm that it works for me with a correct structure .../src /DFI /first.DFI /next.DFI /andSoOn.DFI
And in module.xml the relevant part looks like this
<Packaging>module</Packaging> <SourcesRoot>src</SourcesRoot> <Resource Name="DFI.PKG"/>
BINGO
I'm missing words to express my THANKS !
No idea about zpm.
Just a guess: if not listed or in a PKG it won't be touched
BUT this loads and compiles it
set tSC=$system.OBJ.Import(fileref,"ck")Congratulations to the winning participants. 👍
1️⃣ When you joined the Developer Community and how you first discovered it.
I joined in 2017, and it was by accident.
Looking for help to work around a problem caused by "academic ignorance".
Some linguistic university experts for German language up in sky, far from reality, decided:
"S_sharp" ß (a lowercase only character for hundreds of years)
will be also an uppercase character from now on.
No one cared about the impact to sort orders, code conversions, pattern match. regular expressions, ...
My cry for help:
German collation of ß in upper and lower case
In DC I got help and advice within a few hours on how to escape
until a new release or bug fix might have an official solution.
Exploring DC was another big surprise for me.
It was rather similar to a proposal I had done in 2005
and I was massively pushed back by service managers at that time.
DC covered and extended my basic intentions
I fell in love immediately and still feel like a proud grandfather
observing his successful growing grandchildren.
2️⃣ A meaningful moment or story from your personal journey here.
It was somewhat longer than a moment, though just a single trigger.
The challenge was to start working with Docker in some OEX package
Before that, I was rather resistant to publishing complex examples.
The effort to describe a complex setup and not having control
over implementation was rather significant.
With Docker I had a reproducible environment and no traces or remaining
junk after termination.
Another extra was learning to produce videos of my examples for contests.
I never did it before and still don't have any private videos on Youtube.
3️⃣ An article, question, or discussion you consider especially valuable
There are two recent articles that moved me most:
The Wait Is Over: Welcome GoLang Support for InterSystems IRIS + followers
and
Reducing the Footprint of the Docker image of IRIS Community Edition
It's 2 times the same authoring engineer, and what he presents matches my
personal understanding of what quality software system engineering is like:
- precise and detailed analysis
- detailed and fully through tested code before release
- 2 top-class projects
My personal sorrow:
There are groups that may force out the results just because of the
"NOT INVENTED HERE" mentality in some areas.
I speak based on personal experience after being attacked following
a backport of %JSON classes to Caché some years ago.
Pre-Xmas in Vienna
You got the point. Before means "before this century"
before CSP / WEBstack, .. were introduced
There were INT routines in %SYS with lots of $ZU() and $VIEW(). Device 63 was quite busy.
Most are unknown today. But some are still around and still work.
It's not as rigid as GlobalDB was / (is?) but has some similarity.
Cache 2024.1 ????
I'm delighted !
I publish my OEX review also here, just in case it might be "delayed" by OEX censors.
Time travel is possible!!
BIG CONGRATULATIONS!
And many thanks to the excellent and engaged team that runs and manages all parts of the Community!
💐🌸🌷🏵🌺🌻🥀
Clear ! That's what XPATH was meant for
Late suggestion:
if you interpret your <entry> as a piece separator in your XML string, you may apply this trick
;; asssuming your input is in xmltext
;; get the 4th entry
set entry4=$piece($piece(xmltest,"<entry>",4+1),"</entry>")
;;-------^---------------------------------^
A guess from the hip:
* It's just great to see this excellent example
* still in maintenance and updated
* It's my personal favourite
* working, refreshed and kept in shape over the years.
I wish I could see more of those packages in OEX
Muchas Gracias Salva ! 🤝
This reminds me of the ages-old service rule
😁
I composed a small example as DV.MAC with 36 conditions. and -as expected- hit no limit.
DV ;
for i=1:1:50 {
set x=$r(40)
set col=$SELECT(
x=1:"col_1",
x=2:"col_2",
x=3:"col_3",
x=4:"col_4",
x=5:"col_5",
x=6:"col_6",
x=7:"col_7",
x=8:"col_8",
x=9:"col_9",
x=10:"col_10",
x=11:"col_11",
x=12:"col_12",
x=13:"col_13",
x=14:"col_14",
x=15:"col_15",
x=16:"col_16",
x=17:"col_17",
x=18:"col_18",
x=19:"col_19",
x=20:"col_20",
x=21:"col_21",
x=22:"col_22",
x=23:"col_23",
x=24:"col_24",
x=25:"col_25",
x=26:"col_26",
x=27:"col_27",
x=28:"col_28",
x=29:"col_29",
x=30:"col_30",
x=31:"col_31",
x=32:"col_32",
x=33:"col_33",
x=34:"col_34",
x=35:"col_35",
1:"more")
write i,?4,x,?10,col,!
}
result:
. . . . 23 32 col_32 24 39 more 25 39 more 26 31 col_31 27 10 col_10 28 36 more 29 24 col_24 30 21 col_21 31 2 col_2 . . . .
I met a similar issue.
A new IDEA might be to fix the interface for IDEAS 😉
While you are in terminal $IO="|TRM|:|10468" or similar
from Studio it is "|TCP|1972|11096" with 1972 as Superserver port
It's one of the differences
I fully support your proposal.
I published >700 reviews for the actual 1156 visible packages.
And there are several challenges to be addressed with any new structure.
This isn't a solution, but a step in between to improve the actual situation
I wonder how many of the 1156 packages might move to the archive without maintenance
There is no voting on the numbers added