Index: [Article Count Order] [Thread]

Date:  Mon, 11 Dec 2006 14:01:06 +0900
From:  "鈴木敬二" <zuki.ebetsu @ gmail.com>
Subject:  [drf 0119] Re: Fwd: ハンドル一括修正方法についてお尋ね(長崎大学)

江別の鈴木です。

このメーリングリストでは初投稿です。どうぞよろしく。

06/12/11 に Tetsuya Yamamoto<yamamoto @ nul.nagoya-u.ac.jp> さんは書きました:

> update-handle-prefix
> コマンドについては知りませんでしたが、下から調べたところ、ほぼ同じことを自動で行なってくれるスクリプトのようですね。最近のバージョンには多分ついてくるのでしょうか。
> http://dspace.cvs.sourceforge.net/dspace/dspace/bin/update-handle-prefix?view=log

update-handle-prefix はv.1.4から追加されたコマンドのようです。山本さんも書かれている
とおり、基本的にsqlを2回実行して、インデックスの再作成をしているだけです。

1.3.2と1.4ではテーブル定義が変わりましたので、そのままでは使えませんが、
以下のpatchをあてれば大丈夫だと思います。(ソースを見ながらコマンドを
打てば済みそうですが)

--- update-handle-prefix        2006-11-21 05:40:39.000000000 +0900
+++ update-handle-prefix.132    2006-12-11 13:53:52.000000000 +0900
@@ -85,7 +85,7 @@
        oldPrefixLen=`echo $1 | awk '{print length($1)}'`
        echo "update handle set handle=overlay(handle placing '$2'
from 1 for $oldPrefixLen) where handle like '$1%';" | psql
        # update the metadatavalue table entries
-    echo "update metadatavalue set text_value=overlay(text_value
placing '$2' from 23 for $oldPrefixLen) where text_value like
'http://hdl.handle.net/$1%';"; |
psql
+    echo "update dcvalue set text_value=overlay(text_value placing
'$2' from 23 for $oldPrefixLen) where text_value like
'http://hdl.handle.net/$1%';"; | psql
     # Reindex the site so the indexes contain the new handles
     BINDIR=`dirname $0`
     $BINDIR/index-all

-- 
鈴木敬二@江別市