2009-09-22 Dumitru Daniliuc <dumi@chromium.org>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 Sep 2009 22:24:56 +0000 (22:24 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 Sep 2009 22:24:56 +0000 (22:24 +0000)
commit5aca9e278f77c430b89afb9e5120169d6b35d19f
treea3847baed759d6a23fb29091f38a99a4465cc041
parente063d69caef25fbbadb7a13c892b89111544379f
2009-09-22  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        1. Adding two tests for the transaction coordinator.
        2. Fixing an incorrect <head> tag in some tests.

        https://bugs.webkit.org/show_bug.cgi?id=29115

        * storage/multiple-transactions-on-different-handles.html: Fixed a
        <head> tag (should've been </head>).
        * storage/open-database-while-transaction-in-progress.html: Fixed
        a <head> tag (should've been </head>).
        * storage/read-and-write-transactions-dont-run-together-expected.txt: Added.
        * storage/read-and-write-transactions-dont-run-together.html: Added.
        * storage/read-transactions-running-concurrently-expected.txt: Added.
        * storage/read-transactions-running-concurrently.html: Added.
        * storage/test-authorizer.html: Fixed a <head> tag (should've been
        </head>).
2009-09-22  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Changing the transaction coordinator to (re-)allow multiple read
        transactions on the same database to run concurrently (without
        risking a deadlock this time).

        https://bugs.webkit.org/show_bug.cgi?id=29115

        Tests: storage/read-and-write-transactions-dont-run-together.html
               storage/read-transactions-running-concurrently.html

        * storage/SQLTransaction.h:
        (WebCore::SQLTransaction::isReadOnly): Returns the type of the
        transaction.
        * storage/SQLTransactionCoordinator.cpp:
        (WebCore::SQLTransactionCoordinator::acquireLock): Changed to
        allow multiple read transactions on the same DB to run
        concurrently.
        (WebCore::SQLTransactionCoordinator::releaseLock): Changed to
        allow multiple read transactions on the same DB to run
        concurrently.
        (WebCore::SQLTransactionCoordinator::shutdown): Renamed the map.
        * storage/SQLTransactionCoordinator.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
13 files changed:
LayoutTests/ChangeLog
LayoutTests/storage/multiple-transactions-on-different-handles.html
LayoutTests/storage/open-database-while-transaction-in-progress.html
LayoutTests/storage/read-and-write-transactions-dont-run-together-expected.txt [new file with mode: 0644]
LayoutTests/storage/read-and-write-transactions-dont-run-together.html [new file with mode: 0644]
LayoutTests/storage/read-transactions-running-concurrently-expected.txt [new file with mode: 0644]
LayoutTests/storage/read-transactions-running-concurrently.html [new file with mode: 0644]
LayoutTests/storage/test-authorizer.html
WebCore/ChangeLog
WebCore/storage/SQLTransaction.cpp
WebCore/storage/SQLTransaction.h
WebCore/storage/SQLTransactionCoordinator.cpp
WebCore/storage/SQLTransactionCoordinator.h