OceanBase Connector/Cは、C/C++ベースのOceanBaseクライアント開発コンポーネントであり、C API Libライブラリをサポートしています。
OceanBase Connector/Cにより、C/C++プログラムは比較的低レベルな方法でOceanBase分散データベースクラスタにアクセスし、データベース接続、データアクセス、エラー処理、およびプリペアドステートメントの処理などの操作を実行できます。
OceanBase Connector/CはLibobClientとも呼ばれ、アプリケーションが独立したサーバープロセスとしてネットワーク接続を介してデータベースサーバーOBServerと通信するために使用されます。クライアントプログラムはコンパイル時にC APIヘッダーファイルを参照し、同時にC APIライブラリファイルに接続できます。
インターフェース情報
サポートされているC API関数は以下のとおりです。
以下の各関数の詳細については、OceanBase Connector/CのC API関数ドキュメントを参照してください。
関数名 |
機能 |
|---|---|
| my_init | OceanBaseに必要なグローバル変数を初期化します。 |
| mysql_affected_rows | 更新、削除、または挿入ステートメントによって最後に変更、削除、または挿入された行数を返します。 |
| mysql_autocommit | 自動コミットモードを設定するために使用されます。 |
| mysql_change_user | 指定された接続のユーザーとデータベースを変更します。 |
| mysql_character_set_name | 現在の接続のデフォルト文字セット名を返します。 |
| mysql_client_find_plugin | 読み込まれたプラグインへのポインタを返します。 |
| mysql_client_register_plugin | プラグインを登録し、読み込まれたプラグインリストに追加するために使用されます。 |
| mysql_close | 以前に開いた接続を閉じるために使用されます。 |
| mysql_commit | 現在のトランザクションをコミットするために使用されます。 |
| mysql_connect | サーバーに接続するために使用されます。 |
| mysql_create_db | dbパラメータで指定されたデータベースを作成するために使用されます。 |
| mysql_data_seek | 結果セット内の任意の行を検索するために使用されます。 |
| mysql_debug | 指定された文字列を使用してDBUG PUSHを実行します。 |
| mysql_drop_db | dbパラメータで指定されたデータベースを削除するために使用されます。 |
| mysql_dump_debug_info | サーバーにデバッグ情報をエラーログに書き込むように指示するために使用されます。 |
| mysql_eof | 結果セットの最終行が読み取られたかどうかを判断するために使用されます。 |
| mysql_errno | 最近呼び出されたAPI関数の実行が成功または失敗したことを示すエラーコードを返します。 |
| mysql_error | 最近呼び出し失敗したAPI関数のエラーメッセージを含む、ヌル文字で終わる文字列を返します。 |
| mysql_escape_string | 文字列内の特殊文字をエスケープし、SQLステートメントで使用できるようにするために使用されます。 |
| mysql_fetch_field | 次のテーブルフィールドの型を返します。 |
| mysql_fetch_field_direct | 指定されたフィールド番号のフィールドタイプを返します。 |
| mysql_fetch_fields | 結果セットのすべてのMYSQL_FIELD構造を配列形式で返すために使用されます。MYSQL_FIELD構造は結果セットの列に対するフィールド定義を提供します。 |
| mysql_fetch_lengths | 結果セットの現在行の列の長さを返します。 |
| mysql_fetch_row | 結果セットの次の行を取得するために使用されます。 |
| mysql_field_count | 最近クエリした列数を返します。 |
| mysql_field_seek | 結果セットの行内の列を検索するために使用されます。 |
| mysql_field_tell | 最後にmysql_fetch_field()を呼び出したときのフィールドカーソルの位置を返します。 |
| mysql_free_result | 結果セットのメモリを解放するために使用されます。 |
| mysql_get_character_set_info | デフォルトクライアント文字セットに関する情報を提供するために使用されます。 |
| mysql_get_client_info | OceanBaseクライアントライブラリのバージョンを示す文字列を返します。 |
| mysql_get_client_version | OceanBaseクライアントライブラリのバージョンを示す整数を返します。 |
| mysql_get_host_info | サーバーホスト名を含む、現在の接続タイプを記述する文字列を返します。 |
| mysql_get_proto_info | 現在の接続で使用されているプロトコルバージョンを返します。 |
| mysql_get_server_info | OceanBaseサーバーのバージョンを示す文字列を返します。 |
| mysql_get_server_version | OceanBaseサーバーのバージョンを示す整数を返します。 |
| mysql_get_ssl_cipher | 指定されたサーバー接続の暗号化パスワード名を返します。 |
| mysql_hex_string | 有効なSQL文字列を作成するために使用されます。 |
| mysql_info | 最近実行されたステートメントに関する情報の文字列を返します。 |
| mysql_init | mysql_real_connect()に適用されるMYSQLオブジェクトを割り当てるか初期化するために使用されます。 |
| mysql_insert_id | 前回のINSERTまたはUPDATEステートメントがAUTO_INCREMENT列に生成した値を返します。 |
| mysql_kill | pidで指定されたスレッドをサーバーに終了するよう要求するために使用されます。 |
| mysql_library_end | C APIライブラリの使用を終了するために使用されます。 |
| mysql_library_init | C APIライブラリを初期化するために使用されます。 |
| mysql_list_dbs | wildパラメータで指定された、単純正規表現と一致するデータベース名の結果セットを返します。 |
| mysql_list_fields | wildパラメータで指定された、単純正規表現と一致するフィールド名を返します。 |
| mysql_list_processes | 現在のサーバースレッドを記述する結果セットを返します。 |
| mysql_list_tables | wildパラメータで指定された、単純正規表現と一致するテーブル名の結果セットを返します。 H3+を追加 |
| mysql_load_plugin | 名前とタイプで指定されたOceanBaseクライアントプラグインを読み込むために使用されます。 |
| mysql_load_plugin_v | OceanBaseクライアントプラグインをロードするために使用されます。 |
| mysql_more_results | より多くの結果が存在するかどうかを確認するために使用されます。 |
| mysql_next_result | 複数のステートメントで構成される単一のステートメント文字列を実行する場合、またはストアドプロシージャ内でCALLステートメントを使用して複数の結果セットを返すシナリオで使用されます。 |
| mysql_num_fields | 結果セット内の列数を返すために使用されます。 |
| mysql_num_rows | 結果セット内の行数を返すために使用されます。 |
| mysql_options | 追加の接続オプションを設定し、接続の動作に影響を与えるために使用されます。 |
| mysql_options4 | 追加の接続オプションを設定し、接続の動作に影響を与えるために使用されます。 |
| mysql_ping | サーバーへの接続が正常かどうかを確認するために使用されます。 |
| mysql_plugin_options | オプションタイプと値をプラグインに渡すために使用されます。 |
| mysql_query | null終端文字列stmt_strが指すSQLステートメントを実行するために使用されます。 |
| mysql_real_connect | ホスト上で実行中のOBServerノードとの接続を確立するために使用されます。 |
| mysql_real_escape_string | ステートメントの文字列内の特殊文字をエンコードし、SQLステートメントとして有効な文字列を作成します。 |
| mysql_real_query | stmt_strが指すSQLステートメントを実行するために使用されます。 |
| mysql_refresh | テーブルとキャッシュを更新またはリセットするために使用されます。 |
| mysql_reload | サーバーに対して、権限テーブルの再読み込みを要求するために使用されます。 |
| mysql_rollback | 現在のトランザクションをロールバックするために使用されます。 |
| mysql_row_seek | クエリ結果セット内で任意の行を検索するために使用されます。 |
| mysql_row_tell | 結果セットの行カーソルの現在の位置を返します。 |
| mysql_select_db | dbで指定されたデータベースを、mysqlで指定された接続上のデフォルト(現在)データベースに設定するために使用されます。 |
| mysql_server_end | C APIライブラリの使用を終了するために使用されます。 |
| mysql_server_init | OceanBaseクライアントライブラリを初期化するために使用されます。 |
| mysql_set_character_set | 現在の接続のデフォルト文字セットを設定するために使用されます。 |
| mysql_set_local_infile_default | LOAD DATA LOCALコールバック関数を、Cクライアントライブラリ内部で使用されるデフォルト値に設定します。 |
| mysql_set_local_infile_handler | 指定されたアプリケーションのLOAD DATA LOCALハンドラーコールバックをインストールするために使用されます。 |
| mysql_set_server_option | 接続オプションを有効または無効にするために使用されます。 |
| mysql_shutdown | データベースサーバーを閉じるために使用されます。 |
| mysql_sqlstate | 最近実行されたSQLステートメントのSQLSTATEエラーコードを含む、null文字で終端された文字列を返します。 |
| mysql_ssl_set | SSLを使用して暗号化された接続を確立するために使用されます。 |
| mysql_stat | サーバー情報を含む文字列を返します(mysqladmin statusコマンドに類似)。これには、秒単位の正常稼働時間、および実行中のスレッド、問題、再ロード、開いているテーブルの数が含まれます。 |
| mysql_stmt_affected_rows | 前回準備されたUPDATE、DELETE、またはINSERTステートメントを使用して変更、削除、または挿入された行数を返します。 |
| mysql_stmt_attr_get | ステートメントのプロパティ値を取得するために使用されます。 |
| mysql_stmt_attr_set | Prepared Statementプロパティ値を設定するために使用されます。 |
| mysql_stmt_bind_param | アプリケーションデータバッファをPrepared Statement内のパラメータマーカーに関連付けます。 |
| mysql_stmt_bind_result | 結果セットの出力列をデータバッファと長さバッファに関連付け(バインド)します。 |
| mysql_stmt_close | Prepared Statementを閉じるために使用されます。 |
| mysql_stmt_data_seek | ステートメント結果セット内の任意の行を検索するために使用されます。 |
| mysql_stmt_errno | 最近呼び出されたステートメントのAPI関数のエラーコードを返します。 |
| mysql_stmt_error | 最近呼び出されたステートメントのAPI関数のエラーメッセージを返します。 |
| mysql_stmt_execute | ステートメントハンドルに関連付けられたプリペアドクエリを実行します。 |
| mysql_stmt_fetch | 結果セットの次の行を取得し、すべてのバインドされた列のデータを返します。 |
| mysql_stmt_fetch_column | 現在の結果セット行の1列を取得するために使用されます。 |
| mysql_stmt_field_count | 最新のPrepared Statementの列数を返します。 |
| mysql_stmt_free_result | Prepared Statementの実行によって生成された結果セット関連メモリを解放するために使用されます。 |
| mysql_stmt_init | MYSQL_STMTハンドルを作成し返すために使用されます。 |
| mysql_stmt_insert_id | プリペアドINSERTまたはUPDATEステートメントによってAUTO_INCREMENT列に生成された値を返します。 |
| mysql_stmt_next_result | 複数結果Prepared Statementの実行中に、次の結果を返すか開始します。 |
| mysql_stmt_num_rows | 結果セット内の行数を返します。 |
| mysql_stmt_param_count | Prepared Statement内に存在するパラメータの数を返します。 |
| mysql_stmt_param_metadata | パラメータメタデータを結果セットとして返します。 |
| mysql_stmt_prepare | 文字列stmt_strが指すSQLステートメントをプリペアド処理し、状態値を返します。 |
| mysql_stmt_reset | サーバー上のステートメント、mysql_stmt_send_long_data()で送信されたデータ、バッファリングされていない結果セット、および現在のエラーをリセットします。 |
| mysql_stmt_result_metadata | プリペアドステートメントの結果セットメタデータを取得するために使用されます。 |
| mysql_stmt_row_seek | プリペアドステートメントの結果セット内で任意の行を検索するために使用されます。 |
| mysql_stmt_row_tell | プリペアドステートメントの結果セット行カーソルの現在位置を返します。 |
| mysql_stmt_send_long_data | アプリケーションがパラメータデータをサブセグメント(または「ブロック」)ごとにサーバーに送信できるようにします。 |
| mysql_stmt_sqlstate | 最後に呼び出されたプリペアドステートメントAPI関数のSQLSTATE値。 |
| mysql_stmt_store_result | 結果セット全体を取得して格納するために使用されます。 |
| mysql_store_result | 結果セット全体を取得して格納します。 |
| mysql_thread_end | スレッドハンドルの使用を終了するために使用されます。 |
| mysql_thread_id | 現在の接続のスレッドIDを返します。 |
| mysql_thread_init | スレッドハンドルを初期化するために使用されます。 |
| mysql_thread_safe | クライアントライブラリのコンパイルがスレッドセーフかどうかを示すために使用されます。 |
| mysql_use_result | 結果セットを行単位で取得するために使用されます。 |
| mysql_warning_count | 前のSQLステートメントの実行中に生成されたエラー、警告、およびコメントの数を返します。 |
C APIオブジェクト一覧
オブジェクト |
説明 |
|---|---|
| MYSQL | ハンドラーオブジェクト |
| MYSQL_RES | 結果オブジェクト |
| MYSQL_ROW | 結果行オブジェクト |
| MYSQL_FIELD | 結果列情報オブジェクト |
| MYSQL_FIELD_OFFSET | 結果列のオフセットオブジェクト |
| my_ulonglong | 基本型 |
| my_bool | 基本型 |
詳細を見る
OceanBase Connector/Cの詳細および使用方法については、『OceanBase Connector/C』を参照してください。