Wycofywanie do punktów zapisu SQL
Wycofaj drugi wpis do punktu zapisu SQL, pozostawiając pierwszy widoczny w transakcji.
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;- Projekt
- Zwolnij punkt i wycofaj zewnętrzną transakcję, sprawdzając, że zwolnienie nie zatwierdziło pozostałego wiersza.
- Sprawdź przed zastosowaniem
- Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
- Modele
- Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.
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;Przejrzyj ścieżkę błędu przed zmianą kodu transakcji
Kod transakcji zasługuje na przegląd obejmujący zarówno powodzenie, jak i częściową awarię. Savepoint Arc to środowisko AI do kodowania w Windows, które umieszcza tę rozmowę obok plików projektu. Otwórz folder aplikacji i poproś podłączony model o zbadanie sekwencji SQL, kodu wywołującego i oczekiwanego wyniku przed zaproponowaniem zmiany.
W przypadku importu przydatna prośba może dotyczyć tego, czy jeden odrzucony element powinien cofnąć całą partię, czy tylko pracę po punkcie zapisu. Dostarcz odpowiednie instrukcje i wyjaśnij zasady wymagane przez aplikację. Poproś asystenta o powiązanie każdego proponowanego cofnięcia lub zwolnienia punktu zapisu z tymi zasadami, zamiast wywnioskowywać je z obecności transakcji.
Przetestuj wynikową propozycję względem obserwowalnego stanu bazy. W jednorazowym środowisku testowym uruchom przypadek powodzenia i błąd między instrukcjami, a potem sprawdź, które wiersze pozostają widoczne i co otrzymuje kod wywołujący. Oceń kod aplikacji oraz SQL, ponieważ nieprawidłowa obsługa wyjątku może unieważnić skądinąd sensowną sekwencję transakcji.
Do rozmowy wybierz obsługiwany punkt końcowy zgodny z OpenAI lub Anthropic. Model AI ze zniesionymi ograniczeniami odpowiedzi jest dostępny do wyboru tylko wtedy, gdy zapewnia go skonfigurowana usługa, która określa ograniczenia i możliwości. Savepoint Arc zapewnia środowisko do przeglądania zmian; działanie bazy nadal wymaga weryfikacji z używanym silnikiem i projektem.
Pytania o granice transakcji
- Co wyjaśnić w sprawie częściowego błędu importu?
Określ, czy wcześniejsze zaakceptowane elementy mają pozostać, czy cały import musi być atomowy i jaki błąd powinien zobaczyć kod wywołujący. Te decyzje wyznaczają zamierzoną granicę; model nie powinien wybierać zasad transakcji na podstawie samej składni SQL.
- Czy test punktu zapisu zastępuje sprawdzenie kodu wywołującego aplikacji?
Nie. Kod wywołujący może ponawiać operację, przechwytywać wyjątek lub wykonywać dodatkowe instrukcje po sekwencji SQL. Uwzględnij go w przeglądzie i sprawdź reakcję na błąd, zwłaszcza gdy końcowe zatwierdzenie odbywa się poza pokazaną funkcją.
- Gdzie wypróbować proponowaną zmianę cofania?
Użyj jednorazowej testowej bazy z reprezentatywnymi danymi i takim samym zachowaniem silnika, od którego zależy projekt. Sprawdź wynikowe wiersze i rezultat transakcji. Nie traktuj opisu modelu jako dowodu pomyślnego wykonania instrukcji.
- Czy dodawać logikę ponawiania podczas zmiany punktów zapisu?
Tylko przy jawnym wymaganiu i po ocenie bezpieczeństwa powtarzania operacji. W miarę możliwości oddziel ponawianie od korekty granicy, aby skutek każdej zmiany był zrozumiały i możliwy do przetestowania.
Savepoint Arc · Zaktualizowano 2026-10-25