管理ポータルのシステム→SQLで、左ツリーからクエリキャッシュを開いて、該当のクエリキャッシュを選択し、プラン表示を開くと、クエリプランが見れます。それを見たらそのクエリがどのように処理されているのかが、多少は分かります。(該当のクエリキャッシュが分からない場合は、一旦クエリキャッシュを全てクリアすると良いと思います)
ぶっちゃけ、トライアンドエラーで進める感じですが。。。

@Seisuke Nakahashi さん

情報ありがとうございます。
そちらの紹介記事は読みましたが、意味があまり理解できていなくて。。。

このIRIS Embedded Pythonへのラッパーというのは、venvで作った仮想環境からIRISに繋ぐ物だと理解したのですが違いますか?
自分がやりたいのは、IRIS内(IRISのクラス(language="python")からvenvの仮想環境にある拡張モジュールを使うという事なのですが、私の理解が間違ってますか?

エラーメッセージの原因がわかりました。
「CacheQuality for Visual Studio Code」の機能でした。インストールしてたのを忘れてました。

しかし、既存のプログラムに手を加えたくは無いので、プロジェクト(ディレクトリ構成)単位で、制御をしたいのですが、その方法が分かりません。どなたかわかる方がおられたら、教えてい頂きたいです。

賞品が到着しました!

patagonia のブラックホール・MLC・キューブ12L というバッグでした。
上下に収納スペースが分かれていて、出張やトレッキングなどに重宝しそうです!(トレッキングはしませんがwww)
キャンプに持っていくのも良いかもですが、ちょっと勿体ない気もしますwww

 

こちらの処理では、複数ソースを指定してエクスポートする場合は、どのように指定すれば良いでしょうか?

ちなみに、まったくおすすめはしませんが、私はいつも普通にエクスポートしたXMLのExportタグをCache用に書き換えてインポートしています。互換性のないコードを書いていないのを分かっているので出来る荒業ですね。

「空のデータベースを作成する方法は?」という問いをしてみたところ、回答を得る事が出来ませんでしたが、これを英語で質問(How to create a blank database?)したところ、求めていた回答を得る事ができました。言語別に解析されているようですね。回答が得られない場合、質問を他言語に翻訳して解析してくれると回答率が上がって使いやすくなると思いました。
回答時も翻訳して回答してくれるともっと良いですね。

日本語
https://jp.community.intersystems.com/ask-dc-ai?question_id=188394

英語
https://jp.community.intersystems.com/ask-dc-ai?question_id=188381

imaさん、返信ありがとうございます。

COS側で、.Builtins().dict() でdict型変数を作った上で、Pythonへ渡す方法も有りだと思います。

今回、その方法を取らなかった理由は、Embedded Python の仕組みが出てくる前から既にIRISとPythonを連携していたので、既存ソースから極力少ない変更で既存のpythonファイルを活用しながらも連携方法をEmbedded Pythonに移行する方法としたからです。説明が足らずに申し訳ございません。

また、引数の型や、戻り値の型が何でも%SYS.Pythonになってしまうのが、自分的にとっては分かりにくいと思ったので、そこはあえてCOS側の型にしていました。

SourceControlクラスは、%Studioパッケージのようなので、スタジオ専用のクラスなのではないでしょうか?
IRISへの接続中のアカウントを取得したいという事でしょうか?

自分は「Peacock」という拡張機能を以前から使っています。これで色を指定すると、.vscodeにsetting.jsonが作られるので、直接setting.jsonを編集する事もあります。
複数のウィンドウ(ワークスペース)を開いていると、どれがどれか分からなくなりますが、ステータスバー等の色を変えておけば、分かりやすくなりますね。

ちなみに、スタジオのようにObjectScriptコード内の色をカスタマイズする事って出来ますか?

Ohataさん

%Prepare後の%SQL.Statementオブジェクトから%Metadata.columnsを使う等すると、カラム名と番号の紐付けが作れるので、%GetDataも使えると思います。
ただ、%GetDataは私が試したところ、$PROPERTYとほぼ互角でした。
カラム番号が使えるのであれば、%GetRowを使えば 「.name」よりも爆速だと思います(但しIRIS2021以上ですが)

ちなみに、INSERTの方もご検討されると良いかもしれません。

Minamoto さん

貴重な情報ありがとうございます。

面白そうですね。ちょっと色々と触ってみたいと思います。

ちなみにスタジオで、INTから再度「他の表示」で元のソースに戻れるのには気づいてませんでした(笑)