Hi Kentaro, Thank you for your important point.
> While most databases use `SAVEPOINT [name]`, but: > > https://github.com/laravel/framework/blob/v10.43.0/src/Illuminate/Database/Query/Grammars/SqlServerGrammar.php#L453-L456 > > ```php > return 'SAVE TRANSACTION '.$name; > ``` > > SQL Server uniquely uses `SAVE TRANSACTION [name]`. There might be > other variations in databases, so full support could be challenging, > which is something to be mindful of. I think this feature will be implemented for each driver, so it probably won't be a problem for anything other than pdo_odbc. As you say, I think I need to think a little more about pdo_odbc. (When I looked into odbc3 again, I realized that what I had written was not an API for odbc, sorry. Therefore, it may be difficult to support this feature stably with ODBC.) I'll see if there's a better way. >> change the signature of `rollback()` to `rollback(?string $name = null)`. > > This might lead to confusion due to `rollback()` having multiple > functionalities, as `ROLLBACK` and `ROLLBACK TO [name]` target > different rollback operations. > > Just as `beginTransaction()` and `savepoint()` are separate, perhaps > having a separate method for rolling back to a savepoint might > maintain consistency, for example `rollbackToSavepoint(string $name)`. Regarding this, mysqli's `rollback()` is such a specification, so I used that as a reference. However, it may be safer to separate the method itself. `rollbackTo()` might also be good. Regards. Saki -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php