"SHOW SENNA STATUS"コマンドを改良
Senna用SQLコマンドである"SHOW SENNA STATUS"の不具合の修正と表示内容の追加を行いました。
svn.sourceforge.jpにcommit済みです。revision15。
修正点: db非選択時のエラーコードをより適切なものに変更
以前の"show senna status"は以下のようにdb名を指定しない状態でMySQLに接続して、、、
mysql -uroot
USEコマンドなどによるdb選択を行う前に実行すると、以下のようなエラーを返していました。
[(none)] > show senna status; ERROR 1049 (42000): Unknown database '(null)'
これを今回の修正により、以下のようなエラーを返すようにしました。
[(none)] > show senna status; ERROR 1046 (3D000): No database selected
これによりdb非選択時のエラーコードが"show tables"や"show table status"などと同じになります。
表示内容の追加: Sectionalizeについての情報を追加
Tritonn 1.0.3から導入されたマルチセクション機能ですが、SECTIONALIZEフラグを指定してインデックスを作成しても、"show table status"には表示項目がなかったため、後からそれを確認することができませんでした。
そこで今回、"show table status"の表示内容にSectionalizeについての情報を追加しました。
こんな感じになります。
[test] > create table t1 (c1 varchar(50), c2 text, fulltext index ft using sectionalize (c1,c2)) default charset utf8; Query OK, 0 rows affected (0.01 sec) [test] > show senna status\G *************************** 1. row *************************** Table: t1 Key_name: ft Column_name: c1 Encoding: utf8 Index_type: NGRAM Sectionalize: ON Normalize: ON Split_alpha: OFF Split_digit: OFF Split_symbol: OFF Initial_n_segments: 512 Senna_keys_size: 0 Senna_keys_file_size: 4268032 Senna_lexicon_size: 0 Senna_lexicon_file_size: 4268032 Senna_inv_seg_size: 167936 Senna_inv_chunk_size: 135168 *************************** 2. row *************************** Table: t1 Key_name: ft Column_name: c2 Encoding: utf8 Index_type: NGRAM Sectionalize: ON Normalize: ON Split_alpha: OFF Split_digit: OFF Split_symbol: OFF Initial_n_segments: 512 Senna_keys_size: 0 Senna_keys_file_size: 4268032 Senna_lexicon_size: 0 Senna_lexicon_file_size: 4268032 Senna_inv_seg_size: 167936 Senna_inv_chunk_size: 135168 2 rows in set (0.00 sec)
Sectionalizeを指定しなかったインデックスについてはこの部分の値がOFFになります。
これらの変更は、特に問題がなければTritonn 1.0.5に取り込まれる予定です。