組み込み型やANSIでサポートされている型だけでは不十分な場合、OceanBaseデータベースはSQLに基づくインターフェースを提供して新しい型を定義できます。これらの型の動作は、C/C++、Java、またはPLで実装できます。本記事では主にOceanBaseデータベース独自のAny型について説明します。
OceanBaseデータベースは、入出力、異種クライアントによる新しいデータ型へのアクセス、およびアプリケーションとデータベース間のデータ転送の最適化に必要なインフラストラクチャサービスを提供します。
これらのインターフェースは、ユーザー定義(またはオブジェクト)型の構築に使用でき、OceanBaseデータベースもこれらのインターフェースを使用して一般的なデータ型を作成できます。
OceanBaseデータベースの現行バージョンが提供するAny型は、プロシージャパラメータに対して非常に柔軟なモデリングを可能にします。これらのデータ型により、他の任意のSQL型の型記述、データインスタンス、およびデータインスタンスセットを動的にカプセル化およびアクセスできます。Any型に備わるPLインターフェースは、構築とアクセス機能を提供します。
OceanBaseデータベースの現行バージョンは、以下の2種類のAny型をサポートしています:
ANYTYPE
この型は、任意の名前付きSQL型または名前なしの瞬間型の型記述を含むことができます。
ANYDATA
この型は、指定された型のインスタンス、データ、およびその型の記述を含みます。これらの値は、SQL組み込み型またはユーザー定義型である可能性があります。