pgdatabase.cc 2.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
/*-------------------------------------------------------------------------
 *
 *   FILE
 *      pgdatabase.cpp
 *
 *   DESCRIPTION
 *      implementation of the PgDatabase class.
 *   PgDatabase encapsulates some utility routines
 *
 * Copyright (c) 1994, Regents of the University of California
 *
 * IDENTIFICATION
13
 *	  $Header: /cvsroot/pgsql/src/interfaces/libpq++/Attic/pgdatabase.cc,v 1.3 1999/06/05 18:05:17 tgl Exp $
14 15 16 17 18 19 20
 *
 *-------------------------------------------------------------------------
 */
 
#include "pgdatabase.h"


21 22 23
void PgDatabase::DisplayTuples(FILE *out, int fillAlign, 
							   const char* fieldSep, int printHeader,
							   int /* quiet */) 
24
{
25
	PQprintOpt po;
26

27
	memset(&po,0,sizeof(po));
28

29 30 31
	po.align = (pqbool)fillAlign;
	po.fieldSep = (char *)fieldSep;
	po.header = (pqbool)printHeader;
32

33
	PQprint(out,pgResult,&po);
34 35 36 37 38
}




39 40
void PgDatabase::PrintTuples(FILE *out, int printAttName, int terseOutput,
							 int width)
41
{
42
	PQprintOpt po;
43

44
	memset(&po,0,sizeof(po));
45

46
	po.align = (pqbool)width;
47

48 49
	if(terseOutput) po.fieldSep = strdup("|");
	else po.fieldSep = "";
50

51
	po.header = (pqbool)printAttName;
52

53
	PQprint(out,pgResult,&po);
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
}



int PgDatabase::Tuples()
{ 
return PQntuples(pgResult); 
}


int PgDatabase::Fields()
{ 
return PQnfields(pgResult); 
}


const char* PgDatabase::FieldName(int field_num)
{ 
return PQfname(pgResult, field_num); 
}


int PgDatabase::FieldNum(const char* field_name)
{ 
return PQfnumber(pgResult, field_name); 
}


Oid PgDatabase::FieldType(int field_num)
{ 
return PQftype(pgResult, field_num); 
}


Oid PgDatabase::FieldType(const char* field_name)
{ 
return PQftype(pgResult, FieldNum(field_name)); 
}


short PgDatabase::FieldSize(int field_num)
{ 
return PQfsize(pgResult, field_num); 
}


short PgDatabase::FieldSize(const char* field_name)
{ 
return PQfsize(pgResult, FieldNum(field_name)); 
}


const char* PgDatabase::GetValue(int tup_num, int field_num)
{ 
return PQgetvalue(pgResult, tup_num, field_num); 
}


const char* PgDatabase::GetValue(int tup_num, const char* field_name)
{ 
return PQgetvalue(pgResult, tup_num, FieldNum(field_name)); 
}


int PgDatabase::GetLength(int tup_num, int field_num)
{ 
return PQgetlength(pgResult, tup_num, field_num); 
}


int PgDatabase::GetLength(int tup_num, const char* field_name)
{ 
return PQgetlength(pgResult, tup_num, FieldNum(field_name)); 
}

int PgDatabase::GetLine(char* string, int length)
{ 
return PQgetline(pgConn, string, length); 
}


void PgDatabase::PutLine(const char* string)
{ 
PQputline(pgConn, string); 
}


const char* PgDatabase::OidStatus()
{ 
return PQoidStatus(pgResult); 
}


int PgDatabase::EndCopy()
{ 
return PQendcopy(pgConn); 
}