2008-12-01から1ヶ月間の記事一覧

fopen関係のメモ

C

fopenしたファイルを横から削除(rm)した場合、fprintf/fflush/fclose等の関数はそれを関知(エラーに)せず、通常通りの戻り値を返す。つまりプログラムからみると関数呼び出しが成功してるので書き込みできていると誤認している。errnoも0のままになっている…

Connector/J 5.1とServer Side Prepared Statement

ここ数日「MySQL + Connector/J(JDBCドライバ) + プリペアードステートメント」の話題がちらほら出ています。正確に把握はしていないですがSQLインジェクション対策→PreparedStatementという流れできた話のようです。 徳丸浩の日記 - JavaとMySQLの組み合わ…

senna-java-0.02 ログ制御機能の設計

senna-javaにDB APIを実装するに先立ってsenna.log制御機能が欲しいと思い、まずログ制御機能を追加することに。Sennaクラスに追加すべきか新しくクラスを作るべきか悩んだ末、新しく作ることに。 /var/senna/logがあるとsen_log_defaultでsenna.logが出力さ…

MySQL/Tritonn - SELinuxにご注意を(回避方法あり)

いつの頃からかは知りませんが、Linux(CentOSとか)をインストールするとデフォルトでSELinuxが有効(Enfocing)になっていました。GUIインストーラ作業時にDisabledにするか、あるいは/etc/selinux/configでSELINUX=disabledにしておけばいいのですが、そのま…

JNIでHelloWorld!

JNIはJavaプログラムからC/C++で記述されたライブラリのAPIを呼び出すためのインタフェースです。ずいぶん昔からある仕様ですが、あまりなじみが無いので触ってみた。イメージ的にはELF形式のjavaプログラムから共有ライブラリに対してdlopenで動的にリンク…

mysqldにおけるスロークエリログ判定実装

スロークエリログはどのように計測され、出力されているのかをまとめてみました。 測定方法 THDクラスのset_time関数で計測開始、end_time関数で計測終了。 計測開始ポイント mysqld --bootstrapを使用している場合はmysql_parse関数の直前 ネットワーク経由…

Tritonn: configure --enable-abortをやめて自動判別にすべきか

すごく細かい話なんですが。というかここ最近ずっとBlogを書いていなかったけれども、また書きたくなってきた。しかも細かい話。備忘録的な。Senna 1.1.4では、 "--enable-abort"でビルドされたらsen_index_set_abort_callbackがlibsennaに存在する そうでな…

configure --enable-abort

senna 1.1.4で取り込まれたokuさんによるKILLパッチについてのメモ。 configure.ac # abort AC_MSG_CHECKING([whether enable abort]) AC_ARG_ENABLE(abort, [AC_HELP_STRING([--enable-abort], [enable query abortion. [default=no]])], , [enable_abort="…

tritonn-1.0.12 残タスク

tritonn-1.0.11のquick fix版として1.0.11aを出したかったのですが、日が経ってしまったので、いくつか追加で修正等を行って1.0.12としてリリースする予定です。完了したもの sql_yacc.yyのshift/reduce数を調整し、bisonエラー回避 USING句を2重に使用した…

Sun Tech Days 2008 in Tokyoのライトニングトークにでます

明日から始まる Sun Tech Days 2008 in Tokyoの2日目(12/3)、OSSコミュニティ枠のライトニングトークに出させていただくことになりました。 http://jp.sun.com/company/events/techdays/day2detail.html#2S2 MySQL系イベントというよりももう少し一般よりの…

バージョン文字列からバージョンID番号を作る方法

MySQLのconfigure.inが参考になる。 # Set all version vars based on $VERSION. How do we do this more elegant ? # Remember that regexps needs to quote [ and ] since this is run through m4 # We take some made up examples # # VERSION 5.1.40sp1-…