Граф коммитов

37 Коммитов

Автор SHA1 Сообщение Дата
Simon Giesecke 971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Dave Townsend d41d51406e Bug 1657965: Remove expired async storage telemetry. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D86412
2020-09-28 16:47:51 +00:00
Dave Townsend c9061686f8 Bug 1635489: Add telemetry on the status of sqlite database accesses. r=mak
Includes baddataDB.sqlite which is a copy of goodDB.sqlite but with what appears
to be the row count inflated beyond the end of the file. This causes loading the
database to succeed but queries to fail.

This increments a scalar for every database open and for every database query
where a query is the full execution of a statement from start to completion. If
a statement is re-used then the scalar will be incremented once for each use.

Differential Revision: https://phabricator.services.mozilla.com/D73938
2020-08-11 20:55:33 +00:00
Razvan Maries be21687a00 Backed out changeset af815754d58a (bug 1635489) for perma failures on test_statement_executeAsync.js. CLOSED TREE 2020-08-11 00:21:05 +03:00
Dave Townsend d49a4517e8 Bug 1635489: Add telemetry on the status of sqlite database accesses. r=mak
Includes baddataDB.sqlite which is a copy of goodDB.sqlite but with what appears
to be the row count inflated beyond the end of the file. This causes loading the
database to succeed but queries to fail.

This increments a scalar for every database open and for every database query
where a query is the full execution of a statement from start to completion. If
a statement is re-used then the scalar will be incremented once for each use.

Differential Revision: https://phabricator.services.mozilla.com/D73938
2020-08-10 20:09:27 +00:00
Simon Giesecke 96f3e7e019 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-04 11:27:07 +00:00
Noemi Erli 381fca9783 Backed out 4 changesets (bug 1654992, bug 1654991) for causing timeous in mask-opacity-1e.html
Backed out changeset 11f0f54c6e0a (bug 1654992)
Backed out changeset a353dd5b3f08 (bug 1654991)
Backed out changeset 6a7964ba549f (bug 1654991)
Backed out changeset cf3bfb91d98c (bug 1654991)
2020-08-03 22:09:36 +03:00
Simon Giesecke 032d2ac9d3 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-03 14:54:18 +00:00
Haik Aftandilian 82ec0b2bdb Bug 1643491 - Check for cancellation in SQLITE_BUSY loop r=mak
Check for cancellation in SQLITE_BUSY loop and refactor SQLITE_BUSY handling to release/acquire mMutex only once.

Differential Revision: https://phabricator.services.mozilla.com/D78565
2020-06-09 19:47:53 +00:00
Nathan Froyd 0541624397 Bug 1639658 - make AsyncExecuteStatements use mozilla::Runnable; r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D76201
2020-05-20 18:41:28 +00:00
Eric Rahm 12ca859e67 Bug 1626456 - Remove stray nsAutoPtr.h includes. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D69127

--HG--
extra : moz-landing-system : lando
2020-04-03 21:05:46 +00:00
Lina Cambridge 38a1672309 Bug 1613835 - Use a SQLite API call to check for in-progress transactions. r=mak
Previously, `mozIStorageConnection#transactionInProgress` returned true
only if a transaction was started via `beginTransaction()`. This meant
that manually executing `BEGIN`, as `Sqlite.jsm` and the Rust bindings
do, wouldn't accurately report if a transaction was in progress.
Similarly, the flag wasn't accurate in cases where SQLite automatically
rolled back a transaction.

Fortunately, SQLite provides the `sqlite3_get_autocommit()` function,
which we can use to determine if a transaction is open or not. This
commit refactors the `transactionInProgress` getter, along with all
`Connection` methods that depend on it, to use the SQLite API instead
of managing that state on the connection. `mozStorageTransaction` and
`Sqlite.jsm` still use their own flags to decide whether to commit
their transactions, for reasons explained in the IDL comment.

This commit also moves `transactionInProgress` to
`mozIStorageAsyncConnection`, so that `Sqlite.jsm` can use it, and
exposes it to Rust.

Differential Revision: https://phabricator.services.mozilla.com/D63732

--HG--
extra : moz-landing-system : lando
2020-03-03 22:57:39 +00:00
Simon Giesecke b50347f917 Bug 1611415 - Prefer using std::move over forget. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980

--HG--
extra : moz-landing-system : lando
2020-02-13 14:38:48 +00:00
shindli 91aa0518dd Backed out changeset 0c982bc69cb3 (bug 1611415) for causing build bustages in /builds/worker/workspace/build/src/obj-firefox/dist/include/nsCOMPtr CLOSED TREE 2020-02-12 20:13:29 +02:00
Simon Giesecke f604a47fa5 Bug 1611415 - Applied FixItHints from mozilla-non-std-move. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980

--HG--
extra : moz-landing-system : lando
2020-02-12 17:24:41 +00:00
Sylvestre Ledru e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

Differential Revision: https://phabricator.services.mozilla.com/D28956

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Kit Cambridge 4b47270cdb Bug 1435446 - Reset executing statements on `SQLITE_BUSY` before retrying. r=mak
MozReview-Commit-ID: 9NtIJ49L8QR

--HG--
extra : rebase_source : 39ec7147911a68bebcae1281d276a431769adc1e
2018-02-23 19:50:38 -08:00
Marco Bonardo 7f569f98d9 Bug 1320301 - Add partial support to sqlite3_interrupt. r=asuth
MozReview-Commit-ID: V3ZjLEjqmT

--HG--
extra : rebase_source : 6f559b473c32dfcfb2bfe919c53199e202f7d636
2017-07-31 22:27:23 +02:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Marco Bonardo 53fe12fd9d Bug 1375217 - Avoid raw pointers in mozStorageAsyncStatementExecution.cpp. r=asuth
MozReview-Commit-ID: Lshd1HUjXSq

--HG--
extra : rebase_source : 0327588f9cbbfac4e3b5ffdcb62025ee930107aa
2017-06-21 18:47:26 +02:00
Marco Bonardo 1d88de7d2f Bug 1371945 - Avoid a possible thread-safety problem with unfinalized statements. r=asuth
Avoids a thread-safety race condition on shutdown where we could try to finalize a statement twice.
Allows the async thread to be referenced until ShutdownAsyncThread, so async finalizers can make use of it.
Removes the no more useful mAsyncExecutionThreadIsAlive.
Nullifies the sqlite3_mutex pointer when the connection is closed, since it would be a dangling pointer.
Use a ScopeExit to ensure the connection and the mutex pointers are always nullified on failure.
Makes asyncClose bailout early if a Close method was already invoked before.
Makes AsyncInitDatabase not use AsyncClose to just shutdown the async thread.
Fixes various unfinalized statements in consumers code.
Makes mConnectionClosed better follow mDBConn status.
Replaces some mutex locking isClosed() calls with lockless isConnectionReadyOnThisThread.

MozReview-Commit-ID: 6sftFehsQTt

--HG--
extra : rebase_source : 2bf3088b500376e58e62e8f078d9950588adc649
2017-06-16 17:43:23 +02:00
Randell Jesup 41c4f44c15 Bug 1350752: Cleanup async mozStorage callback management r=layzell
MozReview-Commit-ID: 6LS1Strqu6s
2017-03-28 06:54:02 -04:00
Bill McCloskey ef3d0f1c2e Bug 1331804 - Add more runnable names (r=ehsan)
MozReview-Commit-ID: 1QBmqfgY6WI
2017-01-24 16:34:37 -08:00
Wes Kocher f7ccafcb58 Backed out 8 changesets (bug 1331804, bug 1332100) for windows vm debug dt5 failures a=backout
Backed out changeset 8bf7f0e27c6c (bug 1331804)
Backed out changeset 600c0b9026c2 (bug 1331804)
Backed out changeset 3a5b5b9ecace (bug 1331804)
Backed out changeset c76432c9954e (bug 1331804)
Backed out changeset 46a9096745e7 (bug 1332100)
Backed out changeset 8b751230fa23 (bug 1331804)
Backed out changeset 2810212347fd (bug 1331804)
Backed out changeset be72b7763910 (bug 1331804)

MozReview-Commit-ID: Ywdsr4GZ4a
2017-01-24 15:12:21 -08:00
Bill McCloskey 80aaeed2fc Bug 1331804 - Add more runnable names (r=ehsan)
MozReview-Commit-ID: 1QBmqfgY6WI
2017-01-24 10:04:55 -08:00
Michael Layzell 60651a924f Bug 1301127 - Make nsNavHistoryFolderResultNode QueryInterface to mozIStorageStatementCallback, r=smaug
MozReview-Commit-ID: 5CPNIz3w4Iy
2016-09-07 14:46:27 -04:00
Michael Layzell 4da0c5f485 Bug 1301124 - Make sure to actually hold a death grip on callback in ErrorNotifier::Run() and CallbackResultNotifier::Run(), r=smaug
MozReview-Commit-ID: 28K4VmKoqgO
2016-09-07 13:29:17 -04:00
Michael Layzell 36e08437d0 Bug 1018486 - Part 8: Various other changes, r=smaug
MozReview-Commit-ID: B0dsomkWgEk
2016-09-07 10:50:45 -04:00
Nicholas Nethercote b71747b2ac Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.

--HG--
extra : rebase_source : 886e57a9e433e0cb6ed635cc075b34b7ebf81853
2016-09-01 15:01:16 +10:00
Nicholas Nethercote e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Kyle Huey c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Eric Rahm 1874580339 Bug 1194023 - Part 2: Only check for sort operations if mozStorage logging is enabled. r=mak 2015-09-25 16:33:22 -07:00
Nathan Froyd ca51445d31 Bug 1193022 - clean up reference-counting in storage/; r=mak 2015-07-01 13:11:11 -04:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Birunthan Mohanathas 296aa63730 Bug 1164717 - Flatten storage/src/ directory. r=mak
--HG--
rename : storage/src/FileSystemModule.cpp => storage/FileSystemModule.cpp
rename : storage/src/FileSystemModule.h => storage/FileSystemModule.h
rename : storage/src/IStorageBindingParamsInternal.h => storage/IStorageBindingParamsInternal.h
rename : storage/src/SQLCollations.cpp => storage/SQLCollations.cpp
rename : storage/src/SQLCollations.h => storage/SQLCollations.h
rename : storage/src/SQLiteMutex.h => storage/SQLiteMutex.h
rename : storage/src/StorageBaseStatementInternal.cpp => storage/StorageBaseStatementInternal.cpp
rename : storage/src/StorageBaseStatementInternal.h => storage/StorageBaseStatementInternal.h
rename : storage/src/TelemetryVFS.cpp => storage/TelemetryVFS.cpp
rename : storage/src/VacuumManager.cpp => storage/VacuumManager.cpp
rename : storage/src/VacuumManager.h => storage/VacuumManager.h
rename : storage/src/Variant.h => storage/Variant.h
rename : storage/src/Variant_inl.h => storage/Variant_inl.h
rename : storage/src/mozStorageArgValueArray.cpp => storage/mozStorageArgValueArray.cpp
rename : storage/src/mozStorageArgValueArray.h => storage/mozStorageArgValueArray.h
rename : storage/src/mozStorageAsyncStatement.cpp => storage/mozStorageAsyncStatement.cpp
rename : storage/src/mozStorageAsyncStatement.h => storage/mozStorageAsyncStatement.h
rename : storage/src/mozStorageAsyncStatementExecution.cpp => storage/mozStorageAsyncStatementExecution.cpp
rename : storage/src/mozStorageAsyncStatementExecution.h => storage/mozStorageAsyncStatementExecution.h
rename : storage/src/mozStorageAsyncStatementJSHelper.cpp => storage/mozStorageAsyncStatementJSHelper.cpp
rename : storage/src/mozStorageAsyncStatementJSHelper.h => storage/mozStorageAsyncStatementJSHelper.h
rename : storage/src/mozStorageAsyncStatementParams.cpp => storage/mozStorageAsyncStatementParams.cpp
rename : storage/src/mozStorageAsyncStatementParams.h => storage/mozStorageAsyncStatementParams.h
rename : storage/src/mozStorageBindingParams.cpp => storage/mozStorageBindingParams.cpp
rename : storage/src/mozStorageBindingParams.h => storage/mozStorageBindingParams.h
rename : storage/src/mozStorageBindingParamsArray.cpp => storage/mozStorageBindingParamsArray.cpp
rename : storage/src/mozStorageBindingParamsArray.h => storage/mozStorageBindingParamsArray.h
rename : storage/src/mozStorageConnection.cpp => storage/mozStorageConnection.cpp
rename : storage/src/mozStorageConnection.h => storage/mozStorageConnection.h
rename : storage/src/mozStorageError.cpp => storage/mozStorageError.cpp
rename : storage/src/mozStorageError.h => storage/mozStorageError.h
rename : storage/src/mozStoragePrivateHelpers.cpp => storage/mozStoragePrivateHelpers.cpp
rename : storage/src/mozStoragePrivateHelpers.h => storage/mozStoragePrivateHelpers.h
rename : storage/src/mozStorageResultSet.cpp => storage/mozStorageResultSet.cpp
rename : storage/src/mozStorageResultSet.h => storage/mozStorageResultSet.h
rename : storage/src/mozStorageRow.cpp => storage/mozStorageRow.cpp
rename : storage/src/mozStorageRow.h => storage/mozStorageRow.h
rename : storage/src/mozStorageSQLFunctions.cpp => storage/mozStorageSQLFunctions.cpp
rename : storage/src/mozStorageSQLFunctions.h => storage/mozStorageSQLFunctions.h
rename : storage/src/mozStorageService.cpp => storage/mozStorageService.cpp
rename : storage/src/mozStorageService.h => storage/mozStorageService.h
rename : storage/src/mozStorageStatement.cpp => storage/mozStorageStatement.cpp
rename : storage/src/mozStorageStatement.h => storage/mozStorageStatement.h
rename : storage/src/mozStorageStatementData.h => storage/mozStorageStatementData.h
rename : storage/src/mozStorageStatementJSHelper.cpp => storage/mozStorageStatementJSHelper.cpp
rename : storage/src/mozStorageStatementJSHelper.h => storage/mozStorageStatementJSHelper.h
rename : storage/src/mozStorageStatementParams.cpp => storage/mozStorageStatementParams.cpp
rename : storage/src/mozStorageStatementParams.h => storage/mozStorageStatementParams.h
rename : storage/src/mozStorageStatementRow.cpp => storage/mozStorageStatementRow.cpp
rename : storage/src/mozStorageStatementRow.h => storage/mozStorageStatementRow.h
rename : storage/src/variantToSQLiteT_impl.h => storage/variantToSQLiteT_impl.h
2015-05-19 10:47:33 -07:00