おがわ さん 2003年 08月 01日 20時 09分 37秒

>まっくんさん
こんばんわ。
あまり特別な秘密はないのですが、機能を追加するときは、とりあえず動作する
ようにコードを書いてから、ソースコードを整理していくような感じです。
設計は、かなり大雑把です。
とりあえずコードを書いて動かしてみて、そのコードが駄目そうなら昨日の
バージョンに戻すような感じです。

あと、正規表現などの複雑な処理は、動作テスト用のコードも並行して作成して、
バグが入りにくいようにしてます。
ソースコードの整理方法や、テストコードの作成については、「リファクタリング」
などの本が参考になると思います。


>新米ですさん
データベースのEncodingが、EUC_JPになっていないのかもしれません。
Linux上で、psql -l のコマンドを実行して、Encodingを確認してみてください。



新米です さん 2003年 08月 01日 10時 23分 06秒

お世話になっております。

初心者な質問で申し訳ありません。PSqlEditについてです。
TurboLinux上で簡単なテーブルを作成しました。
Win上から、PSqlEditを使い、データ参照を行ったのですが、
日本語コードが化けます。それは、EUCで登録したためだと
思うのですが、、
PSqlEditのプルダウンメニュー「ファイル」に「文字コードを
指定して読み直す」というものがあり、それで解決できるかと
思っていますが、指定コードが何も選択できない状態です。
その機能を使用するには、どうしたらよろしいでしょうか?
宜しくお願いします。

まっくん。 さん 2003年 08月 01日 00時 33分 09秒

ずっと不思議で、おがわさんにきいてみたいことがあるんです。

バグ取りや機能追加などの仕事が速くて
凄いなーとかがんばっているなーって思ってるんですよ。
そこでふと思ったんですが、「何か気をつけて作っているのかな?」ということなのです。
バグ取りがしやすい、機能追加には何か秘密があるんじゃないかと。

設計に気をつけているとか、短いコードを書くようにしているとか・・・。
言いたくなければ構わないのですが、何か気になってしまう物で^^;

おがわ さん 2003年 07月 31日 21時 43分 36秒

>コガさん
ご要望ありがとうございます。
ファイルのインポートの件、検討させていただきます。


コガ さん 2003年 07月 30日 13時 32分 44秒

こんにちは。osqledit 愛用させていただいております。
置換についての話題があがりましたので、便乗で一つわがままを。。。

ファイルのインポート機能の実装などは難しいでしょうか。
こんな感じで利用したいのです。

SELECT
A.COLUMN1
,B.COLUMN2
,C.COLUMN2

!IMPORT join_part.sql -- 長いFROM句〜JOIN句を別ファイルにしている

WHERE
COLUMN1 = 0;

上記のようなことができれば、 FROM〜INNER の部分だけを共用化して、
SELECT句と WHERE句をファイルごとにわける、ということが可能になると思います。

これは個人的には「できたらいいな」ぐらいの物なのですが、
実装が難しくないようなら、検討項目に追加していただけると大変助かります。

また、上記のような事がすでに可能であれば、ご教授いただければ幸いです。
よろしくお願いします。

おがわ さん 2003年 07月 29日 21時 10分 22秒

>togeさん
こんばんは。
ご要望ありがとうございます。
キーワードの補完候補がスクリーンからはみ出してしまう件ですが、
今後のバージョンで対応したいと思います。

toge さん 2003年 07月 28日 18時 05分 42秒

こんにちは
oeditにはお世話になってます。
今回は要望なのですが、
キーワード補完対象文字がスクリーンの下にある場合に
補完リストがスクリーンをはみでてしまいます。
その場合は上にリストを表示してもらえませんか?
環境はwin2000pro oedit最新です。

めんどくさそうな場合は、ファイルサイズが増えてしまいそうな
場合は無視してくださって構いません。

検討お願いします。

CATZ さん 2003年 07月 23日 14時 47分 41秒

>おがわさん
対応ありがとうございます。
確認しました。

toge さん 2003年 07月 23日 09時 45分 46秒

早速の修正ありがとうございます。
確認しました。

おがわ さん 2003年 07月 22日 21時 50分 30秒

>togeさん
ご質問ありがとうございます。
逆インデント時に、編集マークが付かないのは、バグです。
oedit 4.6.6.3で修正しました。

>CATZさん
osqlgrid 0.9.6.0で、範囲選択中は、選択範囲内のみ検索する
ようにしました。

CATZ さん 2003年 07月 18日 14時 09分 25秒

>PCCさん
ありがとうございます。
order byの記述で問題ありません。

>おがわさん
検討の程、よろしくお願いします。

toge さん 2003年 07月 18日 13時 46分 42秒

こんにちは
いつもoeditにはお世話になってます。
質問なのですが、
行を選択して逆インデント(Shift+Tab)しても、
行の編集マーク(青)がつきません。
インデントの場合はつきます。
これは仕様ですか?
できれば、逆インデントの場合にも編集マークが
つくようにしてもらえませんか。
検討をお願いします。

おがわ さん 2003年 07月 17日 22時 06分 29秒

>CATZさん
ご要望ありがとうございます。
ソートについてですが、PCCさんのご指摘のとおり、Where句欄に
order byを記述すれば検索結果がソートされます。
選択範囲の検索については、検討させていただきます。

PCC さん 2003年 07月 17日 17時 26分 47秒

>CATZさん
テーブル選択時にwhere文等を書くことができるはずですが、
それではだめなんでしょうか?

CATZ さん 2003年 07月 17日 10時 39分 07秒

はじめまして。

OSqlGridを使わせてもらってます。

OSqlGridでソートして表示する機能や
選択した列の中で文字を検索する機能はないのでしょうか?

あると便利かなと思いました。

以上です。

Red さん 2003年 07月 16日 12時 58分 55秒

なるほどそういうことでしたか。

5.6.3.6で修正を確認しました。
わざわざ対応ありがとうございました。


おがわ さん 2003年 07月 15日 22時 07分 18秒

>Redさん
詳細な報告ありがとうございます。大変助かります。
オプションの設定で、SELECT文作成機能でセミコロンを付ける設定に
なっているとき、OSqlGridが起動できませんでした。
osqledit ver.5.6.3.6で修正しました。

Red さん 2003年 07月 15日 10時 33分 32秒

小川さんこんにちわ。

早速バージョンを挙げて試してみましたが状況は変わりませんでした。
エラーメッセージは以下になります。
----------------------------------------------------------------
このSQLでは、OSqlGridを利用できません
テーブル定義の取得に失敗しました(TEST_TABLE;)
[row:1,col:29] ORA-00911:文字が無効です。
----------------------------------------------------------------
※テーブル名の最後に付いているセミコロンが気になります

右クリックで生成されるSQLは
----------------------------------------------------------------
select COLUMN_A, COLUMN_B, COLUMN_C
from TEST_TABLE;

----------------------------------------------------------------

お忙しいところすみませんがよろしくお願いいたします。

おがわ さん 2003年 07月 14日 22時 24分 18秒

>どあらさん
報告ありがとうございます。
osqledit ver.5.6.3.5で、bindコマンドのシングルクォートの扱いを改善しました。
''で'一個になります。

>Redさん
ver.5.6.3.4では、テーブル名に英小文字が含まれていると、OSqlGridが起動できない
問題がありました。
この問題はver.5.6.3.5で修正したのですが、Redさんの現象とは、ちょっと違っている
かもしれません。
osqledit ver.5.6.3.5で試してみてください。
エラーメッセージも詳しく表示するようにしたので、またエラーが出たら内容を教えて
下さい。
また、Table右クリックでSelect文作成機能で作成されるSelect文も教えていただけると
助かります。

Red さん 2003年 07月 14日 10時 19分 56秒

こんにちわ。

Ver5.6.3.4から付いた「Tableの右クリックからOSqlGridの起動」についてです。

実際に右クリックから起動させようとすると
「このSQLでは、OSqlGridを利用できません テーブルが見つかりません」となります。
ボタンからのOSqlGridの起動は行えるのですが…。

ご教示頂ければ幸いです。

どあら さん 2003年 07月 12日 00時 52分 06秒

>おがわさん
 度々すみません。今度はもうちょっとマシなヤツを…(TT

bindです。「そういえば、'はどうやってbindに設定するんだろう?」とか思って、

!bind set test = ''''

とかやってみると、''になってしまいました。'''test'でも''になるので、前半だけで切れちゃうようです。ま、これはいいとして…次に、

!bind set test = '
(シングルクォート1個)
で実行をかけたところ、osqleditが死にました…。ver5.6.3.4です。

# ちなみにダイアログ経由では'も'''test'(そのままですが)も定義できます。

〜余談(よけいな一言)
!bind set :test = hogehoge

とすると、使えない設定の出来上がり。

〜余談(よけいな二言目)
select * from emp
where ename = :test;

これでosqlgridを起動すると、「バインドされていない…」エラーがosqlgrid側で発生。
↑ホントに言いがかりですね(汗) 実害なさすぎです(- -;;;

最初の一点以外は茶々です。忘れてください。

以上です…

どあら さん 2003年 07月 12日 00時 35分 11秒

追加…(ぉぃ)

where a.zzz like '%'|| :test||'%'
(:の前にスペース、直後に連結演算子)
だと、ダイアログでは:test||を定義しに行って、実行時に「バインドされていない…」エラーが発生しますね…色付けも:test||がバインド(キーワード2??)で表示されてマス。

……m(_ _)m

どあら さん 2003年 07月 12日 00時 29分 10秒

>おがわさん
 こんばんわ。因縁吹っかけ言いがかり長文ユーザです(汗)。

 bind(DNSではなく…)の部分で気になる点がありました。(実害度0.02%)

■その1
select xxx from yyy a
where a.zzz like '%'||:val||'%';

の様な記述だと、ダイアログって出ないんですね。

where a.zzz like '%'|| :val ||'%';

と、スペースとかで区切ってやると出てきます。

■その2
bind設定のダイアログ、他のダイアログと違ってESCで閉じないなぁ…


……細かい(- -;;
自分で言ってて「やれやれ」な感じです。

たわごと…でした(汗汗)

どあら さん 2003年 07月 11日 23時 50分 03秒

>おがわさん
> wrapされたPL/SQLのときは、バインド変数の
> 入力ダイアログが表示されないようにしました。

 う…対応されたんですか。たわごとに付き合わせてしまってすみませんm(_ _)m
おがわさんのおっしゃられる通り、wrapまでするケースなんてほとんど稀です(^^;;;;

お手数おかけしましたm(_ _;)m

おがわ さん 2003年 07月 11日 21時 55分 09秒

>さとさん
アンダーラインの色は、ルーラーで設定した色になります。
今のところ、ルーラー(行番号など)の色と、アンダーラインの色を
別々に指定する事はできません。

>どあらさん
osqledit ver.5.6.3.4で、wrapされたPL/SQLのときは、バインド変数の
入力ダイアログが表示されないようにしました。
# wrapしたSQLを実行することは、ほとんどないと思いますが。

ohshiro さん 2003年 07月 11日 13時 17分 43秒

>> そういう副作用がある形でのサポートは…
> 茶々ですが…(前置き) Plusであれば、set defineとかset escapeとかset concatとかで
>回避するのが普通です。副作用ではありません…よね。それを副作用と呼んでしまったら、
>逆に仕様の制限になりそうな気がします(^^;;
おぉ、確かにそういう風にも読めますね。(^^;(もう少し文章考えろ>俺)
要は「SQLPlusデフォルトの動作=OSqlEditの動作」固定にすると副作用があるよって事です。

フォローどうもです。

さと さん 2003年 07月 11日 02時 52分 38秒

はじめまして。
oeditを使わせて頂いております。

質問なのですが、現在のカーソル位置の行のアンダーラインなのですが、ラインの色を変更する事はできるのでしょうか。

どあら さん 2003年 07月 10日 23時 05分 20秒

勝手にワケ分からない話をしたかも知れないので、分からないヒトの為に補足…

 wrapというのは、%ORACLE_HOME%\binにある、wrap.exeとかwrap80.exeとかの事です。

wrap iname=[infile] {oname=[outfile]}…

とかして、create (or replace) xxx文の入ったsqlファイルを変換すると、xx.pldってファイルが出てきて、

create or replace hoge wrapped
0
abcd
abcd
abcd
……

0 5 0 3
:3 0 7 :3 0 f
1 d :5 0 e
:2 0 :2 5 :3 0 6
:2 0 3 7 9
:6 0 4 :6 0 b
a 0 5 2
5 3 1 :3 0
2 :3 0 2 :2 0

/

ってな読めない標記に変わってたりします。このままsqlplus等でコンパイルが可能です。
%ORACLE_HOME%\rdbms\admin あたりに入ってるdbms_xxxシリーズとか、wrappedになってたハズ。

余談の補足でした。

どあら さん 2003年 07月 10日 22時 34分 08秒

>おがわさん
> トリガーのPL/SQLだと、:newや:oldなどで、バインド変数以外でも':'を使うことが
> あるので、PL/SQLを使ったSQLではダイアログを使えないようにしてましたが、

…あ、そうなんですか(^^;; できたんですね。いつもご苦労様ですm(_ _)m

 余談ですが…トリガーの:new :oldの他にも、wrapしたcreate procedure等でも:で始まるのが出てくるんですよね。:8 0 2 :3 0 1…とか(笑)

 ちなみにこれをosqleditで流すと…今回からの場合はダイアログが出て…ダイアログをキャンセルすると「バインド変数がありません」エラー発生。OKを押すと、コンパイルが通る…って感じだったりします(^^;;

 ま、滅多にwrapなんて使わないんですが…

余談でした。

おがわ さん 2003年 07月 10日 22時 02分 51秒

>どあらさん、ohshiroさん、まつうらさん
どあらさんも書いてますが、SQL*Plusの'&'はバインド変数とは少し違って、
文字列の置換なんですよね。
なのでクライアント側でSQLを置換してから、実行することになると思うのですが、
escape処理なども考えると少し面倒ですね。
まだ実装するか決めてませんが、今後実装するとしたら、オプションで有効無効を
切り替えるようにすると思います。

>どあらさん
osqledit 5.6.3.3で、PL/SQLブロックでも、バインド変数入力ダイアログを
使えるようにしました。
トリガーのPL/SQLだと、:newや:oldなどで、バインド変数以外でも':'を使うことが
あるので、PL/SQLを使ったSQLではダイアログを使えないようにしてましたが、
単純なPL/SQLブロックでは、バインド変数以外で':'を使うことはないと思うので、
使えるようにしました。


おがわ さん 2003年 07月 10日 21時 48分 16秒

>てむさん
ご要望ありがとうございます。
今のoeditの仕組みだと対応が難しいのですが、今後のバージョンで、
検討していきたいと思います。

てむ さん 2003年 07月 10日 13時 20分 27秒

OEditのシンプルさと利便性のバランスが大好きです。
Lisp用エディタとしてもよく使わせてもらってます。

ところでOEditについて要望がひとつあるのですが、キーワードの設定で

*
**,2

…のように書いたときに"**"がキーワード1扱いにならないように
していただけないでしょうか。
理想としてはファイル内に"*********"とあったときには
全部キーワード2扱いになってくれるとうれしいです。
よろしくお願いします。

どあら さん 2003年 07月 10日 13時 13分 54秒

>おがわさん
 ついでに、bindの使い方ですが、PL/SQLブロック中でのバインドについてはダイアログ入力は使えないですよね?それは仕方ないのでいいとして…

そういう事で、以下の様なのをosqleditで流す事を考えたワケです。

select :val from dual;
begin
dbms_output.put_line(:val);
end;
/

こうすれば、初回のselect〜dualでダイアログ入力できて…とか思ったのですが、敢え無くエラー。ダイアログ入力時って、その場限りなんですね。実際!bind printとしても、出てきません。

 これだけ考えると、ダイアログ入力も!bind set valと同等になれば…とか思ったんですが、そうしたらそうしたで今度は普通のSQLとか2度目以降の実行とかでダイアログが出なくなるし…

 それについては、!bind clearとかunsetとかを上に入れれば解決…ではあるんですが、明示的に!bind clearとかを頭に書かなきゃいけないとなると、「それは気に入らない」とかっていうヒトも出て来そうな感じもありますねぇ…(私的にはそれで全然OKなんですが)
 ま、都度パラメータ指定…みたいな事やりたい時に、複数の!bind set…をひとつひとつ直すのが面倒なだけ…なんですけどね。

ぼやきになってしまいました。

どあら さん 2003年 07月 10日 12時 26分 15秒

 置換変数のサポートですかぁ…確かにSQL*Plusのスクリプトをそのまま…みたいな事を考えると便利な局面もあるのかも知れませんね。(…ってか、ならSQL*Plusを使えばいいんですが…(笑))

 ohshiroさんのご指摘通り、大抵の置換変数はバインドに変換可能ですが、置換変数は文字通り置換変数ですから、以下の様な記述であれば、

select * from emp
&SSS;

SSSにはwhere句やorder句、unionでつないで後半のSQL等記述する事も可能です(ま、極端な例です)。これはバインド変数では対応できないですよね。(8i以降であればexecute immediateとかで似たような事はできるでしょうが)

 置換変数となると、osqledit側での対応がメンドくさそうですね…エスケープ文字の指定とか区切りの判定文字とか…そういうの全部対応しなきゃならないだろうし…
 そこまでして欲しいかというとちょっと疑問は残ります。SQL*Plusのスクリプトがそのまま使える…というのは魅力ではありますが、言い出したらキリが無くなりそうでちょっと…って感じがします。(setやprompt, columnとか…(汗))

> ohshiroさん
> そういう副作用がある形でのサポートは…
 茶々ですが…(前置き) Plusであれば、set defineとかset escapeとかset concatとかで回避するのが普通です。副作用ではありません…よね。それを副作用と呼んでしまったら、逆に仕様の制限になりそうな気がします(^^;;


ohshiro さん 2003年 07月 10日 11時 16分 36秒

まつうらさんの要望にある&のサポートの件ですが。
SQL*Plusの&hogehogeの扱いではよく泣かされたのですが(文字列中の&を変数として認識
したり)、そういう副作用がある形でのサポートは避けて欲しいです。
(まだサポートすると決まったわけでもないでしょうが)

オプション扱いにするとか、エディタで&=>:変換するだけとかならいいんですが・・・

おがわ さん 2003年 07月 09日 21時 09分 31秒

>msj19さん、まつうら さん
ご意見、ご要望ありがとうございます。
検討させていただきます。

>やまねこさん
Shiftキーの選択動作ですが、他のエディタとも操作性が変わってしまうので、
今のままのほうがいいと思います。
ESCキーや、左右の矢印キー(Shiftなし)で、選択範囲が解除されますので、
この操作を使ってみてください。

牙門 さん 2003年 07月 09日 17時 46分 20秒

やまねこさんへ

意味がよく解りませんけど、1行ずつ選択するなら行選択すればいいのでは?
もしくは、shiftキーで選択してコピーして・・・またoeditに戻った時にshiftキーを最初に押さずマウスでクリックしてからshiftキーを押せばいいのでは?

まつうら さん 2003年 07月 09日 12時 26分 35秒

カフェねこさんへ

解決策を教えてくださり、どうもありがとうございました。
:で動作確認が出来ました。
もし可能であれば、:だけでなく、&のサポートもお願いしたいです。
(同一のSQLを、SQL*Plusでも、oSqlEditでも使いたいので。)
わがまま申しまして、すみません。

やまねこ さん 2003年 07月 09日 11時 36分 09秒

oedit、便利に使わせていただいております。(^^
一つ、要望なのですが・・
Shiftキーを押しながら範囲選択しているとき、
Shiftキーを離したらそこで範囲選択を打ち切る、
というようなことはできないでしょうか?

たとえば、1行ずつ、別のアプリに貼り付けるような操作をしようとするとき、
Shiftキーを押しながら範囲選択 → コピー → アプリを切り替え → 貼り付け → アプリをoeditに戻す → 範囲選択
このような操作をすると、以前の範囲選択の続きになってしまって、
ちょっと操作性が悪いです。。
ぜひ、ご考慮お願いします。。

msj19 さん 2003年 07月 08日 12時 00分 38秒

おがわさんへ

 いつも迅速な、開発対応御苦労さまです。
osqledit oedit は、仕事上無くてはならないものになりました。

 osqledit のランタイム版のようなものがあると非常に助かります。
エンドユーザーに対しては、AccessやExcelで、パススルークエリーや
oo4oで、集計表を作っています。
 osqleditの簡易版で、sqlの実行と表示が出来るようなものがあれば
エンドユーザーで、実行してもらって、エクセルにコピーペーストする
ような使い方ができ、便利です。
 osqlviewer とかいう感じですかね。
よろしくご検討お願いします。

おがわ さん 2003年 07月 07日 22時 37分 58秒

>YHさん、でらさん、suzukiさん
ご要望ありがとうございます。
検討させていただきます。

>togeさん
ogrepのファイルの種類では、ワイルドカードは使えません。
拡張子が一致するファイルは、すべて検索対象になります。

toge さん 2003年 07月 04日 17時 22分 46秒

こんにちは
oeditを便利に使わせていただいています。
今回は質問なのですが、
ogrepでファイルの種類で、ファイル名のワイルドカードって使えるのですか?
ファイルの種類で「*file.java」みたいな感じで検索したら
「*.java」と同じ結果が返ってきました。
使い方がおかしかったら、教えてください。お願いします。

suzuki さん 2003年 07月 04日 17時 07分 11秒

oeditをいつも使わせて頂いております。軽くてお気に入りです。

要望なのですが、現在カーソルがある行にラインが引かれているのは、
一目でどこにあるのか分かって便利なのですが、
アンダーバーがそのラインによって隠れてしまって、
アンダーバーとスペースの区別がつきません。
出来れば、ライン上にアンダーバーが有った場合に反転表示するようにして欲しいです。
検討お願いします。

でら さん 2003年 07月 04日 10時 06分 13秒

osqlgridを使わせて頂いております。
便利なソフトを提供していただきありがとうございます。

早速ですが機能追加をお願いしたいのです。
osqlgridに表示されるテーブルの一覧が、接続したスキーマに限られているようなのですが、
他のスキーマも表示できないでしょうか?
またシノニムに対応できないでしょうか?

検討お願いします。




カフェねこ さん 2003年 07月 04日 00時 42分 31秒

>まつうら さん
 バインド変数を使えば代入できますが、どうでしょう。
 管理コード=:管理コード

まつうら さん 2003年 07月 03日 19時 43分 17秒

oSqlEdit、oSqlGridを利用しております、まつうらと申します。
素晴らしいソフトウェアを、どうもありがとうございます。

SQL*Plus使用時、where句に、「管理コード=&管理コード」と
した場合、「管理コードを入力してください。」と言うメッセー
ジが表示され、値を入力することで、その値が代入された状態
でSQLが実行されますが、oSqlシリーズでは、アプリケーション
エラーとなってしまいます。
可能であれば、oSqlシリーズでも、値代入が使えるようになって
欲しいです。

YH さん 2003年 07月 03日 00時 07分 00秒

おがわさん、レスありがとうございました。
また要望で、すみません。

oedit に付属の ogrep、重宝していますが、
オプションで全角・半角の同一視もできたら、
もっと便利になると思います。
ご検討ください。

おがわ さん 2003年 07月 02日 21時 28分 58秒

>YHさん、moriさん、まささん、MOONGIFTさん
いろいろなご要望ありがとうございます。
検討させていただきます。

カフェねこ さん 2003年 07月 02日 12時 34分 02秒

>Gさん
 SQL文の一部の複数行を選択して、右クリック-高度な操作-コメントの挿入
 をクリックすれば、まとめてコメントアウトされます。

G さん 2003年 07月 01日 19時 47分 35秒

はじめまして。

今回、OSqlEditを試用させていただいたのですが、
SQL文の一部の複数行(たとえば、3行目〜6行目のように)を
まとめてコメントアウトする、ボタン(というか機能というか)のようなものは、
ありますでしょうか?

もしあれば、どのようにすればいいのでしょうか?

また、もしなければ、要望として、ご検討してはいきませんでしょうか?

よろしくお願いいたします。m(_ _)m

Return