see: https://cedocs.intersystems.com/latest/csp/docbook/Doc.View.cls?KEY=RSQL_into
&sql(SELECT Name, DOB, Gender INTO :Name,:DOB,:Gender
FROM osuwmc_RQGPatient.DataTable WHERE MRN=:MRN)
- Log in to post comments
see: https://cedocs.intersystems.com/latest/csp/docbook/Doc.View.cls?KEY=RSQL_into
&sql(SELECT Name, DOB, Gender INTO :Name,:DOB,:Gender
FROM osuwmc_RQGPatient.DataTable WHERE MRN=:MRN)
I think not that this is possible.
The reason was to make it as flexible as any other Dynamic query.
I'm convinced this was necessary to support Sharding.
But you have the option to write your own custom class query
I'd like to say a big Thank You ! to all participants that gave me their vote.
And I forgive the unknow experts that voted for me in the beginning and changed their mind shortly before closing as by the rules.
You did a very interesting presentation of the essential concept of Globals that was developed once by Neal Pappalardo in 1966/67. ![]()
Long before objects were even thought of.
So back to the roots !
( Neil Pappalardo is the founder and CEO of MEDITECH )
The %JSON. Adaptor is missing in Caché but %JSON.Formatter was backported half a year ago. it is in OpenExchange available
COS what else ?
You need to start with require("cache") to have the basic access module.
you find it a cache.node for various rather old versino0n of Node.
it is in %instaldir%\bin\ .png)
more details in %instaldir%\ \dev\node.js\samples\installed_software.js
.png)
and more ......
To use a DSN it has to be a SYSTEM-DSN and have the same bit as Cache / IRIS. Depends on your EXCEl instalation
Therefore 64bit.
Activate as you might know from Cache is not available in IRIS
¡ Hola Salva ! ( @Jose Tomas Salvador)
You motivated me to give it a try.
And with a little bit of tweaking the scripts my contribution for the contest
WebSocket Client JS with IRIS Native API as Docker Micro Server
is also running with no issues on Docker Desktop for Windows !
A very positive experience that I didn't expect at first sight.
¡ Gracias !
if you install Excel you have automatically also a DSN for ODBC access to EXCEL
check your DSN data sources in your Windows installation.
Use ODBC-Gateway in Cache / IRIS to access it.
Typically all strings are UTF encoded.
The average text often consist of single-byte characters (a subset of UTF-8)
As soon as a multibyte character joins the string the whole string just uses WIDE characters
example:
The conversion happens totally internal.
depending on your needs you can select the national language table.
different languages sort differently. e.g German äöü vs. aou
with set gStatus=$DATA(pGlobalName) you check the existence of your call parameter
but set gStatus=$DATA(@pGlobalName) check the existence of your Global
to go for the Global you require indirection therefore set gmin=$ORDER(@pGlobalName@(""))
will meet your expectations
using "œ" makes you internal string wide character.
you might fix it with DO $ZF(-1,$ZCVT("echo œ","O","UTF8")) if the encoding of your AIX is UTF-8.
The first example just shows that AIX understands its own console/terminal.
Bonne chance !
Sorry my fault: my quality was set back to 240 (!) as I was watching High Noot wich Garry Cooper last time
with 1080 HD it is excellent
I was unable to attend so I took the recording. The content was important and good to understand.
But the shared desktops are all unreadable in the video.
Molte grazie @Stefano Cairoli !
È sempre lo stesso problema : è scritto da qualche parte.
Ma dove ?
Migliori saluti da Vienna! E state tutti sani!
Robert
¡Hola Salva! ( @Jose-Tomas Salvador)
A great contribution. Having this experienced myself I know how much work it was.
A few remarks:
Thanks to your description I know that my expectations were just higher than reality.
I finally dropped Docker desktop and returned to my VMware that I used already
before it was supported platform for Caché,
.
Especially networking was much easier (to me).
Maybe a future version might be more convincing.
But as I developed a predecessor of VMware already in 1972.. I'm quite demanding on that subject.
¡ Saludos desde Viena !
Robert
Your organization seems to run the traditional centralized approach where a few developers worked
in a rather close contact with each other being informed of any change immediately.
Experiencing all cross-over dependencies on code and data directly.
In a distributed / larger organization this information is poor or missing.
So with more people stirring the same pot of code from remote is a risky exercise.
You are well-advised to have local and separated installations for your developers.
The extra effort is to maintain a common code base and data set for them.
The advantage is that their changes don't interfere with each other.
The next challenge is to keep test data for them consistent.
This may even be harder to achieve than code consistency and requires precise maintenance and management.
I like it as it is based on Eclipse.
And as I used Eclipse since I wrote my first line of Java some decades back
I know where to find my buttons and switches, what fits my needs, ....
I'm not married to it. Just many years of positive experience. Why drop it for some younger tool ...
A minor addition:
For some time ( since last year ?) Studio is also available for stand-alone installation without any related Caché / IRIS Kit.
The support & documentation situation is important for the field.
So my vote: Studio for Win, Atelier for the rest
As there is no default RANDOM() in Caché/IRIS SQL you have to write it yourself.
Create this class:
Assuming your table has defautl ID (%Integer, MINVAL=1)
>= ensures that you just get an existing ID and don't drop on a deleted one
Of course, if you know in advance the highest existing ID (e.g. maxid) then RANDOM(maxid) will do it.
Extending the reply of @Vitaliy Serdtsev
Basically whatever your variable holds could be a %String (also including binary values)
COS has a few check functions to interpret the content
Further on the Pattern Match operator ? let you sort out pure text and binary, .....
All you have is just content. It is left up to you to decide what type it is.
You can find out by those functions what is NOT.
Only the data type classes decide to some limit what type it should be.
NO it is not possible:
In IRIS for Windows (x86-64) 2020.1 (Build 215U) it is compiled.
But at run time you get an SQLCODE=1 and an error message for a bad SQL statement.
Better compose an SQL string "SELECT name FROM "_table and process it with some ResultSet class,
The embedded code in the class we know from Cache is gone.
It all generates into a %scqlc.* class
If you don't have a standard ID (%Integer,MINVAL=1)
but something like ^<dataglobal>(BRANCH,ID) or similar than you might get your fast count by applying
The adopted Bitmap
Adopted Bitmaps example now on Open Exchange
ant iterate over the "BRANCHES"
If you run Tune Table on a regular base it updated EXTENTSIZE.
But this is then not exact but a close estimation depending on the frequency of run
In principle I'd share te suggestion of @Stephen Canzano;
with 2 minor additions: SELECT Count(ID) from <youtable> will you always lead to the
explicit or implicit Extent Index. (bitmap or standard)
This is important as there are a bunch of classes that have explicit defined table names.
In addition, it works also for table linked over SQL gateway
*.1.int shows us that this is generated from a class
%Stream.Object.... is a class from SYSLIB.
System Classes are typically only available in compiled format (.obj) You can't debug them.
Either skip them by <F10> or leave them by <SHIFT F11>
You might have a UNIQUE key on some of the other columns
I think your data is crap. (in the screenshot)
The ID you insert is totally different by structure than what you display from, table !!!
This one looks like a 3 level subscript (Server | CustID | ActivityCode)
I'd suggest not to try to insert ID at all. it is obviously generated
I'd suggest to UNSWIZZLE ( ~~ remove from memory) all children once you a done with an object.
it's described here:
https://docs.intersystems.com/iris20192/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_relationships
[SQLCODE: <-131>:<After Insert trigger failed>]
[%msg: <21003,Cannot INSERT "NIActivityCode" because number is already used.>]
this simply means that you try to insert something that is unique and already present.
so check against your table definition for uniqueness and next the data you want to insert.
Start with ID first.
It is definitely a data issue and not related to syntax