2020.10.30

Couchbase

Couchbase Lite Android (Java) 2.8.0 GA版(リリース日:2020年10月)

新機能
<ピアツーピア同期>
Couchbase Liteのピアツーピア同期ソリューションを使用すると、クラウドベースの集中制御に
依存することなく、安全な双方向のデータベース同期で直接コラボレーションするエッジデバイス上で
オフライン優先のアプリケーションを構築できます。
このソリューションは、IPベースのネットワーク上で通信するピアツーピアアプリケーションで
使用するための、WebSocketベースのリスナーの追加設定なしの実装を提供します。

改善点
<機能の変更>
なし

<その他の強化点>
・CBL-1358:LogDomain.ALL_DOMAINSを優先して、LogDomain.ALLを非推奨にする
・CBL-1357:Database.performMaintenance(MaintenanceType.COMPACT)を優先して、
 Database.compact()を非推奨する
・CBL-1356:コンストラクターBasicAuthenticator(String, char[])を追加し、
 BasicAuthenticator(String, String)を非推奨する
・CBL-989:Maintenance APIを追加
・CBL-954:禁止されたリスナーリクエストに対して403を返す
・CBL-940:Replicator.start(reset)を実装し、resetCheckpoint()を廃止
・CBL-891:API:resetCheckpoint引数を取るようにAbstractReplicator.startをオーバーロードする
・CBL-773:新しいデータベースのクローズと削除の実装(Java)
・CBL-740:P2PリスナーAPI
・CBL-638:メタを介したクエリでRevisionIDをサポートする
・CBL-441:一般的なエラーメッセージを使用する
・CBL-405:保留中のドキュメントのID
・CBL-394:プラットフォームWebSocketコードはHTTPCookieを管理する必要がある - Android
・CBL-320:パブリックなDatabase.closeメソッド
・CBL-191:P2PリスナーのHTTP認証
・CBL-164:CouchbaseLite.getExecutionService()はパブリックなAPIであってはならない
・CBL-25:一部(?)のReplicatorChange CouchbaseLiteExceptionsに全くメッセージが含まれていない

<APIの変更>
APIは、次の変更で拡張されました。
・Database.close()メソッドは、開いているレプリケーターの停止、ピアツーピアWebSocketリスナーの
 クローズ、ライブクエリのオブザーバーの削除を自動的に処理するようになりました。
・Database.delete()メソッドは、開いているレプリケーターの停止、ピアツーピアWebSocketリスナーの
 クローズ、ライブクエリのオブザーバーの削除を自動的に処理するようになりました。
・Replicator.isDocumentPending()メソッドは、指定されたIDのドキュメントにプッシュする保留中の
 リビジョンがあるかどうかを確認します。
・Replicator.getPendingDocumentIds()メソッドは、現在プッシュを保留している全てのドキュメントの
 IDを取得します
・Meta.revisionIDプロパティは、メタデータプロパティとして利用可能になり、クエリで直接アクセス
 できるようになりました。

問題と解決策
<既知の問題>
・CBL-1406:Couchbase Lite 2.8アプリでは、2.8より前のデータベースに接続する時に
 データベースパスを明示的に指定する必要がある(config.setDirectory())
・CBL-370:API:KotlinはReplicatorTypeをインポートできない
・CBL-216:N1QLの期待と矛盾するnull値の順序付け
・CBL-95:保留中の競合は、間違ったレプリケーターによって解決される可能性がある
・CBL-49:boolean型を区別する方法が必要

<解決された問題>
・CBL-1141:Androidはリンクされていないファイルを使用できない
・CBL-1107:ドル記号で始まるプロパティが正しく処理されない
・CBL-1045:ログのロールオーバーでのデータ競合
・CBL-978:floatからintへの暗黙的フリース変換による数学エラー
・CBL-977:左外部結合を使用した全文検索では、フィールドがnullになる
・CBL-859:ChangeEncryptionKey()と新しいデータベースを作成した後のドキュメントの保存は、
 CouchbaseLiteException (SQLiteDomain / 21)をスローします:不正なパラメーターまたは
 その他のAPIの誤使用。
・CBL-791:resetCheckpointをReplicator.startの引数にする
・CBL-789:接続→name()にアクセスするとクラッシュする
・CBL-707:圧縮が無効です(auto_vacuumが有効になっていない)
・CBL-623:解決されたドキュメントをJavaで保存している間に、リビジョンフラグがクリアされる
・CBL-614:読み取り専用データベースを閉じるとエラーが発生する
・CBL-609:フリースがBooleanはLongであると考える
・CBL-608:Blobにコンテンツファイルがない
・CBL-594:ローカルからローカルへのレプリケーションがリモートIDを複製する
・CBL-590:BLIP 500エラーの処理の調査
・CBL-578:rev#2がDBに保存された後、rev#1を受信する
・CBL-565:失敗後にログに記録しようとしたことが原因と思われるクラッシュ
・CBL-564:プロパティエイリアスが特定の場合に機能しない
・CBL-530:クエリ内の特定のキーにより、セグメンテーション違反が発生する可能性がある
・CBL-529:制限なしでオフセットクエリを作成することができない
・CBL-505:Androidバインディングは、CCRスレッドプールのサイズを管理する必要がある
・CBL-496:DBConfigコンストラクタでデフォルトのtmpディレクトリを開こうとすべきではない
・CBL-358:xsocketsはPOSIXのバリエーションを考慮していない

Couchbase Lite Android (Java) 2.8.0 リリースノート(Couchbase社ウェブサイト):
https://docs.couchbase.com/couchbase-lite/2.8/android/product/java-android-releasenotes.html

Couchbaseサブスクリプション

CouchbaseCouchbaseサブスクリプションは、データベースSEによる日本語でのテクニカルサポートを付属した、公式サブスクリプションサービスです。

Couchbaseの詳細