[pgsql-jp: 40455] Re: 自作関数nvlの挙動について

Hiroshi Inoue inoue @ tpf.co.jp
2010年 10月 18日 (月) 08:55:33 JST


井上です。
Mylog情報ありがとうございました。

(2010/10/15 15:53), toshihideka4316 @ zenrin.co.jp wrote:
>   お世話になります。片山です。
> 
>> 気になってはいたのですがなかなかチェックしている余裕
>> がありません。まずは最新のODBCドライバを試してみて
>> ください。
>>   http://www.ne.jp/asahi/inocchichichi/entrance/psqlodbc/indexj.html
>> 	の8.4.0202に向けて確認テスト中のドライバ
> 
> ODBCドライバ8.4.02.02でCOALESCE関数を使用して動作検証を行いましたが、以前と同
> じ条件でAPが異常終了しました。

同所からもう一度9.0.0102に向けて確認テスト中のドライバを
テストしてみてください。
なお新しいオフィシャル版9.0.0101がリリースされています。
既にパッケージ済でしたので今回の修正は含まれていません。

 ↓
>> 1回のSQL発行で、120行程度のレコードが返却され、100件までがnumeric型で8桁、
>> 101件以降がnumeric型で9桁のレコードとなっております。このパターンでレコード
> が取得できる場合でNVLを
>> 使用している場合のみAPが異常終了します。
> 
> 桁数について動作検証を行いましたので情報展開させていただきます。
> #テスト用のテーブルに1〜100件目と101件目のデータで桁数が異なるように101件の
> データを挿入して、ODBC接続で接続しCOALESCE関数を使用するSQLを発行しました。
> (UseDeclareFetch=1を接続文字列で設定)
> 
> 1〜100件目の桁数:101件目の桁数⇒結果
> 9桁          :10桁       ⇒エラー 
> 3桁          :9桁       ⇒エラー
> 3桁          :8桁       ⇒エラー
> 3桁          :7桁       ⇒エラー
> 3桁          :6桁       ⇒エラー
> 3桁          :5桁       ⇒正常終了
> 3桁          :4桁       ⇒正常終了
> 5桁          :6桁       ⇒エラー
> 1桁          :5桁       ⇒正常終了
> 1桁          :6桁       ⇒エラー
> 9桁          :9桁       ⇒正常終了
>> 以上の結果より、
> 桁数が1〜5、6〜9、10のグループを跨いだ場合エラーになるのではと予想します。
> 
> #使用したテストテーブルの宣言
>   CREATE TABLE testdb.testtable(
>     mido numeric(10)
>   )
> 
> #発行したSQL
> select COALESCE(mido,-1) as MIDO from testtable order by MIDO
> 
> #井上さんには別途Mylogを送信させていただきます。
> 
> 以上です。



pgsql-jp メーリングリストの案内