19.7.6 a_rdb_SQLResultInfo_t構造体(SQL結果情報)
- 〈この項の構成〉
(1) 機能
a_rdb_SQLResultInfo_t構造体には,SQLの結果情報がCLI関数の呼び出し単位で格納されます。
(2) 形式
typedef struct a_rdb_TG_ResultInfo { unsigned long long RowCount ; /* Out */ unsigned char isInConnect ; /* Out */ unsigned char EndTran ; /* Out */ unsigned char RowCountOverFlowed ; /* Out */ unsigned char isMessageLogFull ; /* Out */ unsigned char isClientLogFull ; /* Out */ char _ResultInfo_rsv01[3] ; char SQLState[5] ; /* Out */ char _ResultInfo_rsv02[11] ; } a_rdb_SQLResultInfo_t ;
(3) メンバの説明
- RowCount:
-
CLI関数の戻り値がa_rdb_RC_SQL_SUCCESSまたはa_rdb_RC_SQL_NO_DATAの場合,処理結果行数を返します。それ以外の場合は0を返します。
なお,処理結果行数は0〜18,446,744,073,709,551,615までの範囲で返却します。
18,446,744,073,709,551,615を超えてオーバフローした場合は,18,446,744,073,709,551,615を返却し,RowCountOverFlowedにa_rdb_SQL_OVERFLOWEDを設定します。
- isInConnect:
-
コネクションが確立されている(接続中)かどうかを返します。
-
確立されていない場合:a_rdb_SQL_IS_NOT_IN_CONNECT
-
確立されている場合:a_rdb_SQL_IS_IN_CONNECT
-
- EndTran:
-
トランザクションの実行結果を返します。
-
トランザクションが正常終了した場合:a_rdb_SQL_COMMITTED
-
トランザクションが取り消された場合:a_rdb_SQL_ROLLBACKED
-
トランザクションが実行中の場合:a_rdb_SQL_TRAN_NOT_ENDED
-
トランザクションが開始前の場合:a_rdb_SQL_TRAN_NOT_STARTED
-
トランザクションが正常終了したときにSQLエラーが発生し,トランザクションを取り消した場合:a_rdb_SQL_DETECTED_ERROR_IN_COMMIT
トランザクションの実行結果とトランザクションの状態の対応を次の表に示します。
表19‒10 トランザクションの実行結果とトランザクションの状態の対応 項番
トランザクションの実行結果
トランザクションの状態
1
a_rdb_SQL_COMMITTED
トランザクション開始可能※
2
a_rdb_SQL_ROLLBACKED
トランザクション開始可能※
3
a_rdb_SQL_TRAN_NOT_ENDED
トランザクション実行中
4
a_rdb_SQL_TRAN_NOT_STARTED
トランザクション開始可能
5
a_rdb_SQL_DETECTED_ERROR_IN_COMMIT
トランザクション開始可能※
- 注※
-
COMMITおよびROLLBACKの成功によってトランザクションが決着し,次のトランザクションが開始できる状態です。
-
- RowCountOverFlowed:
-
RowCountがオーバフローしたかどうかを返します。
-
オーバフローしていない場合:a_rdb_SQL_NOT_OVERFLOWED
-
オーバフローした場合:a_rdb_SQL_OVERFLOWED
-
- isMessageLogFull:
-
サーバメッセージログファイルの状態を返します。
-
正常状態の場合:a_rdb_SQL_IS_NOT_LOG_FULL
-
縮退状態の場合:a_rdb_SQL_IS_LOG_FULL
サーバメッセージログファイルが縮退状態の場合は,HADB管理者に連絡してください。
-
- isClientLogFull:
-
クライアントメッセージログファイルの状態を返します。
-
正常状態の場合:a_rdb_SQL_IS_NOT_LOG_FULL
-
縮退状態の場合:a_rdb_SQL_IS_LOG_FULL
クライアントメッセージログファイルが縮退状態の場合は,クライアントメッセージログファイルを格納しているディスクの空き容量を確保してください。環境変数ADBMSGLOGSIZEで指定したサイズ×2以上の空き容量が必要になります。
-
- SQLState:
-
CLI関数の実行結果のSQLSTATEを返します。
SQLSTATEについては,マニュアルHADB メッセージのSQLSTATEの一覧を参照してください。