sql-mysql
私は Emacs のモードで頻繁に煩わしさを経験してきました。バッファーからアクティブな SQL プロセス バッファーにクエリを送信しようとするとsql-mode
、そのクエリは 4k を超えることはできません。4k より大きい場合は、ある種の改行 (おそらく改行) が挿入されているように見え、これにより mysql インタープリターが次の行でエラーをスローします。
sql-mysql
によって実装されsql.el
、この関数sql-send-region
を使用して、クエリ領域 (またはバッファー全体) を選択した SQL プロセス バッファーに送信します。sql-send-region
を呼び出しcomint-send-region
、次に を呼び出しますprocess-send-region
。は、両方ともEmacs ソースでprocess-send-region
を呼び出す C 関数です。send_process
src/process.c
これは、IPC パイプの 4k バッファによって生じる制限にすぎないようです。このサイズを変更するにはカーネルのハッキングが必要であるように見えるため、それは良い答えではありません。
私が困惑していると思うのは、パイプを介して送信された SQL が 4k より大きい場合、mysql クライアントによって適切に再構築されない理由です。何か案は?
Emacs バージョン: 2012-03-25 の GNU Emacs 23.3.1 (x86_64-pc-linux-gnu、GTK+ バージョン 2.24.10)、allspice、Debian で変更
mysql -V: mysql Ver 14.14 Distrib 5.5.24、readline 6.2 を使用する debian-linux-gnu (x86_64) 用
Sql Mysql オプション: -A -C -n (注意: -n (バッファなし) を使用した場合と使用しない場合の両方を試しましたが、どちらもこの問題を修正しませんでした)