Exec は、バックエンドサーバにコマンドを送信します。おそらく、以下の 2 関数のいずれかを使用する方がより好まれます。
ExecStatusType PgConnection::Exec(const char* query)
コマンドの結果状態を返します。以下の結果状態が想定できます。
PGRES_EMPTY_QUERY |
PGRES_COMMAND_OK: コマンドが問い合わせではない場合 |
PGRES_TUPLES_OK: 問い合わせが正常にタプルを返した場合 |
PGRES_COPY_OUT |
PGRES_COPY_IN |
PGRES_BAD_RESPONSE: 想定しない応答を受け取った場合 |
PGRES_NONFATAL_ERROR |
PGRES_FATAL_ERROR |
int PgConnection::ExecCommandOk(const char *query)
コマンドが成功した場合、true(1) を返します。
ExecTuplesOk は、(行を返す)問い合わせコマンドをバックエンドサーバに送信します。
int PgConnection::ExecTuplesOk(const char *query)
問い合わせが成功した場合、true(1) を返します。
ErrorMessage は直前のエラーメッセージテキストを返します。
const char *PgConnection::ErrorMessage()
Tuples は、問い合わせ結果内のタプル(行)数を返します。
int PgDatabase::Tuples() const
Fields は、問い合わせ結果内の各タプルのフィールド(列)数を返します。
int PgDatabase::Fields()
FieldName は、指定したフィールドインデックスに対応したフィールド(列)名を返します。フィールドインデックスは 0 から始まります。
const char *PgDatabase::FieldName(int field_num) const
FieldNum は、指定したフィールド名に対応したフィールド(列)インデックスを返します。
int PgDatabase::FieldNum(const char* field_name) const
指定した名前がフィールドに合致しなかった場合は -1 が返されます。
FieldType は、指定したフィールドインデックスに対応したフィールドの型を返します。返される整数は、型の内部コードを示します。フィールドインデックスは 0 から始まります。
Oid PgDatabase::FieldType(int field_num) const
FieldType は指定したフィールド名に対応したフィールドの型を返します。返される整数は、型の内部コードを示します。フィールドインデックスは 0 から始まります。
Oid PgDatabase::FieldType(const char* field_name) const
FieldSize は、指定したフィールドインデックスに対応したサイズをバイト数単位で返します。フィールドインデックスは 0 から始まります。
int PgDatabase::FieldSize(int field_num) const
データベースタプルの 指定したフィールド番号のフィールドに割り当てられた領域を返します。つまり、そのデータ型のサーバにおけるバイナリ表現のサイズです。可変長フィールドの場合、-1 が返されます。
FieldSize は、指定したフィールドインデックスに対応したサイズをバイト数単位で返します。フィールドインデックスは 0 から始まります。
int PgDatabase::FieldSize(const char *field_name) const
データベースタプルの 指定したフィールド名のフィールドに割り当てられた領域を返します。つまり、そのデータ型のサーバにおけるバイナリ表現のサイズです。可変長フィールドの場合、-1 が返されます。
GetValue は、PGresult のあるタプルの 1 つのフィールド(列)値を返します。タプルとフィールドのインデックスは 0 から始まります。
const char *PgDatabase::GetValue(int tup_num, int field_num) const
ほとんどの問い合わせでは、GetValue で返される値は属性値のヌル終端文字列表現です。しかし、BinaryTuples が true の場合、GetValue で返される値はバックエンドサーバにおけるその型の内部書式で表したバイナリになります(ただし、該当フィールドが可変長の場合には、サイズ部分は含まれません)。データを正しくC の型にキャスト、変換することは、プログラマの責任です。GetValue で返されるポインタは、PGresult 構造体の格納領域を指します。これを変更してはなりません。また、PGresult 構造体自身の有効期間を越えてからも使用したい場合は、他の領域にその値を明示的にコピーしなければなりません。なお、BinaryTuples はまだ実装されていません。
GetValue は、PGresult のあるタプルの 1 つのフィールド(列)値を返します。タプルとフィールドのインデックスは 0 から始まります。
const char *PgDatabase::GetValue(int tup_num, const char *field_name) const
ほとんどの問い合わせでは、GetValue で返される値は属性値のヌル終端文字列表現です。しかし、BinaryTuples が true の場合、GetValue で返される値はバックエンドサーバにおけるその型の内部書式で表したバイナリになります(ただし、該当フィールドが可変長の場合には、サイズ部分は含まれません)。データを正しくC の型にキャスト、変換することは、プログラマの責任です。GetValue で返されるポインタは、PGresult 構造体の格納領域を指します。これを変更してはなりません。また、PGresult 構造体自身の有効期間を越えてからも使用したい場合は、他の領域にその値を明示的にコピーしなければなりません。なお、BinaryTuples はまだ実装されていません。
GetLength はフィールド(列)の長さをバイト数単位で返します。タプルとフィールドのインデックスは 0 から始まります。
int PgDatabase::GetLength(int tup_num, int field_num) const
これは、特定のデータ値の実データ長、つまり、GetValue が指し示すオブジェクトのサイズです。文字表現の値では、このサイズは、 PQfsize で判明するバイナリサイズよりも小さくなることに注意して下さい。
GetLength はフィールド(列)の長さをバイト数単位で返します。タプルとフィールドのインデックスは 0 から始まります。
int PgDatabase::GetLength(int tup_num, const char* field_name) const
これは、特定のデータ値の実データ長、つまり、GetValue が指し示すオブジェクトのサイズです。文字表現の値では、このサイズは、 PQfsize で判明するバイナリサイズよりも小さくなることに注意して下さい。
GetIsNull は、フィールドが NULL 値を持つかどうかを返します。
bool GetIsNull(int tup_num, int field_num) const
フィールドが NULL の場合、 GetValue は ヌルポインタではなく、空文字列を返すことに注意して下さい。
GetIsNull は、フィールドが NULL 値を持つかどうかを返します。
bool GetIsNull(int tup_num, const char *field_name) const
フィールドが NULL の場合、 GetValue は ヌルポインタではなく、空文字列を返すことに注意して下さい。
DisplayTuples は、タプル全てを指定した出力ストリームに出力します。また、属性名も出力させることもオプションで可能です。
void PgDatabase::DisplayTuples(FILE *out = 0, bool fillAlign = true, const char* fieldSep = "|", bool printHeader = true, bool quiet = false) const
この関数はすたれかかっています。
DisplayTuples は、タプル全てを指定した出力ストリームに出力します。また、属性名も出力させることもオプションで可能です。
void PgDatabase::PrintTuples(FILE *out = 0, bool printAttName = true, bool terseOutput = false, bool fillAlign = false) const
この関数はすたれかかっています。
CmdTuples は INSERT、 UPDATE、または、DELETE によって影響を受けた行数を返します。コマンドの影響が全くなかった場合は -1 が返ります。
int PgDatabase::CmdTuples() const
OidStatus
const char *PgDatabase::OidStatus() const