mysqlコマンドラインクライアントでの改変は、やった。
クエリーリライトプラグインも、やった。
- Handlerさんコンニチワ (lsステートメントとかcatステートメントとかやった)
次はパーサーいじって改変せねばなるまい。
ということで書いた。
- https://gist.github.com/yoku0825/68369433679392b2284e4eaf258b00c6このパッチを適用したmysqldを起動すれば、
mysql57> shwo databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)
_人人人人人人人人人人_
> shwo databases <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
もちろんGPLですので、typoが気になる方は導入してみると、仕事の効率が上がるかも知れません。
ところで、クエリーの強制書き換えを3つの場所でやってみた感想。
- 一番お手軽なのはなんと今回のSQLパーサー
- 変なの書けばコンパイル時にエラーになるか、いじったところが動かないだけ
- mysqlコマンドラインクライアントとクエリーリライトは容赦なくSEGV食らう
- しかも全バージョン対応(だと思う)
- やりたいことがエイリアス的な何か、って決まってるならアリだと思う(か?)
- なんか このとき はクエリーリライト用っぽい構造体の名前だったりしたけど、 今見ると 明らかにaudit_pluginを使うようになってる。。
- pre-parseならなんとか似たように使えるけど、post-parseは全然書き方が変わってる。つらい。
というわけで、もしなんかやるとしたら、SQLパーサーがいいかなって思いました。
0 件のコメント :
コメントを投稿