[過去ログ] スレ立てるまでもない質問はここで 164匹目 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
93
(5): 2023/05/07(日)01:25 ID:6RURAAgh(1) AAS
これ自体はおそらく正しい
>begin;
でトランザクションを開始しておけば
>drop table AAA
でctrl-cして終了してもテーブルは消えない

ただ、今問題なのはなぜセミコロンを打ってない状態でctrl-cしたのにsql文が実行されてしまうのかということだけど
94
(1): 2023/05/07(日)03:07 ID:aBZWLqUY(1) AAS
>>93
正しいわけあるかwww
96
(1): 2023/05/07(日)10:21 ID:xEkqTcpa(1/2) AAS
>>93
そう書かれれば、何を言っているかは分かりますが、
>>90 のように書かれれば(by CharGPT)、なんとなく関連していることは
言っていることは分かっても、細かい点が分かりません。
90にはbegin命令も書いてませんし、
commitやrollbackを実際に使ったことが無く、ちゃんと使い方を覚えてない私には、
commit文やrollback文をどこで発行すればいいのか私には良く分かりませんでした。
100
(1): 2023/05/07(日)12:30 ID:aFD4R/CC(1) AAS
>>98
>でも、CTRL+C を押すことは「中断しろ」の意味なのに、
>ROLLBACKではなく、COMMIT を発行してしまうのはバグという事になりそうです。
そんな現象は起こってないよ
>>90>>93をよく読んで
122
(2): 2023/05/07(日)15:38 ID:O0op5Uvp(2/2) AAS
>>93
>ただ、今問題なのはなぜセミコロンを打ってない状態で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の仕様
146
(1): 2023/05/08(月)12:51 ID:QcAzVd3l(1/3) AAS
>>93
だれも指摘しませんが、transaction の開始は、
start tansaction;
ではないのでしょうか??
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.199s*