Giter Site home page Giter Site logo

Comments (4)

KapitanOczywisty avatar KapitanOczywisty commented on May 14, 2024 1

mysqli::savepoint and mysqli::release_savepoint are pretty useless without mysqli::rollback_to, so deprecate former 2 or add rollback_to. And the reason to add rollback_to is to have exactly the same escaping/handling of the $name. This is like adding array_push without array_pop.

$name parameter in begin_transaction/commit/rollback is a separate issue, and as I've mentioned: deprecate that and see if anybody will notice.

from php-src.

cmb69 avatar cmb69 commented on May 14, 2024

existing rollback with $name is doing nothing (only adding comment)

I wonder why that is only a comment. Wasn't ROLLBACK TO available on all supported servers when that had been implemented?

Anyhow, I think it makes sense to introduce this functionality; not sure about the details. It might be considered to re-purpose mysqli::rollback() for this.

from php-src.

KapitanOczywisty avatar KapitanOczywisty commented on May 14, 2024

I have no idea why this is implemented as a comment, maybe for debugging or to be similar to other api or maybe named transactions were planed at the time. Though I wasn't able to find anything similar being used in the wild. Also seems like ROLLBACK TO was available at that time, but there is distinction to mention:

ROLLBACK and ROLLBACK TO are in fact different statements - the first one is reverting whole transaction, the second one is only reverting to the named savepoint. ROLLBACK have options [NO] CHAIN and [NO] RELEASE ($flag argument) which ROLLBACK TO does not. It's probably better to keep them as separate functions.

Edit: if nobody knows what is the purpose of that comment maybe it's better to deprecate $name in begin_transaction/commit/rollback. In the worst case, somebody will tell us what this was for, after seeing deprecation warning 😏

from php-src.

kamil-tekiela avatar kamil-tekiela commented on May 14, 2024

I wouldn't support adding a new function that abstracts a very simple SQL command. There's no reason to do it in standard mysqli/mysqlnd. The only reason why we even have transaction-related methods in mysqli is because of this plugin: https://php-legacy-docs.zend.com/manual/php4/en/book.mysqlnd-ms I doubt anyone is actively using or maintaining this plugin, so we can't even ask them if such function would be useful to them. I don't have any other justification for adding this function.

Regarding deprecation, I wouldn't mind that, but a similar problem arises here. Do we know of any plugins actually using this param? PHP doesn't seem to use it nor does mysqlnd out of the box. Have any mysqlnd plugins ever made any use of it?

from php-src.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.