どこに配置するか
新しいものを構築する場合は、独自のリポジトリに VEF 拡張機能を構築します。プラグインとコンポーネントも機能しますが、VEF が適切なモデルです。詳しくは、プラグインとコンポーネントの代わりに拡張機能を使用する理由をご覧ください。 VillageSQL Server リポジトリに属するコントリビューション:プラグインとコンポーネントの代わりに拡張機能を使用する理由
MySQL プラグインとコンポーネントは VillageSQL で動作します。VEF 拡張機能では、さらに多くの機能を利用できます。- カスタム型 — 新しい列タイプを定義できます。これは、プラグインや UDF ではできません。
- パッケージング —
.vebファイルとして配布され、INSTALL EXTENSIONでインストールされます。 - 再起動は不要 — 拡張機能は実行時にロードおよびアンロードされます。
- バージョン管理 — 拡張機能のマニフェストで宣言され、サーバーによって強制されます。
新しい拡張機能の開始
VEF には 2 つの SDK があり、どちらも同じフレームワークを通じて登録します。- C++ — vsql-extension-template が出発点です。C++ での拡張機能の作成を参照してください。
- Rust — vsql-extension-template-rust が出発点です。Rust での拡張機能の作成を参照してください。
VEF で必要な機能がサポートされていない場合
VEF はまだ発展中です。まだ存在しないフックまたは機能が必要な場合は、次の手順を実行します。- サーバーリポジトリに、必要なものを説明する Issue を提出します。
- リクエストがすでにある場合は、既存の Issue に賛成票を投じます。
- フックを VEF に追加する PR を提出します。 フレームワークの改善は、サーバーリポジトリで歓迎されます。

