[過去ログ] スレ立てるまでもない質問はここで 164匹目 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
122(2): デフォルトの名無しさん [sage] 2023/05/07(日) 15:38:56.81 ID:O0op5Uvp(2/2) AAS
>>9393(5): デフォルトの名無しさん [sage] 2023/05/07(日) 01:25:03.86 ID:6RURAAgh(1) AAS
これ自体はおそらく正しい
>begin;
でトランザクションを開始しておけば
>drop table AAA
でctrl-cして終了してもテーブルは消えない
ただ、今問題なのはなぜセミコロンを打ってない状態でctrl-cしたのにsql文が実行されてしまうのかということだけど
>ただ、今問題なのはなぜセミコロンを打ってない状態でctrl-cしたのにsql文が実行されてしまうのかということだけど
ソース読んだらセミコロンはEOF相当の副作用完了点ぐらいの意味しかないっぽい
それとone_input_lineに以下のコメントがある
/* ^C trap creates a false EOF, so let "interrupt" thread catch up.(^C トラップは偽の EOF を作成するので、「割り込み」スレッドに追いつかせる。) */
すなわちCtrl+Cの副作用で標準入力にEOFが生成されるなら、process_inputのメインループの入力待ちから制御が戻ってコマンドが実行される
言い換えればブレーキを踏んだ時点で入力した内容が正しければ、それを実行してから停止するがsqlite3.exeの仕様
124(1): デフォルトの名無しさん [sage] 2023/05/07(日) 15:48:32.26 ID:Ps8YkZ6N(6/6) AAS
>>122
ソース解析ありがとう
まあ利用者が直観的に期待する動作とは言いづらいね
126(1): デフォルトの名無しさん [sage] 2023/05/07(日) 22:57:14.11 ID:Br49IpAZ(1) AAS
>>122
そのコメントと対応する変更は3週間前に行われたものなので
問題になってる環境には反映されてないでしょ
それにCTRL+Cで入力途中のコマンドは実行されないと言ってる人のほうが大半なのでどう考えても仕様ではないよ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.037s