2007-06-01から1ヶ月間の記事一覧

LOAD DATAコマンドを調べる

基本的な特徴 トランザクション対応、InnoDBではrollbackできる。 内部ではbulk insert風の処理。 SQLパーサ部分 sql/sql_yacc.yyにて。SQLコマンドはSQLCOM_LOADらしい。 load_data: load_data_lock opt_local INFILE TEXT_STRING_filesystem { LEX *lex=Le…

新プロダクト MySQL Proxy リリース

MySQL Proxyなる新プロダクトがリリースされました。ただしまだver0.5.0なので安定版がでるのはかなり先だと思われますが。 MySQL Proxyとは? MySQL Proxyは従来のMySQLクライアントとサーバの間に置くことで、以下のような機能を実現してくれるデーモンプロ…

Encodingチェックの強化

TritonnではSennaのインデックスを作る際、MySQLのテーブル定義情報(CREATE文、ALTER文)の情報を利用して適切な文字コードを自動的に選ぶように実装しています。この時、プログラム的にチェックが甘い部分があったのですが、またもやnkjm氏がサクッと修正し…

SHOW OPEN TABLESのまとめ

テーブルロックの状況確認に付いて。 構文 SHOW OPEN TABLES [FROM db_name] [LIKE 'tbl_name_pattern']; カラムの意味 [test] > show open tables from test; +----------+-------+--------+-------------+ | Database | Table | In_use | Name_locked | +-…

SHOW系コマンドとinformation_schemaデータベースの関係

MySQLではver5.0からinformation_schema対応が行われています。information_schemaですが、これはANSI標準SQL2003かなにかで定義されている機能のひとつで、RDBMSからテーブル等に関するメタ情報を取得したいときに使えるRDBMS間共通のインタフェースとして…

WindowsでDROP INDEX時などにSEN系ファイルが残ってしまう問題の修正

nkjm氏が表題のバグを直してcommitしてくれたのでmysql-5.0-enterpriseツリーにmerge。 マージ元 -r67:71 ------------------------------------------------------------------------ r71 | nkjm | 2007-06-26 16:12:23 +0900 (火, 26 6月 2007) | 7 lines …

お披露目

先週末に行われたOSC2007.dbにて、日本MySQLユーザ会有志によるMoSQL(もえすきゅーえる)が発表されました。 MySQL 互換の断然日本語が使いやすいオープンソースデータベースが MoSQLです。以下の点が MySQL と異なるので萌え萌えです。 * デフォルトの文字…

OSC2007.db

PR

明日、どっとでーびーのイベントがあります。 http://www.ospn.jp/osc2007.db/去年参加できなかったので今回はwktkです。朝から参加して、ウロウロしてるか会場の片隅でコードをしこしこ書いてると思います。

229 Entering Extended Passive Modeで詰まった場合

FTP

今週あたりからある目的のために某所で管理されているFTPサーバにファイルを置いたりしはじめたのですが、そのFTPサーバに対して、イントラネット的にちょっと遠いところにある検証用サーバからアクセスすると、lsコマンドの発行、putコマンドの発行などの際…

Sort系ステータス変数について

概要 http://dev.mysql.com/doc/refman/5.0/en/server-status-variables.html マニュアルでは以下のように説明されている。 変数名 意味 Sort_range レンジを使用して行われたソートの回数。 Sort_scan テーブルをスキャンすることによって行われたソートの…

commitメールが飛ばなくなった件のメモ

nkjm氏の力を借りて解決。多謝。以前はDHCP環境(といいつつ実際はmacアドレスごとに決まったアドレスが割り当てられる)に繋いでいたレポジトリサーバを別ネットワークに静的アドレスで繋いだら、ローカルのsendmailが動かなくなった。具体的に言うと"telnet …

sshトンネルを使う場合のポート番号指定方法

SVN

sshが標準の22番ポートじゃなくて、例えば9999番とかだったりした場合のsvn+ssh的なアクセス方法について。$HOME/.subversion/configが設定ファイルなので以下を記述する。 [tunnels] hoge=ssh -p 9999で、あとはsvn+sshの代わりにsvn+hogeを使えばいい。 sv…

#mysql-devチャンネルがirc.freenode.netに開設

ソース:http://lists.mysql.com/internals/34757irc.freenode.netに#mysql-devチャンネルが開設されたようです。これまではMySQL社員だけがアクセスできるサーバ上にしかなかったようですが、ここ最近のMySQLの開発体制のバザール化に伴い、IRCも公開される…

DirectoryIndex出力のカスタマイズ方法

http://httpd.apache.org/docs/2.0/ja/mod/mod_autoindex.html長いファイル名が省略されずに表示されるようにしたかったのでhttpd.confを編集。 # # IndexOptions: Controls the appearance of server-generated directory # listings. # IndexOptions Fancy…

mi_rename.cがVC++でビルドできなくなったので修正

昨日Mergeしたmi_rename.cの改良を含んだソースをVC++でビルドしようとしたらコンパイラに怒られてビルドできず。こんな感じで、auto変数の宣言がブロック内の途中にあるとVC++はコンパイルさせてくれないみたいです。 { mi_open(old_name, O_RDONLY, o); ui…

Sennaのマルチセクション機能に対応

Sennaのマルチセクション機能に対応しました!次回のTritonnリリース(ver1.0.3)から利用可能になる予定です! Tritonn 1.0.3は来月あたりにリリースする予定です。 マルチセクション機能とは? マルチセクション機能とはテーブルに全文検索対象のカラムが複…

まーじまーじ

communityツリーからenterpriseツリーへマージすべきものをsvn merge。 mysqld起動停止時にsenna.logにログを出力 svn merge -r2:3 mysql-5.0-community/trunk mysql-5.0-enterprise/trunk senna.logに接続IDを追加(WindowsではスレッドID) svn merge -r3:…

Software Design 7月号にMySQL+Sennaの記事を書きました

nkjm氏と2人で書いてます。http://d.hatena.ne.jp/software_design/20070615内容はTritonn公式サイトに書いてあるビルド・利用方法が主ですが、初めて試す方にとってやりやすいように、読み物調&ステップバイステップ形式になっています。

configure --with-server-suffix

既存の公式バイナリではこのオプションをどのように使っているかというと、、、 mysql-max-5.0.20-linux-i686-glibc23.tar.gz"--with-server-suffix=-max"といったように、configureオプションの違いを明示するために使っているみたい。あるいは、こんな感じ…

mysql-5.0.42-tritonn-1.0.2 on Linux x86_64 glibc25

新方式での初テスト。"make test-full-qa"を実行。案外うまくいったかな!? 基本テストスイートの結果 mir@oss-xeon64:~/SVN/tritonn/mysql-5.0-enterprise/trunk$ grep " fail " test.log blackhole [ fail ] ctype_latin1_de [ fail ] fulltext [ fail ] …

mtr stands for mysql-test-run.pl

いつのまにかmtrで実行できるようになっていた。 lrwxrwxrwx 1 mir oss 17 6月 16 14:17 mtr -> mysql-test-run.pl* -rwxr-xr-x 1 mir oss 32425 6月 16 13:52 mysql-stress-test.pl* lrwxrwxrwx 1 mir oss 17 6月 16 14:17 mysql-test-run -> mysql-test-ru…

configure --with-server-suffixとmake bin-dist

Tritonnバージョンを"--with-server-suffix"で記述するようにしてみたら、、、make bin-distとかのコマンドが、、 Creating and compressing archive mysql-tritonn-1.0.2-5.0.42-linux-x86_64/ mysql-tritonn-1.0.2-5.0.42-linux-x86_64/scripts/ mysql-tri…

通勤時間の短縮で得られる時間について

昨日の夜、ふと気づいたのですが、、、、。東京で働くサラリーマンの平均的な通勤時間が片道1時間だとします。すると、1ヶ月あたり20日通勤するとした場合、通勤は往復であることも考慮して、、 1 * 2 * 20 = 40時間1ヶ月で40時間を通勤に費していることにな…

subversionで管理しているbitkeeperソースのパッチ作成スクリプト

こんな感じでうまくいった。新しい方のディレクトリに存在する実体ファイルのみがdiff対象というやり方。 mir@mouse:/usr/local/bin$ cat diff-bk.sh #!/bin/sh if [ $# -lt 2 ]; then echo "usage: diff-bk.sh src1 src2" exit 1 fi cd $2 find . -type f |…

まーじまーじ衝突

mysql-5.0-enterpriseツリーがver5.0.36ベースだったのをver5.0.42に上げるべく、これまで調べてきた方法(bitkeeperブランチを作ってそこにversion upのログを記録させてtrunkにmerge)をやってみたところ、svn merge実行まではうまくいくようになった。と…

mysql-5.0-enterpriseツリーをver5.0.42ベースにアップグレード

svn merge branches/bitkeeper@39 branches/bitkeeper@40 trunk (衝突したファイルを修正) svn commitなんとか思い描いたような方法でアップグレードできつつある。衝突ファイルの修正方法だけ、もうちょい洗練させたいけど。あとはver5.0.36からver5.0.42に…

Explainの入口

JOIN:execからselect_describe。 #0 select_describe (join=0xff90870, need_tmp_table=false, need_order=false, distinct=false, message=0x0) at sql_select.cc:14969 #1 0x0000000000637881 in JOIN::exec (this=0xff90870) at sql_select.cc:1645 #2 0x…

nkjm氏「Innodbのリカバリ機能を検証してみる」

Tritonn開発の相棒nkjm氏だが、オイラがsubversionと悪戦苦闘を繰り広げていた最中、InnoDBと戯れていたみたいだ。Innodbのリカバリ機能を検証してみる http://nkjmkzk.net/?menu=blog&service=view&id=39 結論としては、リカバリ時間は単にログファイルの容量…

5.0.42のtagがbitkeeperにできた

http://mysql.bkbits.net:8080/mysql-5.0/?PAGE=cset&REV=mysql-5.0.42父さん!やっとできたよ!というわけで日付を見ると5weeks ago。えぇぇぇぇ。5週間もどこに隠れてたんだろwついでに、いつのまにかclone-4.1.23-buildもできてた。4週間前って、んな馬…

任意の2つのディレクトリに格納されているファイル名の差分を調べたい

例えばこんな感じのディレクトリとファイルがあったとして、、 hoge/ hoge/aaa.txt hoge/bbb.txt fuga/ fuga/aaa.txt fuga/ccc.txtbbb.txtはhogeディレクトリだけにあって、ccc.txtはfugaディレクトリだけにあるわけですが、これを任意の2つのディレクトリ…