2007年12月13日

What is "Built-In UDT"?

先日、IDS 9から10/11への移行時の注意事項についての記事を書きました。
http://oninit.ti-da.net/e1864915.html
その時、"Built-In UDT"という表記があり、それが何なのか謎でした。マニュアルを始めとする色々な情報源を見ると、IDS 9/10/11では、LVARCHAR, CLOB, BLOGなどのデータ型はユーザー定義データ型と同じような実装方法で実現されていることがわかりました。

そこで、上記の注意事項に戻りますが、この問題は、LVARCHAR, CLOB, BLOB等のデータ型の列にインデックスを作成してあった場合に、IDS9からIDS10へのコンバージョン後その表への更新や挿入などができなくなる、というものです。

IDS 9で、
CREATE DATABASE db;
CREATE TABLE t1 ( col1 INTEGER, col2 LVARCHAR(20) );
CREATE INDEX ix1 ON t1 ( col2 );
INSERT INTO t1 VALUES ( 1, "One" );

した後、このデータベースを含むインスタンスをIDS 10にコンバージョンします。IDSのバージョンが10.00.xC1/xC2の場合には、コンバージョン終了後に、
INSERT INTO t1 VALUES ( 2, "Two" );

などを実行すると失敗します。インデックスを再作成すれば解決できますが、IDS 10.00.xC3以降では、コンバージョン後、このようなデータベースを開いた時に自動的に対策が行われるようコードが追加されたようです。
ただし、この自動的な対策がアプリケーション運用後に動き出すとアプリケーションの運用に問題が出る可能性があります。従って、コンバージョン後クライアントアプリケーションの運用が始まる前に、すべてのデータベースをOpen/Closeしておきましょう、と言うのがリリース・ノートに書いてある注意書きです。



同じカテゴリー(IBM Webサイトにある情報)の記事
JDBC driver
JDBC driver(2022-04-17 15:24)

Informix V12.10.xC6
Informix V12.10.xC6(2016-01-20 23:14)

Informix V12.10.xC5
Informix V12.10.xC5(2015-03-30 22:39)

OpenAdminTool ( OAT) V3.14
OpenAdminTool ( OAT) V3.14(2014-06-28 14:17)


※このブログではブログの持ち主が承認した後、コメントが反映される設定です。
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。