Pembatalan ke savepoint SQL
Batalkan penyisipan kedua ke savepoint SQL dengan penyisipan pertama tetap terlihat dalam transaksi.
CREATE TEMP TABLE entries (id INTEGER);
BEGIN;
INSERT INTO entries VALUES (1);
SAVEPOINT item;
INSERT INTO entries VALUES (2);
ROLLBACK TO item;
RELEASE item;
SELECT id FROM entries;
ROLLBACK;- Proyek
- Lepaskan savepoint lalu batalkan transaksi luar dan pastikan pelepasan tidak mengesahkan baris tersisa.
- Tinjau sebelum menerapkan
- Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
- Model
- Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.
CREATE TEMP TABLE entries (id INTEGER);
BEGIN;
INSERT INTO entries VALUES (1);
SAVEPOINT item;
INSERT INTO entries VALUES (2);
ROLLBACK TO item;
RELEASE item;
SELECT id FROM entries;
ROLLBACK;Tinjau jalur kegagalan sebelum mengubah kode transaksi
Kode transaksi layak ditinjau dengan mengikuti pekerjaan yang berhasil maupun kegagalan parsial. Savepoint Arc adalah ruang kerja pemrograman AI Windows untuk menempatkan diskusi itu di samping berkas proyek. Buka folder aplikasi dan minta model terhubung memeriksa urutan SQL, pemanggilnya, dan hasil yang diharapkan sebelum mengusulkan perubahan.
Untuk operasi impor, permintaan yang berguna dapat memeriksa apakah satu item yang ditolak harus membatalkan seluruh kumpulan atau hanya pekerjaan setelah savepoint. Berikan pernyataan terkait dan jelaskan kebijakan yang dibutuhkan aplikasi. Minta asisten menghubungkan setiap usulan rollback atau release dengan kebijakan tersebut, alih-alih menyimpulkannya dari keberadaan transaksi.
Uji usulan yang dihasilkan terhadap keadaan basis data yang dapat diamati. Di lingkungan pengujian sekali pakai, jalankan kasus berhasil dan kegagalan di antara pernyataan, lalu periksa baris mana yang tetap terlihat dan apa yang diterima pemanggil. Tinjau kode aplikasi maupun SQL karena penanganan pengecualian yang salah dapat menggagalkan urutan transaksi yang sebenarnya masuk akal.
Pilih endpoint kompatibel OpenAI atau Anthropic yang didukung untuk percakapan. Model AI abliterasi hanya dapat dipilih jika layanan yang Anda konfigurasikan menyediakannya, dengan pembatasan dan kemampuan yang ditentukan di sana. Savepoint Arc menyediakan ruang kerja untuk memeriksa edit; perilaku basis data tetap perlu diverifikasi terhadap mesin dan proyek Anda.
Pertanyaan tentang batas transaksi
- Apa yang perlu saya jelaskan tentang kegagalan impor parsial?
Nyatakan apakah item yang diterima sebelumnya harus tetap ada, apakah seluruh impor harus atomik, dan kesalahan apa yang harus dilihat pemanggil. Keputusan itu menentukan batas yang dimaksud; model tidak boleh memilih kebijakan transaksi hanya dari sintaks SQL.
- Bisakah pengujian savepoint menggantikan pemeriksaan pemanggil aplikasi?
Tidak. Pemanggil dapat mencoba ulang, menangkap pengecualian, atau mengirim pernyataan tambahan setelah urutan SQL. Sertakan kode itu dalam tinjauan dan verifikasi responsnya terhadap kegagalan, terutama ketika commit akhir terjadi di luar fungsi yang ditampilkan.
- Di mana saya sebaiknya mencoba usulan perubahan rollback?
Gunakan basis data pengujian sekali pakai dengan data uji perwakilan dan perilaku mesin yang sama dengan yang diandalkan proyek. Periksa baris hasil dan hasil transaksi. Jangan menganggap penjelasan langkah demi langkah dari model sebagai bukti bahwa pernyataan berhasil dijalankan.
- Haruskah logika percobaan ulang ditambahkan saat mengubah savepoint?
Hanya dengan persyaratan eksplisit dan tinjauan tentang keamanan pengulangan operasi. Pisahkan percobaan ulang dari koreksi batas jika memungkinkan agar efek setiap perubahan tetap dapat dipahami dan diuji.
Savepoint Arc · Diperbarui 2026-10-25