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 | 空文字列で終端されたSQLステートメントを指すstmt_strを実行するために使用されます。 |
| 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エラーコードを含む、ヌル文字で終わる文字列を返します。 |
| 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 | プリペアドステートメントの実行によって生成された結果セット関連のメモリを解放します。 |
| mysql_stmt_init | MYSQL_STMTハンドルを作成して返します。 |
| mysql_stmt_insert_id | プリペアドINSERTまたはUPDATEステートメントがAUTO_INCREMENT列に生成した値を返します。 |
| mysql_stmt_next_result | 複数結果プリペアドステートメントの実行中に、次の結果を返すか開始します。 |
| mysql_stmt_num_rows | 結果セット内の行数を返します。 |
| mysql_stmt_param_count | プリペアドステートメントに存在するパラメータ数を返します。 |
| 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 | 結果セットを1行ずつ取得するために使用されます。 |
| 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』を参照してください。