Firebird Documentation IndexFirebird 2.5 リリースノート国際言語のサポート(INTL) → その他の改善点
Firebird Home Firebird Home Prev: 接続文字列とキャラクタ・セットFirebird Documentation IndexUp: 国際言語のサポート(INTL)Next: コマンドライン・ユーティリティ

その他の改善点

Introducer構文の使用法
不正な形式のUNICODE_FSSキャラクタの禁止
不正な形式の文字列の修正
数値ソート属性
キャラクタ・セットとコレーション

Introducer構文の使用法

introducer構文、つまり、キャラクタ・セット名にアンダースコアを前置することにより、それに続くリテラルなテキストを強制的にそのキャラクタ・セットに変換させる手法を用いた場合、一つのSQL文が複数のキャラクタ・セットを扱わざるをえない状況で、問題が起きることがありました。実際に起きる問題は、変換エラーや、不正な形式の文字列のエラー、または何らかの予期せぬ挙動を示すといったように、バージョンによって異なります。

二つの違った使用シーンで問題が起きるようです─

  1. あるクエリがMON$STATEMENTSからselectを実行している時に、他のクエリがintroducer構文を使う場合

  2. introducer構文がPSQLモジュールで使用された場合

このような問題を回避するため、リテラルな文字列をintroducerから渡されるASCIIキャラクタによる16進表現に変換できるようになりました。例えば、


    select _dos850 '123áé456' from rdb$database
      

これが、次のように変換されます


    select _dos850 X'313233A082343536' from rdb$database
      

不正な形式のUNICODE_FSSキャラクタの禁止

トラッカー・リファレンス CORE-1600

不正な形式のキャラクタがUNICODE_FSSカラムのデータとして認められなくあんりました。

不正な形式の文字列の修正

gbakユーティリティ・コードに新しいリストア・スイッチが追加され、影響を受けたデータベースのバックアップをリストアし、不正な形式のUNICODE_FSSデータやメタデータを修正できるようになりました。詳細は、ユーティリティの章のgbakの節をを参照して下さい。

数値ソート属性

トラッカー・リファレンス CORE-1945

UNICODEコレーション向けに、数値のソート用オーダーを指定するカスタム属性NUMERIC-SORTが使えるようになりました。

フォーマットと使用法


  NUMERIC-SORT={0 | 1}
      

デフォルト値は0で、数値もアルファベットのオーダーでソートされます。例えば:

    1
    10
    100
    2
    20
      

値を1に設定すると、数値のオーダーでソートされます。例えば:

    1
    2
    10
    20
    100
      

create collation unicode_num for utf8
from unicode 'NUMERIC-SORT=1';
      

キャラクタ・セットとコレーション

UNICODE_CI_AI

トラッカー・リファレンス CORE-824

UNICODE_CI_AI:UTF8向けに大文字小文字、アクセント記号を無視したコレーションが追加されました。

WIN_1258

トラッカー・リファレンス CORE-2185

他のWIN*キャラクタ・セットとの整合性のため、キャラクタ・セットWIN1258にエイリアスWIN_1258が追加されました。

キャラクタ・セットSJISおよびEUCJ

トラッカー・リファレンス CORE-2103

キャラクタ・セットSJISとEUCJの文字列で適格性の検証が行われるようになりました。

キャラクタ・セットGB18030

トラッカー・リファレンス CORE-2636

GB18030は、中国国内のソフトウェアに必須の言語・キャラクタをサポートする中国語の国家規格です。ICUからアクティベートされています。

Prev: 接続文字列とキャラクタ・セットFirebird Documentation IndexUp: 国際言語のサポート(INTL)Next: コマンドライン・ユーティリティ
Firebird Documentation IndexFirebird 2.5 リリースノート国際言語のサポート(INTL) → その他の改善点