確か2004年に購入した、まだIBMだったころのThinkpad X31を親が使っている。親がメールで言うことには、ガリガリ言っているらしい。X31は俺が使っている頃から既にHDDのクラスタ破損→メモリ死亡→再びメモリ死亡と病気がちで、親に渡してからもメモリ死亡とCPUファン停止があるので、もう寿命かもしれない。どうも放熱設計に問題があるらしい個体をお守りするよか、HPあたりの安いデスクトップを買った方がトクな気はする。
とりあえずメーカに電話してみなきゃ。しかし、保証期間はとっくに過ぎているし、元々のメモリはないし、HDDにクラスタ破損があるのでまず強制的に取り替えられるとして、料金表から計算すると総計5万5千円くらいする。む…、まあ、チェックだけで9千円くらい取られるみたいだけど、とりあえず送ってみるか。
以下色々書いたけど、vallogで既出なのでそちらを読むと良いが、Gauche-dbd-pgはgithubから持ってきたほうが今っぽいと思う。
DBIモジュール自体は本体同梱。ドライバが入ってないのでKahuaのgithubから取得してインストール。Cygwinでやるならlibpq-develあたりが欲しい。
make installでgauche-install.exeがPermission deniedになるので(理由が不明)、Gaucheのソースディレクトリのgauche-install.exeを使うようにMakefileを変更するとうまくいく。と思ったら、デバッグしようと思ってCFLAG='-g -O0'したら治ったし、デバッグオプション外しても動いたから入れた時に何かあったくさい。なんだそれ。
コードが6年間変更されてない割には問題なさそう。
基本的にはGaucheでDBIとか@ITの記事で動くのだが、どうもDBから戻ってくる値はstring固定っぽいような。この辺PHPだと適当にやってくれるんで楽だったりハマったりするわけだが、もし数値で扱うならいちいちstring->numberとかしなきゃないのか。NULL(空文字らしい)もあるしな。ORマッパ入れてそこで型変換するのがいいんだろうけども。