VTK
vtkPostgreSQLQuery.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPostgreSQLQuery.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
39 #ifndef vtkPostgreSQLQuery_h
40 #define vtkPostgreSQLQuery_h
41 
42 #include "vtkIOPostgreSQLModule.h" // For export macro
43 #include "vtkSQLQuery.h"
44 
46 class vtkVariant;
47 class vtkVariantArray;
48 class vtkPostgreSQLQueryPrivate;
49 
50 class VTKIOPOSTGRESQL_EXPORT vtkPostgreSQLQuery : public vtkSQLQuery
51 {
52 public:
54  void PrintSelf( ostream& os, vtkIndent indent );
56 
62  bool Execute();
63 
68 
72  const char* GetFieldName( int i );
73 
77  int GetFieldType( int i );
78 
82  bool NextRow();
83 
87  bool HasError();
88 
90 
97 
102 
106  const char* GetLastErrorText();
107 
111  virtual vtkStdString EscapeString( vtkStdString s, bool addSurroundingQuotes = true );
112 
118 
119 protected:
122 
123  vtkSetStringMacro(LastErrorText);
124 
125  bool IsColumnBinary(int whichColumn);
126  const char *GetColumnRawData(int whichColumn);
127 
131 
132  vtkPostgreSQLQueryPrivate *QueryInternals;
133 
135 
136  friend class vtkPostgreSQLDatabase;
137 
138 private:
139  vtkPostgreSQLQuery( const vtkPostgreSQLQuery& ) VTK_DELETE_FUNCTION;
140  void operator = ( const vtkPostgreSQLQuery& ) VTK_DELETE_FUNCTION;
141 };
142 
143 #endif // vtkPostgreSQLQuery_h
144 
a simple class to control print indentation
Definition: vtkIndent.h:40
maintain a connection to a PostgreSQL database
vtkSQLQuery implementation for PostgreSQL databases
bool IsColumnBinary(int whichColumn)
const char * GetLastErrorText()
Get the last error text from the query.
int GetFieldType(int i)
Return the type of the field, using the constants defined in vtkType.h.
int GetNumberOfFields()
The number of fields in the query result.
const char * GetColumnRawData(int whichColumn)
const char * GetFieldName(int i)
Return the name of the specified query field.
virtual vtkStdString EscapeString(vtkStdString s, bool addSurroundingQuotes=true)
Escape a string for inclusion into an SQL query.
bool NextRow()
Advance row, return false if past end.
vtkPostgreSQLQueryPrivate * QueryInternals
static vtkPostgreSQLQuery * New()
bool HasError()
Return true if there is an error on the current query.
int GetNumberOfRows()
Unlike some databases, Postgres can tell you right away how many rows are in the results of your quer...
bool Execute()
Execute the query.
bool BeginTransaction()
Begin, abort (roll back), or commit a transaction.
vtkVariant DataValue(vtkIdType c)
Return data in current row, field c.
bool RollbackTransaction()
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
executes an sql query and retrieves results
Definition: vtkSQLQuery.h:75
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:49
An array holding vtkVariants.
A atomic type representing the union of many types.
Definition: vtkVariant.h:76
int vtkIdType
Definition: vtkType.h:287