記事 Mihoko Iijima · 3月 19, 2021 2m read

これは InterSystems FAQ サイトの記事です。

各タイムアウト値の意味は以下の通りです。

(1) [サーバ応答タイムアウト]

この設定時間内に、IRIS/Caché での処理(ルーチンやクエリの実行)が終わらない場合は、ブラウザ側にエラーを返します。

例) この値が60秒の時に、ルーチン/メソッド/クエリ実行に 90秒 かかる場合にはエラーになります。

(2) [キューイングされたリクエストのタイムアウト]

CSP/REST で設定する IRIS/Caché サーバごとに、CSP/REST を同時実行できるプロセス数を制限できます。

たとえば、サーバ接続最大数=3の場合、表示に数十秒かかるページを複数同時に要求した場合、4つ目以降のリクエストは、Web/CSP ゲートウェイ上で「キュー」に入り待ち状態になります。

このキューで待つ最大時間が (2) のタイムアウトになります。

(3) [非活動タイムアウト]

CSP/REST では、IRIS/Caché サーバ上に待ち受けプロセスが複数でき、「サーバ接続最大数」まで待ち受けプロセスが出来る可能性があります。

各プロセスが、次の要求が来るまで待機する時間がこのタイムアウト値になります。

タイムアウト後、プロセスは自動的に消滅します(これらのプロセスはライセンスを消費しません)。

詳細は下記ドキュメントページをご参照ください。

0
0 897
記事 Mihoko Iijima · 3月 19, 2021 3m read

これは InterSystems FAQ サイトの記事です。

複数の SQL 文を実行する GUI はありませんが、複数の SQL 文を含むファイルを作成しファイルをインポートしながら SQL を実行する方法で対応できます。

ご利用バージョンによって使用するユーティリティメソッドが異なります。

2020.3以降をご利用の場合は %SYSTEM.SQL.Schema クラスの ImportDDL() メソッドを使用します。

2020.2以前をご利用の場合は %SYSTEM.SQL クラスの DDLImport() メソッドを使用します。 

1)バージョン 2020.3 以降での方法:%SYSTEM.SQL.Schema クラスの ImportDDL() メソッドの利用

インポート用ファイルに記述するSQL文が複数行ある場合は、記述する SQL の後ろに GO 文を記述する必要があります。

インポートファイル例は以下の通りです。

INSERT INTO Test2.Person (Name) values('test1')
go
INSERT INTO Test2.Person (Name) values('test2')
go
INSERT INTO Test2.Person (Name) values('test3')
go

%SYSTEM.SQL.

0
0 10881
お知らせ Mihoko Iijima · 3月 16, 2021

開発者の皆さん、こんにちは!

世界中の開発者からの熱いご要望により、新たなコンテストの開催が決定しました!

🏆 InterSystems IRIS プログラミングコンテスト: 開発者ツール 🏆

応募期間は 2021年3月29日~4月18日 です!

💰 賞金総額: $8,500 💰

(投票期間は 2021年4月19日~25日、勝者発表は 4月26日を予定しています)

InterSystems IRIS を使用して、開発の迅速化、より質の高いコードの提供、テスト、デプロイ、サポート、またはソリューションの監視を支援するアプリケーションやツールを開発し、ご応募ください!

優勝特典

1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

🥇 1位 - $4,000 

🥈 2位 - $2,000 

🥉 3位 - $1,000

2、開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。

🥇 1位 - $750 

🥈 2位 - $500 

🥉 3位 - $250

複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。

参加資格

どなたでもご参加いただけます!(InterSystems 開発者コミュニティのアカウントを作成するだけでご応募いただけます)

👥 開発者がチームを組んで共同でアプリケーションを作成し、応募することもできます!

0
0 212
記事 Mihoko Iijima · 3月 9, 2021 1m read

これは InterSystems FAQ サイトの記事です。

INFORMATION_SCHEMA スキーマを使用して取得できます。

INFORMATION_SCHEMA はシステム用スキーマのため、デフォルトでは管理ポータルの SQL メニューに表示されません。

表示させる方法は以下の通りです。

  1. 管理ポータル→システムエクスプローラ→SQL メニューを開きます。
  2. スキーマのプルダウン左にある「システム」をチェックします。
  3. スキーマのプルダウンから INFORMATION_SCHEMA を選択します。

指定のテーブル(Test.Person)に対するID、フィールド名(COLUMN_NAME)、データタイプ(DATA_TYPE)、説明(DESCRIPTION)を取得するSQLは以下の通りです。

SELECT ID,COLUMN_NAME,DATA_TYPE,DESCRIPTION
FROM INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA='Test' AND TABLE_NAME='Person'

関連するFAQトピックもご参照ください:「プログラムから、クラス定義に記述されたプロパティ定義を取得する方法はありますか?」

0
0 370
記事 Mihoko Iijima · 3月 9, 2021 1m read

これは InterSystems FAQ サイトの記事です。

ダイナミックオブジェクトから JSON 文字列を生成するときに使用する %ToJSON() の引数にストリームオブジェクトを指定することでエラーを回避できます。

コード例は以下の通りです。

USER>set temp=##class(%Stream.TmpCharacter).%New()

USER>set jsonobj={}

USER>set jsonobj.pro1=["a","b","c","d"]

USER>set jsonobj.pro2=["あ","い","う","え"]

USER>do jsonobj.%ToJSON(temp)

USER>write temp.Size
51
USER>write temp.Read()
{"pro1":["a","b","c","d"],"pro2":["あ","い","う","え"]}

詳細はドキュメントもご参照下さい。

【IRIS】大きいダイナミック・エンティティからストリームへのシリアル化

大きいダイナミック・エンティティからストリームへのシリアル化

3
0 581
記事 Mihoko Iijima · 3月 9, 2021 3m read

これは InterSystems FAQ サイトの記事です。

SYS.ApplicationError クラスの ErrorList クエリを使用します。

注意1:%SYS ネームスペースで実行します。

注意2:ストアド化していないユーティリティのため %SQL.Statement ではなく %ResultSet クラスを利用します。

コマンド実行例は以下の通りです。

USER>set $namespace="%SYS"   //または zn "%SYS"

%SYS>set rset=##class(%ResultSet).%New()

%SYS>set rset.ClassName="SYS.ApplicationError"

%SYS>set rset.QueryName="ErrorList"

// クエリの第1引数はネームスペース名、第2引数は日付を指定します(形式:MM/DD/YYYY)
%SYS>do rset.Execute("USER","08/17/2020")

// 画面に結果を表示させる場合は %Display()メソッドを実行します。
%SYS>do rset.
0
0 194
お知らせ Mihoko Iijima · 3月 8, 2021

開発者の皆さんこんにちは!

第10回 InterSystems グランプリ・プログラミングコンテスト への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。

今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

🏆 Experts Nomination  - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。 

🥇 1位 - $6,000 は  vscode-intersystems-iris を開発された @Dmitriy Maslennikov さんに贈られました! 

🥈 2位 - $3,000 は iris-rad-studio を開発された @Henrique Dias Diasさんに贈られました!

🥉 3位 - $2,000 は HealthInfoQueryLayer を開発された @Botai Zhang さんに贈られました!

🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。

🥇 1位 - $3,000 は HealthInfoQueryLayer を開発された @Botai Zhang さんに贈られました!

1
0 107
記事 Mihoko Iijima · 3月 5, 2021 1m read

これは InterSystems FAQ サイトの記事です。

永続クラス(=テーブル)定義に提供される %BuildIndices() メソッドの引数に、インデックスを再構築したい ID の開始値と終了値を指定することにより、その範囲内のインデックスのみが再構築できます。
 

例えば、Sample.Person クラスにある NameIDX インデックスと ZipCode インデックスを ID=10~20 のみ再構築する場合は、以下のように実行します(ID の範囲は、第5引数、第6引数に指定してます)。

 set status = ##class(Sample.Person).%BuildIndices($LB("NameIDX","ZipCode"),1,,1,10,20) 

$LB() は $ListBuild() 関数で、%BuildIndices() メソッドでは、インデックス名を指定するために使用しています。

インデックスの再構築方法については、ドキュメントもご参照ください。

2018.1 以下はこちらのドキュメントをご参照ください。

0
0 493
記事 Mihoko Iijima · 3月 5, 2021 2m read

これは InterSystems FAQ サイトの記事です。

※ ここで説明するバックアップ方法は、外部バックアップ(##class(Backup.General).ExternalFreeze()を使用する方法)ではご利用いただけません。

その1(差分)

毎週日曜日1時にフルバックアップ、月曜日~土曜日の1時に差分バックアップを取得しているとします。

差分バックアップは、前日の1時に取得したバックアップからの更新ブロックが含まれるバックアップです。

その2(累積)

毎週日曜日1時にフルバックアップ、月~火曜日の1時に差分バックアップ、水曜日1時に累積バックアップ、木~土曜日の1時に差分バックアップを取得するとします。

累積バックアップは、前回のフルバックアップからの更新ブロックが含まれるバックアップで、水曜日に累積バックアップを取得した場合、月曜日と火曜日の差分バックアップは水曜日に累積バックアップに含まれるため、累積バックアップ成功後、月曜日と火曜日に差分バックアップは破棄できます。

オンラインバックアップ詳細については「データベースのバックアップ方法について」や、下記ドキュメントをご参照ください。

オンライン・バックアップ【IRIS】

Cachéオンライン・バックアップ
 

0
0 872
お知らせ Mihoko Iijima · 3月 1, 2021

開発者のみなさん、こんにちは!

第10回 InterSystems グランプリ・プログラミングコンテストの投票が開始されました!

🔥 これだ!と思う一押し作品に投票お願いします! 🔥

投票期間:3月1日~7日 (1週間)

投票方法は?

コミュニティメンバーはどなたでも投票いただけます!

投票種別は、Expert Nomination と Community Nomination に分かれています。コミュニティメンバーは、Community Nomination を選択いただき、どの作品がどの順位になるかを指定しながら投票してください!

Community Leaderboard:







順位 ポイント
1位 3点
2位 2点
3位 1点

そして、エキスパートノミネーションからの投票は以下の通りです(エキスパートのレベルが上がると獲得できるポイントも増えます!)。

0
0 93
記事 Mihoko Iijima · 2月 26, 2021 2m read

これは InterSystems FAQ サイトの記事です。

%SYS.ProcessQuery クラスの AllFields クエリを使用すると取得できます。

詳細は、ドキュメント「プロセス(ジョブ)について【IRIS】 / プロセス(ジョブ)について」もご参照ください。

ターミナルでの実行例は以下の通りです。

USER>set stmt=##class(%SQL.Statement).%New()
USER>set st=stmt.%PrepareClassQuery("%SYS.ProcessQuery","AllFields")
USER>write st   // 1が戻ったら%Execute()を実行できます
1
USER>set rset=stmt.%Execute()
// Job番号-PID-OSユーザ名-カレントデバイス-ルーチン-状態-ユーザ名 を表示しています。
USER>while rset.%Next() { write rset.%Get("JobNumber"),"-",rset.%Get("Pid"),"-",rset.%Get("OSUserName"),"-",rset.%Get("CurrentDevice"),"-",rset.%Get("Routine"),"-",rset.%Get("State"),"-",rset.
0
0 318
記事 Mihoko Iijima · 2月 25, 2021 2m read

これは InterSystems FAQ サイトの記事です

復旧を優先される場合を除き 【トラブル発生状態のまま】弊社サポートセンターまでご連絡ください。

その際、専用ツールを利用して情報収集いただくことで(所要時間約 5分)、サポートセンターによる状況確認がスムーズに行えます。

ツール使用方法については、PDF または以下ビデオでご紹介しています。

※ InterSystems IRIS / IRIS for Health をご利用の方は、こちらの記事をご参照ください。

ぜひ 1 度、テスト/開発環境で実行をお試しいただき、万が一の場合に備えていただければ思います。

0
0 239
記事 Mihoko Iijima · 2月 25, 2021 1m read

これは InterSystems FAQ サイトの記事です。

復旧を優先される場合を除き【トラブル発生状態のまま】弊社サポートセンターまでご連絡ください。

その際、専用ツールを利用して情報収集いただくことで(所要時間約 5分)、サポートセンターによる状況確認がスムーズに行えます。

ツール使用方法については、PDF または以下ビデオでご紹介しています。

※ Caché/Ensemble/Caché ベースの HealthConnect をご利用の方は、こちらの記事をご参照ください。

ぜひ 1 度、テスト/開発環境で実行をお試しいただき、万が一の場合に備えていただければ思います。

ビデオの目次(YouTubeでもご覧いただけます)

0:00~1:40 情報収集ツールを使用する上での大事なポイント

1:41~2:24 ツールの種類について

2:24~3:45 どのツールを実行したらいいか困った時の考え方

3:45~5:04 管理ポータルの診断レポートの例

5:04~6:30 ^SystemCheckの実行例

6:30~7:50 IRISHungスクリプトの実行例(Linuxの例)

7:50~8:50 IRISHungスクリプトの実行例(Windowsの例)

8:50~9:52 ツールから生成されたHTMLのファイル名について

9:52~11:32 ツールから生成されたHTMLの中身について

11:32~ まとめ

0
0 390
記事 Mihoko Iijima · 2月 21, 2021 3m read

皆さんこんにちは!

VSCode の SQLTools エクステンションを使うと、VSCode から SQLTools に対応しているデータベースへ接続/クエリ実行が行えるようです。

1 つの IDE で 各種言語を操作でき、さらにクエリも発行できるなんて VSCode って便利ですね!👏👏

実は、まだプレビュー機能ではありますが、InterSystems IRIS も接続できます!🎊🎊

正式リリース前なのですが、どんな感じでご利用いただけるかをご紹介したいと思います。

解説ビデオ(4分ちょっと)もあります。ぜひご参照ください。

※ ObjectScript エクステンションの基本的な操作方法については、こちらの記事をぜひご参照ください。

手順1:SQLTools エクステンションをインストール

(ビデオでは、0:00~0:32 で解説しています)

図の手順でインストールします(右画面の SQLTools の説明文下の方に対応データベースリストがあり、「InterSystems IRIS」の文字も見えます!)。

手順2:SQLTools に対応するドライバをインストール(ここでは IRIS 用ドライバのインストール)

(ビデオでは、0:32~1:09 で解説しています)

SQLTools のインストールが終わると、VSCode の左端の黒いバーのところに   アイコンが見えるのでクリックします。

2
0 1532
記事 Mihoko Iijima · 2月 19, 2021 2m read

これは InterSystems FAQ サイトの記事です。

Java のガベージコレクションは、使用しなくなったメモリ上のオブジェクトを自動開放するしくみですが、InterSystems data platform(以下IRISと表記)のガベージコレクションは、意味が異なります。

IRIS では、ディスク上の大量のデータノードを 1 コマンド(killコマンド)で削除する機能があります。

通常、データ容量が増えれば、それに伴い、削除に必要な時間が増加しますが、そうすると、そのkillコマンドを発行したプロセスが、削除が終わるのを待つ時間が増加することになってしまいます。

その様な事象の発生を避けるため、IRIS では、ユーザプロセスが大量のデータを削除する kill コマンドを発行した際に、その場で削除に必要な全ての処理を行うのではなく、削除が必要な開始の場所だけを示して、次の処理に進むようになっています。

その後、ガベージコレクタというシステムプロセスに起動がかかり、その指示されたポイントから大量データの削除に伴う領域の開放処理をバックグラウンドで処理していきます。

つまり、論理的な削除は、一瞬で終わるが、実際の物理的な削除は、遅延して行われる仕組みとなります。

このような仕組みをガベージコレクションと呼んでいます。

0
0 148
記事 Mihoko Iijima · 2月 19, 2021 1m read

これは InterSystems FAQ サイトの記事です。

インターシステムズは、個々の仮想化ソフトウェアに対して、弊社製品の動作検証は行なっておりません。

インターシステムズでは、弊社製品がサポートするプラットフォームをサーバプラットフォームという単位で定義しています。

サーバプラットフォームは、オペレーティングシステムとそのバージョン、およびそのオペレーティングシステムが動作するプロセッサタイプの 3 つの要素で定義されます。

従いまして、ある仮想ソフト上で InterSystems 製品がサポートしているサーバプラットフォームが稼動し、その上で InterSystems 製品が動作している限りにおいて、製品のサポートを提供します。

0
0 116
記事 Mihoko Iijima · 2月 19, 2021 4m read

開発者の皆さん、こんにちは!

VSCode の ObjectScript エクステンションで、プロセスにアタッチしてデバッグする方法についてご紹介します。

ObjectScript エクステンションの基本的な操作方法については、こちらの記事をぜひご参照ください。

解説ビデオ(4分ちょっと)もあります。ぜひご参照ください。

手順1:launch.json の用意

VSCode のデバッグ実行に関連する各種の構成情報を記述するための launch.json に ObjectScript エクステンション用の設定を記述します。

(ビデオだと、最初~1:31 で解説しています)

プロセスにアタッチするデバッグ設定例は以下の通りです。

{

    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.
2
0 14595
記事 Mihoko Iijima · 2月 12, 2021 3m read

これは InterSystems FAQ サイトの記事です。

以下例のクラスメソッド getLatestID() のように ObjectScript のクラスメソッドを用意します。
返したい値を戻り値に指定し、SQLストアドプロシージャ(SqlProc)キーワードを指定するだけで値が返せます。

ClassMethod getLatestID() As %Integer [ SqlName = getLatestID, SqlProc ]
{
    set latestID=$Order(^ISJ.TestClass1D(""),-1)
    quit latestID
}

操作を試す場合は、以下のクラス定義をご準備ください。

Class ISJ.TestClass1 Extends (%Persistent, %Populate)
{
Property name As %String;

ClassMethod getLatestID() As %Integer [ SqlName = getLatestID, SqlProc ]
{
    set latestID=$Order(^ISJ.
0
0 446
記事 Mihoko Iijima · 2月 12, 2021 5m read

これは InterSystems FAQ サイトの記事です。

XMLファイルの内容を格納する永続クラス定義を作成し、%XML.Adaptor を追加で継承します。

例は以下の通りです(右端の %XML.Adaptorクラスを追加で継承します)。

Class ISJ.Class1 Extends (%Persistent, %Populate, %XML.Adaptor)

次に、%XML.Reader クラスを使用して格納先のインスタンスへ、タグとクラスの関連付け(Correlate())を行い、reader.Next() でXMLを取り込みます。

set sc=reader.OpenFile(filename)
do reader.Correlate(tag,class)
while reader.Next(.x,.sc) { do x.%Save() } 

サンプルコードは以下の通りです。

Class ISJ.Class1 Extends (%Persistent, %Populate, %XML.
0
0 2236
お知らせ Mihoko Iijima · 2月 8, 2021

開発者の皆さん、こんにちは!

第10回のグランプリ・プログラミングコンテストの 続報 📣 のテクノロジーボーナスについてご紹介します。

今回のコンテストでは、チームで開発した作品もご応募いただけます!ぜひコンテスト詳細ページもご確認ください!







Group Bonus Points
General Docker 2
ZPM 2
Unit Testing 2
API REST API 2
ODBC/JDBC 2
Native API in Java, Python, .NET, node.
0
0 105
記事 Mihoko Iijima · 2月 5, 2021 5m read

これは InterSystems FAQ サイトの記事です。

Java ゲートウェイを使用することで、Java クラスのモジュールを InterSystems IRIS から実行できます。

【メモ】Java ゲートウェイは、外部 Java オブジェクトを InterSystems IRIS 内のネイティブ・オブジェクトと同じようにインスタンス化し、Javaオブジェクトを操作するための方法です。

詳細は以下ドキュメントをご参照ください。
Java ゲートウェイについて

Java ゲートウェイを使用する手順は以下の通りです。

1) Java ゲートウェイサーバを開始する

2) プロキシオブジェクト(ダイナミック・プロキシ・オブジェクト)を作成して Java オブジェクトを操作する


1) Java ゲートウェイサーバを開始する

Java ゲートウェイサーバを開始する方法は 3 種類あります。以下のいずれかの方法で、Java ゲートウェイサーバを開始します。

A) 管理ポータルの「オブジェクトゲートウェイ」を利用する

B) プロダクションにJavaゲートウェイサービスを追加する

C) java コマンドを使用する

A)~C) の方法は以下の通りです。

0
0 524
お知らせ Mihoko Iijima · 2月 1, 2021

開発者の皆さんこんにちは!

第9回 InterSystems IRIS プログラミングコンテスト(マルチモデルコンテスト) への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。

今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

🏆 Experts Nomination  - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。 

🥇 1位 - $2,000 は  iris-image-index-demo を開発された @José Roberto Pereira さんに贈られました!

🥈 2位 - $1,000 は zapm を開発された @Sergey Mikhailenk さんに贈られました!

🥉 3位 - $500 は iris-multimodel-suite を開発された @Renato Banzai さんに贈られました!

🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。

🥇 1位 - $1,000 は HealthInfoQueryLayer を開発された @Botai Zhang さんに贈られました!

0
0 95
記事 Mihoko Iijima · 2月 1, 2021 3m read

開発者のみなさん、こんにちは!

IRIS プログラミングコンテストでは、💨すぐに💨開発を開始いただけるようにコンテナ版 IRIS を利用した「開発環境テンプレート」をご提供してしていました。

終了したコンテストにはご応募いただけませんが、テンプレートは「ちょっと試したい」「加工して自分オリジナル環境を作りたい」の目的にぴったりの内容です。

また、全て Open Exchange で公開されていて、Docker、Git、VSCode をインストールした環境があればすぐにご利用いただけます。

テンプレートの使用方法については、各コンテストの紹介ページでご案内しています(日本語解説ビデオ付きもあります)。

基本は以下 3 行だけで開始できます。(とっても簡単!)

git clone <ここにテンプレートのURL>

cd <作成されたディレクトリ>

docker-compose up -d --build

ご興味ある内容ありましたら、ぜひお手元で試してみてください!



コンテスト名 内容紹介+テンプレート解説ビデオ(YouTube) テンプレート
REST

https://www.intersystems.

0
0 386
お知らせ Mihoko Iijima · 2月 1, 2021

開発者の皆さん、こんにちは!第10回目のコンテストが発表されました👏👏

今回は 🏆 InterSystems グランプリ・プログラミングコンテスト 🏆 です!

今回は、いつものコンテストと賞金が異なり 賞金総額:16,000ドルです( ゚Д゚)

応募期間は 2021年2月8日~2月28日 (投票期間は 2021年3月1日~7日、勝者発表は 3月8日)です。

優勝特典

1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

🥇 1位 - $6,000  

🥈 2位 - $3,000  

🥉 3位 - $2,000

2、開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。

🥇 1位 - $3,000 

🥈 2位 - $1,500 

🥉 3位 - $500

複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。

参加資格

どなたでもご参加いただけます!(InterSystems 開発者コミュニティのアカウントを作成するだけでご応募いただけます)

コンテストのスケジュール

2月8日~28日 応募期間(Open Exchange へ作成されたアプリケーションをアップロードいただける期間=2週間です。この期間内であればアップロード後も自由に編集できます。

1
0 221
記事 Mihoko Iijima · 1月 29, 2021 4m read

これは InterSystems FAQ サイトの記事です。

%SYS.Journal.File クラスの ByTimeReverseOrder クエリ と %SYS.Journal.Record クラスの List クエリを使用して検索することができます。

それぞれのクエリの役割は以下の通りです。

A) %SYS.Journal.File クラスの ByTimeReverseOrder クエリ

ジャーナルファイル名を取得できます。ジャーナルファイル名の降順で結果が返ります。​​

USER>set stmt=##class(%SQL.Statement).%New()

USER>set status=stmt.%PrepareClassQuery("%SYS.Journal.File","ByTimeReverseOrder")

USER>set rs=stmt.%Execute()

USER>while rs.%Next() { write rs.%Get("Name"),! }
c:\intersystems\irishcom\mgr\journal\20230725.002
c:\intersystems\irishcom\mgr\journal\20230725.
0
0 523
記事 Mihoko Iijima · 1月 29, 2021 2m read

これは InterSystems FAQ サイトの記事です。

システム提供の %SYS.GlobalQueryクラス の Size クエリーを使用することで取得できます。

使用例は、以下のサンプルコードをご参照ください。
※カラムやパラメータの指定はクラスリファレンスをご確認ください。

 set dir="C:\intersystems\iris\mgr\user" // IRIS.DAT(またはCACHE.DAT)フォルダ
 set rs = ##class(%ResultSet).%New("%SYS.GlobalQuery:Size")
 do rs.Execute(dir) // 第3引数でマスク指定も可
 while (rs.Next()) { 
   set gname= rs.Get("Name") // グローバル名
   set gsize= rs.Get("Used MB") // グローバルサイズ(MB)
   write gname," : ",gsize,!
 }

グローバル変数のサイズが大きい場合、取得時間がかかる場合もあります。その場合、Size クエリー 実行時、第 6 引数に 1 を指定してクエリを再実行してみてください。

第 6 引数の指定により、簡易モードでサイズを取得します。

0
0 436
お知らせ Mihoko Iijima · 1月 25, 2021

開発者の皆さん、こんにちは。

第9回 IRIS プログラミングコンテスト(マルチモデルコンテスト)の投票が開始されました!

🔥 これだ!と思う一押し作品に投票お願いします! 🔥

投票期間:1月25日~31日 (1週間)

投票方法は?
Expert Nomination または Community Nomination を選択いただき、どの作品がどの順位になるかを指定しながら投票します。

Community Leaderboard:







順位 ポイント
1位 3点
2位 2点
3位 1点

そして、エキスパートノミネーションからの投票は以下の通りです(エキスパートのレベルが上がると獲得できるポイントも増えます!)。

Experts Leaderboard:







エキスパートレベル

順位
1位 2位 3位
GM、モデレーター、プロダクトマネージャーのVIPレベル 9点 6点 3点
グローバルマスターズのエキスパートレベル 6点 4点 2点
グローバルマスターズのスペシャリストレベル 3点 2点 1点

エキスパートリーダーボードの投票はコミュニティリーダーボードにもポイント(1位3点、2位2点、3位1点)が加算されます。

0
0 97
記事 Mihoko Iijima · 1月 15, 2021 2m read

これは InterSystems FAQ サイトの記事です。

$ZSTRIP() 関数を使用します。

この関数を使用すると、指定文字列から、文字のタイプと文字を削除できます。

下記の例のように、第2引数で、"<"、">"、"<>"を指定することにより、SQLのLTRIM、RTRIM、TRIM関数と同等の処理が可能になります。

0
0 1045
記事 Mihoko Iijima · 1月 15, 2021 1m read

これは InterSystems FAQ サイトの記事です。

InterSystemsでは、既存のお客様および見込みのお客様と実施した他DBMS製品との比較を行った様々なベンチマーク結果を持っています。

しかし、それらの結果に関して、ほとんどのRDBMSベンダのライセンス条項に当該RDBMSベンダの承諾なしにベンチマーク結果を公表してはならないという条項があるため、現実問題として一般的な公表は、難しい状況です。

一方、TPC等の公共の機関等がベンチマーク条件を策定、公開しているベンチマークに関しては、必要な実施コストに対して得られるものが少ないと考えており、過去にも実施しておりませんし、将来も実施する予定はありません。

InterSystemsは、TPCの様な現実のシナリオからかけ離れたベンチマークを実施するのではなく、実際のアプリケーションを模したベンチマークシナリオを構築し、それに基づき、各ハードウェアベンダ、パートナ企業、エンドユーザとの協力の基、ベンチマークを実施しております。

様々なベンチマークの結果をまとめた記事があります。ぜひご参照ください。

IRISで公開しているベンチマーク資料

2
0 358
お知らせ Mihoko Iijima · 1月 11, 2021

開発者の皆さん、こんにちは!

第9回のマルチモデルコンテストの 続報 📣 の「テクノロジーボーナス」についてご紹介します。

  • InterSystems Globals (key-value)
  • InterSystems SQL
  • InterSystems Objects 
  • Your data model
  • ZPM Package deployment
  • Docker container usage

詳細は以下ご参照ください。<--break->

InterSystems Globals (key-value) - 2 points

InterSystems グローバルは、InterSystems IRIS に任意のデータを格納するために使用される多次元スパース配列です。
各グローバル・ノードはキーとみなされ、値(バリュー)を設定することができます。InterSystems IRIS は、グローバルを管理するための ObjectScript のコマンドや Native API を含む一連の API を提供しています。

ObjectScript または Native API を介してグローバルを使用すると、2 ポイント獲得できます。

0
0 131