Commit Graph

277 Commits

Author SHA1 Message Date
Vasu Nori
d6c367f424 cosmetic fixes: removing unused members/imports
Change-Id: I307e5d5c7c1270d2590ba66f4c3d3b1a96646344
2011-03-01 18:37:52 -08:00
Vasu Nori
8a358a7eed bug:3497143 don't print warning if it is a bug in platform - not in app.
fixing a couple of very confusing warnings..

Change-Id: I3c91fa53fc73a2fb4bee213e33af56c4bdb75fd8
2011-03-01 18:22:31 -08:00
Jesse Wilson
32c80a27da Handle rename of LruCache.entryEvicted to entryRemoved
Change-Id: I50e5a8d8c35c4431f42c7483172447ba0e4e125b
http://b/3461302
2011-02-25 17:28:41 -08:00
Paul Westbrook
dae6d3705d Revert "turn off sqlite WAL until bugs bug:3024421 and bug:3353077 are fixed"
This reverts commit d67dbeeb32.

This reenables WAL in the framework.  We are tracking down the cause of
the problems with WAL
2011-02-17 10:59:56 -08:00
Dmitri Plotnikov
06f992c6b0 Merge "Setting copiedSize to 0 when value is null" 2011-02-16 13:15:15 -08:00
Dmitri Plotnikov
9480efeff7 Setting copiedSize to 0 when value is null
Bug: 3457998
Change-Id: I01f6d02e76884639600c679518c5817ce73e0f23
2011-02-16 12:03:10 -08:00
Vasu Nori
c5d0fbbfdf Merge "add more debug info to help (bug:3446432)" 2011-02-11 16:57:40 -08:00
Vasu Nori
e9714e6c74 add more debug info to help (bug:3446432)
Change-Id: I4a690297ae7f18d5f6928ac5c67d8d4164453fa0
2011-02-11 16:50:51 -08:00
Jesse Wilson
dfe515e49a Remove LruCache.setMaxSize().
Dynamically changing a max cache size is clumsy; almost everyone
should set this when they create the cache.

Fix SQLiteDatabase to copy entries into a new cache when the size
is changed. In pratice this will always be immediately after the
SQLiteDatabase is created. Since the cache field is no longer
final, change the guard on the cache field to the SQLiteDatabase
instance itself.

Change-Id: I4e325f06edc551636723568a52770c0982e2d945
2011-02-11 11:35:22 -08:00
Jesse Wilson
c2c9a2492c Don't add setMaxSize() to the LruCache API. But do add maxSize().
Change-Id: I9697ab29491dabe85c2400defdde16b9abcd003a
2011-02-10 19:20:31 -08:00
Jesse Wilson
9b5a93550f Adopt LRU cache in SQLite.
Change-Id: I6b43dd8843d41726254bea3a175fe28f5f061ed7
http://b/3184897
2011-02-10 18:26:39 -08:00
Vasu Nori
d67dbeeb32 turn off sqlite WAL until bugs bug:3024421 and bug:3353077 are fixed
they are becoming pretty disruptive bugs.
many more instances of gmail crashing with locking protocol error.
and a positive identification of WAL as the problem in Music app
AND one instance of gmail crash that I know of.
who knows how many folks are NOT reporting the gmail crash.

too bad we relied on pre-released version sqlite feature
without seeing it complettly tested in the field.

not a safe feature to turn on at this point in time.
maybe more testing and debugging in Ice timeframe.

Change-Id: I283ad26ba7e1793772a372aa8e24df0cb96ce2ef
2011-02-09 10:52:51 -08:00
Vasu Nori
d4608a35e8 while waiting for lock, try in 30sec intervals and print warnings if no lock
should help a little bit in debugging deadlocks in the process.
especially when the an application does this:
  thread1: begin transaction
  thread2: synchronized void blahMethod { do some code; begintransaction;}
  thread1: with lock ion the database, it now tries to get into the above
           synchronized method
   thread2 has synchronized monitor and thred1 has db lock.
   each wants the other lock
 deadlock.
and our stacktraces will not tell us that thread1 has the database lock.

with this CL, we will know WHO owns the database lock and which thread
dies waiting for the lock.

Change-Id: If51578e7fa0a70ee3d762eb2233d1fddd98a2e86
2011-02-07 11:08:41 -08:00
Vasu Nori
83ff97d840 bug:3385018 don't print finalizer warnings under certain conditions
Change-Id: I06c49a464f61c26d3e6645a95f2dd38d444bf384
2011-01-30 14:42:36 -08:00
Vasu Nori
a017edace7 bug:3398527 return List insttead of ArrayList from public API
Change-Id: Idbdcb59fe860a9168c9ef6c00eb128b05fce84ff
2011-01-27 11:47:28 -08:00
Vasu Nori
4b92aeec3f bug:3396894 (HC branch) remove STOPSHIP code
Change-Id: Iad8790b7c2efa3a9b35e07429ea47d4e9f72081b
2011-01-26 23:24:05 -08:00
Vasu Nori
4caaf2aeca bug:3362394 better documentation for DefaultDatabaseErrorHandler class
Change-Id: I85a278183eda297f72a740c9d23efa4aca58d2d3
2011-01-17 15:35:28 -08:00
Vasu Nori
3045bbaf58 bug:3330569 print better message to help debug the problem
methods such as SQLiteStatement.simpleQueryForString() expect
one and only row to be returned when the query is executed.
if the application provides a query that doesn't return any data,
then the error message printed is pretty confusing.

make it less confusing and print the query itself to help debug
the error.

Change-Id: Ife2066f3a3eab0b98845a49e8f72b518458a7757
2011-01-10 15:37:47 -08:00
Dianne Hackborn
247fe74c93 Implement issue # 3255887 could CursorLoader offer...
...to throttle contentobserver-based requeries

Why yes, I guess it could.

This also reworks AsyncTaskLoader to not generate multiple
concurrent tasks if it is getting change notifications before
the last background task is complete.

And removes some of the old APIs that had been deprecated but
need to be gone for final release.

And fixes a few little problems with applying the wrong theme
in system code.

Change-Id: Ic7a665b666d0fb9d348e5f23595532191065884f
2011-01-08 18:25:30 -08:00
Vasu Nori
324dbe508e in requery(), when exception is caught, print warning + stacktrace
Change-Id: Ifa03e2c4bcf09fbba5ac028d4c7a74e092450612
2011-01-06 17:45:32 -08:00
Vasu Nori
ca74897b24 in GB requery() didn't throw exceptions (mostly). replicate that in HC
bug:3302851
Change-Id: I56e0bd178b200472cb1dbcbd2e80b844690b8964
2011-01-06 16:35:37 -08:00
Vasu Nori
42edf0f8cf Merge "requery() should close cursorwindow insead of setting it to null." into honeycomb 2011-01-06 11:37:00 -08:00
Vasu Nori
0e453d1115 requery() should close cursorwindow insead of setting it to null.
just in case GC takes a while to kick in.

Change-Id: I3a00b52afe1303be0c7d6bb561e5c07734e4dcb3
2011-01-06 09:52:51 -08:00
Vasu Nori
a22d88493e set default mode of WAL to be off.
apps will have to enable WAL explicitly.

Change-Id: Iba5c47a40f465e668ef0d538282230e99fe04ce6
2011-01-06 09:18:47 -08:00
Vasu Nori
6a904bc65e Revert "treat 'can't open database file error' as 'database corruption error'"
This reverts commit c7fe777d63.

Change-Id: I9992d404394917537d5c22470efbd970605976ed
2011-01-05 18:38:15 -08:00
Brad Fitzpatrick
70588bf864 resolved conflicts for merge of 3a2c6bf0 to master
Change-Id: I1963d8fc391bb84de1054f2b20ce4e082d764cbe
2011-01-05 14:04:06 -08:00
Brad Fitzpatrick
3a2c6bf0fc am 69ea4e15: Documentation fixes found over vacation hacking.
* commit '69ea4e15e52c456537575d21443ac1efdb03a902':
  Documentation fixes found over vacation hacking.
2011-01-05 13:52:53 -08:00
Brad Fitzpatrick
69ea4e15e5 Documentation fixes found over vacation hacking.
Change-Id: I28900026465d66d950cf4f05f0c202b46c3c2d43
2011-01-05 13:07:34 -08:00
Eric Hassold
a5af5d6b12 Add support for downgrading database version in SQLiteOpenHelper
Provide an API to allow application to support downgrade in databases
managed with SQLiteOpenHelper. Since onUpgrade() is now called only
if requested version is newer than current one, this adds support for
a similar onDowngrade() method, so customers can implement graceful
downgrading. If no downgrade method is implemented by caller, this
fallback to current behavior by throwing an exception.

Bug: 1609474
Change-Id: I0e0166984d4a700b1c43ce780b91244bc2fc87a6
2011-01-04 16:55:27 -08:00
Vasu Nori
c7fe777d63 treat "can't open database file error" as "database corruption error"
bug:3083665
if sqlite can't open the database, delete it and create a new one.
what else is sqlite supposed to do?

Change-Id: I8b7c3b051fd1a146e4026f8f8acfdd099f9a70cf
2011-01-04 14:36:16 -08:00
Vasu Nori
36c4cec853 don't call methods doing database lock from a synchronized block
bug:3188552
Change-Id: I08a73f06aa0cbefddd282885f62b8dcc451b9deb
2011-01-04 13:15:56 -08:00
Vasu Nori
6141e13f6e when cursorwindow allocation fails, print the number of cursors left open
the reason for bug:3281533, bug:3127159 is probably too many cursors are left
un-closed in the process.
print the info on the number of cursors left open when the exception
"cursorwindow allocation failed" occurs.
This should help us figure out if that indeed is the reason
and which process is leaving the cursors open.

Change-Id: I4b46be63f5dfbe9b102ad7a9cf9dd21e70f71e14
2011-01-04 10:40:15 -08:00
Vasu Nori
34ad57f0e8 resubmitting Change-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9
Change-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9 was reverted
due to a bug. fixed the bug and resubmitting it here
2010-12-21 09:32:36 -08:00
Vasu Nori
5274e84e88 Revert "bug:2448371 cursorwindow size moved to resource xml file."
This reverts commit 2594bae1f5.
2010-12-20 14:23:48 -08:00
Vasu Nori
2594bae1f5 bug:2448371 cursorwindow size moved to resource xml file.
let cursor window size be set per device in device resources file.
default is 1MB.
for SR, it is 2MB.
it can be set to any value (in kB) in the device resource
strings.xml file

Change-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9
2010-12-20 13:08:08 -08:00
Vasu Nori
b438902369 if db close() fails due to un-closed sql statements, print useful msg
The current error message says "close failed due to unfinalised statements".
This CL fixes that message by incorporating one of the un-closed sql statements
should help developers debug the problem.

Change-Id: I2a24c6ba876caa008507b236052c5f03e8cbb27e
2010-11-29 14:10:46 -08:00
Vasu Nori
00e4017189 Revert "Merge "print certain rows from downloads.db when bugreports are taken""
This reverts commit 34878787f0, reversing
changes made to 5a2755d0c9.
2010-11-29 11:03:23 -08:00
Vasu Nori
624002b0d5 print certain rows from downloads.db when bugreports are taken
when downloads fail/get stuck, we need to look at the database state
for those downloads. and when the users report such problems, it is
a royal pain not to have that info and most users don't seem to bother
sending database dumps because it is a bit of work.

so lets just dump info about downloads that failed or
downloads from GSF (OTAs, for example)

helps debugging. there is STOP ship comment to not dump data once
HC is released.

Change-Id: Id1254982fd82b4c55f1816a2491f00966840f024
2010-11-22 11:59:04 -08:00
Jean-Baptiste Queru
8565a8ebbc resolved conflicts for merge of 1a2344b8 to master
Change-Id: I974f7f388ddc74d661f07fda1e308e7c15e00dfc
2010-11-17 17:31:25 -08:00
Jean-Baptiste Queru
1a2344b8b2 am 09e50cdb: Merge "Reorder lock acquision vs try."
* commit '09e50cdbc62938b178f4c9a66b3cec8a466daaa8':
  Reorder lock acquision vs try.
2010-11-17 17:16:06 -08:00
Jean-Baptiste Queru
09e50cdbc6 Merge "Reorder lock acquision vs try." 2010-11-17 17:03:10 -08:00
Jean-Baptiste Queru
0b92c44f8a am 7ee42771: Merge "resolved conflicts for merge of 8fc378f9 to gingerbread-plus-aosp" into gingerbread-plus-aosp
* commit '7ee427714d4621bd9a0b15364a073aff60ebf20c':
  Added buildQuery and buildUnionSubQuery methods without misleading selectionArgs parameter.
2010-11-17 16:54:39 -08:00
Jean-Baptiste Queru
f4072fcc14 resolved conflicts for merge of 8fc378f9 to gingerbread-plus-aosp
Change-Id: I938c0a66ad4271b33626d6b12406a2f6c6d1b6d8
2010-11-17 16:47:59 -08:00
Brian Muramatsu
46a8851360 Fix NPE in SQLiteDatabase#updateWithOnConflict
Bug 3188586

...to restore old behavior of throwing IllegalArgumentException
when values is null.

Change-Id: Ic2df542b2cdbdb7571080eb7f0fc6a4fe1678446
2010-11-12 14:00:36 -08:00
Jonas Schwertfeger
8402903723 Added buildQuery and buildUnionSubQuery methods without misleading selectionArgs parameter.
The signatures of the existing buildQuery and buildUnionSubQuery methods include a selectionArgs
parameter that is not actually being used in the method implementations.  This parameter leads
to the misconception that SQL paramter substitution is carried out by these methods.  I added
new variants of these methods without that parameter and deprecated the old variants.

Change-Id: I1bf770d5c777649e9aac36d93aa93bd65bbcc2a3
2010-11-12 12:18:37 +01:00
Vasu Nori
8fcda30283 on readonly databases, don't set journal mode and don't allow WAL
nothing should be 'set' on readonly databases
bug:3173033

Change-Id: I1143971f6d06139a7e1ef9e73a92e46342264075
2010-11-08 13:48:45 -08:00
Vasu Nori
b642518e54 fix broken build
Change-Id: If1e5639f48d5155e141bce4bf5deef9de5668c27
2010-11-05 14:47:59 -07:00
Vasu Nori
7301a23fb2 Let cachefull-warning be under SQLiteDebug.DEBUG_SQL_CACHE flag
This warning doesn't really matter much. If a developer wants to
debug the cache usage, it can be done by turning on this flag.
adb bugreport also displays cachestats - which can be used as a debugging tool.

Change-Id: Ied173714d535c271133247ee4768f86d3be359cf
2010-11-05 11:55:57 -07:00
Jean-Baptiste Queru
b079e7d408 am c91e4673: am bbd212d7: Merge "Document per-implementation behaviors of native get* methods"
* commit 'c91e46730d14611fb85cd7b2d3e51dac5ce538a2':
  Document per-implementation behaviors of native get* methods
2010-11-03 10:59:44 -07:00
Jean-Baptiste Queru
ae60b8a132 am 0b5d57ab: am 715f8610: Merge "Clarify documentation of Cursor get* methods."
* commit '0b5d57ab7ea062af4502be5af2d51883d251c0bc':
  Clarify documentation of Cursor get* methods.
2010-11-03 10:59:36 -07:00