Laboratory of Mobile Agricultural Chemicals Searcher
携帯農薬検索実験室

研究会

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
49 / 114 ツリー <前へ | 次へ>

〔581〕ACFinder 070318版 kabe (07/03/18 22:36)

〔598〕Re:開発者モードが欲しい kabe (07/03/20 13:31)
〔599〕Re:開発者モードが欲しい Hidemi Oya (07/03/20 23:24)

〔598〕Re:開発者モードが欲しい
 kabe  (07/03/20 13:31)

引用なし
   >Hidemi Oyaさん

kabe です。

> それよりも、SQL の実行時間をどこかに表示してくれる機能があると、検索時間の評価がしやすいですね。
ログに表示するようにします。

> ところで、/d モードでも制限を付けるよりは、/d モードはノーチェックで SQL を通した方が搭載が簡単じゃないですか?
ExecSQL と GetTable のどちらを実行するかで、ExecSQL を実行する文を判別するために文字列チェックしてましたが、文頭に select がある場合だけ GetTable を実行して、それ以外は ExecSQL を実行した方が簡単ですね。
select 以外では PRAGMA table_info とか PRAGMA index_list あたりはGetTableする必要がありますね。

〔599〕Re:開発者モードが欲しい
 Hidemi Oya WEB  (07/03/20 23:24)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>ログに表示するようにします。
 ぜひお願いします。

>ExecSQL と GetTable のどちらを実行するかで、ExecSQL を実行する文を判別するために文字列チェックしてましたが、文頭に select がある場合だけ GetTable を実行して、それ以外は ExecSQL を実行した方が簡単ですね。
 あらためて SQLite.pas を確認したら、GetTable でテーブルを返さないクエリーを実行しても、ヌルテーブルが返ってくるだけで、特に問題はなさそうです。今のところ、ExecSQL も単文しか実行できないので、GetTable と ExecSQL の違いは返り値をあとで利用するかしないかの差しかないということになります。
 したがって、SQL タブでは、SELECT 文以外も GetTable で処理しちゃうのが面倒がなくて良いと思います。

>select 以外では PRAGMA table_info とか PRAGMA index_list あたりはGetTableする必要がありますね。
 もし前述のように GetTable で全て代用するのではなく、ExecSQL と使い分けるのなら、PRAGMA コマンドは値設定がない場合は全てテーブルを返すので、PRAGMA 文の中に '=' を含む場合は ExecSQL、含まない場合は GetTable で良いと思います。

 なお、sqlite3_exec を使えば複文を一括実行できそうなので、そのうち ExecSQL を仕様変更しようと考えています。

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
49 / 114 ツリー <前へ | 次へ>
ページ:  ┃  記事番号:   
(SS)C-BOARD vv3.8 is Free.