« 2007年7月 | トップページ | 2007年9月 »

2007年8月

2007年8月30日 (木)

V0.9.0.13プレビュー

しばらく、ちょっと開発さぼって遊んでました。というか、暑くて開発に集中もできんかった。で、ぼちぼち、開発をスタートしました。前回書いたように、まず、簡単そうな「DDLソースの取得」機能の実装に取り掛かりました。Oracleに用意されているDBMS_METADATAパッケージを使えば簡単だろうと思ってたのですが、このパッケージのどのプロシージャを使うかで悩みました。DBMS_METADATA.GET_DDLでいいかなと思ってましたが、色々細かい制御などを行うには、GET_DDLより、FETCH_CLOBなどのFETCH_XXX系のプロシージャの方がよさそうなのでこっちを使うことにしました。GET_DDLだと、あるスキーマのすべてのオブジェクトのDDLの取得なんてことできなさそうなので。とりあえず、開発中の画面を

09013_preview1

こんな感じです。ちょっと、インデントずれてますが、DBMS_METADATAはタブ文字でインデントするっぽいので、エディタの設定を変更しないと揃いません。上のイメージのように、「データベースエクスプローラ」で複数のオブジェクトを選択すれば、一度に、複数のオブジェクトのDDL文が取得できます。DBXInspectorで複数の項目を選択するには、基本的に、ShiftキーもしくはCtrlキーを使ってください。上のイメージでは、テーブルオブジェクトのDDLソースを取得してますが、インデックスやビューなど他のオブジェクトのDDLソースも取得できます。

09013_preview2

で、「DDLソースの取得」機能の追加に合わせて、「オプション」ウィンドウも変更しました。とりあえず、こんな感じでいこうと思います。ふぅ。

ところで、Vectorに登録されました。ここです。ということで、あと一息かなと。V0.9.0.13は「DDLソースの取得」機能を追加して、来週中にはリリースしたいと思います。で、次は「ユーザーオブジェクトの補完」かなと。

2007年8月20日 (月)

V0.9.0.12リリース

V0.9.0.12をリリースしました。主に、バグフィックスと改良が行われています。主に、Ctrl+Spaceキーによるコード補完が働かない時があるのでそのバグを修正しました。詳しくはhistory.txtを見て下さい。バグフィックスや改良だけだとあれなんで、「SQLエディタ」のエディタにWindowsのエクスプローラからファイルをドラッグ&ドロップをして開けるようにしました。ドラッグ&ドラップ時にShiftキーを押すことによって、エンコーディングを指定できます。

09012_1

こんな感じです。ほんと些細な機能追加ですが・・で、今後もバグ修正しながら、機能追加していこうと思うんですが、追加予定の機能をまとめると、

  • DDLソースの取得(V0.9.0.13で対応済み)
  • GREP検索
  • 非スキーマオブジェクトの対応
  • ユーザーオブジェクトのコード補完(V0.9.0.16で対応済み)
  • コードテンプレート

こんな感じです。とりあえず、上記の5つの機能を追加できれば、自分的には満足かなぁと。順に説明すると、

「DDLソースの取得」は、オブジェクトのデータ定義文(DDL)のソースを取得する機能、つまり、CREATE ****文を取得する機能で、「データベースエクスプローラ」ウィンドウで選択したオブジェクトのソースを取得できればいいかなと。実装的には、Oracleに用意されているDBMS_METADATAパッケージを使用すればいいので、実装の難易度的には易しいだと思います。

「GREP検索」はまさしく、色々なソフトで見かけるGREP検索です。これは、実装・テストするのが時間かかるので後回しになると思います。実装するなら正規表現エンジンに鬼車を使おうと思ってます。

「非スキーマオブジェクトの対応」は、現在、「データベースエクプローラ」や「オブジェクトインスペクタ」ウィンドウでは、スキーマオブジェクトしか選択・表示できないが、ここで表領域などの非スキーマオブジェクトも選択・表示できるようにしようと。これ実装は難しくないけど、どのオブジェクトとそのOracleのどのデータディクショナリビューを表示するかを決めるのがメンドイです。現在、表領域とデータファイルと制御ファイルの情報を表示するように内部的には実装してありますが、コメントアウトしてコンパイルしてあるので、次のリリースでとりあえず、有効にしようと思っています。後は、要望の都度、追加しようかなと。

「ユーザーオブジェクトのコード補完」は、ログインしたユーザーのスキーマオブジェクトをエディタ上で補完する機能です。

「コードテンプレート」は、ユーザーが登録したSQL文を簡単なキー操作で簡単に呼び出せる機能です。これは、最近思いついた機能なので、どうなるかは未定です。

というか、DBXInspectorのバージョーンはまだ、V0.9.0.XXですが、きりのいいところで、正式リリースしようかなと思ってます。Vectorにも登録依頼を出したので。おそらく、来月かな。

2007年8月15日 (水)

V0.9.0.11リリース

ヘルプを同梱したDBXInspector V0.9.0.11をリリースをしました。後、細かい修正が加えられています。SQL文生成時にROWIDを含めるかを指定するオプションも追加しました。

以上、手短に・・・

2007年8月13日 (月)

ヘルプ作成中

DBXInspector V0.9.0.10のリリースが終わったということで、頑張ってヘルプファイル(*.chm)を作成しています。初めてのWindowsヘルプ作成と言うことで手間取るかと思ったけど、思いの他サクサク進んでいます。以前紹介した、SpeedHelpPadで作成しています。取りあえず、Vectorに登録するためにヘルプが必要なので、状況感知型ヘルプとかリンクとか細かいことは抜きにして、ヘルプとしての体裁だけを整えて、ヘルプと一緒にV0.9.0.11としてリリースするつもりです。また、ヘルプの作成をいざ始めると、用語の統一とか項目の並び順だとか細かい事に色々気づいたので、そこらへんも修正しながら作業しています。V0.9.0.11のリリースは今週末を目標に進めたいと思います。

とりあえず、作成中のヘルプのスクリーンショットを。

Help_1

そういえば、DBXInspectorの掲示板として利用してたサービスが終了してしまったので、新たに掲示板を作成しました。今度はスレッド形式に掲示板なったので、見やすくはなってます。掲示板はDBXInspectorのホームページからたどれます。

2007年8月12日 (日)

V0.9.0.10リリース

遅れましたが、DBXInspector V0.9.0.10リリースしました。画面構成が再び変わりましたが、もう大きく変えるつもりはありません。

09010_1_2

まず、上のイメージのように、選択したデータベースオブジェクトの情報を表示する部分をオブジェクトインスペクタウィンドウとして分離しました。

09010_2

また、前回書いたように、SQL文(SELECT,INSERT,UPDATE,DELETE文)や列名リストを生成できるようにしました。

09010_3

SQL文の生成時に列名を絞るには、オブジェクトインスペクタのフィールド一覧でSQL文に含める列を選択してから、SQL文を生成させます。CtrlキーまたはShiftキーを押しながらクリックすることで複数選択できます。データベースエクスプローラ・オブジェクトインスペクタウィンドウにSQL文の生成・列名リストの生成機能を持たせたので以前の、表選択・列選択画面を削除しました。

09010_4_2

また、以前のように、オブジェクトが多いときにオブジェクトを特定の条件で絞れるように戻しました。

で、これ以上の大きな変更・機能追加は停止して、主にバグフィックスとヘルプの作成にとりかかろうかなと思います。

2007年8月 3日 (金)

V0.9.0.10プレビュー

うーん。ちょっと遅れ気味です。

とりあえず、開発中の画面です。

09010_preview1

SQL文(SELECT文、INSERT文、UPDATE文、DELETE文)の自動生成機能はだいたい実装が終わりました。実際のポップアップのメニュー構成はまだ確定ではありませんが、SQL文生成時に、

09010_preview2_3

のように、ちょっとだけカスタマイズできるようになる予定です。

で、データベースエクスプローラで実装する機能と他の部分との整合性?のことで色々悩んで遅れています。で、息抜きに正規表現によるGREPなどが出来ると便利なのかなと正規表現エンジン、鬼車などのサイトを見て回ったりしてます。

« 2007年7月 | トップページ | 2007年9月 »

自作ソフトウェア

無料ブログはココログ

メモ