Commit Graph

421 Commits

Author SHA1 Message Date
Mark Lu
195099dc32 docs: improve docs for sqlite package summary
am: 59640a9f1c

Change-Id: I9ec1851274071cb1882839df68e27d1c9b98f8f7
2016-09-26 17:24:06 +00:00
Mark Lu
5dc8052df6 docs: Update docs for SQLiteDatabase replace methods
am: 1e20208d90

Change-Id: I8222fae7025d5a546b0b3d6b0ebbb7abae66ba8b
2016-09-26 17:22:45 +00:00
Hemal Patel
247d1c9ea8 Fixed a typo in the code sample
Bug: 6062536
Change-Id: I1f6a91534cf18b9fba4e00f3a4b84983f2c223a3
2016-09-16 15:28:42 -07:00
Mark Lu
1e20208d90 docs: Update docs for SQLiteDatabase replace methods
- Mention that if the row does not exist, the method performs insert
- Add parameter info for initialValues. It was incomplete

Bug: 2321632
2016-08-30 17:41:25 -07:00
Mark Lu
59640a9f1c docs: improve docs for sqlite package summary
- Update the sqlite version info
- Describe how to get sqlite version info
- Remove reference to out-of-date Notepad sample
- Update sqlite3 folder location and add link to relevant documentation

Bug: 30833403
Bug: 17393931
Change-Id: Ic58e88a119919f43ed90a70c559da8eacef4ebe0
2016-08-30 13:15:55 -07:00
Steve Pomeroy
c240b607f7 Fix documentation bug in SQLiteDatabase
The documentation incorrectly states that, "[insertWithOnConflict
returns] the primary key of the existing row if the input param
'conflictAlgorithm' = CONFLICT_IGNORE". Unfortunately, SQLite does
not provide such functionality.

Close: https://code.google.com/p/android/issues/detail?id=13045

Signed-off-by: Steve Pomeroy <steve@staticfree.info>

(cherry picked from commit 8fc3144fa5)

Change-Id: I89e56428e612d667259744e2bc3df124e5a2aa0e
2016-05-12 16:53:10 -07:00
Makoto Onuki
3443670828 Fix sqlite time measurement.
SystemClock.uptimeMillis() should be used to calculate duration.

Bug 28054535

Change-Id: Idadee1ee47cea22d58dba2163cb843402e39b196
2016-04-07 09:42:17 -07:00
Makoto Onuki
60df01c522 Merge "Add SQLiteDatabase.validateSql()" 2015-12-16 22:31:44 +00:00
Makoto Onuki
17aa1b7ac7 Add SQLiteDatabase.validateSql()
This API checks the SQL syntax by compiling it.  This is useful to
detect SQL injection, for example.

Change-Id: I956548a34f664950246856966e5601dcac3daf00
2015-12-16 14:18:28 -08:00
Greg Hackmann
e12350faf7 Trace SQLite operations
Inefficient SQLite use can have non-obvious effects on performance.  For
example, insert and update operations can trigger a surprising number of
fsync() calls, especially if they're not grouped together into
transactions.

Add tracepoints around SQLite operations, to make it easier to pinpoint
their effects on the rest of the system.

Change-Id: I30cc3d02eca264e46dcc09ca7512a32519543834
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2015-12-14 12:32:26 -08:00
Jeff Brown
bb8c841e90 Terminate loop properly when cursor window is full.
The existing code exits the column-filling loop immediately but
may continue to try to fill rows.  Ordinarily this should fail
too but it's possible for the process to continue and then
blow up a little later.  Fixed this problem by exiting the row-
filling loop promptly.

Bug: 21406130
Change-Id: Ifab59188d5d1b40f3c1f5c97604dd48da71bf37b
2015-06-01 16:33:24 -07:00
Andreas Gampe
0db3cdc59a am 5b0c0964: am fb861b6c: am 31fb202e: Merge "Frameworks/base: Compile-time optimize SQLiteConnection"
* commit '5b0c0964d843319b1b89767cd3d3f1daa984df51':
  Frameworks/base: Compile-time optimize SQLiteConnection
2015-04-22 00:23:51 +00:00
Andreas Gampe
4f47b40e05 Frameworks/base: Compile-time optimize SQLiteConnection
Do not cache compiled regular expression and date formatter. Both
cannot be compile-time created, are expensive at preloading time,
and only used in the rare case of dumping the connection (mainly
on errors).

Bug: 19498458
Bug: 19542228
Change-Id: Ia38491a3f852ccf699b815ff05289b338e932f2a
2015-04-21 16:01:00 -07:00
Jeff Brown
4e0951ef7a Expose Cursor.setExtras().
Bug: 19369537
Change-Id: I78e319667cbfaeb51f471d18c4fefeac01d49d80
2015-04-09 19:48:11 -07:00
Jeff Brown
8faab36fdd Clean up AbstractCursor API.
Deprecated three protected fields that should not have been
exposed in the API.

Bug: 6353797
Change-Id: Ic6710f880a452dd1508abf0613907a1d2b1fb557
2015-04-09 19:48:10 -07:00
Jeff Brown
4670513e70 Remove deprecated fields in AbstractCursor.
Bug: 6353797
Change-Id: Ibf760f0aeef82c176e3c659a2ced3de07f8e8abe
2015-04-09 19:48:10 -07:00
John Spurlock
bc4cf00dc5 Fix a few found doc problems.
Change-Id: I98567f4a0fc96f501c00bf361688e2c55232f78d
2015-03-24 21:51:20 -04:00
Narayan Kamath
3bdd327f85 Move apache specific portions of android.net.http to external/apache-http.
We continue to compile external/apache-http into ext.jar. This contains
a few changes apart fom the classes moving around :

- Makefile changes to build docs and api-stubs for now. A future change
  will revert these changes and remove these classes from stubs and
  docs.
- Hardcode event IDs in legacyerrorstrings to avoid a dependency between
  the frameworks and apache. These strings are on their way out and will
  never change anyway.
- Remove imports due to {@link} tags and use {@code} instead.
- Remove an accidental(?) dependency on apache commons code that's a
  part of apache-http.

bug: 18027885

Change-Id: I51cd038d846ec7d02c283a4541b10a6a9cf62ecf
2015-02-12 11:15:49 +00:00
Svetoslav
86b1df2343 Print services setting changes not handled for managed profiles.
We keep per user settings for enabled print services which are
observed to update the print manager service state. We were listening
to all user changes but the handling code was not updating the state
of the user whose settings changed, rather the current user.

Added hidden APIs in content observer to know which user changed
and now the print manager serivce handles content changes for the
correct user.

bug:16977006

Change-Id: I71ec88c8f3f38cb405844c13ab83695c2029eb79
2014-08-26 18:19:13 -07:00
Narayan Kamath
3bd2c6ffea am b4606676: am 49538def: am 79e0206e: Merge "Init the static member when first used for CursorWindow."
* commit 'b4606676a8e357f7b6de049099a04438f7c1b4eb':
  Init the static member when first used for CursorWindow.
2014-05-16 12:34:48 +00:00
Narayan Kamath
b4606676a8 am 49538def: am 79e0206e: Merge "Init the static member when first used for CursorWindow."
* commit '49538def98520eb57d4fb634bf09b2f3104e7953':
  Init the static member when first used for CursorWindow.
2014-05-16 12:29:59 +00:00
yingying
1ec4f36060 Init the static member when first used for CursorWindow.
As the CursorWindow will be preloaded by zygote, and there is one static
member need use the system resource to initialize. But actually the zygote
do not preload the resource now. (In fact, the zygote will preload classes
first, then preload the resource.) We need ensure the zygote to create the
system resource first.

So change to init this static member as -1, and it will be evaluated when
first used.

Change-Id: Ibccb84e3c410c73788ac682fe76b720306e81dc4
2014-05-07 23:00:28 +08:00
Jeff Brown
548061e5b6 am df8b604e: Merge "Fix NPE in deleteDatabase()." into klp-modular-dev
* commit 'df8b604e9bf49bcf9a620e4fe19ccf19c2c49487':
  Fix NPE in deleteDatabase().
2014-01-28 00:13:27 +00:00
Jeff Brown
fce5890a11 Fix NPE in deleteDatabase().
If the directory containing the database does not exist then
listFiles() will return null.  Tolerate this situation instead
of crashing.

Bug: 12600784
Change-Id: I5d83a867a5e8478f50887e5798b42c5f6859b77c
2014-01-24 13:20:57 -08:00
Narayan Kamath
ee864c0a04 am 55a12adc: am 72a8fe6d: am 74661ff1: am b5558817: am 002ae75b: Merge "AArch64: Use long for pointers"
* commit '55a12adc19b15df4068b90439dccb868534002c7':
  AArch64: Use long for pointers
2014-01-08 12:38:30 +00:00
Ashok Bhat
738702d28a AArch64: Use long for pointers
For storing pointers, long is used in CursorWindow
and SQLiteConnection classes as native pointers can
be 64-bit.

Change-Id: Ia686006a7b8bdc7b95e5de0d0a294b155034a921
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-08 11:53:21 +00:00
John Spurlock
6090995951 Remove unused imports from frameworks/base.
Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
2013-11-20 11:31:47 -05:00
Jeff Sharkey
b7757a6b32 Rename offer() to add(), remove/hide some APIs.
Change MatrixCursor offer() to add() based on review feedback.  Remove
some now-unused XML metadata.  Hide document creation, since it's not
supported in initial version.

Bug: 10577809, 10461706, 10678563
Change-Id: I7b3f4c6899c28f633471ef816bee22bf032aa0d2
2013-09-09 17:55:10 -07:00
Jeff Brown
511cd35fcc Docs changes pursuant to API review feedback.
Change-Id: I74c51791192f7fefad4e299d25c91438cbf6ab73
2013-08-23 17:44:47 -07:00
Jeff Sharkey
9d0843df7e Resized thumbnails; async; extend MatrixCursor.
When requesting thumbnails, check if their dimensions are larger
than requested, and downscale to avoid memory pressure.  Load them
async and with LruCache.

Extend MatrixCursor so that RowBuilder can offer() columns without
requiring they know the projection map.  This makes it easier to
respond to query() calls, where the remote side controls the
projection map.  Use it to handle custom projections in external
storage backend.

Update date/time formatting to match spec.

Bug: 10333418, 10331689
Change-Id: I7e947a8e8068af8a39b55e6766b3241de4f3fc16
2013-08-17 19:05:07 -07:00
Marco Nelissen
d6aa247155 am ca4553d3: am 7ffbcb28: am ca5d99ac: Merge "Guarantee that all db related files are deleted together."
* commit 'ca4553d33fe779dcdf2daad4590e4dbcfec7b62f':
  Guarantee that all db related files are deleted together.
2013-08-08 14:14:06 -07:00
Marco Nelissen
ca5d99ac41 Merge "Guarantee that all db related files are deleted together." 2013-08-07 15:30:51 +00:00
jangwon.lee
740c1dd97e Guarantee that all db related files are deleted together.
When deleting a db file, all db related files has to be deleted together
like journal, wal, shm etc.

Change-Id: I49d4581673d03fe669e9e0eaa2b50f7b9d3c34a4
Signed-off-by: jangwon.lee <jangwon.lee@lge.com>
2013-08-07 09:50:43 +09:00
Elliott Hughes
89a8250e24 am 710f3e2c: am 60ae2617: Merge "If frameworks wants ASCII casing, it should explicity ask for it."
* commit '710f3e2cc6bc2cdc2f2cddb2190823ea31efd52a':
  If frameworks wants ASCII casing, it should explicity ask for it.
2013-08-02 17:58:33 -07:00
Elliott Hughes
cb64d43062 If frameworks wants ASCII casing, it should explicity ask for it.
http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Iaab02e718a7be7bda22e626dca05d79bfd2a8fc4
2013-08-02 15:12:32 -07:00
Jeff Brown
be16567567 am dcb8d876: am 79df1e65: am e2a281ca: Merge "Add additional Method that check whether a table is empty or not"
* commit 'dcb8d876581f9bf77e51c5539ef68993870264d8':
  Add additional Method that check whether a table is empty or not
2013-05-28 13:51:01 -07:00
Jeff Brown
79df1e6545 am e2a281ca: Merge "Add additional Method that check whether a table is empty or not"
* commit 'e2a281ca85f17eaf6d47978c76d2cafb0fa81782':
  Add additional Method that check whether a table is empty or not
2013-05-28 12:57:59 -07:00
Jeff Brown
e2a281ca85 Merge "Add additional Method that check whether a table is empty or not" 2013-05-28 19:55:26 +00:00
Dianne Hackborn
c87c92e079 Add API to retrieve cursor notification URI.
Change-Id: I89f6c4d6ee6ef3675eff62ff6bca691b54c69f75
2013-05-15 15:39:47 -07:00
Elliott Hughes
4cd60897c7 am 601afaef: Merge "Someone\'s IDE chose the wrong Date."
* commit '601afaef5220aef928a9235e50376c462538a942':
  Someone's IDE chose the wrong Date.
2013-05-06 14:04:34 -07:00
Elliott Hughes
c00df6d52e Someone's IDE chose the wrong Date.
Part 1 of the mystery of the java.sql.Date in preloaded-classes solved.

Change-Id: I33fffec1f86e34167a76afc839d9f4ce31fa31f7
2013-05-06 10:53:28 -07:00
Jeff Brown
cefeb29d53 Don't dump sql bindargs unless verbose mode is requested.
Bug: 8780126
Change-Id: I88e238f9d684cc76731207e75370cbb2e0e476c5
2013-05-01 15:28:37 -07:00
Nick Pelly
bb392ba5f7 Add ContentValues & CursorWindow to framework.aidl
By adding these stubs, they will be automatically added to framework.aidl
in sdk builds.

This makes it easier for unbundled apps to pass these objects across
AIDL calls.

ContentValues & CursorWindow are already public Parcelables. It is an
oversight that they were not already in framework.aidl.

There are a lot of other public Parcelables that are missing from
framework.aidl. This just fixes two commonly requested ones.

Change-Id: If61e19b1206da1680413d9ea03de87a90b6d233e
2013-04-23 08:30:34 +10:00
Hyoseong Kim
ac4daee248 Add additional Method that check whether a table is empty or not
Application Devleopers are using queryNumEntries API
implemented by "COUNT(*)" to check whether a table is empty or not.
COUNT(*)  has to process the entire table to compute the result.
But, "EXISTS" can stop after a single matching row has been found.
So, Using "EXISTS" is more faster than "COUNT(*)"
I added new API using "EXISTS" to check whether a table is empty or not

Change-Id: Idcc2633d0a5349c59f41e125cf34c9dc6622cdbe
2013-04-01 15:55:55 +09:00
Jeff Brown
eaf2ec0c6a am 4fd60792: am 5262a108: Merge "Complete documentation of whereArgs (Issue #43061)"
# By Tim Roes
# Via Android Git Automerger (1) and others
* commit '4fd60792473711a10dc9b27faa1a35efe9e4d6a0':
  Complete documentation of whereArgs (Issue #43061)
2013-02-08 17:03:42 -08:00
Jeff Brown
5262a10826 Merge "Complete documentation of whereArgs (Issue #43061)" 2013-02-08 23:49:51 +00:00
Jeffrey Brown
e24c67e322 am 2990ed7a: am 3c6ee5b5: am d2bec096: Merge "NullPointerException in SQLiteSession"
# By László Dávid
# Via Android Git Automerger (2) and others
* commit '2990ed7a3bf7314bbd4d98161fbcdcf48098052c':
  NullPointerException in SQLiteSession
2013-02-06 22:06:18 -08:00
Jeffrey Brown
6bd6b1c436 am 4e68024c: am 1e48b386: am 04ce0d25: Merge "Keep native callbacks when primary SQLiteConnection is recreated"
# By Niklas Brunlid
# Via Android Git Automerger (2) and others
* commit '4e68024c7e9cf5849bc7c57266b0079113a2562f':
  Keep native callbacks when primary SQLiteConnection is recreated
2013-02-06 20:55:53 -08:00
Jeffrey Brown
e03ff19d72 am e646f943: am ca7b1210: am ea56499d: Merge "Potential NPE in SQLiteConnection"
# By Sylvain Becuwe
# Via Android Git Automerger (2) and others
* commit 'e646f943fd7c4f9d81a4f2fb4de153a2ad9fd8bc':
  Potential NPE in SQLiteConnection
2013-02-06 20:55:49 -08:00
Jeffrey Brown
d2bec0960d Merge "NullPointerException in SQLiteSession" 2013-02-07 04:43:00 +00:00