oci8-auto-binder

rubyでOCI8(Oracle)を使っている所を、自動的にParameterized Queryに変換するgemを作りました。

https://rubygems.org/gems/oci8-auto-binder

使い方は
OCI8AutoBinder.replace_original_class! を呼んで、あとはOCI8をそのまま使うだけ。

oracle-sql-parserでパースできるものなら大体いけるはず。
試してないけど、oracle-enhanced-adapterもoci8を使っているので、自動的にへんかんしてくれるかもしれないです。

名前が適当すぎるので、いい名前あったら教えて下さい。

Oracle SQL Parser(v4.0.0)(v0.4.0)

NumberLiteral, StringLiteralをパラメータ化できるようにすること。

v4.0.0v0.4.0で、できるようになりました。
2ヶ月ぐらい前にアップロードしていたんだけど、こっちにかくの忘れてました。(´・ω・`)

OracleのSQLParserつくった

Rubygems
https://rubygems.org/gems/oracle-sql-parser

Source
https://github.com/jksy/sql_parser

テスト用のページ
http://dev.jksy.org/

目標はNumberLiteral, StringLiteralをパラメータ化できるようにすること。
今のところASTだけしか作れないけど('A`)

インド旅行いってきました

インド旅行に行ってきたので、感想など。


タージマハール

貧富の差がすごい

聞いてはいたけど実際にみるとぜんぜん違う。
路上で寝転がっている人。というより、道端で家族そろって住んでいる。
とその横で大きめの車に乗っている身なりの良い人がいたりとか。
身なりの良い人はその人には見向きもしない。

基本値段決まってない

リクシャーやタクシーを使うときは最初に場所を告げて、いくらか聞かないといけないのでめんどくさい。法外な値段(といっても日本円にしたら数百円ぐらいの違いしかないけど)をふっかけてくるのもしばしば。

リクシャー、タクシー

リクシャー、タクシーを捕まえて、Do you know this place?とか聞いて、yes, I knowって言われても知らないことが多い。インドだと場所を知らなくても人に聞きながら目的の場所を探したりするので、そういうものなのかも。識字率が高くないことも関係しているかも。(看板読めないからね

人間関係が濃厚

車が故障してボンネット開けてチェックしていたら、全く関係ない人がワラワラ見に来て修理を手伝ってくれる。まぁ、その中には手伝ったんだからお金よこせ、っていう人もいるんだけど。

結婚式を見に行ったんだけど、主賓に近い扱いを受けてびっくりした。
新郎を舞台に神輿のように担いで連れて行く仕事をしたり、そのあと舞台に載せられたり、何かあれば舞台によばれ、儀式を目の前で見せてもらったり、などなど。
最初はすごい見てくるな・・と思っていたけど、そのうち周りの人が写真をとりにきたり(多分日本人が珍しいんだと思う)、一緒に写真とったり、ちょっと心を開くとぐいぐい絡んでくる。
この時は新郎の友人・親族だったから安心だったけど、町中の知らない人だとムリだろうな。多分だまされるという気持ちが強くて心を開けない。

動物が多い

道端に牛は歩いてるわ、犬は寝てるわ、やぎもいるわで動物王国。道路を結構な交通量の道路にも牛が紛れ込んでくる。クラクションぷーぷー鳴らしながら通ってたけど。

まとめ

嫌な思いと大変な思いをたくさんしたけど、総合的にインドは好きだと思う。ゴミと臭いがどうにかなったらいいなー、なんて思ったりもするけど、それがなかったら多分インドじゃない。あのゴミとかあるインドが好きなんだろうな。多分。