groonga近況報告(11月版)と各種ご案内

早いもので11月ですね。気が付くと、いくつかネタが出てきていますのでこそっとエントリを書いておこうと思います。 groongaストレージエンジン groongaストレージエンジンは8月のv0.1リリース以来、月1回のペースで順調にリリースが継続されています。リリ…

groongaストレージエンジンの近況

8月下旬にver0.1テストリリースが行われてから1ヶ月弱が経過しました。まだver0.1であるにもかかわらず、案件への投入を検討して問い合わせを下さった方がいらっしゃったりとか、思った以上に反響をいたいだております。ありがとうございます。開発の方は相…

groongaストレージエンジンのテストリリース

MySQL 5.1対応の全文検索エンジンである「groongaストレージエンジン」がテストリリースされました。groongaストレージエンジンの公式サイト http://mroonga.github.com/ ご存知の方もいらっしゃると思いますが、groongaはSennaの後継プロダクトとして開発が…

イメージファイルをmountしてごにょごにょする手順

たまにしかやらないため何度やっても忘れてしまうので書いておきます。イメージファイルはループバックディバイスを使ってmountできる。losetupで"-f"オプションをつけて空いているループバックディバイスを探す。ここでは/dev/loop0が空いていると仮定。 lo…

「日本MySQLユーザ会(MyNA)会 2009冬」で話をしました

ひとつ前のエントリで紹介したイベントで話をしてきました。今回はTritonnやMySQL全文検索のコア技術からは一歩引いた視点で、全文検索が何に役立つのかとか、Tritonnプロジェクトの意義とかを説明させていただいています。MySQL全文検索ことはじめView more…

お知らせ: 日本MySQLユーザ会(MyNA)会 2009冬

イベントのお知らせです。明後日12/18(金)夜に日本MySQLユーザ会主催のイベントがあり、僕も登壇します。今回のイベントは良くありがちなセミナー形式のものではなく、スピーカーは用意するものの飲み食いしながらざっくばらんに話しをして懇親しましょうと…

クエリキャッシュされないSELECT文

MySQLのクエリキャッシュ機能ですが、SELECT文の内容によってはquery_cache_XXX変数の値に依らず無条件に結果がキャッシュされませんよね。ではどんなキーワードを含んでいるとキャッシュされないのでしょうか。sql_yacc.yyとlex.hで確認してみました。 SQL_…

Tritonn 1.0.12 - MySQL 5.0.87へのアップデートリリース

早いもので前回のリリースから1年弱が経過してしまいましたが、SourceForgeのダウンロード統計を見ているとリリースが無い間も継続的にダウンロードしてくださる方々がいらっしゃるのが気になっていました。そこで現在のMySQL 5.0系の最新版である5.0.87向け…

MySQL公式トレーニング日本語化のお知らせ

またまた更新が滞ってしまいました。でも忙しいのは良いことですよね。さて本題。ちょっと宣伝が入っていますが、ぜひお知らせいたしたく。これまで英語のスライドとテキスト(教材)でお届けしていたMySQL公式トレーニングですが(※講義自体は日本語)、なん…

カカクコム社内勉強会に参加

id:kiskeさんにお誘いいただいて先週金曜日にカカクコムさんの社内勉強会でお話させていただきました。貴重な機会をいただきありがとうございました。自由に話してOKですよとのことだったので、何にしようかなと少し考えた結果、こんなスライドができあがり…

Twitter: 再開

新しいアカウントで再開しました。http://twitter.com/ikdttrFollowしてくれる方募集中です〜♪

Tritonn: 近況

しばらくブログを更新していなかったのですがそろそろ再開しようと思います。ここ半年くらいTritonnに動きがなかったと思うのですが、この間新しいストレージエンジンの開発に着手していました。Sennaの後継プロダクトとしてgroongaがリリースされましたが、…

MySQL 5.1.30 Linux non-rpm x86版のビルドオプション

mysqlbugより。 CC='ccache /usr/local/gcc-4.3.2/bin/gcc -static-libgcc' \ CFLAGS='-g -O3 -march=i686' \ CXX='ccache /usr/local/gcc-4.3.2/bin/gcc -static-libgcc' \ CXXFLAGS='-g -O3 -march=i686' \ ./configure \ '--prefix=/usr/local/mysql' \ '…

Tritonn 1.0.13の予定

Tritonn 1.0.13を2月中に出そうと計画しています。今のところ以下のような追加・変更になる予定です。 MySQL 5.0.75対応(バイナリ版あり) sen_records_sortを使うためのオプションの追加 flush logsでsenna.logをclose/openする レポジトリにsupport-files/M…

MySQLのシグナル処理解説

概要 main関数→init_signals関数にて設定されます。いろんなシグナルをトラップしています。プラットフォームによっていくつか異なるinit_signals関数実装がありますが、ここではWindowsとLinuxについて説明します。 Windows版でのシグナル処理 sql/mysqld.c…

gitコマンド簡易一覧 for svnユーザ

gitを使いはじめたのですが、わからないことだらけなのでとりあえずsvnコマンドとの対応一覧。 svn checkout url git clone url svn update git pull svn status git status svn revert path git checkout path svn add file git add file svn rm file git r…

mysqld エラーログソース解析

日本語版のPlanet MySQLが立ち上がりました。 http://jp.planetmysql.org/ Planet MySQLというのはMySQLに関連するブログを集めたアグリゲーションサイトで、Sun Microsystems(MySQL開発元)が運営しています。英語版は以前からありましたが、今回新しく日本…

Java - JNI - C/C++ デバッグ入門

明けましておめでとうございます。今年も宜しくお願いします。 というわけで昨年末に調べていたJNIプログラムデバッグ方法のまとめ。これが一番参考になった。Debugging integrated Java and C/C++ code やりたい事 JNIプログラムのデバッグをしたい(javaか…

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-…

Tritonn 1.0.11 リリース

間隙を縫うようにソースだけリリースしました。 現在、Tritonn 1.0.11はソースコード&パッチのみの配布となっています。バイナリ配布はこの後段階的に行っていく予定です。アップデート 対応MySQLのバージョンをver5.0.67にアップデートしました バグ修正 2i…