CapacitorでカスタムSQLite拡張機能を使用する方法

標準的なSQLiteはほとんどのタスクに対応できますが、時にはそれ以上の機能が必要になることがあります。

特定の言語向けのカスタムトークナイザーが必要な場合や、カスタム数学関数、あるいは特殊なテキスト処理が必要な場合があります。これらは「ロード可能な拡張機能(loadable extensions)」と呼ばれます。

Capacitor SQLiteプラグインは、AndroidとiOSでこれらをサポートしています。

なぜ拡張機能を使用するのか?

実装方法はプラットフォームによって異なります。

Android

AndroidシステムのSQLiteは、拡張機能を直接ロードすることをサポートしていません。requeryバックエンドを使用する必要があります。

iOS

iOSアプリは実行時に動的ライブラリをロードできません。拡張機能を静的にリンクする必要があります。

拡張機能のCコード自体は変わりません。ビルドと登録の手順のみが異なります。

ロードされると、カスタム拡張機能はSQLiteの組み込み機能と同じように動作します。新しいトークナイザーや関数を、すぐにSQLステートメントで使用できます。

カスタム拡張機能を使用することで、モバイルデータベース内でネイティブコードのパワーを活用できます。

出典: https://dev.to/capawesome/how-to-use-custom-sqlite-extensions-in-capacitor-l5k