48 #ifndef __vtkPostgreSQLDatabase_h
49 #define __vtkPostgreSQLDatabase_h
62 friend class vtkPostgreSQLQueryPrivate;
73 bool Open(
const char* password = 0 );
92 vtkGetStringMacro(DatabaseType);
97 virtual void SetHostName(
const char* );
98 vtkGetStringMacro(HostName);
103 virtual void SetUser(
const char* );
104 vtkGetStringMacro(User);
108 virtual void SetPassword(
const char* );
112 virtual void SetDatabaseName(
const char* );
113 vtkGetStringMacro(DatabaseName);
118 virtual void SetConnectOptions(
const char* );
119 vtkGetStringMacro(ConnectOptions);
124 virtual void SetServerPort(
int );
125 virtual int GetServerPortMinValue()
129 virtual int GetServerPortMaxValue()
133 vtkGetMacro(ServerPort,
int);
158 bool CreateDatabase(
const char* dbName,
bool dropExisting =
false );
162 bool DropDatabase(
const char* dbName );
187 void UpdateDataTypeMap();
194 vtkSetStringMacro(DatabaseType);
195 vtkSetStringMacro(LastErrorText);
196 void NullTrailingWhitespace(
char* msg );
197 bool OpenInternal(
const char* connectionOptions );
220 #define vtkSetStringPlusMTimeMacro(className,name,timeStamp) \
221 inline void className::Set##name (const char* _arg) \
223 vtkDebugMacro(<< this->GetClassName() << " (" << this << "): setting " << #name " to " << (_arg?_arg:"(null)") ); \
224 if ( this->name == NULL && _arg == NULL) { return;} \
225 if ( this->name && _arg && (!strcmp(this->name,_arg))) { return;} \
226 if (this->name) { delete [] this->name; } \
229 size_t n = strlen(_arg) + 1; \
230 char *cp1 = new char[n]; \
231 const char *cp2 = (_arg); \
233 do { *cp1++ = *cp2++; } while ( --n ); \
240 this->timeStamp.Modified(); \
252 vtkDebugMacro(<< this->
GetClassName() <<
" (" <<
this <<
"): setting ServerPort to " << _arg );
262 #endif // __vtkPostgreSQLDatabase_h