|
kabe さん、こん**は。Hidemi Oya です。
テンポラリビューやテンポラリテーブルを使ったクエリを実行したいと思ったんですが、実行禁止になってました。複雑なクエリを一発で書くのは難しいですし、ビューで再利用したいクエリもあります。
kihon, tekiyo テーブルを直接変更する可能性がある SQL 文のみを禁止し、あとは自由に使えるといいですね。下記のような感じでチェックできるのではないかと思います。index1, index2 は ACFinder が標準で使っているインデックス名を指定してください。
あと、SQL のエラーメッセージも DecodeHex 関数で hex..... を ShiftJIS に戻してもらった方が見やすいです。おそらく、デバッグ用に Utf8ToAnsi のみにしてあったんじゃないかと思うのですが…。
RegExprModifierI := true;
RegExprModifierS := true;
if ExecRegExpr('(CREATE|DROP)\s+.*TABLE\s+.*(acis\.)?(kihon|tekiyo)', sql) then error;
if ExecRegExpr('(INSERT|REPLACE)\s+.*INTO\s+(acis\.)?(kihon|tekiyo)', sql) then error;
if ExecRegExpr('DELETE\s+FROM\s+(acis\.)?(kihon|tekiyo)', sql) then error;
if ExecRegExpr('UPDATE\s+.*(acis\.)?(kihon|tekiyo)', sql) then error;
if ExecRegExpr('CREATE\s+.*TRRIGER\s+.*ON\s+(acis\.)?(kihon|tekiyo)', sql) then error;
if ExecRegExpr('DROP\s+INDEX\s+.*(acis\.)?(index1|index2|....)', sql) then error;
|
|