: Which PDO v2.0 feature are you most excited to use? Try the fetchGenerator() method on a million‑row table and watch memory usage flatten.

$pdo->beginTransaction(); // level 0 try $pdo->insert('users', ['name' => 'Alice']); $pdo->beginTransaction(); // actually creates SAVEPOINT sp1 try $pdo->insert('logs', ['action' => 'signup']); $pdo->commit(); // releases savepoint, not the main transaction catch (Exception $e) $pdo->rollback(); // rolls back only to sp1