MySQL Shell 8.0

このページは機械翻訳したものです。

7.2.2 拡張オブジェクトの作成

新しい拡張オブジェクトを作成して、1 つ以上の関数、データ型またはその他の拡張オブジェクトを提供するには、Python の JavaScript または shell.create_extension_object() で組込み shell.createExtensionObject() 関数を使用します:

shell.createExtensionObject()

拡張オブジェクトにメンバーを追加するには、Python の JavaScript または shell.add_extension_object_member() で組込み shell.addExtensionObjectMember() 関数を使用します:

shell.addExtensionObjectMember(object, name, member[, definition])

ここでは:

拡張オブジェクトは、MySQL Shell グローバルオブジェクトとして登録されるか、MySQL Shell グローバルオブジェクトとして登録される別の拡張オブジェクトにメンバーとして追加されるまで、構成中とみなされます。 まだ登録されていない拡張オブジェクトを MySQL Shell で使用しようとすると、エラーが返されます。

クロス言語に関する考慮事項

拡張オブジェクトには、Python で定義されたメンバーと JavaScript で定義されたメンバーを混在させることができます。MySQL Shell は、一方の言語から他方の言語へのデータの転送をパラメータおよび戻り値として管理します。表7.1「拡張オブジェクトでサポートされているデータ型のペア」 には、言語間でデータを転送する際に MySQL Shell でサポートされるデータ型と、相互の表現として使用されるペアが表示されます:

表 7.1 拡張オブジェクトでサポートされているデータ型のペア

JavaScript Python
Boolean Boolean
文字列 文字列
Integer Long
数値 Float
Null なし
Array リスト
マップ 辞書

拡張オブジェクトは、両方の言語で文字どおり同じオブジェクトです。