2008年7月22日

[pgsql-jp: 39507] Re:8.3の"operator does not exist"エラー

海老原です。

2008/07/18 19:39 koyama <mlus@xxxxx>:
>> 誤解が多いのですが、シングルクォートで囲った '999' の型は "UNKNOWN" であり、
>> "TEXT" ではありません。UNKNOWN は、他の型への変換が必要になった時点で初めて
>> その型に変換されます。そのため、value = <integer型> と書くのと同じです。
>> (ただ、型推論ができなかった場合のデフォルトの変換は、TEXT です。)
>

> 誤解していました、知りませんでした。
> UNKNOWN という事は、
> setObject(int n, Object o) しても安心ですね。
>
> 勉強になりました。(ちょっと、無精が出来る ^^ )

これはちょっと誤解だと思います。
UNKNOWNは文字列リテラルが型指定なしでサーバに渡された場合の話ではないでしょうか。

PostgreSQLのJDBCドライバは、setObjectで渡されたObjectの型を判別して、setStringやsetIntなど適当なメソッドをコールし直しますので、無精ができるのは正しいのですが。

--
海老原 雄一郎 / EBIHARA, Yuichiro
Email: ebihara@xxxxx


投稿者 xml-rpc : 2008年7月22日 12:24
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/75523
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。