Revert "Merge 'core: Disable ROLLBACK statement' from Pekka Enberg"

This reverts commit 8a13e4b02f, reversing
changes made to cc935f97cc.
This commit is contained in:
Pere Diaz Bou 2025-07-02 15:07:27 +02:00
parent a6954ee9aa
commit cde7202981
5 changed files with 12 additions and 4 deletions

View file

@ -78,7 +78,7 @@ Turso aims to be fully compatible with SQLite, with opt-in features not supporte
| RELEASE SAVEPOINT | No | |
| REPLACE | No | |
| RETURNING clause | No | |
| ROLLBACK TRANSACTION | No | Disabled due to https://github.com/tursodatabase/turso/issues/1890 |
| ROLLBACK TRANSACTION | Yes | |
| SAVEPOINT | No | |
| SELECT | Yes | |
| SELECT ... WHERE | Yes | |

View file

@ -43,6 +43,7 @@ use crate::{bail_parse_error, Connection, Result, SymbolTable};
use alter::translate_alter_table;
use index::{translate_create_index, translate_drop_index};
use insert::translate_insert;
use rollback::translate_rollback;
use schema::{translate_create_table, translate_create_virtual_table, translate_drop_table};
use select::translate_select;
use std::rc::Rc;
@ -168,7 +169,10 @@ pub fn translate_inner(
}
ast::Stmt::Reindex { .. } => bail_parse_error!("REINDEX not supported yet"),
ast::Stmt::Release(_) => bail_parse_error!("RELEASE not supported yet"),
ast::Stmt::Rollback { .. } => bail_parse_error!("ROLLBACK not supported yet"),
ast::Stmt::Rollback {
tx_name,
savepoint_name,
} => translate_rollback(query_mode, schema, syms, program, tx_name, savepoint_name)?,
ast::Stmt::Savepoint(_) => bail_parse_error!("SAVEPOINT not supported yet"),
ast::Stmt::Select(select) => {
translate_select(

View file

@ -10,7 +10,6 @@ use crate::{
Result, SymbolTable,
};
#[allow(dead_code)]
pub fn translate_rollback(
_query_mode: QueryMode,
_schema: &Schema,

View file

@ -349,7 +349,11 @@ fn generate_plan(opts: &Opts) -> Result<Plan, Box<dyn std::error::Error + Send +
}
queries.push(sql);
if tx.is_some() {
queries.push("COMMIT".to_string());
if get_random() % 2 == 0 {
queries.push("COMMIT".to_string());
} else {
queries.push("ROLLBACK".to_string());
}
}
}
plan.queries_per_thread.push(queries);

View file

@ -37,3 +37,4 @@ source $testdir/create_table.test
source $testdir/collate.test
source $testdir/values.test
source $testdir/integrity_check.test
source $testdir/rollback.test