Skip to content
This repository has been archived by the owner on Aug 17, 2020. It is now read-only.

Releases: square/sqlbrite

0.6.2

01 Mar 18:23
Compare
Choose a tag to compare
  • Fix: Document explicitly and correctly handle the fact that Query.run() can return null in
    some situations. The mapToOne, mapToOneOrDefault, mapToList, and asRows helpers have all
    been updated to handle this case and each is documented with their respective behavior.

0.6.1

01 Mar 03:27
Compare
Choose a tag to compare
  • Fix: Apply backpressure strategy between database/content provider and the supplied Scheduler.
    This guards against backpressure exceptions when the scheduler is unable to keep up with the rate
    at which queries are being triggered.
  • Fix: Indent the subsequent lines of a multi-line queries when logging.

0.6.0

17 Feb 17:12
Compare
Choose a tag to compare
  • New: Require a Scheduler when wrapping a database or content provider which will be used when sending query triggers. This allows the query to be run in subsequent operators without needing an additional observeOn. It also eliminates the need to use subscribeOn since the supplied Scheduler will be used for all emissions (similar to RxJava's timer, interval, etc.).

    This also corrects a potential violation of the RxJava contract and potential source of bugs in that all triggers now occur on the supplied Scheduler. Previously the initial value would trigger synchronously (on the subscribing thread) while subsequent ones trigger on the thread which performed the transaction. The new behavior puts the initial trigger on the same thread as all subsequent triggers and also does not force transactions to block while sending triggers.

0.5.1

17 Feb 17:12
Compare
Choose a tag to compare
  • New: Query logs now contain timing information on how long they took to execute. This only covers
    the time until a Cursor was made available, not object mapping or delivering to subscribers.
  • Fix: Switch query logging to happen when Query.run is called, not when a query is triggered.
  • Fix: Check for subscribing inside a transaction using a more accurate primitive.

0.5.0

09 Dec 20:53
Compare
Choose a tag to compare
  • New: Expose mapToOne, mapToOneOrDefault, and mapToList as static methods on Query. These
    mirror the behavior of the methods of the same name on QueryObservable but can be used later in
    a stream by passing the returned Operator instances to lift() (e.g.,
    take(1).lift(Query.mapToOne(..))).
  • Requires RxJava 1.1.0 or newer.

0.4.1

19 Oct 04:01
Compare
Choose a tag to compare
  • New: execute method provides the ability to execute arbitrary SQL statements.
  • New: executeAndTrigger method provides the ability to execute arbitrary SQL statements and
    notifying any queries to update on the specified table.
  • Fix: Query.asRows no longer calls onCompleted when the downstream subscriber has unsubscribed.

0.4.0

22 Sep 19:06
Compare
Choose a tag to compare
  • New: mapToOneOrDefault replaces mapToOneOrNull for more flexibility.
  • Fix: Notifications of table updates as the result of a transaction now occur after the transaction
    has been applied. Previous the notification would happen during the commit at which time it was
    invalid to create a new transaction in a subscriber.

Download:

compile 'com.squareup.sqlbrite:sqlbrite:0.4.0'

0.3.1

02 Sep 17:25
Compare
Choose a tag to compare
  • New: mapToOne and mapToOneOrNull operators on QueryObservable. These work on queries which
    return 0 or 1 rows and are a convenience for turning them into a type T given a mapper of type
    Func1<Cursor, T> (the same which can be used for mapToList).
  • Fix: Remove @WorkerThread annotations for now. Various combinations of lint, RxJava, and
    retrolambda can cause false-positives.

Download:

compile 'com.squareup.sqlbrite:sqlbrite:0.3.1'

0.3.0

31 Aug 18:39
Compare
Choose a tag to compare
  • Transactions are now exposed as objects instead of methods. Call newTransaction() to start a
    transaction. On the Transaction instance, call markSuccessful() to indicate success and
    end() to commit or rollback the transaction. The Transaction instance implements Closeable
    to allow its use in a try-with-resources construct. See the newTransaction() Javadoc for more
    information.
  • Query instances can now be turned directly into an Observable<T> by calling asRows with a
    Func1<Cursor, T> that maps rows to a type T. This allows easy filtering and limiting in
    memory rather than in the query. See the asRows Javadoc for more information.
  • createQuery now returns a QueryObservable which offers a mapToList operator. This operator
    also takes a Func1<Cursor, T> for mapping rows to a type T, but instead of individual rows it
    collects all the rows into a list. For large query results or frequently updated tables this can
    create a lot of objects. See the mapToList Javadoc for more information.
  • New: Nullability, @CheckResult, and @WorkerThread annotations on all APIs allow a more useful
    interaction with lint in consuming projects.

Download:

compile 'com.squareup.sqlbrite:sqlbrite:0.3.0'