Personal tools
You are here: Home ブログ MAGIC V10解析(9)
« February 2012 »
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
About this blog
 当ブログサイトでは、MAGIC(uniPaaS)やDB2に関する技術者向け情報を公開しています。お気軽にお立ち寄り下さい。
Recent comments
SUBJ1 How To Keep A Man Interested 2011-10-15
Re:Club DB2 2009/8/29 muka 2009-09-01
Re:Club DB2 2009/8/29 SIM 2009-08-31
 

MAGIC V10解析(9)


MAGICフォーラム2007


MAGIC Forum 2007 みなさん、お元気ですか?
 さて、一昨日は、MAGICフォーラムに参加して参りました。
 多くの方が参加し大盛況で、本当に何よりでした。プレゼンは楽しかったですし、ブラクラじゃないリッチクライアントはちょっと驚きで、やはりMAGICやるしかないかな・・・(どういう意味だ?)、なんて思った次第です。w
 MAGICビジネスの発展を祈るばかりです。
 そうそう、お会いした方の何人かに、「ブログを見てるよ」と言って頂きましてとても嬉しかったです。有難うございます。m(__)m

 さて、MSJの技術の人たちとちょっと立ち話になりまして(立食パーティだったので、当然ながら、立って話すしかなかったんですが・・・w)、そのときにMAGICのリポジトリソースの話になったんです。
 「そんなことはなかんべぇ・・・」と言われてしまったのですが、この場をお借りして(借りるまでも無く私のサイトですねw)、私の言いたかったことを説明させて頂きたいと思います。

データソースインデックスのセグメントとカラムの関連について


 ところで先日ベータ公開させて頂きましたリポジトリ解析ツールは無事動きましたでしょうか?
 実は公開したあと気付いたんですが、第三者が作成したコンポーネントを使っているようなアプリケーションでは多少問題が発生します。というのは、コンポーネントを使っているアプリケーションの場合、そのコンポーネントのソースを探しに行くんですが、そのとき情報の取得に失敗してエラーが出てしまうようです。近いうちにまた修正版を出したいと思います。
 そのリポジトリ解析ツールで、私が定義したとあるプロジェクトのデータソースの情報を見てみたいと思います。
 下の図が、データソースのカラムを表示している画面です。

dav10ds01.jpg


 解析ツールは、通常見ることのできないカラムのid(下のソースの赤枠部分)を表示してくれます。
 この例は、カラム表示順に対して、「4」,「3」,「2」,「5」と変則的な順番になっていますが、これはカラムを削除したり順番を入替えたりした痕跡です。(おそらく試行錯誤をしたんですね!)
 

dav10ds02.jpg


 さて、今度は、インデックスの一覧です。
 インデックスにも「id」などの通常見れない番号があるんです。(idがあるものについては、たいていの場合、コメントなども入れられるようになっているようです。)

dav10ds03.jpg


 この例では3つのインデックスが作成してあります。
 画面下に表示されるテーブルは、一番目のインデックスのセグメントを表示しています。
 ここで注目して欲しいのは、カラム番号として「1」と「2」を指していることです。
 ソースファイルを見ると、下図の赤い囲みの数値になります。

dav10ds04.jpg

 このカラムを指す番号は、最初カラムに付けられた「id」を指すものと予想したのですが、どうやらそうではなくて、いわゆる「カラム情報のXML上の出現順の番号」を指しています。
(上の例では「id」が「1」となるカラムは存在していないことから、「id」を指すものでなさそうなことは推測できますね。)

 さて、これが原因で問題になるケースがあるのでしょうか?
 実は次のような手順でXMLタイプのデータを定義した場合に、インデックスで指定したカラムがズレてしまう・・・という現象が起きます。

  1. XMLタイプのデータソースを定義

    dav10ds05.jpg

  2. スキーマ情報を「定義取得」
  3. インデックスを任意のカラムに対して定義

    dav10ds06.jpg

  4. スキーマを変更し、インデックスを指定したセグメントカラムに該当する属性の前に、新しい属性を追加

    dav10ds07.jpg

  5. 変更したスキーマ情報を「定義取得」で再取得
  6. インデックスのカラム位置が新しいカラムに付け変わる

    dav10ds08.jpg

 ということで、XMLスキーマの定義を変えた場合は、インデックスで指定したカラムがズレることがありますので、ご注意下さい。
 私は、これに気付かずにプログラムを実行した途端に誤動作(インデックスが重複している等のエラーが発生)したことがありました。
 まぁ、それ以外のケースで問題になることはなさそうなので、これはこれでなんとか我慢できるかな?とは思っていますが・・・。
 ついでなので、今までXMLタイプのデータを扱ってみて、ちょっと不満に思う点を記述しておきます。

<XMLタイプデータを扱う際の不満点>

  1. 定義取得の再取得が上手く動作しないことがある

     スキーマを変更したときに、「定義取得」を再度行うのですが、追加したノードや属性が追加されないことがあります。そんなときは、しょうがないので最初からやり直すのですが、プログラムと関連している場合は修正が大変です。

  2. 除去したカラムが再度追加される

     ビューから削除したノードや属性が、「定義取得」の再読込で全て追加されてしまいます。
     カラムが多い場合は大変で、ひとつひとつ再度操作しなければなりません。
     再読込の際に表示される「関連するビューの検索と再読込」のチェックを外しても結果は同じなんですが、こういう動作は仕様でしょうか?
     ちなみに、これらの操作の度に、カラムのidが増えてしまいまして、あるデータはカラムidが1000を超えてしまっているものがあります。


もしMSJの方でこの書込みを見る機会がありましたら、ご検討を宜しくお願い致します。
(プライオリティ的には、リッチクライアントのリリースを最優先にして頂いて構いませんので・・・w)



MAGIC Decrypter for V10 MAGIC Decrypter for V10
Size 6.3 kB - File type text/html
MAGIC V10解析(1) MAGIC V10解析(1)
Size 8339 - File type text/html
MAGIC V10解析(2) MAGIC V10解析(2)
Size 8904 - File type text/html
MAGIC V10解析(3) MAGIC V10解析(3)
Size 9714 - File type text/html
MAGIC V10解析(4) MAGIC V10解析(4)
Size 9882 - File type text/html
MAGIC V10解析(5) MAGIC V10解析(5)
Size 10443 - File type text/html
MAGIC V10解析(6) MAGIC V10解析(6)
Size 9739 - File type text/html
MAGIC V10解析(7) MAGIC V10解析(7)
Size 12563 - File type text/html
Category(s)
dbMAGIC
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
スパム防止のためにコード入力が必要です。恐縮ですが下図の英数字を入力して下さい。