agrosner / DBFlow

A blazing fast, powerful, and very simple ORM android database library that writes database code for you.
MIT License
4.87k stars 598 forks source link

Transaction for entities proceeded by RXJava observer with DBFlow #1732

Open quillalady opened 2 years ago

quillalady commented 2 years ago

DBFlow Version: 5.0.0-alpha1

Bug or Feature Request: Question

Description:

How to use DBFlow transaction for RXJava observer so that the transaction is for whole stream of items proceeded by the observer? My attempt is:

new Observer<Item>() {
          @Override
          public void onSubscribe(@NonNull Disposable d) {
            FlowManager.getDatabase(AppDatabase.class).beginTransaction();
          }

          @Override
          public void onNext(@NonNull Item item) {
            FlowManager.getModelAdapter(Item.class).save(item, FlowManager.getDatabase(AppDatabase.class));
          }

          @Override
          public void onError(@NonNull Throwable error) {
          }

          @Override
          public void onComplete() {
            FlowManager.getDatabase(AppDatabase.class).endTransaction();
          }
        };

But beginTransaction() blocks processing of items.