#include <vtkPostgreSQLDatabase.h>
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.
Definition at line 58 of file vtkPostgreSQLDatabase.h.
Public Types | |
typedef vtkSQLDatabase | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
bool | Open (const char *password=0) |
void | Close () |
bool | IsOpen () |
vtkSQLQuery * | GetQueryInstance () |
virtual bool | HasError () |
const char * | GetLastErrorText () |
virtual void | SetPassword (const char *) |
virtual vtkStdString | GetURL () |
vtkStringArray * | GetTables () |
vtkStringArray * | GetRecord (const char *table) |
bool | IsSupported (int feature) |
vtkStringArray * | GetDatabases () |
bool | CreateDatabase (const char *dbName, bool dropExisting=false) |
bool | DropDatabase (const char *dbName) |
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) |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkPostgreSQLDatabase * | SafeDownCast (vtkObject *o) |
static vtkPostgreSQLDatabase * | New () |
Protected Member Functions | |
vtkPostgreSQLDatabase () | |
~vtkPostgreSQLDatabase () | |
void | UpdateDataTypeMap () |
virtual bool | ParseURL (const char *url) |
virtual void | SetDatabaseType (const char *) |
virtual void | SetLastErrorText (const char *) |
void | NullTrailingWhitespace (char *msg) |
bool | OpenInternal (const char *connectionOptions) |
Protected Attributes | |
vtkTimeStamp | URLMTime |
vtkPostgreSQLDatabasePrivate * | Connection |
vtkTimeStamp | ConnectionMTime |
vtkStringArray * | Tables |
char * | DatabaseType |
char * | HostName |
char * | User |
char * | Password |
char * | DatabaseName |
int | ServerPort |
char * | ConnectOptions |
char * | LastErrorText |
Friends | |
class | vtkPostgreSQLQuery |
class | vtkPostgreSQLQueryPrivate |
vtkPostgreSQLDatabase::vtkPostgreSQLDatabase | ( | ) | [protected] |
vtkPostgreSQLDatabase::~vtkPostgreSQLDatabase | ( | ) | [protected] |
virtual const char* vtkPostgreSQLDatabase::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkSQLDatabase.
static int vtkPostgreSQLDatabase::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type 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.
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 | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkSQLDatabase.
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 vtkSQLDatabase.
static vtkPostgreSQLDatabase* vtkPostgreSQLDatabase::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkObject.
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 | ) | [inline, virtual] |
The port used for connecting to the database.
Definition at line 250 of file vtkPostgreSQLDatabase.h.
virtual int vtkPostgreSQLDatabase::GetServerPortMinValue | ( | ) | [inline, virtual] |
The port used for connecting to the database.
Definition at line 125 of file vtkPostgreSQLDatabase.h.
virtual int vtkPostgreSQLDatabase::GetServerPortMaxValue | ( | ) | [inline, virtual] |
The port used for connecting to the database.
Definition at line 129 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.
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 bool vtkPostgreSQLDatabase::ParseURL | ( | const char * | url | ) | [protected, 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.
virtual void vtkPostgreSQLDatabase::SetDatabaseType | ( | const char * | ) | [protected, virtual] |
virtual void vtkPostgreSQLDatabase::SetLastErrorText | ( | const char * | ) | [protected, virtual] |
void vtkPostgreSQLDatabase::NullTrailingWhitespace | ( | char * | msg | ) | [protected] |
bool vtkPostgreSQLDatabase::OpenInternal | ( | const char * | connectionOptions | ) | [protected] |
friend class vtkPostgreSQLQuery [friend] |
Definition at line 61 of file vtkPostgreSQLDatabase.h.
friend class vtkPostgreSQLQueryPrivate [friend] |
Definition at line 62 of file vtkPostgreSQLDatabase.h.
vtkTimeStamp vtkPostgreSQLDatabase::URLMTime [protected] |
Definition at line 199 of file vtkPostgreSQLDatabase.h.
Definition at line 200 of file vtkPostgreSQLDatabase.h.
vtkTimeStamp vtkPostgreSQLDatabase::ConnectionMTime [protected] |
Definition at line 201 of file vtkPostgreSQLDatabase.h.
vtkStringArray* vtkPostgreSQLDatabase::Tables [protected] |
Definition at line 202 of file vtkPostgreSQLDatabase.h.
char* vtkPostgreSQLDatabase::DatabaseType [protected] |
Definition at line 203 of file vtkPostgreSQLDatabase.h.
char* vtkPostgreSQLDatabase::HostName [protected] |
Definition at line 204 of file vtkPostgreSQLDatabase.h.
char* vtkPostgreSQLDatabase::User [protected] |
Definition at line 205 of file vtkPostgreSQLDatabase.h.
char* vtkPostgreSQLDatabase::Password [protected] |
Definition at line 206 of file vtkPostgreSQLDatabase.h.
char* vtkPostgreSQLDatabase::DatabaseName [protected] |
Definition at line 207 of file vtkPostgreSQLDatabase.h.
int vtkPostgreSQLDatabase::ServerPort [protected] |
Definition at line 208 of file vtkPostgreSQLDatabase.h.
char* vtkPostgreSQLDatabase::ConnectOptions [protected] |
Definition at line 209 of file vtkPostgreSQLDatabase.h.
char* vtkPostgreSQLDatabase::LastErrorText [protected] |
Definition at line 210 of file vtkPostgreSQLDatabase.h.