43 #ifndef vtkSQLDatabaseSchema_h
44 #define vtkSQLDatabaseSchema_h
46 #include "vtkIOSQLModule.h"
54 #define VTK_SQL_ALLBACKENDS "*" // works for all backends
55 #define VTK_SQL_MYSQL "vtkMySQLDatabase"
56 #define VTK_SQL_POSTGRESQL "vtkPostgreSQLDatabase"
57 #define VTK_SQL_SQLITE "vtkSQLiteDatabase"
59 class vtkSQLDatabaseSchemaInternals;
127 virtual int AddPreamble(
128 const char* preName,
const char* preAction,
134 virtual int AddTable(
const char* tblName );
142 virtual int AddColumnToTable(
143 int tblHandle,
int colType,
const char* colName,
144 int colSize,
const char* colAttribs );
146 const char* tblName,
int colType,
const char* colName,
147 int colSize,
const char* colAttribs )
149 return this->AddColumnToTable( this->GetTableHandleFromName( tblName ),
150 colType, colName, colSize, colAttribs );
160 virtual int AddIndexToTable(
161 int tblHandle,
int idxType,
const char* idxName );
163 const char* tblName,
int idxType,
const char* idxName )
165 return this->AddIndexToTable( this->GetTableHandleFromName( tblName ),
176 virtual int AddColumnToIndex(
int tblHandle,
int idxHandle,
int colHandle );
178 const char* tblName,
const char* idxName,
const char* colName )
180 int tblHandle = this->GetTableHandleFromName( tblName );
181 return this->AddColumnToIndex( tblHandle,
182 this->GetIndexHandleFromName( tblName, idxName ),
183 this->GetColumnHandleFromName( tblName, colName ) );
194 virtual int AddTriggerToTable(
195 int tblHandle,
int trgType,
const char* trgName,
198 const char* tblName,
int trgType,
const char* trgName,
201 return this->AddTriggerToTable( this->GetTableHandleFromName( tblName ),
202 trgType, trgName, trgAction, trgBackend );
218 virtual int AddOptionToTable(
219 int tblHandle,
const char* optStr,
222 const char* tblName,
const char* optStr,
225 return this->AddOptionToTable( this->GetTableHandleFromName( tblName ),
226 optStr, optBackend );
233 int GetPreambleHandleFromName(
const char* preName );
238 const char* GetPreambleNameFromHandle(
int preHandle );
243 const char* GetPreambleActionFromHandle(
int preHandle );
248 const char* GetPreambleBackendFromHandle(
int preHandle );
253 int GetTableHandleFromName(
const char* tblName );
258 const char* GetTableNameFromHandle(
int tblHandle );
263 int GetIndexHandleFromName(
const char* tblName,
const char* idxName );
268 const char* GetIndexNameFromHandle(
int tblHandle,
int idxHandle );
273 int GetIndexTypeFromHandle(
int tblHandle,
int idxHandle );
278 const char* GetIndexColumnNameFromHandle(
279 int tblHandle,
int idxHandle,
int cnmHandle );
284 int GetColumnHandleFromName(
const char* tblName,
const char* colName );
289 const char* GetColumnNameFromHandle(
int tblHandle,
int colHandle );
294 int GetColumnTypeFromHandle(
int tblHandle,
int colHandle );
299 int GetColumnSizeFromHandle(
int tblHandle,
int colHandle );
304 const char* GetColumnAttributesFromHandle(
int tblHandle,
int colHandle );
309 int GetTriggerHandleFromName(
const char* tblName,
const char* trgName );
314 const char* GetTriggerNameFromHandle(
int tblHandle,
int trgHandle );
319 int GetTriggerTypeFromHandle(
int tblHandle,
int trgHandle );
324 const char* GetTriggerActionFromHandle(
int tblHandle,
int trgHandle );
329 const char* GetTriggerBackendFromHandle(
int tblHandle,
int trgHandle );
334 const char* GetOptionTextFromHandle(
int tblHandle,
int optHandle );
339 const char* GetOptionBackendFromHandle(
int tblHandle,
int trgHandle );
349 int GetNumberOfPreambles();
354 int GetNumberOfTables();
359 int GetNumberOfColumnsInTable(
int tblHandle );
364 int GetNumberOfIndicesInTable(
int tblHandle );
369 int GetNumberOfColumnNamesInIndex(
int tblHandle,
int idxHandle );
374 int GetNumberOfTriggersInTable(
int tblHandle );
379 int GetNumberOfOptionsInTable(
int tblHandle );
385 vtkSetStringMacro(Name);
386 vtkGetStringMacro(Name);
394 INDEX_COLUMN_TOKEN = 65,
395 END_INDEX_TOKEN = 75,
430 int AddTableMultipleArguments(
const char* tblName, ... );
445 #endif // vtkSQLDatabaseSchema_h