SuikaWiki//WikiDB//YukiWikiDBNS

SuikaWiki//WikiDB//YukiWikiDBNS

[1] Yuki::YukiWikiDBNS は、 Yuki::YukiWikiDB2 を拡張 (改悪) して無理矢理名前空間に対応させたものです。 その名に反して、 YukiWiki とは関係ありません。

[2] ここで名前空間とは、 key の名前に応じてかってに directory を作ってその中に key の file を突っ込む仕組みです。 WikiName における名前空間に対応して木構造が出来るようになっています。 もっとも、 WikiName に名前空間があるかないかと WikiDB の木構造は SuikaWiki の実装的には無関係です。 WikiName の名前空間を使うのに YukiWikiDBNS を使わないといけないわけではありません。 逆に YukiWikiDBNS を使うからといって WikiName の名前空間を使う必要もありません。 (もっとも、 WikiName 名前空間なしで SuikaWiki が動くかは怪しいです。)

[3] key 名に // が含まれていると、これを名前空間区切子とみなします。 これが directory 区切りに置換えられます。 (今の実装では hardcode されているので、この区切子をかえることは出来ません。)

例えば a//b という key は、 a の directory のしたの b という file に格納されます。 実際には file の名前は encode された上に接尾辞がつきますから、 62.ns/63.txt になります。 このうち .txt の部分は変更可能ですが、 .ns の部分は hardcode されていてかえることが出来ません。

[7] と、ここに書いてあるのは、 SuikaWiki 2 版の Yuki::YukiWikiDBNS の実装の話です。 SuikaWiki 3.0 では、 SuikaWiki::DB::FileSystem::YukiWikiDBNSWikiDB 界面の wrapper としていて、間接的に access しているので、表面的には幾つかの問題 (名前空間区切子が固定であるとか) は解決されています。 もっとも、 SuikaWiki 2 の場当たり的な YukiWikiDBNS の code を適当に包んでいるだけの現状の code は綺麗ではないので、いずれ書き直すつもりではいます。 (名無しさん 2004-03-19 11:56:10 +00:00)