Commit Graph

7 Commits

Author SHA1 Message Date
Shawn Wilsher
11b33f0ab8 Bug 506805 - Remove locking in AsyncExecuteStatements
This removes the use of the shared mutex in AsyncExecuteStatements.  We now rely
on PR_AtomicSet and the volatile keyword.  This results in zero lock contention
between the calling thread and the background thread if cancel is ever called.
r=asuth
r=bent
sr=vlad
2009-07-29 17:24:50 -07:00
Shawn Wilsher
463b989609 Bug 506022 - Avoid obtaining the database mutex at all costs in Connection::ExecuteAsync
Stop calling any SQLite functions that would acquire the database mutex inside
Connection::ExecuteAsync.  Additionally, do not actually bind parameters when
the binding functions are called, but rather when we execute (so for async
statements, that will happen on the background thread creating no mutex
contention with the main thread).
r=asuth
2009-07-28 10:21:03 -07:00
Drew Willcoxon
010916bdb4 Bug 490867 - Variant fixes: coerce null to empty string, GetIsNull should check correct type, variant base type should be void, r=sdwilsh
Adds a NullVariant derived class of Variant_base.
2009-06-24 15:04:49 -07:00
Shawn Wilsher
e6d9524f92 Test for bug 488148. r=asuth 2009-06-24 10:10:52 -07:00
Shawn Wilsher
6cbf5ad014 Bug 490085 - Add ability to bind multiple sets of parameters and execute asynchronously
Improves the asynchronous API by allowing multiple parameters to be bound before
executing it.  The statement is then executed with each set of parameters
asynchronously.
r=asuth
sr=vlad
2009-06-17 12:12:51 -07:00
Shawn Wilsher
2b8dcfe38e Backed out changeset d546bd2c46a4 (bug 490085) because it's broken (and thunderbird's test caught it) 2009-06-17 13:43:30 -07:00
Shawn Wilsher
82d918234b Bug 490085 - Add ability to bind multiple sets of parameters and execute asynchronously
Improves the asynchronous API by allowing multiple parameters to be bound before
executing it.  The statement is then executed with each set of parameters
asynchronously.
r=asuth
sr=vlad

--HG--
rename : storage/test/unit/test_storage_statement_executeAsync.js => storage/test/unit/test_statement_executeAsync.js
2009-06-17 12:12:51 -07:00