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 const 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