SSブログ

Go言語 の Firebird driver 2016 [Firebird]

この記事は Firebird Advent Calendar 2016 http://qiita.com/advent-calendar/2016/firebird 20日目のエントリーです

私がスクラッチから書いている Go 言語の Firebird driver について。
まずは、過去の記録を見ていただくとして

http://nakagami.blog.so-net.ne.jp/2014-12-23
http://nakagami.blog.so-net.ne.jp/2015-12-08

機能も一通り動いているので、やれやれ、もうこれでやることないぞ、と思っていたら、
「Go1.8 で database/sql の機能が拡張されるからよろしくね」
https://github.com/nakagami/firebirdsql/issues/36
という Issue が立った。

「うーん、英語も Go言語もよくわからないし、これはどうすればいいんだ?」
と思っていたら
mattn さんにより日本語解説が書かれた
http://mattn.kaoriya.net/software/lang/go/20161106232834.htm
しかも、今までやったことなかったけど build constraints というので、
Go のバージョンでコンパイルするかしないかを分けられることを知った
http://mattn.kaoriya.net/software/lang/go/20161202095532.htm
ありがたやありがたや

ちなみに、この mattn さんの解説の時から今までで仕様の変更が少しあった。
BeginContext という関数がなくなって、代わりに
BeginTx という関数になり、その関数で
context.Content の他に、 IsolationLevel と ReadOnly かどうか
のstruct の txOptions というオプション変数を渡すようになった。
https://github.com/golang/go/blob/master/src/database/sql/driver/driver.go#L199

Firebird のドライバーについては
「複数の結果セット」はサポートせず、それ以外の関数は
形だけでも実装しようと思っている(現在進行形)
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

コメント 0

コメントの受付は締め切りました

Facebook コメント

トラックバック 0