VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
vtkPostgreSQLDatabase Class Reference

maintain a connection to a PostgreSQL database More...

#include <vtkPostgreSQLDatabase.h>

Inheritance diagram for vtkPostgreSQLDatabase:
[legend]
Collaboration diagram for vtkPostgreSQLDatabase:
[legend]

Public Types

typedef vtkSQLDatabase Superclass
 
- Public Types inherited from vtkSQLDatabase
typedef vtkObject Superclass
 
typedef vtkSQLDatabase *(* CreateFunction) (const char *URL)
 
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkPostgreSQLDatabaseNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
bool Open (const char *password=0)
 
void Close ()
 
bool IsOpen ()
 
vtkSQLQueryGetQueryInstance ()
 
virtual bool HasError ()
 
const char * GetLastErrorText ()
 
virtual void SetPassword (const char *)
 
virtual vtkStdString GetURL ()
 
vtkStringArrayGetTables ()
 
vtkStringArrayGetRecord (const char *table)
 
bool IsSupported (int feature)
 
vtkStringArrayGetDatabases ()
 
bool CreateDatabase (const char *dbName, bool dropExisting=false)
 
bool DropDatabase (const char *dbName)
 
virtual bool ParseURL (const char *url)
 
virtual char * GetDatabaseType ()
 
virtual void SetHostName (const char *)
 
virtual char * GetHostName ()
 
virtual void SetUser (const char *)
 
virtual char * GetUser ()
 
virtual void SetDatabaseName (const char *)
 
virtual char * GetDatabaseName ()
 
virtual void SetConnectOptions (const char *)
 
virtual char * GetConnectOptions ()
 
virtual void SetServerPort (int)
 
virtual int GetServerPortMinValue ()
 
virtual int GetServerPortMaxValue ()
 
virtual int GetServerPort ()
 
virtual vtkStdString GetColumnSpecification (vtkSQLDatabaseSchema *schema, int tblHandle, int colHandle)
 
- Public Member Functions inherited from vtkSQLDatabase
vtkSQLDatabaseNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual bool IsSupported (int vtkNotUsed(feature))
 
virtual vtkStdString GetTablePreamble (bool)
 
virtual bool EffectSchema (vtkSQLDatabaseSchema *, bool dropIfExists=false)
 
virtual vtkStdString GetIndexSpecification (vtkSQLDatabaseSchema *schema, int tblHandle, int idxHandle, bool &skipped)
 
virtual vtkStdString GetTriggerSpecification (vtkSQLDatabaseSchema *schema, int tblHandle, int trgHandle)
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () const
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual unsigned long GetMTime ()
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void Print (ostream &os)
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkPostgreSQLDatabaseSafeDownCast (vtkObjectBase *o)
 
static vtkPostgreSQLDatabaseNew ()
 
- Static Public Member Functions inherited from vtkSQLDatabase
static int IsTypeOf (const char *type)
 
static vtkSQLDatabaseSafeDownCast (vtkObjectBase *o)
 
static vtkSQLDatabaseCreateFromURL (const char *URL)
 
static vtkInformationObjectBaseKeyDATABASE ()
 
static void RegisterCreateFromURLCallback (CreateFunction callback)
 
static void UnRegisterCreateFromURLCallback (CreateFunction callback)
 
static void UnRegisterAllCreateFromURLCallbacks ()
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkPostgreSQLDatabase ()
 
 ~vtkPostgreSQLDatabase ()
 
void UpdateDataTypeMap ()
 
virtual void SetDatabaseType (const char *)
 
virtual void SetLastErrorText (const char *)
 
void NullTrailingWhitespace (char *msg)
 
bool OpenInternal (const char *connectionOptions)
 
- Protected Member Functions inherited from vtkSQLDatabase
 vtkSQLDatabase ()
 
 ~vtkSQLDatabase ()
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

vtkTimeStamp URLMTime
 
vtkPostgreSQLDatabasePrivateConnection
 
vtkTimeStamp ConnectionMTime
 
vtkStringArrayTables
 
char * DatabaseType
 
char * HostName
 
char * User
 
char * Password
 
char * DatabaseName
 
int ServerPort
 
char * ConnectOptions
 
char * LastErrorText
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Friends

class vtkPostgreSQLQuery
 
class vtkPostgreSQLQueryPrivate
 

Detailed Description

maintain a connection to a PostgreSQL database

PostgreSQL (http://www.postgres.org) is a BSD-licensed SQL database. It's large, fast, and can not be easily embedded inside other applications. Its databases are stored in files that belong to another process.

This class provides a VTK interface to PostgreSQL. You do need to download external libraries: we need a copy of PostgreSQL 8 (currently 8.2 or 8.3) so that we can link against the libpq C interface.

Thanks:
Thanks to David Thompson and Andy Wilson from Sandia National Laboratories for implementing this class.
See also
vtkPostgreSQLQuery
Tests:
vtkPostgreSQLDatabase (Tests)

Definition at line 59 of file vtkPostgreSQLDatabase.h.

Member Typedef Documentation

Definition at line 67 of file vtkPostgreSQLDatabase.h.

Constructor & Destructor Documentation

vtkPostgreSQLDatabase::vtkPostgreSQLDatabase ( )
protected
vtkPostgreSQLDatabase::~vtkPostgreSQLDatabase ( )
protected

Member Function Documentation

static int vtkPostgreSQLDatabase::IsTypeOf ( const char *  type)
static
virtual int vtkPostgreSQLDatabase::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkSQLDatabase.

static vtkPostgreSQLDatabase* vtkPostgreSQLDatabase::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkPostgreSQLDatabase::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkSQLDatabase.

vtkPostgreSQLDatabase* vtkPostgreSQLDatabase::NewInstance ( ) const
void vtkPostgreSQLDatabase::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

static vtkPostgreSQLDatabase* vtkPostgreSQLDatabase::New ( )
static
bool vtkPostgreSQLDatabase::Open ( const char *  password = 0)
virtual

Open a new connection to the database. You need to set the filename before calling this function. Returns true if the database was opened successfully; false otherwise.

Implements vtkSQLDatabase.

void vtkPostgreSQLDatabase::Close ( )
virtual

Close the connection to the database.

Implements vtkSQLDatabase.

bool vtkPostgreSQLDatabase::IsOpen ( )
virtual

Return whether the database has an open connection

Implements vtkSQLDatabase.

vtkSQLQuery* vtkPostgreSQLDatabase::GetQueryInstance ( )
virtual

Return an empty query on this database.

Implements vtkSQLDatabase.

virtual bool vtkPostgreSQLDatabase::HasError ( )
virtual

Did the last operation generate an error

Implements vtkSQLDatabase.

const char* vtkPostgreSQLDatabase::GetLastErrorText ( )
virtual

Get the last error text from the database

Implements vtkSQLDatabase.

virtual char* vtkPostgreSQLDatabase::GetDatabaseType ( )
virtual

String representing database type (e.g. "psql").

Implements vtkSQLDatabase.

virtual void vtkPostgreSQLDatabase::SetHostName ( const char *  )
virtual

The database server host name.

virtual char* vtkPostgreSQLDatabase::GetHostName ( )
virtual

The database server host name.

virtual void vtkPostgreSQLDatabase::SetUser ( const char *  )
virtual

The user name for connecting to the database server.

virtual char* vtkPostgreSQLDatabase::GetUser ( )
virtual

The user name for connecting to the database server.

virtual void vtkPostgreSQLDatabase::SetPassword ( const char *  )
virtual

The user's password for connecting to the database server.

virtual void vtkPostgreSQLDatabase::SetDatabaseName ( const char *  )
virtual

The name of the database to connect to.

virtual char* vtkPostgreSQLDatabase::GetDatabaseName ( )
virtual

The name of the database to connect to.

virtual void vtkPostgreSQLDatabase::SetConnectOptions ( const char *  )
virtual

Additional options for the database.

virtual char* vtkPostgreSQLDatabase::GetConnectOptions ( )
virtual

Additional options for the database.

void vtkPostgreSQLDatabase::SetServerPort ( int  _arg)
inlinevirtual

The port used for connecting to the database.

Definition at line 251 of file vtkPostgreSQLDatabase.h.

virtual int vtkPostgreSQLDatabase::GetServerPortMinValue ( )
inlinevirtual

The port used for connecting to the database.

Definition at line 126 of file vtkPostgreSQLDatabase.h.

virtual int vtkPostgreSQLDatabase::GetServerPortMaxValue ( )
inlinevirtual

The port used for connecting to the database.

Definition at line 130 of file vtkPostgreSQLDatabase.h.

virtual int vtkPostgreSQLDatabase::GetServerPort ( )
virtual

The port used for connecting to the database.

virtual vtkStdString vtkPostgreSQLDatabase::GetURL ( )
virtual

Get a URL referencing the current database connection. This is not well-defined if the HostName and DatabaseName have not been set. The URL will be of the form 'psql://'[username[':'password]'@']hostname[':'port]'/'database

Implements vtkSQLDatabase.

vtkStringArray* vtkPostgreSQLDatabase::GetTables ( )
virtual

Get the list of tables from the database

Implements vtkSQLDatabase.

vtkStringArray* vtkPostgreSQLDatabase::GetRecord ( const char *  table)
virtual

Get the list of fields for a particular table

Implements vtkSQLDatabase.

bool vtkPostgreSQLDatabase::IsSupported ( int  feature)

Return whether a feature is supported by the database.

vtkStringArray* vtkPostgreSQLDatabase::GetDatabases ( )

Return a list of databases on the server.

bool vtkPostgreSQLDatabase::CreateDatabase ( const char *  dbName,
bool  dropExisting = false 
)

Create a new database, optionally dropping any existing database of the same name. Returns true when the database is properly created and false on failure.

bool vtkPostgreSQLDatabase::DropDatabase ( const char *  dbName)

Drop a database if it exists. Returns true on success and false on failure.

virtual vtkStdString vtkPostgreSQLDatabase::GetColumnSpecification ( vtkSQLDatabaseSchema schema,
int  tblHandle,
int  colHandle 
)
virtual

Return the SQL string with the syntax to create a column inside a "CREATE TABLE" SQL statement. NB: this method implements the PostgreSQL-specific syntax: <column name>=""> <column type>=""> <column attributes>="">

Reimplemented from vtkSQLDatabase.

virtual bool vtkPostgreSQLDatabase::ParseURL ( const char *  url)
virtual

Overridden to determine connection parameters given the URL. This is called by CreateFromURL() to initialize the instance. Look at CreateFromURL() for details about the URL format.

Implements vtkSQLDatabase.

void vtkPostgreSQLDatabase::UpdateDataTypeMap ( )
protected

Create or refresh the map from Postgres column types to VTK array types. Postgres defines a table for types so that users may define types. This adaptor does not support user-defined types or even all of the default types defined by Postgres (some are inherently difficult to translate into VTK since Postgres allows columns to have composite types, vector-valued types, and extended precision types that vtkVariant does not support. This routine examines the pg_types table to get a map from Postgres column type IDs (stored as OIDs) to VTK array types. It is called whenever a new database connection is initiated.

virtual void vtkPostgreSQLDatabase::SetDatabaseType ( const char *  )
protectedvirtual
virtual void vtkPostgreSQLDatabase::SetLastErrorText ( const char *  )
protectedvirtual
void vtkPostgreSQLDatabase::NullTrailingWhitespace ( char *  msg)
protected
bool vtkPostgreSQLDatabase::OpenInternal ( const char *  connectionOptions)
protected

Friends And Related Function Documentation

friend class vtkPostgreSQLQuery
friend

Definition at line 62 of file vtkPostgreSQLDatabase.h.

friend class vtkPostgreSQLQueryPrivate
friend

Definition at line 63 of file vtkPostgreSQLDatabase.h.

Member Data Documentation

vtkTimeStamp vtkPostgreSQLDatabase::URLMTime
protected

Definition at line 200 of file vtkPostgreSQLDatabase.h.

vtkPostgreSQLDatabasePrivate* vtkPostgreSQLDatabase::Connection
protected

Definition at line 201 of file vtkPostgreSQLDatabase.h.

vtkTimeStamp vtkPostgreSQLDatabase::ConnectionMTime
protected

Definition at line 202 of file vtkPostgreSQLDatabase.h.

vtkStringArray* vtkPostgreSQLDatabase::Tables
protected

Definition at line 203 of file vtkPostgreSQLDatabase.h.

char* vtkPostgreSQLDatabase::DatabaseType
protected

Definition at line 204 of file vtkPostgreSQLDatabase.h.

char* vtkPostgreSQLDatabase::HostName
protected

Definition at line 205 of file vtkPostgreSQLDatabase.h.

char* vtkPostgreSQLDatabase::User
protected

Definition at line 206 of file vtkPostgreSQLDatabase.h.

char* vtkPostgreSQLDatabase::Password
protected

Definition at line 207 of file vtkPostgreSQLDatabase.h.

char* vtkPostgreSQLDatabase::DatabaseName
protected

Definition at line 208 of file vtkPostgreSQLDatabase.h.

int vtkPostgreSQLDatabase::ServerPort
protected

Definition at line 209 of file vtkPostgreSQLDatabase.h.

char* vtkPostgreSQLDatabase::ConnectOptions
protected

Definition at line 210 of file vtkPostgreSQLDatabase.h.

char* vtkPostgreSQLDatabase::LastErrorText
protected

Definition at line 211 of file vtkPostgreSQLDatabase.h.


The documentation for this class was generated from the following file: