medooのinsertはいただけない
さっそくmedooを試用しているが、いただけない箇所を見つけてしまった。
medoo自体はpdoのwrapperだから、データベース操作失敗時はfalseなりを返してくれればそれでいいのだが、どうやらそうではなかった。問題はinsertの場合。
試用中、insertで、未作成のカラム名を使用してデータを投入しようとしたら、その返り値が「0(文字列)」となった。これはダメだろ。
連番主キーがあり、insertに成功した場合、その返り値は最後に挿入された主キーとなる(ただし文字列として返却されるが)。連番主キーがない場合、もしくは主キーが連番でない場合、insertに成功するとその返り値は「0(文字列)」である。
つまり、成功時と失敗時で同じ返り値となることがあるということだ。error関数でエラーがセットされているかどうかを確認すればいいのだろうけど、使い勝手としてはよくない。medooのソースコードをみたけど、やはり返り値は何らかの数字文字列を返すようになっている。
medooをそのまま使いたいわけではなく、自作フレームワークに組み込みたかったので、さらにmedooのinsert関数を拡張し、insert失敗時はfalseを返すようにした。これで使い勝手は向上するはず。
その他のupdateとかdeleteとかは問題なさそう。さらに使ってみて、評価してみることにする。