43 #ifndef vtkSQLDatabase_h
44 #define vtkSQLDatabase_h
46 #include "vtkIOSQLModule.h"
51 VTK_ABI_NAMESPACE_BEGIN
60 #define VTK_SQL_FEATURE_TRANSACTIONS 1000
61 #define VTK_SQL_FEATURE_QUERY_SIZE 1001
62 #define VTK_SQL_FEATURE_BLOB 1002
63 #define VTK_SQL_FEATURE_UNICODE 1003
64 #define VTK_SQL_FEATURE_PREPARED_QUERIES 1004
65 #define VTK_SQL_FEATURE_NAMED_PLACEHOLDERS 1005
66 #define VTK_SQL_FEATURE_POSITIONAL_PLACEHOLDERS 1006
67 #define VTK_SQL_FEATURE_LAST_INSERT_ID 1007
68 #define VTK_SQL_FEATURE_BATCH_OPERATIONS 1008
69 #define VTK_SQL_FEATURE_TRIGGERS 1009 // supported
73 #define VTK_SQL_DEFAULT_COLUMN_SIZE 32
87 virtual bool Open(
const char* password) = 0;
92 virtual void Close() = 0;
97 virtual bool IsOpen() = 0;
107 virtual bool HasError() = 0;
116 virtual const char* GetLastErrorText() = 0;
121 virtual const char* GetDatabaseType() = 0;
136 virtual bool IsSupported(
int vtkNotUsed(feature)) {
return false; }
220 static void RegisterCreateFromURLCallback(CreateFunction callback);
221 static void UnRegisterCreateFromURLCallback(CreateFunction callback);
222 static void UnRegisterAllCreateFromURLCallbacks();
244 virtual bool ParseURL(
const char*
url) = 0;
254 class vtkCallbackVector;
255 static vtkCallbackVector* Callbacks;
259 VTK_ABI_NAMESPACE_END
260 #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