« V0.9.0.14リリース | トップページ | V0.9.0.15プレビュー »

2007年9月 9日 (日)

ユーザーオブジェクトのコード補完

昨日のお題

  1. 接続時に全スキーマの情報を取得
  2. Ctrl+Spaceなどのコード補完時に毎回最新の情報を取得して表示
  3. 初回補完時に情報をキャッシュ、次回補完時はキャッシュした情報を表示

を煮詰めてみました。

1は前回書いたように、ログイン時に使わないかもしれないオブジェクトの情報まで、ログイン直後に長時間かけて取得するの問題あると思うので却下します。で、2か3なのですが、2を想定してテストプログラムを書いてみたのですが、やはり、負荷がかかり、コード補完時に毎回少し待たされると思うので、3の案で行こうと思います。3の案のバリエーションとして、古くなった情報は破棄するなど考えたのですが、どういう条件を満たしたら破棄すればいいのか?などファジー(インテリジェント?)な事をしたくないので、一度キャッシュされたら、再ログインするまでキャッシュすることにします。(もしくは、「エディタオプション」ウィンドウにキャッシュをクリアするボタンを設ける)。3の案のデメリットはキャッシュ後にそのオブジェクトの構造(テーブルで言えば列の追加など)を変えると、リセットするまで古い情報が表示されることですが、まぁ、DBAというより一般のDBアプリケーションの開発者や運用の人を想定しているので、この案で問題ないと思います。

ということで、実装に取りかかってみます。

ところで、今回は「ツール」機能の説明を。この機能は外部ツールを登録して、DBXInspectorから起動できるようにする機能です。まず、登録は「ツール」メニュー->「オプション」メニューで表示される「オプション」ウィンドウの下の「ツール」タブで行います。

Userobjects_1

登録は「追加」ボタンを押します。すると、下の「ツールの設定」ウィンドウが現れます。

Userobjects_2

試しに、以下のように、OracleのSQL*Plusを登録してみます。

Userobjects_3

「タイトル」には見やすい名前を付けて下さい。「プログラム」には起動するプログラムの実行可能ファイル名を指定して下さい。V0.9.0.13で修正されましたが、環境変数PATHに実行するプログラムのパスが設定されていれば、フルパスを指定する必要はありません。SQL*Plusの場合、Oracleをインストールすると、自動的に環境変数PATHに追加されるので、ファイル名だけで問題ないと思います。上の例では「実行時引数」に/nologが設定されていますが、これはSQL*Plusのオプション引数です。

次に「OK」ボタンを押すと登録されます。これで、「ツール」メニューから起動できるようになります。

Userobjects_4_2 

「ドキュメント」機能も同じような機能ですが、予め、拡張子とプログラムの関連付けが行われている必要があります。

« V0.9.0.14リリース | トップページ | V0.9.0.15プレビュー »

DBXInspector」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1497665/39651836

この記事へのトラックバック一覧です: ユーザーオブジェクトのコード補完:

« V0.9.0.14リリース | トップページ | V0.9.0.15プレビュー »

自作ソフトウェア

無料ブログはココログ

メモ