[groonga-dev,03595] Re: Mroonga_で_data_truncated_for_primary_key_column: <id> が発生する

Back to archive index

Kouhei Sutou kou****@clear*****
2015年 10月 26日 (月) 18:32:36 JST


須藤です。

In <20151****@domai*****>
  "[groonga-dev,03594] Re: Mroonga_で_data_truncated_for_primary_key_column: <id> が発生する" on Fri, 23 Oct 2015 20:18:42 +0900,
  各務 洋 <kagam****@outwa*****> wrote:

> http://packages.groonga.org/tmp/groonga-libs-5.0.9-1.el6.x86_64.rpm
> の確認後、
> 
> http://packages.groonga.org/tmp/mysql-community-mroonga-5.09-2.el6.x86_64.rpm
> を適用し、テストを行っております。

ありがとうございます!

> 現状のご報告としまして、
> 
> 1.プライマリーキーが重複する現象は発生しなくなりました。

おぉ!

> 2.ユニークインデックスの破損は発生します。

すみません、これの判断基準をおしえてもらえますか?
ユニークインデックスを張ったカラムの値が0になっているカラム
が複数見える、という感じでしょうか?

もしそうならこれは問題ないです。
というのは、次のときにそうなりうるからです。

  1. 追加処理: ユニークインデックスへ追加(すでに同じ値があったらエラー)
  2. 追加処理: レコード作成(カラムの値は0)
  3. 削除処理: レコード削除(カラムの値は0)
  4. 追加処理: カラムの値設定(カラムの値が設定される)
  5. 削除処理: ユニークインデックスから削除

この2.と3.の間にSELECTでレコードIDを取得し、3.と4.の間のとき
にSELECTで出力する処理になると、ユニークインデックスを張った
カラムの値は0になります。

ただし、この場合でもユニーク性はこわれていないので問題ありま
せん。

> 3.groonga.log に Auto repair is done は出現しませんでした。

やはりそうですよねぇ。
いや、でも、と思ってソースを確認したらバグっていました。。。

パッケージを作り直すのでそっちで確認してもらえるとうれしいで
す。。。

> とり急ぎ、プライマリーキーが破損しなくなったのは朗報です。
> ありがとうございます。
> これで修復手順が簡略化できます。

よかったです!

-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/>

Groongaベースの全文検索システムを総合サポート:
  http://groonga.org/ja/support/
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
  http://www.clear-code.com/recruitment/
コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ:
  http://www.clear-code.com/services/code-reader/




groonga-dev メーリングリストの案内
Back to archive index