[プログラミング][PostgreSQL] 比較演算子の型チェックについて

ちょっとPostgreSQLの関数の挙動について分からないことがあったのでメモ。

通常、比較演算子を使うとき、両者の型が同じでないとエラーになる。

# select '0.0' = 0;
ERROR:  invalid input syntax for integer: "0.0"
#

しかし、関数の返り値については型チェックがうまく働いていないようで、比較処理が実行されてしまう。

# select return_str0() = 0;
 ?column?
----------
 f
(1 row)
# select return_str0() = 0.0;
 ?column?
----------
 t
(1 row)
#

定義した関数は以下になります。返り値の型も明示的に宣言しているのにチェックが働いていないっぽい。今回確認したのはPostgreSQL8.2.4でした。

create function return_str0() returns character
  as $_$
begin
        return '0.0';
end;
$_$
language plpgsql;

これは仕様なのかな?これってPostgreSQL9でも再現するのか気になる。

[その他] 一ヶ月振りにプール

引越してから色々とやることがあってプールに行けなかったが、落ち着いてきたので柴崎体育館のプールに行ってきた。
以前通っていたプールよりも広かったんで結構満足した。

そろそろボルダリングでも始めてみようかと思っている

[その他] 引越しました

昨日鳩ヶ谷の旧居を引き払い立川に越してきました。昨年の目標のひとつが引越すってことだったんですが、引越し候補地を色々散歩しているうちに1年過ぎてしまいました・・・

部屋は以前よりも大分狭くなりましたが、モノも大分減らしたので以前より部屋が広々としています。
引越しの決め手はこんな感じです。

  1. 山に近い(部屋から奥多摩丹沢山地、富士山が見える)
  2. 会社に電車1本で行ける
  3. その他諸々
  4. モノレールが走っている!

早く色々終わらせて新しい土地の生活を楽しみたいです!

[映画] 晴郎プロジェクト in 東京 第6回

今回は109シネマズ川崎ソーシャル・ネットワークを観てきました。Facebookの立ち上げから現在までの実話に少しフィクションを加えた映画で、映画の所々にApachePerlSSLEmacsなどの用語が出てきてプログラマ的にはちょっと嬉しくなるところがありました(ただ翻訳では省かれているものがあります)。

この映画はWEB開発の知識とアメリカの歴史を知っているとより面白く観れるんじゃないかなと思いました(アメリカの大学間の関係や人種差別的な発言についてはちんぷんかんぷんなんで)。

# 次回は私の引越し先の立川で開かれるかもってことなので楽しみ