VTK  9.2.5
vtkSQLiteDatabase.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkSQLiteDatabase.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-------------------------------------------------------------------------*/
52#ifndef vtkSQLiteDatabase_h
53#define vtkSQLiteDatabase_h
54
55#include "vtkIOSQLModule.h" // For export macro
56#include "vtkSQLDatabase.h"
57
58class vtkSQLQuery;
59class vtkSQLiteQuery;
60class vtkStringArray;
62
63class VTKIOSQL_EXPORT vtkSQLiteDatabase : public vtkSQLDatabase
64{
65
66 friend class vtkSQLiteQuery;
67
68public:
70 void PrintSelf(ostream& os, vtkIndent indent) override;
72
73 enum
74 {
78 CREATE
79 };
80
82
91 bool Open(const char* password) override;
92 bool Open(const char* password, int mode);
94
98 void Close() override;
99
103 bool IsOpen() override;
104
109
114
118 vtkStringArray* GetRecord(const char* table) override;
119
123 bool IsSupported(int feature) override;
124
128 bool HasError() override;
129
133 const char* GetLastErrorText() override;
134
136
139 const char* GetDatabaseType() override { return this->DatabaseType; }
141
143
146 vtkGetFilePathMacro(DatabaseFileName);
147 vtkSetFilePathMacro(DatabaseFileName);
149
154
164 vtkSQLDatabaseSchema* schema, int tblHandle, int colHandle) override;
165
166protected:
169
175 bool ParseURL(const char* url) override;
176
177private:
179
180 // We want this to be private, a user of this class
181 // should not be setting this for any reason
182 vtkSetStringMacro(DatabaseType);
183
184 vtkStringArray* Tables;
185
186 char* DatabaseType;
187 char* DatabaseFileName;
188
189 vtkStdString TempURL;
190
191 vtkSQLiteDatabase(const vtkSQLiteDatabase&) = delete;
192 void operator=(const vtkSQLiteDatabase&) = delete;
193};
194
195#endif // vtkSQLiteDatabase_h
a simple class to control print indentation
Definition: vtkIndent.h:40
represent an SQL database schema
maintain a connection to an sql database
executes an sql query and retrieves results
Definition: vtkSQLQuery.h:75
maintain a connection to an SQLite database
bool Open(const char *password) override
Open a new connection to the database.
bool Open(const char *password, int mode)
Open a new connection to the database.
bool HasError() override
Did the last operation generate an error.
const char * GetDatabaseType() override
String representing database type (e.g.
vtkStringArray * GetTables() override
Get the list of tables from the database.
bool IsOpen() override
Return whether the database has an open connection.
bool ParseURL(const char *url) override
Overridden to determine connection parameters given the URL.
vtkStdString GetColumnSpecification(vtkSQLDatabaseSchema *schema, int tblHandle, int colHandle) override
Return the SQL string with the syntax to create a column inside a "CREATE TABLE" SQL statement.
vtkSetFilePathMacro(DatabaseFileName)
String representing the database filename.
vtkStdString GetURL() override
Get the URL of the database.
bool IsSupported(int feature) override
Return whether a feature is supported by the database.
void Close() override
Close the connection to the database.
const char * GetLastErrorText() override
Get the last error text from the database.
vtkGetFilePathMacro(DatabaseFileName)
String representing the database filename.
~vtkSQLiteDatabase() override
static vtkSQLiteDatabase * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSQLQuery * GetQueryInstance() override
Return an empty query on this database.
vtkStringArray * GetRecord(const char *table) override
Get the list of fields for a particular table.
vtkSQLQuery implementation for SQLite databases
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:39
a vtkAbstractArray subclass for strings