00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef PGDBMETADATA_H
00019 #define PGDBMETADATA_H
00020
00021 #include "DbMetaData.h"
00022 #define DLLIMPORT
00023 #define HAVE_CXX_STRING_HEADER
00024 #define HAVE_NAMESPACE_STD
00025 #include <libpq++.h>
00026 #include <map>
00027
00028 class PgDbMetaData : public DbMetaData
00029 {
00030 public:
00031 PgDbMetaData(PgDatabase &pgdb);
00032 ~PgDbMetaData();
00033
00034 protected:
00035 class TypeContainer
00036 {
00037 public:
00038 TypeContainer();
00039 TypeContainer(eDataType type);
00040 TypeContainer(const char *typeName);
00041
00042 eDataType type;
00043 };
00044
00045 static void initTypes(PgDatabase &pgdb);
00046 void init(PgDatabase &pgdb);
00047
00048 static map<int, TypeContainer> oidToEnum;
00049 };
00050 #endif // PGDBMETADATA_H