2008-01-01から1年間の記事一覧
fopenしたファイルを横から削除(rm)した場合、fprintf/fflush/fclose等の関数はそれを関知(エラーに)せず、通常通りの戻り値を返す。つまりプログラムからみると関数呼び出しが成功してるので書き込みできていると誤認している。errnoも0のままになっている…
ここ数日「MySQL + Connector/J(JDBCドライバ) + プリペアードステートメント」の話題がちらほら出ています。正確に把握はしていないですがSQLインジェクション対策→PreparedStatementという流れできた話のようです。 徳丸浩の日記 - JavaとMySQLの組み合わ…
senna-javaにDB APIを実装するに先立ってsenna.log制御機能が欲しいと思い、まずログ制御機能を追加することに。Sennaクラスに追加すべきか新しくクラスを作るべきか悩んだ末、新しく作ることに。 /var/senna/logがあるとsen_log_defaultでsenna.logが出力さ…
いつの頃からかは知りませんが、Linux(CentOSとか)をインストールするとデフォルトでSELinuxが有効(Enfocing)になっていました。GUIインストーラ作業時にDisabledにするか、あるいは/etc/selinux/configでSELINUX=disabledにしておけばいいのですが、そのま…
JNIはJavaプログラムからC/C++で記述されたライブラリのAPIを呼び出すためのインタフェースです。ずいぶん昔からある仕様ですが、あまりなじみが無いので触ってみた。イメージ的にはELF形式のjavaプログラムから共有ライブラリに対してdlopenで動的にリンク…
スロークエリログはどのように計測され、出力されているのかをまとめてみました。 測定方法 THDクラスのset_time関数で計測開始、end_time関数で計測終了。 計測開始ポイント mysqld --bootstrapを使用している場合はmysql_parse関数の直前 ネットワーク経由…
すごく細かい話なんですが。というかここ最近ずっとBlogを書いていなかったけれども、また書きたくなってきた。しかも細かい話。備忘録的な。Senna 1.1.4では、 "--enable-abort"でビルドされたらsen_index_set_abort_callbackがlibsennaに存在する そうでな…
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.11のquick fix版として1.0.11aを出したかったのですが、日が経ってしまったので、いくつか追加で修正等を行って1.0.12としてリリースする予定です。完了したもの sql_yacc.yyのshift/reduce数を調整し、bisonエラー回避 USING句を2重に使用した…
明日から始まる Sun Tech Days 2008 in Tokyoの2日目(12/3)、OSSコミュニティ枠のライトニングトークに出させていただくことになりました。 http://jp.sun.com/company/events/techdays/day2detail.html#2S2 MySQL系イベントというよりももう少し一般よりの…
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-…
間隙を縫うようにソースだけリリースしました。 現在、Tritonn 1.0.11はソースコード&パッチのみの配布となっています。バイナリ配布はこの後段階的に行っていく予定です。アップデート 対応MySQLのバージョンをver5.0.67にアップデートしました バグ修正 2i…
ドキュメントを追加しました。 http://qwik.jp/tritonn/reference.html#40500899443a755bcd5eb474491ad596 32bitOS 論理空間枯渇エラーに遭遇する人が少なくなれば良いなと思うこのごろです。
あとでまた説明するとき用のメモ。 全プロセスの仮想メモリの合計値を v_size とする サーバに搭載された物理メモリの大きさを p_size とする スワップ領域の大きさを s_size とする (kernelのメモリ使用量は無視)このとき 状態1: v_size p_size p_size + s_…
これまでC++用クライアントAPIとしてはMySQL++というC APIのwrapper型ドライバがありましたが、新たにJDBC 3.0 APIを模倣したC++用クライアントAPIがリリースされるようになるようです。(今日のところはdevelopment preview release)Connector/C++の現在の…
まだ詳細は良く分かっていませんが、Brian Akerが中心となってMySQLのソースからforkしたプロダクト"Drizzle"を立ち上げたようです。MontyのBlogで紹介されていたのを見て気づきました。 http://monty-says.blogspot.com/2008/07/what-if.html Brian自身も記…
共著として執筆に参加させていただいた『MySQLデータベース構築バイブル』が7/19に発売になります。MySQLデータベース構築バイブル作者: 志村和彦,松信嘉範,池田徹郎出版社/メーカー: 毎日コミュニケーションズ発売日: 2008/07/19メディア: 単行本(ソフトカ…
めっちゃtiny codeですが。。 (defun myisam2mosql () "replacing myisam macro/symbol name to mosql's one" (interactive) (beginning-of-buffer) (replace-string "myisam" "mosql") (beginning-of-buffer) (replace-string "mi_" "mo_") (beginning-of-b…
Wassr(ワッサー)はじめてみました。idは例によってmirです。見かけたらよろしくおねがいしまする。 http://wassr.jp/user/mir
MySQL日本ユーザ会日本MySQLユーザ会から許可をいただいて"MoSQL"の名前でストレージエンジン開発を始めました。現行のTritonn(MySQL本体+patch+libsenna+libmecab、MyISAM + Senna Index APIベース)をPluggable Storage Engine化したものを目指します。リリ…
いまSkeleton Engineみたいなのを0から独自に作っているのですが、嵌ったのでメモ。C++にはRTTI(Run Time Type Information、実行時型情報)という便利な機能があるそうなのですが、これを有効(G++ではデフォルト)にしたままビルドすると、Pluggable Storage …
Brianが書いたコードはこんな感じだったのだけど、 AC_MSG_CHECKING(for mysql source code) AC_ARG_WITH(mysql, [[ --with-mysql[=mysql src directory] Source requir to build engine.]], [ if test -d "$withval/sql"; then MYSQL_SRC="$i/mysql_config"…
Brianが作った"Skeleton Storage Engine"というのが既に存在するので車輪の再発明なのですが、勉強がてらスクラッチで作ってみました。Yet Another hogehoge ってのに何となく憧れがあっただけだったりもするのですがw一応、BrianのSkeleton Engineよりもコ…
QL APIとDB APIについて。(今後追加改変が行われる可能性もあります) QL API senna.hにてシグネチャ定義。 関数名 説明 sen_db_create データベースを作成する sen_db_open データベースを開く sen_db_close データベースを閉じる sen_ctx_open 同一プロセ…
Apacheを既にどこかで使っている場合、httpd.confを弄るだけでforward proxyができたのでメモ。Apacheが入っていないけどインストールしてもOKならyumとかでいれればよろし。 sudo yum -y install httpdhttpd.confを開き、コメントアウトを外して以下を有効…
今月のDB Magazineに同僚が書いたMySQL Clusterの記事が載っています。DB Magazine (マガジン) 2008年 08月号 [雑誌]出版社/メーカー: 翔泳社発売日: 2008/06/24メディア: 雑誌この商品を含むブログ (3件) を見るMySQL 5.1で新たに導入されたDiskベースのMyS…
Tritonn 1.0.10をリリースしましたよ!Windows版(win32,winx64どっちも)あるよ。詳しくはこちら→ http://qwik.jp/tritonn/
Senna QL API(Senna Query Language API)を使ったプログラムを書くための下調べとして、簡単なサンプルプログラムを書いてみました。以下、ソースとコメントをあわせてご覧下さい。SennaQLを文字列そのまま投げる感じが伺えると思います。 #include <stdio.h> #includ</stdio.h>…
Senna開発者の方がさっそくmecab_new関数呼び出し時の引数を事前に指定するためのAPIを作ってくださいました!Senna内部でのMeCabの初期化はlib/lex.cにてSOLE_MECAB_CONFIRMマクロを通じて行われていました。以前は"-Owakati"が固定で指定されていたのです…
今、senna-devメーリングリストで話題の新APIですが、そしてもしかするとmecab情報を指定可能なAPIも作られるとか。。。そうなるとTritonn tarball/zip版バイナリを作る際に見つかった「prefix以外の場所にインストールした場合にmecab辞書が見つからなくな…