45 #ifndef __vtkSQLDatabaseSchema_h
46 #define __vtkSQLDatabaseSchema_h
55 #define VTK_SQL_ALLBACKENDS "*" // works for all backends
56 #define VTK_SQL_MYSQL "vtkMySQLDatabase"
57 #define VTK_SQL_POSTGRESQL "vtkPostgreSQLDatabase"
58 #define VTK_SQL_SQLITE "vtkSQLiteDatabase"
60 class vtkSQLDatabaseSchemaInternals;
125 virtual int AddPreamble(
126 const char* preName,
const char* preAction,
131 virtual int AddTable(
const char* tblName );
136 virtual int AddColumnToTable(
137 int tblHandle,
int colType,
const char* colName,
138 int colSize,
const char* colAttribs );
140 const char* tblName,
int colType,
const char* colName,
141 int colSize,
const char* colAttribs )
143 return this->AddColumnToTable( this->GetTableHandleFromName( tblName ),
144 colType, colName, colSize, colAttribs );
151 virtual int AddIndexToTable(
152 int tblHandle,
int idxType,
const char* idxName );
154 const char* tblName,
int idxType,
const char* idxName )
156 return this->AddIndexToTable( this->GetTableHandleFromName( tblName ),
164 virtual int AddColumnToIndex(
int tblHandle,
int idxHandle,
int colHandle );
166 const char* tblName,
const char* idxName,
const char* colName )
168 int tblHandle = this->GetTableHandleFromName( tblName );
169 return this->AddColumnToIndex( tblHandle,
170 this->GetIndexHandleFromName( tblName, idxName ),
171 this->GetColumnHandleFromName( tblName, colName ) );
180 virtual int AddTriggerToTable(
181 int tblHandle,
int trgType,
const char* trgName,
184 const char* tblName,
int trgType,
const char* trgName,
187 return this->AddTriggerToTable( this->GetTableHandleFromName( tblName ),
188 trgType, trgName, trgAction, trgBackend );
199 virtual int AddOptionToTable(
200 int tblHandle,
const char* optStr,
203 const char* tblName,
const char* optStr,
206 return this->AddOptionToTable( this->GetTableHandleFromName( tblName ),
207 optStr, optBackend );
212 int GetPreambleHandleFromName(
const char* preName );
215 const char* GetPreambleNameFromHandle(
int preHandle );
218 const char* GetPreambleActionFromHandle(
int preHandle );
221 const char* GetPreambleBackendFromHandle(
int preHandle );
224 int GetTableHandleFromName(
const char* tblName );
227 const char* GetTableNameFromHandle(
int tblHandle );
231 int GetIndexHandleFromName(
const char* tblName,
const char* idxName );
234 const char* GetIndexNameFromHandle(
int tblHandle,
int idxHandle );
237 int GetIndexTypeFromHandle(
int tblHandle,
int idxHandle );
242 const char* GetIndexColumnNameFromHandle(
243 int tblHandle,
int idxHandle,
int cnmHandle );
248 int GetColumnHandleFromName(
const char* tblName,
const char* colName );
252 const char* GetColumnNameFromHandle(
int tblHandle,
int colHandle );
256 int GetColumnTypeFromHandle(
int tblHandle,
int colHandle );
260 int GetColumnSizeFromHandle(
int tblHandle,
int colHandle );
264 const char* GetColumnAttributesFromHandle(
int tblHandle,
int colHandle );
268 int GetTriggerHandleFromName(
const char* tblName,
const char* trgName );
272 const char* GetTriggerNameFromHandle(
int tblHandle,
int trgHandle );
276 int GetTriggerTypeFromHandle(
int tblHandle,
int trgHandle );
280 const char* GetTriggerActionFromHandle(
int tblHandle,
int trgHandle );
284 const char* GetTriggerBackendFromHandle(
int tblHandle,
int trgHandle );
288 const char* GetOptionTextFromHandle(
int tblHandle,
int optHandle );
292 const char* GetOptionBackendFromHandle(
int tblHandle,
int trgHandle );
298 int GetNumberOfPreambles();
301 int GetNumberOfTables();
304 int GetNumberOfColumnsInTable(
int tblHandle );
307 int GetNumberOfIndicesInTable(
int tblHandle );
311 int GetNumberOfColumnNamesInIndex(
int tblHandle,
int idxHandle );
314 int GetNumberOfTriggersInTable(
int tblHandle );
317 int GetNumberOfOptionsInTable(
int tblHandle );
321 vtkSetStringMacro(Name);
322 vtkGetStringMacro(Name);
331 INDEX_COLUMN_TOKEN = 65,
332 END_INDEX_TOKEN = 75,
364 int AddTableMultipleArguments(
const char* tblName, ... );
382 #endif // __vtkSQLDatabaseSchema_h