Commit Graph

388 Commits

Author SHA1 Message Date
Benjamin Smedberg
a7e67d32ad Bug 568691 part B - mechanical changes to in-tree binary modules needed to get them building and registering correctly. After this patch, xpcshell appears to work. 2010-06-10 14:11:40 -04:00
Phil Ringnalda
c18ea161d2 Remove test from backed out bug 416330 so the CLOSED TREE can actually pass tests 2010-06-28 18:19:39 -07:00
Shawn Wilsher
0b0e0a6ff5 Backout of bug 416330 so we can freeze for the beta on a CLOSED TREE. 2010-06-28 16:31:47 -07:00
Taras Glek
9f5a975360 Bug 416330 - Suboptimal SQLite page size r=sdwilsh
--HG--
extra : rebase_source : 053c7b1d975304ed7d402bb619874c889c71425c
2010-06-28 12:13:26 -07:00
Shawn Wilsher
a3e5650a14 Bug 571581 - Propagate SQLITE_CONSTRAINT as an nsresult
r=asuth
sr=vlad
2010-06-16 09:59:24 -07:00
Dave Townsend
0383c618f7 Bug 570529: mozIStorageStatement.execute() should reset itself even if an error occurs. r=sdwilsh 2010-06-07 15:06:56 -07:00
Saint Wesonga
f3d67d3162 Bug 492625 - "Stop using underscores to start #defines" [r=vlad]
--HG--
extra : rebase_source : d685fb8bc375ba4fcf97742298e9361ebfe9b851
2010-06-01 08:38:00 -04:00
Jeff Walden
5ec929857e Bug 518663 - ES5: Object.getOwnPropertyNames. r=jorendorff 2009-09-24 14:33:14 -07:00
Chris Jones
a50cfc6399 Backed out changeset c60e3e48ea38 2010-06-24 19:56:14 -05:00
Taras Glek
a591dc4cb0 Bug 416330 - Suboptimal SQLite page size r=sdwilsh 2010-06-24 16:39:24 -07:00
Ehsan Akhgari
28ec17d596 Bug 567254 - Crash in Connection::getFilename for memory-based databases; r=sdwilsh
--HG--
extra : rebase_source : 9fb1300af8c6b35a4e1aa229af032cd08a76e721
2010-05-20 20:21:09 -04:00
Ehsan Akhgari
db9d404619 Bug 560647 - add startup timeline instrumentation; r=vlad 2010-05-19 19:22:19 -04:00
Vladimir Vukicevic
e94d4e8f48 b=566442; add memory reporters for sqlite; r=sdwilsh 2010-05-19 13:46:08 -07:00
Shawn Wilsher
839da6a299 Test for bug 562866. r=jorendorff r=asuth
--HG--
rename : storage/test/unit/test_js_helpers_enumerate.js => storage/test/unit/test_js_helpers.js
2010-05-11 14:14:54 -07:00
timeless@mozdev.org, Jason Orendorff
7f0a9916a3 Bug 562866 - StatementParams::NewResolve mishandles JSVAL_IS_STRING(aId). r=sdwilsh.
--HG--
extra : rebase_source : f9e1ea925fa38a26c806ba6dbddc52ef83646d55
2010-05-06 13:56:39 -05:00
Daniel Holbert
d0096803e1 Bug 560383, part 2: (storage directory) Use "!!" for converting int to bool, to avoid MSVC compile warning. r=sdwilsh 2010-05-06 11:53:12 -07:00
Marco Bonardo
979d0abc03 Bug 562787 - Fix getResultByName idl description to specify it needs an AS clause. r=asuth 2010-05-05 15:28:01 +02:00
timeless@mozdev.org
0aeeef4bfa Bug 562855 - hook_sqlite_mutex in test_true_async.cpp should check the return value from sqlite3_initialize() and sqlite3_shutdown(), r=asuth
--HG--
extra : rebase_source : 648695de6bf0b68965cea43b27c7f9c089d8b945
2010-05-02 01:57:00 -07:00
Mitchell Field
f544d71a9d Bug 560095 - Use mozilla::services::GetObserverService(). r=biesi,dveditz,gavin,josh,jst,mrbkap,roc,sdwilsh,shaver,sicking,smontagu,surkov 2010-04-29 18:59:13 +02:00
Marco Bonardo
cecf42574e Bug 559678 - followup, make the warning less scarying. rs=sdwilsh 2010-04-22 14:53:56 +02:00
Marco Bonardo
77062d8c94 Bug 559678 - Better errors for Storage transactions misuse. r=asuth 2010-04-16 14:31:18 +02:00
Andrew Sutherland
759e351de7 Bug 555124 - Intermittent "ASSERTION: AsyncStatementSpinner not thread-safe: '_mOwningThread.GetThread() == PR_GetCurrentThread()', file .../mozilla/storage/test/test_true_async.cpp, line 162". null out references on the main thread to avoid destruction on the async thread. r=sdwilsh. 2010-03-29 10:54:41 -07:00
Chris Jones
76eec45c74 Bug 550425: Bump up the timeout for expensive deadlock tests and print more info on failures. r=bsmedberg,sdwilsh 2010-03-24 19:12:32 -05:00
Andrew Sutherland
805fe0e096 Bug 507414 - Add a createAsyncStatement API on mozIStorageConnection. r=sdwilsh, sr=vlad.
--HG--
rename : storage/src/mozStorageStatementJSHelper.cpp => storage/src/mozStorageAsyncStatementJSHelper.cpp
rename : storage/src/mozStorageStatementJSHelper.h => storage/src/mozStorageAsyncStatementJSHelper.h
rename : storage/src/mozStorageStatementParams.cpp => storage/src/mozStorageAsyncStatementParams.cpp
rename : storage/src/mozStorageStatementParams.h => storage/src/mozStorageAsyncStatementParams.h
2010-03-24 00:32:40 -07:00
Shawn Wilsher
669c5430f9 Bug 536978 - Cookies should write to the database asynchronously.
This makes cookie insertion, updates, and deletions happen asynchronously off of
the main thread.  The only I/O done on the main thread is the initial loading of
the database at each startup.
r=dwitte
2010-03-12 07:18:38 -08:00
Shawn Wilsher
3a38f90339 Bug 552092 - Expose a length property on mozIStorageBindingParamsArray
Expose the length so that consumers don't have to track if they added anything
to the array themselves.
r=asuth
sr=rob_strong
2010-03-15 10:23:39 -07:00
Shawn Wilsher
79cb4cb9fa Bug 552003 - Passing an empty mozIStorageBindingParamsArray does not error
Throw instead of just asserting, which makes debugging this so much easier.
r=asuth
2010-03-15 10:23:39 -07:00
Marco Bonardo
6b282c76f6 Backing out bug 536978, due to a Storage assertion causing orange. CLOSED TREE 2010-03-12 17:41:28 +01:00
Shawn Wilsher
5f9bed4706 Bug 536978 - Cookies should write to the database asynchronously.
This makes cookie insertion, updates, and deletions happen asynchronously off of
the main thread.  The only I/O done on the main thread is the initial loading of
the database at each startup.
r=dwitte
2010-03-12 07:18:38 -08:00
Shawn Wilsher
8c6d857784 Bug 496019 - mozilla::storage::Connection::Close can spin a nested event loop
Creates a new close method that must be used when using asynchronous statements,
and disallow Close from being called in that case.
r=asuth
sr=vlad
2009-11-09 09:58:34 -08:00
Dan Witte
0f6caf5371 Fix regression in mozIStorageStatement.bindUTF8StringParameter such that it accepts arbitrary octets by
not converting string types. b=544496, r=sdwilsh
2010-02-22 13:57:45 -08:00
Justin Lebar
2fc408988c Bug 500328 - Implement History.pushState(), History.replaceState() methods. r=smaug, r=zpao, sr=sicking 2009-09-01 09:45:05 -07:00
Daniel Holbert
585d440f02 Backed out changeset dc7a04be6904 on suspicion of causing bug 543034. 2010-01-29 18:50:46 -08:00
Justin Lebar
731c252671 Bug 500328 - Implement History.pushState(), History.replaceState() methods. r=smaug, r=zpao, sr=sicking 2009-09-01 09:45:05 -07:00
Reed Loden
8e6c7ce240 Backout patch from bug 489897 as the likely cause of pwmgr test failures. 2009-12-31 01:15:11 -06:00
David Dahl ext:(%2C%20Shawn%20Wilsher%20%3Csdwilsh%40shawnwilsher.com%3E)
d9b94920dd Bug 489897 - implement StatementRow::NewEnumerate
for (let colName in stmt.row) now works!
r=sdwilsh
r=ddahl
sr=mrbkap
2009-10-12 17:49:00 -05:00
Shawn Wilsher
407f3e4e1e Bug 494828 - Stop using our own mutexes and use SQLite's where possible.
Part 2: Use the helper object in a few places where we had our own mutexes.
r=asuth
2009-07-22 15:18:33 -07:00
Shawn Wilsher
6719a68ac1 Bug 525356 - windows debug unit tests: test_connection_executeAsync.js and test_statement_executeAsync.js failing frequently (fatal assertion)
Make sure to release the database connection on the thread it was opened on, not
the background thread!
r=asuth
a=beltzner
2009-12-02 10:53:46 -08:00
Shawn Wilsher
97709adefd Backed out changeset f91a016416d1 (bug 496019) 2009-12-01 15:05:52 -08:00
Shawn Wilsher
79d8f44604 Bug 496019 - mozilla::storage::Connection::Close can spin a nested event loop
Creates a new close method that must be used when using asynchronous statements,
and disallow Close from being called in that case.
r=asuth
sr=vlad
a=dbaron

--HG--
extra : rebase_source : 8470e30ef4ca1e9fb516284cafb77b070e46fde3
2009-11-09 09:58:34 -08:00
Shawn Wilsher
fbf7a39eca Check to make sure that sqlite has been compiled with SQLITE_SECURE_DELETE (Bug 445164); r=asuth 2009-11-23 18:46:39 -05:00
L. David Baron
210879c30c Backed out changeset 4a0bf3ffd767 due to test crashes. 2009-11-19 13:51:31 -08:00
Shawn Wilsher
528f812e53 Bug 525356 - windows debug unit tests: test_connection_executeAsync.js and test_statement_executeAsync.js failing frequently (fatal assertion)
Release on the calling thread so when the connections destructor is called, it
is not on the background thread.
r=asuth
2009-11-19 11:49:20 -08:00
Blair McBride
66bcafe3f5 Bug 528076 - Unsafe LIKE warning wrongly references mozIStorageConnection::escapeStringForLIKE. r=sdwilsh 2009-11-14 10:15:12 +01:00
Shawn Wilsher
89744c4f05 Backout of bug 496019 and bug 526601 due to window build bustage. 2009-11-09 12:16:39 -08:00
Shawn Wilsher
b35dae99b7 Bustage fix for windows. 2009-11-09 10:35:26 -08:00
Shawn Wilsher
020bb307a8 Bug 496019 - mozilla::storage::Connection::Close can spin a nested event loop
Creates a new close method that must be used when using asynchronous statements,
and disallow Close from being called in that case.
r=asuth
sr=vlad
2009-11-09 09:58:34 -08:00
Saint Wesonga
a0d4aaf78d Bug 479730 - mozStorageConnection::Close logs closing improperly. r=vlad 2009-11-05 14:52:55 +01:00
David Dahl
6fb3a1a51c Bug 524787 - crash [@mozStorageResultSet::GetNextRow(mozIStorageRow**) ]. r=sdwilsh 2009-10-31 11:38:31 +01:00
Ginn Chen
f4c4e9adf3 Bug 522157 Make -D__FUNCTION__=__func__ global for Sun Studio on Solaris r=benjamin 2009-10-26 14:25:40 +08:00
L. David Baron
824e696346 Disable test_deadlock_detector for failing on OS X. (Bug 523378) 2009-10-20 20:26:04 -04:00
Marco Bonardo
6084ceecd2 Bug 519326 - Variant.h(152) : warning C4244: '=' : conversion from 'PRInt64' to 'PRInt32', possible loss of data. r=sdwilsh 2009-10-09 22:15:19 +02:00
Dietrich Ayala
6386c8d29d Bug 419893 - sort out PGO-triggered bugs (r=ted)
--HG--
extra : rebase_source : 028cd891e11df11abf768107f64b1d6bca541dca
2009-10-08 11:01:13 -07:00
Robert O'Callahan
082f716edb Backed out changeset 59a6c227df86 2009-10-02 15:23:36 +10:00
Shawn Wilsher
967ffdcab4 Bug 494828 - Stop using our own mutexes and use SQLite's where possible.
Part 2: Use the helper object in a few places where we had our own mutexes.
r=asuth

--HG--
extra : rebase_source : 3f2f703274df0405bc395191dec8f522e5aa4e40
2009-07-22 15:18:33 -07:00
Shawn Wilsher
f9e43b71fe Remove this test. It's not terribly useful (testing basic behavior of a
database which is covered by tests the SQLite group runs), and relies on a "bug"
that newer versions of SQLite fix.  rs=mconnor
2009-09-30 14:38:43 -07:00
Shawn Wilsher
3ab01afc42 Test only change to make tests clean up better by using the free profile directory given to us. No bug. r="duh, why didn't we do this sooner" 2009-09-30 14:17:06 -07:00
Paul O’Shannessy
85430c442e Bug 518440 - Deprecate mozIStorageStatementWrapper & mozIStorageStatement.step() in IDL. r=sdwilsh
--HG--
extra : rebase_source : 0ede87a6eb9a34475d9efafa433809e571a104d3
2009-09-25 15:32:21 -07:00
Shawn Wilsher
a0119d2b00 Bug 507674 - Safer protection of AsyncExecuteStatements::mState and AsyncExecuteStatements::mCancelRequested
This is essentially a backout of bug 506805, followed by changing the locking
protection rules to only protect mCancelRequested writing on the calling thread,
and reading on the background thread.

--HG--
extra : rebase_source : 249a61e40c2fd140527f034e36e8c1a53518baac
2009-09-02 13:30:24 -07:00
Shawn Wilsher
20421b1d48 Bug 507199 - Fix race condition in finalizing asynchronous storage statements
(was "test_browserGlue_corrupt_nobackup_default.js, test_browserGlue_corrupt_nobackup.js, test_browserGlue_shutdown.js randomly crash")
Fixes a race condition with asynchronous statements that causes a crash.  We do
not always have access to the background thread, so we should not assume we
always can get it.
2009-08-25 23:54:56 -07:00
Benjamin Smedberg
ba372f3a4c Followup to bug 398573 - remove REQUIRES from the tree since it is no longer used... automatically generated patch, rs=ted 2009-08-25 08:59:31 -07:00
Ginn Chen
a778d6c4a5 Bug 507978 test_deadlock_detector.cpp failed to compile on Solaris r=bsmedberg 2009-08-11 14:56:58 +08:00
Jacek Caban
647310b4f6 Bug 505734 - mozStorageStatementParams.cpp compilation fails on MinGW. r=sdwilsh 2009-08-09 22:30:38 +02:00
Akshay Gupta
ac821eca4a Bug 433456 - mozIStorageFunction should be a [function]; r=sdwilsh 2009-08-06 20:00:39 +02:00
Shawn Wilsher
c2ac8daba2 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
3e8d79a831 Bug 506959 - AsyncExecuteStatements assumes ms, but calls functions that assume microseconds
This fixes the code to use functions that expect milliseconds instead of
microseconds, and updates to use the new TimeStamp and TimeDuration class.
r=asuth
2009-07-28 13:18:10 -07:00
Shawn Wilsher
ef61780206 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
Shawn Wilsher
cbf6d8a79c Merge places to mozilla-central. 2009-07-27 08:50:26 -07:00
Curtis Bartley
0ac9a4e2a5 Bug 498938 - Add Levenshtein Edit Distance function to Sqlite so we can use it in queries. r=sdwilsh sr=vlad 2009-07-24 11:39:34 -04:00
Shawn Wilsher
3b8c5a49ad Merge places to mozilla-central. 2009-07-23 13:10:26 -07:00
Shawn Wilsher
2b666b27ef Merge places to mozilla-central. 2009-07-23 07:58:59 -07:00
timeless@mozdev.org
015f42221e Bug 491196 don't implement static functions in headers
r=sdwilsh
Moving JSValStorageStatementBinder to mozStoragePrivateHelpers as bindJSValue

storage/src/mozStorageStatementParams.h: At global scope:
storage/src/mozStorageStatementParams.h:78: warning: ‘PRBool mozilla::storage::JSValStorageStatementBinder(JSContext*, mozIStorageStatement*, int, jsval)’ defined but not used
storage/src/mozStorageStatementParams.h:78: warning: ‘PRBool mozilla::storage::JSValStorageStatementBinder(JSContext*, mozIStorageStatement*, int, jsval)’ defined but not used

You get this once for each file that includes a header that defines a static function which is not used in that file.
2009-07-22 17:31:03 -05:00
Shawn Wilsher
b3404e8eeb Bug 505550 - Acquire the db's mutex when cloning statements in Connection::ExecuteAsync
Hold the lock around all our API calls so we don't lose so much to the
background thread.
r=asuth
2009-07-22 15:18:33 -07:00
Shawn Wilsher
a4d8d9f5d2 Bug 494828 - Stop using our own mutexes and use SQLite's where possible.
Part 2: Use the helper object in a few places where we had our own mutexes.
r=asuth
2009-07-22 15:18:33 -07:00
Shawn Wilsher
a1699525aa Bug 494828 - Stop using our own mutexes and use SQLite's where possible.
Part 1: Create helper objects to make using sqlite3_mutex safer and easier.
r=cjones

--HG--
rename : xpcom/tests/TestDeadlockDetector.cpp => storage/test/test_deadlock_detector.cpp
2009-07-22 15:18:33 -07:00
Shawn Wilsher
5cefb953b9 Backout of bug 494828 and bug 505550 due to orange. 2009-07-23 10:34:54 -07:00
Benjamin Smedberg
577adb3056 Fix bustage again from bug 494828 by linking against libxpcomglue_s like we were, but continue to link against libxpcom_core also. 2009-07-23 12:18:12 -04:00
Benjamin Smedberg
248219b23b Fix bustage from bug 494828 by linking against libxpcom_core.so for tracemalloc symbols. 2009-07-23 11:42:32 -04:00
Shawn Wilsher
dd6c28f49f Bug 505550 - Acquire the db's mutex when cloning statements in Connection::ExecuteAsync
Hold the lock around all our API calls so we don't lose so much to the
background thread.
r=asuth
2009-07-22 15:18:33 -07:00
Shawn Wilsher
d98ce2854a Bug 494828 - Stop using our own mutexes and use SQLite's where possible.
Part 2: Use the helper object in a few places where we had our own mutexes.
r=asuth
2009-07-22 15:18:33 -07:00
Shawn Wilsher
4c6bbe05cc Bug 494828 - Stop using our own mutexes and use SQLite's where possible.
Part 1: Create helper objects to make using sqlite3_mutex safer and easier.
r=cjones
2009-07-22 15:18:33 -07:00
Shawn Wilsher
231a5ea0d6 Merge places to mozilla-central. 2009-07-19 18:21:55 -07:00
Shawn Wilsher
421808700f Bug 455555 - Use asynchronous queries for places AutoComplete.
This changes the location bar's AutoComplete provider to use asynchronous
queries instead of synchronous ones.  No more blocking the main thread FTW!
r=mak
r=Mardak
r=dietrich
2009-07-13 12:19:03 -07:00
Drew Willcoxon
1dbee03d3f Bug 499990 - Locale-aware collation, r=sdwilsh, sr=vladimir 2009-07-15 10:49:05 -07:00
Makoto Kato
bf1ad75653 Bug 499268 - storage code for Symbian emulator. r=sdwilsh 2009-06-29 14:42:56 +09:00
Shailen
f4f4bda576 Bug 497823. Fix compilation errors in Stroage on AIX. r=sdwilsh
--HG--
extra : rebase_source : 58bdecd2cec8b9a39be37514fa2465015addec42
2009-06-29 10:59:40 +12:00
Shawn Wilsher
3d3efc34e4 Bug 500750 - mDBConn is not set to NULL in release builds
r=asuth
2009-06-26 15:03:53 -07:00
Drew Willcoxon
3e203adfc2 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
ac8e9eb3db Test for bug 488148. r=asuth 2009-06-24 10:10:52 -07:00
Shawn Wilsher
57170806b5 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
71aaff31eb Bug 488148 - Share the mutex used by AsyncExecuteStatements on Connection
Greatly reduces the number of mutexes used when using the asynchronous storage
API.
r=bent
r=asuth
2009-06-17 12:12:43 -07:00
Shawn Wilsher
f78be7c6b0 Backed out changeset 0997bcc75daf (bug 488148). Silly me - this patch is wrong! 2009-06-19 12:21:44 -07:00
Shawn Wilsher
2df095f854 Bug 488148 - Share the mutex used by AsyncExecuteStatements on Connection
Greatly reduces the number of mutexes used when using the asynchronous storage
API.
r=bent
r=asuth
2009-06-17 12:12:43 -07:00
Shawn Wilsher
9bebb41ad8 Bug 485107 - Do not throw in NewResolve
This changeset makes sure that we allow for properties to be defined on the
prototype chain for the JS language helpers in storage.
r=bent
2009-06-11 13:18:58 -07:00
Shawn Wilsher
d19b8e79ce imported patch storage.remove-statement-state-checks 2009-06-11 13:18:58 -07:00
Shawn Wilsher
9251159638 Bug 492139 - Expose the Variant publicly so consumers can also use it
Actually makes this usable to things outside of the storage module.
r=bsmedberg

--HG--
rename : storage/src/Variant.cpp => storage/src/Variant_inl.h
2009-06-11 13:18:58 -07:00
Benjamin Smedberg
7b03f6352e Follow-up to bug 488175 with correct capitalization of makefile variable. 2009-05-19 11:20:20 -04:00
Benjamin Smedberg
6df221580d Bug 488175 - flatten dist/include and provide mechanism to install certain headers in namespaced subdirectories (e.g. #include "mozilla/XPCOM.h") r=ted
--HG--
rename : xpcom/ds/nsTimeStamp.cpp => xpcom/ds/TimeStamp.cpp
rename : xpcom/ds/nsTimeStamp.h => xpcom/ds/TimeStamp.h
2009-05-18 14:15:05 -04:00
Shawn Wilsher
4078a2e8c5 Bug 489481 - Get C++ tests for our C++ helper classes
This gets rid of the old, unused native code test file for storage.  It adds two
more test files which test our C++ helper classes to ensure that they behave as
advertised.  Also fixes a bug found in mozStorageTransaction that was uncovered
while writing these tests.
r=asuth
2009-05-13 12:53:57 -04:00
Shawn Wilsher
aaaa6a101b Bug 490833 - mozIStorageStatement::getParameterIndex should only accept :-named parameters
This makes getParameterIndex only work properly with :-named parameters.  This
simplifies the work callers actually have to do.
r=asuth
2009-05-08 20:29:57 -04:00