FAQ
Hi all.

During my experimental Oracle port, I've found a little problem, and I'm
asking some comment (or even help).

Apparently, the drupal db architecture is not designed to use db
transactions. The only way of doing something similar appear to do an
explicit lock on the needed table (function db_lock_table). This
functionality appear (at least to me) linked to mysql, and compatible
with postgres (ehm).

Under postgres, a query is executed by default in "auto-commit" mode,
but emitting a "BEGIN" command the following commands will be in the
same transaction, until "COMMIT" or "ROLLBACK" command is sent.

Under Oracle I can choose the auto-commit mode, but I have not the same
flexibility I have under postgres. Even worse, I need the transaction
control to bind large variables (LOB).

For now, I can solve the problem with some "dirty trick" (like saving
some sort of embedded status doing db_lock_table), but, for the future,
I think that problem (clean transaction/lock support) should be
addressed...

Ok, anyway: next week I hope to be able to publish the first batch of
patches for the Oracle support in drupal 5.1. I'll publish them via this
mailing list as a request for comments/tests. If there is a better way,
please notify me.



Best Regards,
Gabriele Turchi

P.S.: I'm sorry, my English is alpha version...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 6054 bytes
Desc: not available
Url : http://lists.drupal.org/pipermail/development/attachments/20070427/ba993466/attachment.bin

Search Discussions

  • David Strauss at Apr 28, 2007 at 5:28 am
    You may want to check out a module I wrote for transactional abstraction
    in Drupal.

    http://drupal.org/project/pressflow_transaction

    Granted, it doesn't solve issues with Drupal creating locks, but it's an
    interesting start.

    Gabriele Turchi wrote:
    Hi all.

    During my experimental Oracle port, I've found a little problem, and I'm
    asking some comment (or even help).

    Apparently, the drupal db architecture is not designed to use db
    transactions. The only way of doing something similar appear to do an
    explicit lock on the needed table (function db_lock_table). This
    functionality appear (at least to me) linked to mysql, and compatible
    with postgres (ehm).

    Under postgres, a query is executed by default in "auto-commit" mode,
    but emitting a "BEGIN" command the following commands will be in the
    same transaction, until "COMMIT" or "ROLLBACK" command is sent.

    Under Oracle I can choose the auto-commit mode, but I have not the same
    flexibility I have under postgres. Even worse, I need the transaction
    control to bind large variables (LOB).

    For now, I can solve the problem with some "dirty trick" (like saving
    some sort of embedded status doing db_lock_table), but, for the future,
    I think that problem (clean transaction/lock support) should be
    addressed...

    Ok, anyway: next week I hope to be able to publish the first batch of
    patches for the Oracle support in drupal 5.1. I'll publish them via this
    mailing list as a request for comments/tests. If there is a better way,
    please notify me.



    Best Regards,
    Gabriele Turchi

    P.S.: I'm sorry, my English is alpha version...
    -------------- next part --------------
    A non-text attachment was scrubbed...
    Name: signature.asc
    Type: application/pgp-signature
    Size: 186 bytes
    Desc: OpenPGP digital signature
    Url : http://lists.drupal.org/pipermail/development/attachments/20070428/78b5996c/attachment.pgp
  • Earnest Berry III at Apr 30, 2007 at 2:02 pm
    Hey. Good to hear. I'd say at least open 1 thread on drupal about your work
    with your patch posted. Easier for others to comment on. But def. feel free
    to keep the devel thread updated.

    -----Original Message-----
    From: development-bounces at drupal.org [mailto:development-bounces at drupal.org]
    On Behalf Of Gabriele Turchi
    Sent: Friday, April 27, 2007 2:27 PM
    To: development at drupal.org
    Subject: [development] Drupal db and transactions

    Hi all.

    During my experimental Oracle port, I've found a little problem, and I'm
    asking some comment (or even help).

    Apparently, the drupal db architecture is not designed to use db
    transactions. The only way of doing something similar appear to do an
    explicit lock on the needed table (function db_lock_table). This
    functionality appear (at least to me) linked to mysql, and compatible
    with postgres (ehm).

    Under postgres, a query is executed by default in "auto-commit" mode,
    but emitting a "BEGIN" command the following commands will be in the
    same transaction, until "COMMIT" or "ROLLBACK" command is sent.

    Under Oracle I can choose the auto-commit mode, but I have not the same
    flexibility I have under postgres. Even worse, I need the transaction
    control to bind large variables (LOB).

    For now, I can solve the problem with some "dirty trick" (like saving
    some sort of embedded status doing db_lock_table), but, for the future,
    I think that problem (clean transaction/lock support) should be
    addressed...

    Ok, anyway: next week I hope to be able to publish the first batch of
    patches for the Oracle support in drupal 5.1. I'll publish them via this
    mailing list as a request for comments/tests. If there is a better way,
    please notify me.



    Best Regards,
    Gabriele Turchi

    P.S.: I'm sorry, my English is alpha version...

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupdevelopment @
categoriesdrupal
postedApr 27, '07 at 6:27p
activeApr 30, '07 at 2:02p
posts3
users3
websitedrupal.org
irc#drupal

People

Translate

site design / logo © 2022 Grokbase