Tetsuro IKEDA
ikdtt****@gmail*****
2007年 12月 25日 (火) 17:22:29 JST
こんにちは。池田です。 ちょっとご意見募集です。 MySQL 5.1でのTritonnエンジンは従来のものと異なり、 以下の制約の元で実装する必要があります。 ・パーサの拡張は行えない。つまりUSING句によるsen_flags指定や initial_n_segmentsの指定ができなくなる。show senna statusも廃止。 ・オプティマイザや実行レイヤの拡張も行えない。つまり2ind機能も廃止。 一方で、以下についてはTritonnエンジンでも積極的に利用できます。 ・独自のシステム変数を追加する。senna_index_typeとか。 またエンジンレベルでMyISAMとは別物になるので、以下の点を 気にする必要がなくなります。 ・インデックスがFULLTEXTの場合、ビルトインのFULLTEXTなのか SennaのFULLTEXTなのか。 これらを踏まえ、Tritonnエンジン実装に関しては以下のようなことを 思案しています。何かツッコミ、要望等あればコメント下さい。 ・ifdef ENABLE_SENNAは今後も使用する。あった方が便利そうなので。 ・インデックスがFULLTEXTの場合、無条件でSennaのインデックスが 利用されるものとして動作するようにする。 ・これによりtruncateなどのいくつかの制限を解除。 ・if(senna)による判定、分岐は不要に。 ・SEN_DISABLE_SENNA(USING NO SENNA)を廃止。 ・USINGによる拡張情報の定義を廃止。 ・senna_index_type、senna_normalize、senna_sectionalize、 senna_split_alpha、senna_split_digit、senna_split_symbol などのシステム変数を定義。USING句の代わりに、create/alter時に これらの値を見てSennaインデックスを作成する。 ・show senna statusの機能をshow tritonn engineコマンドで実装。 ・kwicはUDFに。 ・バージョン表記はMySQLのメジャーバージョンに追随させる。