58 #ifndef __vtkSQLDatabase_h
59 #define __vtkSQLDatabase_h
73 #define VTK_SQL_FEATURE_TRANSACTIONS 1000
74 #define VTK_SQL_FEATURE_QUERY_SIZE 1001
75 #define VTK_SQL_FEATURE_BLOB 1002
76 #define VTK_SQL_FEATURE_UNICODE 1003
77 #define VTK_SQL_FEATURE_PREPARED_QUERIES 1004
78 #define VTK_SQL_FEATURE_NAMED_PLACEHOLDERS 1005
79 #define VTK_SQL_FEATURE_POSITIONAL_PLACEHOLDERS 1006
80 #define VTK_SQL_FEATURE_LAST_INSERT_ID 1007
81 #define VTK_SQL_FEATURE_BATCH_OPERATIONS 1008
82 #define VTK_SQL_FEATURE_TRIGGERS 1009 // supported
86 #define VTK_SQL_DEFAULT_COLUMN_SIZE 32
99 virtual bool Open(
const char* password) = 0;
102 virtual void Close() = 0;
105 virtual bool IsOpen() = 0;
111 virtual bool HasError() = 0;
117 virtual const char* GetLastErrorText() = 0;
120 virtual char* GetDatabaseType() = 0;
129 virtual bool IsSupported(
int vtkNotUsed(feature)) {
return false; }
202 static void RegisterCreateFromURLCallback(CreateFunction callback);
203 static void UnRegisterCreateFromURLCallback(CreateFunction callback);
204 static void UnRegisterAllCreateFromURLCallbacks();
225 virtual bool ParseURL(
const char*
url ) = 0;
233 class vtkCallbackVector;
234 static vtkCallbackVector* Callbacks;
239 #endif // __vtkSQLDatabase_h