VTK  9.3.20240424
vtkPostgreSQLQuery.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
23#ifndef vtkPostgreSQLQuery_h
24#define vtkPostgreSQLQuery_h
25
26#include "vtkIOPostgreSQLModule.h" // For export macro
27#include "vtkSQLQuery.h"
28
29VTK_ABI_NAMESPACE_BEGIN
31class vtkVariant;
32class vtkVariantArray;
33class vtkPostgreSQLQueryPrivate;
34
35class VTKIOPOSTGRESQL_EXPORT vtkPostgreSQLQuery : public vtkSQLQuery
36{
37public:
39 void PrintSelf(ostream& os, vtkIndent indent) override;
41
47 bool Execute() override;
48
52 int GetNumberOfFields() override;
53
57 const char* GetFieldName(int i) override;
58
62 int GetFieldType(int i) override;
63
67 bool NextRow() override;
68
72 bool HasError() override;
73
75
78 bool BeginTransaction() override;
79 bool RollbackTransaction() override;
80 bool CommitTransaction() override;
82
87
91 const char* GetLastErrorText() override;
92
96 vtkStdString EscapeString(vtkStdString s, bool addSurroundingQuotes = true) override;
97
103
104protected:
107
108 vtkSetStringMacro(LastErrorText);
109
110 bool IsColumnBinary(int whichColumn);
111 const char* GetColumnRawData(int whichColumn);
112
116
117 vtkPostgreSQLQueryPrivate* QueryInternals;
118
120
122
123private:
124 vtkPostgreSQLQuery(const vtkPostgreSQLQuery&) = delete;
125 void operator=(const vtkPostgreSQLQuery&) = delete;
126};
127
128VTK_ABI_NAMESPACE_END
129#endif // vtkPostgreSQLQuery_h
a simple class to control print indentation
Definition vtkIndent.h:108
maintain a connection to a PostgreSQL database
vtkSQLQuery implementation for PostgreSQL databases
vtkStdString EscapeString(vtkStdString s, bool addSurroundingQuotes=true) override
Escape a string for inclusion into an SQL query.
int GetNumberOfFields() override
The number of fields in the query result.
bool HasError() override
Return true if there is an error on the current query.
bool IsColumnBinary(int whichColumn)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
const char * GetColumnRawData(int whichColumn)
bool Execute() override
Execute the query.
vtkPostgreSQLQueryPrivate * QueryInternals
int GetFieldType(int i) override
Return the type of the field, using the constants defined in vtkType.h.
bool RollbackTransaction() override
Begin, abort (roll back), or commit a transaction.
int GetNumberOfRows()
Unlike some databases, Postgres can tell you right away how many rows are in the results of your quer...
bool NextRow() override
Advance row, return false if past end.
vtkVariant DataValue(vtkIdType c) override
Return data in current row, field c.
~vtkPostgreSQLQuery() override
bool BeginTransaction() override
Begin, abort (roll back), or commit a transaction.
bool CommitTransaction() override
Begin, abort (roll back), or commit a transaction.
const char * GetFieldName(int i) override
Return the name of the specified query field.
const char * GetLastErrorText() override
Get the last error text from the query.
static vtkPostgreSQLQuery * New()
executes an sql query and retrieves results
Definition vtkSQLQuery.h:60
Wrapper around std::string to keep symbols short.
An array holding vtkVariants.
A type representing the union of many types.
Definition vtkVariant.h:162
int vtkIdType
Definition vtkType.h:315