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;
125 virtual int AddPreamble(
131 virtual int AddTable(
const char* tblName);
139 virtual int AddColumnToTable(
140 int tblHandle,
int colType,
const char* colName,
int colSize,
const char* colAttribs);
142 const char* tblName,
int colType,
const char* colName,
int colSize,
const char* colAttribs)
144 return this->AddColumnToTable(
145 this->GetTableHandleFromName(tblName), colType, colName, colSize, colAttribs);
155 virtual int AddIndexToTable(
int tblHandle,
int idxType,
const char* idxName);
158 return this->AddIndexToTable(this->GetTableHandleFromName(tblName), idxType, idxName);
168 virtual int AddColumnToIndex(
int tblHandle,
int idxHandle,
int colHandle);
169 virtual int AddColumnToIndex(
const char* tblName,
const char* idxName,
const char* colName)
171 int tblHandle = this->GetTableHandleFromName(tblName);
172 return this->AddColumnToIndex(tblHandle, this->GetIndexHandleFromName(tblName, idxName),
173 this->GetColumnHandleFromName(tblName, colName));
184 virtual int AddTriggerToTable(
int tblHandle,
int trgType,
const char* trgName,
189 return this->AddTriggerToTable(
190 this->GetTableHandleFromName(tblName), trgType, trgName, trgAction, trgBackend);
206 virtual int AddOptionToTable(
211 return this->AddOptionToTable(this->GetTableHandleFromName(tblName), optStr, optBackend);
218 int GetPreambleHandleFromName(
const char* preName);
223 const char* GetPreambleNameFromHandle(
int preHandle);
228 const char* GetPreambleActionFromHandle(
int preHandle);
233 const char* GetPreambleBackendFromHandle(
int preHandle);
238 int GetTableHandleFromName(
const char* tblName);
243 const char* GetTableNameFromHandle(
int tblHandle);
248 int GetIndexHandleFromName(
const char* tblName,
const char* idxName);
253 const char* GetIndexNameFromHandle(
int tblHandle,
int idxHandle);
258 int GetIndexTypeFromHandle(
int tblHandle,
int idxHandle);
263 const char* GetIndexColumnNameFromHandle(
int tblHandle,
int idxHandle,
int cnmHandle);
268 int GetColumnHandleFromName(
const char* tblName,
const char* colName);
273 const char* GetColumnNameFromHandle(
int tblHandle,
int colHandle);
278 int GetColumnTypeFromHandle(
int tblHandle,
int colHandle);
283 int GetColumnSizeFromHandle(
int tblHandle,
int colHandle);
288 const char* GetColumnAttributesFromHandle(
int tblHandle,
int colHandle);
293 int GetTriggerHandleFromName(
const char* tblName,
const char* trgName);
298 const char* GetTriggerNameFromHandle(
int tblHandle,
int trgHandle);
303 int GetTriggerTypeFromHandle(
int tblHandle,
int trgHandle);
308 const char* GetTriggerActionFromHandle(
int tblHandle,
int trgHandle);
313 const char* GetTriggerBackendFromHandle(
int tblHandle,
int trgHandle);
318 const char* GetOptionTextFromHandle(
int tblHandle,
int optHandle);
323 const char* GetOptionBackendFromHandle(
int tblHandle,
int trgHandle);
333 int GetNumberOfPreambles();
338 int GetNumberOfTables();
343 int GetNumberOfColumnsInTable(
int tblHandle);
348 int GetNumberOfIndicesInTable(
int tblHandle);
353 int GetNumberOfColumnNamesInIndex(
int tblHandle,
int idxHandle);
358 int GetNumberOfTriggersInTable(
int tblHandle);
363 int GetNumberOfOptionsInTable(
int tblHandle);
369 vtkSetStringMacro(Name);
370 vtkGetStringMacro(Name);
379 INDEX_COLUMN_TOKEN = 65,
380 END_INDEX_TOKEN = 75,
415 int AddTableMultipleArguments(
const char* tblName, ...);
430 #endif // vtkSQLDatabaseSchema_h