pgdatabase.h
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:2k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /*-------------------------------------------------------------------------
  2.  *
  3.  * pgdatabase.h
  4.  *    
  5.  *
  6.  *   DESCRIPTION
  7.  * Postgres Database Class: 
  8.  *    Query Postgres backend to obtain query results
  9.  *
  10.  *   NOTES
  11.  *      Currently under construction.
  12.  *
  13.  * Copyright (c) 1994, Regents of the University of California
  14.  *
  15.  *
  16.  *  $Id: pgdatabase.h,v 1.2 1999/05/23 01:04:01 momjian Exp $
  17.  *
  18.  *-------------------------------------------------------------------------
  19.  */
  20.  
  21. #ifndef PGDATABASE_H
  22. #define PGDATABASE_H
  23.  
  24. #include "pgconnection.h"
  25. // ****************************************************************
  26. //
  27. // PgDatabase - a class for accessing databases
  28. //
  29. // ****************************************************************
  30. // This is the basic database access class.  Its interface should 
  31. // be used only after a query has been sent to the backend and
  32. // results are being received.
  33. class PgDatabase : public PgConnection {
  34. public:
  35.   PgDatabase(const char* conninfo) : PgConnection(conninfo) {} // use reasonable defaults
  36.   ~PgDatabase() {} ; // close connection and clean up
  37.   
  38.   // query result access
  39.   int Tuples();
  40.   int Fields();
  41.   const char* FieldName(int field_num);
  42.   int FieldNum(const char* field_name);
  43.   Oid FieldType(int field_num);
  44.   Oid FieldType(const char* field_name);
  45.   short FieldSize(int field_num);
  46.   short FieldSize(const char* field_name);
  47.   const char* GetValue(int tup_num, int field_num);
  48.   const char* GetValue(int tup_num, const char* field_name);
  49.   int GetLength(int tup_num, int field_num);
  50.   int GetLength(int tup_num, const char* field_name);
  51.   void DisplayTuples(FILE *out = 0, int fillAlign = 1, 
  52. const char* fieldSep = "|",int printHeader = 1, int quiet = 0) ;
  53.   void PrintTuples(FILE *out = 0, int printAttName = 1, 
  54. int terseOutput = 0, int width = 0) ;
  55.   // copy command related access
  56.   int GetLine(char* string, int length);
  57.   void PutLine(const char* string);
  58.   const char* OidStatus();
  59.   int EndCopy();
  60.     
  61. protected:
  62.   PgDatabase() : PgConnection() {} // Do not connect
  63. };
  64. #endif // PGDATABASE_H