59 #ifndef vtkSQLDatabase_h
60 #define vtkSQLDatabase_h
62 #include "vtkIOSQLModule.h"
75 #define VTK_SQL_FEATURE_TRANSACTIONS 1000
76 #define VTK_SQL_FEATURE_QUERY_SIZE 1001
77 #define VTK_SQL_FEATURE_BLOB 1002
78 #define VTK_SQL_FEATURE_UNICODE 1003
79 #define VTK_SQL_FEATURE_PREPARED_QUERIES 1004
80 #define VTK_SQL_FEATURE_NAMED_PLACEHOLDERS 1005
81 #define VTK_SQL_FEATURE_POSITIONAL_PLACEHOLDERS 1006
82 #define VTK_SQL_FEATURE_LAST_INSERT_ID 1007
83 #define VTK_SQL_FEATURE_BATCH_OPERATIONS 1008
84 #define VTK_SQL_FEATURE_TRIGGERS 1009 // supported
88 #define VTK_SQL_DEFAULT_COLUMN_SIZE 32
102 virtual bool Open(
const char* password) = 0;
107 virtual void Close() = 0;
112 virtual bool IsOpen() = 0;
122 virtual bool HasError() = 0;
131 virtual const char* GetLastErrorText() = 0;
136 virtual char* GetDatabaseType() = 0;
151 virtual bool IsSupported(
int vtkNotUsed(feature)) {
return false; }
233 static void RegisterCreateFromURLCallback(CreateFunction callback);
234 static void UnRegisterCreateFromURLCallback(CreateFunction callback);
235 static void UnRegisterAllCreateFromURLCallbacks();
257 virtual bool ParseURL(
const char*
url ) = 0;
267 class vtkCallbackVector;
268 static vtkCallbackVector* Callbacks;
273 #endif // vtkSQLDatabase_h
Wrapper around std::string to keep symbols short.
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual bool IsSupported(int vtkNotUsed(feature))
Return whether a feature is supported by the database.
a vtkAbstractArray subclass for strings
represent an SQL database schema
virtual vtkStdString GetTablePreamble(bool)
Return the SQL string with the syntax of the preamble following a "CREATE TABLE" SQL statement...
maintain a connection to an sql database
a simple class to control print indentation
executes an sql query and retrieves results