規定数以上のカテゴリ登録 ― 2005年06月10日 12:43
1つ前の記事で取り上げた不具合は現在は修正されているようです。で、また色々いじっていると、不具合が見つかりました。
以前、ブラウザバックを用いてカテゴリーを規定数(20個)より多く登録する方法を書きました。現在はこの方法は使えないのですが、別の方法で規定数を超えて登録出来ることが判明しました。以下にその方法を記します。
- あらかじめ、カテゴリーを19個作成しておく。
- カテゴリー管理画面を新しいウィンドウで開く。何度か繰返し、複数のカテゴリー管理画面を開いておく。
- それぞれのカテゴリー管理画面のカテゴリー名とディレクトリ名に、適当な名前を、重複しないように入力しておく。
- あるカテゴリー管理画面において、「新しいカテゴリーを登録する」をクリックしたら、素早く別のウィンドウに切替え、また「新しいカテゴリーを登録する」をクリックします。これを、開いた全てのカテゴリー管理画面で行います。タブブラウザを使用すると比較的簡単です。
この方法により、2つ以上のカテゴリー管理画面で、「カテゴリを追加しました。」と表示されていれば成功です。元々のカテゴリー数が19個ですから、21個以上のカテゴリーが作成された事になります。
このような現象が起こるのは、おそらく次のようなロジックになっているからだと思われます。
- 「新しいカテゴリーを登録する」がクリックされたら、データベースから現在のカテゴリー数を取得する。
- 現在のカテゴリー数が20個以上だったら、エラーメッセージを表示し、登録処理を中断する。
- 現在のカテゴリー数が19個以下だったら、入力されたカテゴリー名とディレクトリ名が重複していないかチェックして、新しいカテゴリーをデータベースに追加する。
カテゴリー数が19個の時に、あるウィンドウからこのロジックが呼出され、3番が完了するまでに、別のウィンドウからこのロジックが呼出されると、その時点ではカテゴリー数はまだ19個のままですから、データベース側の制約が無い限り、その処理も3番まで走る事になる訳です。
最近のコメント