Commit Graph

115 Commits

Author SHA1 Message Date
Shawn Wilsher
0f58a116a4 Bug 461344 - abort if the version of sqlite we are using is not new enough
This adds a runtime check to ensure that the version of SQLite that is running
is the same as the one that we were compiled with.  If the check fails, we will
display a prompt to the user, and abort.
r=bsmedberg
2008-10-31 20:38:58 -04:00
Shawn Wilsher
39902a3ad9 Bug 451815 - Need a more reliable way to indicate SQLITE_BUSY
This changeset adds a new error result for storage (NS_ERROR_STORAGE_BUSY) that
maps directly to when SQLite would return SQLITE_BUSY.
r=asuth

--HG--
rename : storage/src/mozStorage.h => storage/src/mozStoragePrivateHelpers.h
2008-10-30 18:50:00 -04:00
Shawn Wilsher
391d9528c6 Bug 462434 - Transaction semantics are bad
This propagates errors in starting and ending transactions.
r=asuth
2008-10-30 18:46:25 -04:00
Shawn Wilsher
dc609f2b37 Bug 454740 - Asynchronous storage should batch/chunk results
This changeset batches results obtained by the async storage API so we are not
flooding the calling thread with so many events.
r=asuth
2008-10-29 13:13:32 -04:00
Serge Gautherie
072cb01113 Bustage fix (= missed additional change) for
Bug 460635 - There should be one async execution thread per mozStorageConnection connection; v1.2; r=(bugmail + sdwilsh)
2008-10-29 05:09:23 +01:00
Andrew Sutherland
6d099dfd18 Bug 460635 - There should be one async execution thread per mozStorageConnection connection; v1.2; r=(bugmail + sdwilsh) 2008-10-29 04:53:19 +01:00
Shawn Wilsher
92b873c0ea Bug 458998 - AsyncExecute helper classes can complete() before they are added to mPendingEvents
This changeset also fixes a few issues where we were holding a lock while and
kills off a few other race conditions that were noticed in the course of fixing
this bug.
r=bent
2008-10-24 18:30:07 -04:00
Shawn Wilsher
109431d7e2 Bug 461263 - Race condition exists with mozStorageTransaction
While the race was technically "safe", we could have possibly wrongly tried to
commit or rollback.  This changeset makes us operate sanely in all conditions.
r=bent
2008-10-24 16:50:01 -04:00
Shawn Wilsher
7d6e03614c Bug 458811 - Allow for multiple statements to be executed at in a transaction asynchronously
This changeset allows consumers to execute a series of statements, in order,
asynchronously in a transaction.
r=dcamp
sr=sicking
2008-10-13 18:45:40 -04:00
Shawn Wilsher
63c721e654 Bug 458756 - Use raw sqlite3_stmt pointers instead of the mozStorageStatement object for async statements
This ends up saving us a bunch of work when we execute a statement
asynchronously, and makes bug 458811 easier to do.
r=dcamp
2008-10-10 17:41:31 -04:00
Shawn Wilsher
88ea2a123a comment change to kick off new builds
rs=me
2008-10-09 20:29:14 -04:00
Shawn Wilsher
b05d1e3d70 Bug 453722 - Do not need to safeguard more than one call to Init for storage service
Bug 449822 made it so services can not be initialized more than once when being
called from multiple threads.  Storage used to protect against this, but no
longer needs to do this (which this changeset makes us do).
r=bent
2008-09-25 14:28:29 -04:00
Doug Turner
78944ebcd0 Bug 456489 - WinCE Compiler keyword interface used in mozStorageRow.cpp. patch by wolfe, r=sdwilsh 2008-09-23 11:03:48 -07:00
Doug Turner
532a8f794c Bug 456471 - mozIStorageError IDL file needs ERROR undefined for WinCE / WinMobile. patch by wolfe, r=sdwilsh 2008-09-23 11:02:55 -07:00
Andrew Sutherland
801ff3b722 Bug 455202 - executeAsync without listener/callback results in segfault when error encountered; test part; r=sdwilsh 2008-09-15 18:50:21 +02:00
Andrew Sutherland
b08b3ce98a Bug 455202 - executeAsync without listener/callback results in segfault when error encountered; fix part; r=sdwilsh 2008-09-15 18:49:18 +02:00
Shawn Wilsher
0185fdd2c7 Bustage fix - double semi-colon. 2008-09-12 17:40:55 -04:00
Shawn Wilsher
411ab513e4 Bug 452897 - Automatically provide the wrapper for JavaScript
This changeset adds a language helper to mozStorageStatement so it gets the
attributes and methods that mozIStorageStatementWrapper has.  We can now mark
the wrapper as depreciated.
r=vlad
r=mrbkap

--HG--
rename : storage/test/unit/test_storage_statement_wrapper.js => storage/test/unit/test_statement_wrapper_automatically.js
2008-09-12 17:30:41 -04:00
Shawn Wilsher
3c7e641f24 Bug 452897 - Automatically provide the wrapper for JS
This changeset has no code changes - it just separates three classes that were
all contained in one file into three files (with appropriate headers).  This is
being done to make the actual code changes for the bug simpler.
rs=me
2008-09-12 17:30:37 -04:00
Shawn Wilsher
07b0c50926 Bug 452836 - Optimize calls to sqlite3_prepare_v2
This changeset makes all calls pass -1 for length which indicates that the
string is null terminated.
r=Neil
2008-09-03 12:20:10 -04:00
Jason Orendorff
4b74677d5e Bug 407216 - DOM quick stubs - faster paths for top N DOM methods (r+sr=jst, security r=mrbkap, build r=bsmedberg)
* * *
* * *
* * *
2008-08-19 21:38:24 -05:00
Shawn Wilsher
0160a5a9a4 Bug 452836 - Optimize calls to sqlite3_prepare_v2
This makes sqlite not copy the sql string when preparing it, saving us a string
copy every time.
r=bholley
2008-08-29 17:19:23 -04:00
Shawn Wilsher
8f4c08beda Bug 452833 - Do not loop if we get SQLITE_SCHEMA
We used to have to try again if we got SQLITE_SCHEMA back from sqlite when we
prepare a statement.  However, this isn't needed with the new v2 interface,
which we now use.
r=bholley
2008-08-29 17:17:01 -04:00
Shawn Wilsher
76d3a2e23b Bug 451058 - Address post-review comments.
This addresses some comments that were brought up after the code had already
landed.
r=Neil
2008-08-29 16:46:14 -04:00
Shawn Wilsher
44a275974f Bug 452841 - Remove hack in mozStorageStatement::Initialize
This removes some code that was at one time needed to work around a sqlite but
that no longer exists.
r=vlad
2008-08-29 16:42:12 -04:00
Shawn Wilsher
08e0233a18 Bug 451463 - mozStorageStatement needs threadsafe refcounting
This changeset makes mozStoageStatement use threadsafe refcounting.  The class
is still not threadsafe, but JS consumers cannot create a statement off of the
main thread since it would be garbage collected on the main thread.
r=bent
2008-08-27 13:11:02 -04:00
Shawn Wilsher
8efcc4cad7 Bug 448607 - Includes and comments are not accurate in mozStorageBackground.*
This fixes some comments that are wrong and removes unneeded includes.
rs=me; there's really no change here.
2008-08-27 13:05:03 -04:00
Jason Orendorff
f9365c3994 Backing out changeset cf6c811e1272 (bug 407216) due to debug assertions. 2008-08-19 22:28:26 -05:00
Jason Orendorff
fe99024391 Bug 407216 - DOM quick stubs - faster paths for top N DOM methods (r+sr=jst, security r=mrbkap, build r=bsmedberg)
* * *
* * *
2008-08-19 21:38:24 -05:00
Lukas Blakk
35fc19014c Bug 450665: test_bug-365166.js creates file in /tmp instead of in build directory. r=sdwilsh 2008-08-16 16:17:47 +01:00
Shawn Wilsher
24ac19f401 Make mozIStorageConnection threadsafe - bug 448476 r=robarnold 2008-08-12 17:50:25 -07:00
Blake Kaplan
7d51f1aea1 Avoid returning false without setting an exception. bug 429521, r=sdwilsh 2008-08-04 10:04:27 -07:00
Blake Kaplan
dccac8e071 Test that the object has the right class, even when called from native code. bug 444233, r=shaver 2008-07-16 19:29:06 +02:00
Shawn Wilsher
210f106729 Bug 444821 - Re-enable test_storage_statement_executeAsync.js
This fixes the test to run properly on slower running systems (like the
tinderbox machines).
r=vlad
2008-07-15 11:04:52 -04:00
Shawn Wilsher
9570940ede Disable stupid test (stupidity is my own fault). Bug 444821 to fix it properly
and re-enable it.
2008-07-11 17:29:45 -04:00
Shawn Wilsher
64bb4af221 Bug 429986 - Provide an option for database to be asynchronous
This adds unit tests for the async storage work.
r=vlad
2008-07-11 15:47:38 -04:00
Shawn Wilsher
f1886e9571 Bug 429986 - Provide an option for database access to be asynchronous.
This adds a method to mozIStorageStatement to allow for a statement to execute
asynchronously and report to a callback.  For writes, this can move fsyncs,
which can be painful, off of the main thread.
r=vlad
sr=shaver
2008-07-11 15:47:33 -04:00
Shawn Wilsher
27b46619c8 Bug 435994 - Implement ResultSet and Row for mozIStorageStatement::executeAsync
These creates the result set and row objects to be used with the async storage
API added in bug 429986.
r=vlad
sr=shaver
2008-07-11 15:47:28 -04:00
Shawn Wilsher
a1cf6e940b Bug 435995 - Implement an nsIVariant object storage can use.
This creates a templated C++ class for storage to map SQLite data types to the
correct nsIVariant.
r=robarnold
r=vlad
2008-07-11 15:47:21 -04:00
Shawn Wilsher
f83da01e83 Bug 444347 - Make NSPR logging a bit more useful
This adds additional NSPR logging to storage.  Logging is now done when a sql
statement is prepared, a connection is opened, and a connection is closed.
Additionally, when sqlite3_trace is called, we also log the address of the
connection so you know what queries are running on which database.  The address
is also logged at connection open so you can perform the mapping.
r=vlad
2008-07-11 15:00:58 -04:00
Arpad Borsos
3a10a9bcf4 Bug 434838 - mozStorageConnection uses nsDataHashtable when it should use nsInterfaceHashtable
This makes mozStorageConnection no longer manually AddRef and Release user
defined functions.
r=sdwilsh
r=bent
2008-07-08 18:38:25 -04:00
Benjamin Smedberg
0a99248c42 Bug 442762 - Annotate mozStorageStatementScoper with NS_STACK_CLASS, r=sdwilsh 2008-06-30 21:03:29 -04:00
Shawn Wilsher
ce64ad37db Bug 434796
Remove mozIStorageStatement::initialize
r=vlad
sr=shaver
2008-06-11 11:00:09 -04:00
Shawn Wilsher
3a27197d68 Bug 434247
Remove mozStorageStatement's mStatementString
r=vlad
2008-06-11 10:25:20 -04:00
Shawn Wilsher
4f82aa3612 Backed out changeset 5ccc3423220f 2008-06-04 12:55:44 -04:00
Shawn Wilsher
7256240db0 Bug 434247
Remove mozStorageStatement's mStatementString
r=vlad
2008-06-04 11:59:43 -04:00
Shawn Wilsher
1281cff862 Bug 434244
Remove mozStorageStatement::Recreate
r=shaver
2008-06-04 11:42:15 -04:00
sdwilsh@shawnwilsher.com
af74a71354 Bug 421482 - Firefox 3 uses fsync excessively. r=shaver, a=schrep 2008-05-23 07:56:10 -07:00
gavin@gavinsharp.com
46555abf29 Bug 424402: Test a combination of shared and unshared database connections, patch by Ondrej Brablc <ondrej@allpeers.com>, r=shaver 2008-04-22 13:39:38 -07:00
sdwilsh@shawnwilsher.com
e99293d31f Bug 423273 - Fix storage API to not break old behavior. r=shaver, sr=shaver, a=shaver 2008-03-24 15:14:38 -07:00