# androidx.room3.rxjava3

*** ** * ** ***

## Classes

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/room3/rxjava3/RxDaoReturnTypeConverters` | A `https://developer.android.com/reference/kotlin/androidx/room3/DaoReturnTypeConverter` that allows Room to return RxJava3 types from `@Dao` functions. |

## Exceptions

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/room3/rxjava3/EmptyResultSetException` | Thrown by Room when the query in a `http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/core/Single.html` DAO method needs to return a result but the returned result from the database is empty. |

## Top-level functions summary

|---|---|
| `http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/core/Flowable.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | `https://developer.android.com/reference/kotlin/androidx/room3/rxjava3/package-summary#createFlowable(androidx.room3.RoomDatabase,kotlin.Array)(database: https://developer.android.com/reference/kotlin/androidx/room3/RoomDatabase, vararg tableNames: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Creates a `http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/core/Flowable.html` that emits at least once and also re-emits whenever one of the observed tables is updated. |
| `http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/core/Observable.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | `https://developer.android.com/reference/kotlin/androidx/room3/rxjava3/package-summary#createObservable(androidx.room3.RoomDatabase,kotlin.Array)(database: https://developer.android.com/reference/kotlin/androidx/room3/RoomDatabase, vararg tableNames: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Creates a `http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/core/Observable.html` that emits at least once and also re-emits whenever one of the observed tables is updated. |

## Top-level properties summary

|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html` | `https://developer.android.com/reference/kotlin/androidx/room3/rxjava3/package-summary#NOTHING()` Data dispatched by the publisher created by `https://developer.android.com/reference/kotlin/androidx/room3/rxjava3/package-summary#createFlowable(androidx.room3.RoomDatabase,kotlin.Boolean,kotlin.Array,kotlin.coroutines.SuspendFunction1)`. |

## Top-level functions

### createFlowable

Artifact: [androidx.room3:room3-rxjava3](https://developer.android.com/jetpack/androidx/releases/room3) [View Source](https://cs.android.com/search?q=file:androidx/room3/rxjava3/RxRoom.kt+function:createFlowable) Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/room3#3.0.0)

```
fun createFlowable(database: RoomDatabase, vararg tableNames: String): Flowable<Any>
```

Creates a `http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/core/Flowable.html` that emits at least once and also re-emits whenever one of the observed tables is updated.

You can easily chain a database operation to downstream of this `http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/core/Flowable.html` to ensure that it re-runs when database is modified.

Since database invalidation is batched, multiple changes in the database may results in just 1 emission.

| Parameters |
|---|---|
| `database: https://developer.android.com/reference/kotlin/androidx/room3/RoomDatabase` | The database instance |
| `vararg tableNames: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The list of table names that should be observed |

| Returns |
|---|---|
| `http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/core/Flowable.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | A `http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/core/Flowable.html` which emits `https://developer.android.com/reference/kotlin/androidx/room3/rxjava3/package-summary#NOTHING()` when one of the observed tables is modified (also once when the invalidation tracker connection is established). |

### createObservable

Artifact: [androidx.room3:room3-rxjava3](https://developer.android.com/jetpack/androidx/releases/room3) [View Source](https://cs.android.com/search?q=file:androidx/room3/rxjava3/RxRoom.kt+function:createObservable) Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/room3#3.0.0)

```
fun createObservable(database: RoomDatabase, vararg tableNames: String): Observable<Any>
```

Creates a `http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/core/Observable.html` that emits at least once and also re-emits whenever one of the observed tables is updated.

You can easily chain a database operation to downstream of this `http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/core/Observable.html` to ensure that it re-runs when database is modified.

Since database invalidation is batched, multiple changes in the database may results in just 1 emission.

| Parameters |
|---|---|
| `database: https://developer.android.com/reference/kotlin/androidx/room3/RoomDatabase` | The database instance |
| `vararg tableNames: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The list of table names that should be observed |

| Returns |
|---|---|
| `http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/core/Observable.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html>` | A `http://reactivex.io/RxJava/3.x/javadoc/io/reactivex/rxjava3/core/Observable.html` which emits `https://developer.android.com/reference/kotlin/androidx/room3/rxjava3/package-summary#NOTHING()` when one of the observed tables is modified (also once when the invalidation tracker connection is established). |

## Top-level properties

### NOTHING

Artifact: [androidx.room3:room3-rxjava3](https://developer.android.com/jetpack/androidx/releases/room3) [View Source](https://cs.android.com/search?q=file:androidx/room3/rxjava3/RxRoom.kt+symbol:NOTHING) Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/room3#3.0.0)

```
val NOTHING: Any
```

Data dispatched by the publisher created by `https://developer.android.com/reference/kotlin/androidx/room3/rxjava3/package-summary#createFlowable(androidx.room3.RoomDatabase,kotlin.Boolean,kotlin.Array,kotlin.coroutines.SuspendFunction1)`.