このページを編集する際は、編集に関する方針に従ってください。
概要 †
- attlenが0より大きい場合、cur_offset+attlenを返す。
- attlenが-1の場合、attvalをvarattrib構造体としてサイズを算出した結果とcur_offsetの和を返す。
- 上記以外の場合、以下を実行する。
- attlenが-2かどうかの条件でAssertMacro()/postgresql-8.1.4を実行する。
- attvalを文字列としてサイズを算出した結果とcur_offsetの和を返す。
引数 †
- cur_offset : オフセット値。
- attlen : 属性(?)のサイズ。
- attval : 属性(?)を格納する変数(可変長の属性(?)を扱う場合のみ使用)。
実装 †
#define att_addlength(cur_offset, attlen, attval) \
( \
((attlen) > 0) ? \
( \
(cur_offset) + (attlen) \
) \
: (((attlen) == -1) ? \
( \
(cur_offset) + VARATT_SIZE(DatumGetPointer(attval)) \
) \
: \
( \
AssertMacro((attlen) == -2), \
(cur_offset) + (strlen(DatumGetCString(attval)) + 1) \
)) \
)
呼出元 †
履歴 †
コメント †