<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>VTK: dox/IO/vtkSQLDatabaseSchema.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="classes.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <h1>dox/IO/vtkSQLDatabaseSchema.h</h1><a href="a03195.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*=========================================================================</span> <a name="l00002"></a>00002 <span class="comment"></span> <a name="l00003"></a>00003 <span class="comment">Program: Visualization Toolkit</span> <a name="l00004"></a>00004 <span class="comment">Module: $RCSfile: vtkSQLDatabaseSchema.h,v $</span> <a name="l00005"></a>00005 <span class="comment"></span> <a name="l00006"></a>00006 <span class="comment">Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen</span> <a name="l00007"></a>00007 <span class="comment">All rights reserved.</span> <a name="l00008"></a>00008 <span class="comment">See Copyright.txt or http://www.kitware.com/Copyright.htm for details.</span> <a name="l00009"></a>00009 <span class="comment"></span> <a name="l00010"></a>00010 <span class="comment">This software is distributed WITHOUT ANY WARRANTY; without even</span> <a name="l00011"></a>00011 <span class="comment">the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR</span> <a name="l00012"></a>00012 <span class="comment">PURPOSE. See the above copyright notice for more information.</span> <a name="l00013"></a>00013 <span class="comment"></span> <a name="l00014"></a>00014 <span class="comment">=========================================================================*/</span> <a name="l00015"></a>00015 <span class="comment">/*-------------------------------------------------------------------------</span> <a name="l00016"></a>00016 <span class="comment"> Copyright 2008 Sandia Corporation.</span> <a name="l00017"></a>00017 <span class="comment"> Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,</span> <a name="l00018"></a>00018 <span class="comment"> the U.S. Government retains certain rights in this software.</span> <a name="l00019"></a>00019 <span class="comment">-------------------------------------------------------------------------*/</span> <a name="l00037"></a>00037 <span class="preprocessor">#ifndef __vtkSQLDatabaseSchema_h</span> <a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define __vtkSQLDatabaseSchema_h</span> <a name="l00039"></a>00039 <span class="preprocessor"></span> <a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="a02079.html">vtkObject.h</a>"</span> <a name="l00041"></a>00041 <a name="l00042"></a>00042 <span class="preprocessor">#include <cstdarg></span> <span class="comment">// Because one method has a variable list of arguments </span> <a name="l00043"></a>00043 <a name="l00044"></a>00044 <span class="comment">// This is a list of known supported VTK SQL backend classes. </span> <a name="l00045"></a>00045 <span class="comment">// A particular SQL backend does not have to be listed here to be supported, but</span> <a name="l00046"></a>00046 <span class="comment">// these macros allow for the specification of SQL backend-specific database schema items.</span> <a name="l00047"></a><a class="code" href="a03195.html#2e7c703866a6f21ed711953a8fa736c3">00047</a> <span class="preprocessor">#define VTK_SQL_ALLBACKENDS "*" // works for all backends</span> <a name="l00048"></a><a class="code" href="a03195.html#a26a78a31b55ff7ecb285f3e61aa9449">00048</a> <span class="preprocessor"></span><span class="preprocessor">#define VTK_SQL_MYSQL "vtkMySQLDatabase"</span> <a name="l00049"></a><a class="code" href="a03195.html#f00595fc405bbcfa0bb9e4e32b7beecb">00049</a> <span class="preprocessor"></span><span class="preprocessor">#define VTK_SQL_POSTGRESQL "vtkPostgreSQLDatabase"</span> <a name="l00050"></a><a class="code" href="a03195.html#520c3f13b23432a40708efd73177cde3">00050</a> <span class="preprocessor"></span><span class="preprocessor">#define VTK_SQL_SQLITE "vtkSQLiteDatabase"</span> <a name="l00051"></a>00051 <span class="preprocessor"></span> <a name="l00052"></a>00052 <span class="keyword">class </span>vtkSQLDatabaseSchemaInternals; <a name="l00053"></a>00053 <a name="l00054"></a><a class="code" href="a01595.html">00054</a> <span class="keyword">class </span><a class="code" href="a02170.html#aab695c81fb47ab75c91e111e17cbe2c">VTK_IO_EXPORT</a> <a class="code" href="a01595.html" title="create a SQL database schema">vtkSQLDatabaseSchema</a> : <span class="keyword">public</span> <a class="code" href="a01084.html" title="abstract base class for most VTK objects">vtkObject</a> <a name="l00055"></a>00055 { <a name="l00056"></a>00056 <span class="keyword">public</span>: <a name="l00057"></a><a class="code" href="a01595.html#252b671542549ca8ae8df7ec6f0ef588">00057</a> vtkTypeRevisionMacro(<a class="code" href="a01595.html" title="create a SQL database schema">vtkSQLDatabaseSchema</a>, <a class="code" href="a01084.html" title="abstract base class for most VTK objects">vtkObject</a>); <a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="a01084.html#bf3dbb4154289b56a12483eee3866263">PrintSelf</a>(ostream& os, <a class="code" href="a00869.html" title="a simple class to control print indentation">vtkIndent</a> indent); <a name="l00059"></a>00059 <span class="keyword">static</span> <a class="code" href="a01595.html" title="create a SQL database schema">vtkSQLDatabaseSchema</a> *<a class="code" href="a01084.html#4d5b227267c076d6f9e38483370b6612">New</a>(); <a name="l00060"></a>00060 <a name="l00061"></a>00061 <span class="comment">//BTX</span> <a name="l00063"></a>00063 <span class="comment"></span> <a name="l00064"></a><a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a4">00064</a> <span class="keyword">enum</span> <a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a4">DatabaseColumnType</a> <a name="l00065"></a>00065 { <a name="l00066"></a><a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a41e6e3fff159856d240d8f6ca23f15908">00066</a> SERIAL = 0, <span class="comment">// specifying the indices explicitly to prevent bad compiler mishaps</span> <a name="l00067"></a><a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a425df9ef60e6338c1ba73d5dab7945f02">00067</a> SMALLINT = 1, <a name="l00068"></a><a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a4a12f2be77e31d136b6cbb6067307f990">00068</a> INTEGER = 2, <a name="l00069"></a><a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a42415955434b81e14fa3ba58b433d1d40">00069</a> BIGINT = 3, <a name="l00070"></a><a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a41fbcd08f887d7cda74eade0291088984">00070</a> VARCHAR = 4, <a name="l00071"></a><a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a4262d7be274f4d60dfc533e41a92bea2c">00071</a> TEXT = 5, <a name="l00072"></a><a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a4137c659c186000bb2154415b10bf3715">00072</a> REAL = 6, <a name="l00073"></a><a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a4d08297a7c72a67ee66889adc7d253509">00073</a> DOUBLE = 7, <a name="l00074"></a><a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a4b25b73a9ae7b76f47a2c992db90743f1">00074</a> BLOB = 8, <a name="l00075"></a><a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a4076e4998bd8c46e3a8d52268a4de9c67">00075</a> TIME = 9, <a name="l00076"></a><a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a49a786401af764632e54e495e5d839e26">00076</a> DATE = 10, <a name="l00077"></a><a class="code" href="a01595.html#3f2977f44ac8ff1d98a3a868735ed6a4a4bfd1b0a607ea79d2ed48ce5eb5bf65">00077</a> TIMESTAMP = 11 <a name="l00078"></a>00078 }; <a name="l00080"></a>00080 <a name="l00082"></a>00082 <a name="l00083"></a><a class="code" href="a01595.html#dc4546884c25550da09ab17f02246033">00083</a> <span class="keyword">enum</span> <a class="code" href="a01595.html#dc4546884c25550da09ab17f02246033">DatabaseIndexType</a> <a name="l00084"></a>00084 { <a name="l00085"></a><a class="code" href="a01595.html#dc4546884c25550da09ab17f0224603330cf0fecca1909158a4a83d2e28bafc1">00085</a> INDEX = 0, <span class="comment">// Non-unique index of values in named columns</span> <a name="l00086"></a><a class="code" href="a01595.html#dc4546884c25550da09ab17f022460338973ff0e38aab19fb1cae87f313ceda6">00086</a> UNIQUE = 1, <span class="comment">// Index of values in named columns required to have at most one entry per pair of valid values.</span> <a name="l00087"></a><a class="code" href="a01595.html#dc4546884c25550da09ab17f02246033923d89643977442392fa331249feb12e">00087</a> PRIMARY_KEY = 2 <span class="comment">// Like UNIQUE but additionally this serves as the primary key for the table to speed up insertions.</span> <a name="l00088"></a>00088 }; <a name="l00090"></a>00090 <a name="l00092"></a>00092 <a name="l00093"></a><a class="code" href="a01595.html#fe1e52a59359e010c4306dbd8ebd1344">00093</a> <span class="keyword">enum</span> <a class="code" href="a01595.html#fe1e52a59359e010c4306dbd8ebd1344">DatabaseTriggerType</a> <a name="l00094"></a>00094 { <a name="l00095"></a><a class="code" href="a01595.html#fe1e52a59359e010c4306dbd8ebd1344cd26e7f2a69debfa766947c87414a963">00095</a> BEFORE_INSERT = 0, <span class="comment">// Just before a row is inserted</span> <a name="l00096"></a><a class="code" href="a01595.html#fe1e52a59359e010c4306dbd8ebd1344893f70e4a6087d688e89feb01829292c">00096</a> AFTER_INSERT = 1, <span class="comment">// Just after a row is inserted</span> <a name="l00097"></a><a class="code" href="a01595.html#fe1e52a59359e010c4306dbd8ebd134424c155daede3fa2e6902860a3dcc5c57">00097</a> BEFORE_UPDATE = 2, <span class="comment">// Just before a row's values are changed</span> <a name="l00098"></a><a class="code" href="a01595.html#fe1e52a59359e010c4306dbd8ebd134435cb4c26062b01838919c0e04aded6b1">00098</a> AFTER_UPDATE = 3, <span class="comment">// Just after a row's values are changed</span> <a name="l00099"></a><a class="code" href="a01595.html#fe1e52a59359e010c4306dbd8ebd1344aa44fd9b05e7c7173126cccd39f609ae">00099</a> BEFORE_DELETE = 4, <span class="comment">// Just before a row is deleted</span> <a name="l00100"></a><a class="code" href="a01595.html#fe1e52a59359e010c4306dbd8ebd1344558f6aa090a7156d3e16a6d1e6f57ec6">00100</a> AFTER_DELETE = 5 <span class="comment">// Just after a row is deleted</span> <a name="l00101"></a>00101 }; <a name="l00102"></a>00102 <span class="comment">//ETX</span> <a name="l00104"></a>00104 <span class="comment"></span> <a name="l00117"></a>00117 <span class="keyword">virtual</span> <span class="keywordtype">int</span> AddPreamble( <span class="keyword">const</span> <span class="keywordtype">char</span>* preName, <a name="l00118"></a>00118 <span class="keyword">const</span> <span class="keywordtype">char</span>* preAction, <a name="l00119"></a>00119 <span class="keyword">const</span> <span class="keywordtype">char</span>* preBackend = <a class="code" href="a03195.html#2e7c703866a6f21ed711953a8fa736c3">VTK_SQL_ALLBACKENDS</a> ); <a name="l00120"></a>00120 <a name="l00122"></a>00122 <span class="keyword">virtual</span> <span class="keywordtype">int</span> AddTable( <span class="keyword">const</span> <span class="keywordtype">char</span>* tblName ); <a name="l00123"></a>00123 <a name="l00124"></a>00124 <span class="keyword">virtual</span> <span class="keywordtype">int</span> AddColumnToTable( <span class="keywordtype">int</span> tblHandle, <a name="l00125"></a>00125 <span class="keywordtype">int</span> colType, <a name="l00126"></a>00126 <span class="keyword">const</span> <span class="keywordtype">char</span>* colName, <a name="l00127"></a>00127 <span class="keywordtype">int</span> colSize, <a name="l00128"></a>00128 <span class="keyword">const</span> <span class="keywordtype">char</span>* colAttribs ); <a name="l00129"></a>00129 <a name="l00130"></a><a class="code" href="a01595.html#1042693d7ae50f615b2e3304b7a3183c">00130</a> <span class="keyword">virtual</span> <span class="keywordtype">int</span> AddColumnToTable( <span class="keyword">const</span> <span class="keywordtype">char</span>* tblName, <a name="l00131"></a>00131 <span class="keywordtype">int</span> colType, <a name="l00132"></a>00132 <span class="keyword">const</span> <span class="keywordtype">char</span>* colName, <a name="l00133"></a>00133 <span class="keywordtype">int</span> colSize, <a name="l00134"></a>00134 <span class="keyword">const</span> <span class="keywordtype">char</span>* colAttribs ) <a name="l00135"></a>00135 { <a name="l00136"></a>00136 <span class="keywordflow">return</span> this->AddColumnToTable( this->GetTableHandleFromName( tblName ), <a name="l00137"></a>00137 colType, <a name="l00138"></a>00138 colName, <a name="l00139"></a>00139 colSize, <a name="l00140"></a>00140 colAttribs ); <a name="l00141"></a>00141 } <a name="l00142"></a>00142 <a name="l00143"></a>00143 <span class="keyword">virtual</span> <span class="keywordtype">int</span> AddIndexToTable( <span class="keywordtype">int</span> tblHandle, <a name="l00144"></a>00144 <span class="keywordtype">int</span> idxType, <a name="l00145"></a>00145 <span class="keyword">const</span> <span class="keywordtype">char</span>* idxName ); <a name="l00146"></a>00146 <a name="l00147"></a><a class="code" href="a01595.html#2da716dee57be3dbef9c7d564e867535">00147</a> <span class="keyword">virtual</span> <span class="keywordtype">int</span> AddIndexToTable( <span class="keyword">const</span> <span class="keywordtype">char</span>* tblName, <a name="l00148"></a>00148 <span class="keywordtype">int</span> idxType, <a name="l00149"></a>00149 <span class="keyword">const</span> <span class="keywordtype">char</span>* idxName ) <a name="l00150"></a>00150 { <a name="l00151"></a>00151 <span class="keywordflow">return</span> this->AddIndexToTable( this->GetTableHandleFromName( tblName ), <a name="l00152"></a>00152 idxType, <a name="l00153"></a>00153 idxName ); <a name="l00154"></a>00154 } <a name="l00155"></a>00155 <a name="l00156"></a>00156 <span class="keyword">virtual</span> <span class="keywordtype">int</span> AddColumnToIndex( <span class="keywordtype">int</span> tblHandle, <a name="l00157"></a>00157 <span class="keywordtype">int</span> idxHandle, <a name="l00158"></a>00158 <span class="keywordtype">int</span> colHandle ); <a name="l00159"></a>00159 <a name="l00160"></a><a class="code" href="a01595.html#26362766dba0f823918ccdaf44aa3470">00160</a> <span class="keyword">virtual</span> <span class="keywordtype">int</span> AddColumnToIndex( <span class="keyword">const</span> <span class="keywordtype">char</span>* tblName, <a name="l00161"></a>00161 <span class="keyword">const</span> <span class="keywordtype">char</span>* idxName, <a name="l00162"></a>00162 <span class="keyword">const</span> <span class="keywordtype">char</span>* colName ) <a name="l00163"></a>00163 { <a name="l00164"></a>00164 <span class="keywordtype">int</span> tblHandle = this->GetTableHandleFromName( tblName ); <a name="l00165"></a>00165 <span class="keywordflow">return</span> this->AddColumnToIndex( tblHandle, <a name="l00166"></a>00166 this->GetIndexHandleFromName( tblName, idxName ), <a name="l00167"></a>00167 this->GetColumnHandleFromName( tblName, colName ) ); <a name="l00168"></a>00168 } <a name="l00169"></a>00169 <a name="l00170"></a>00170 <span class="keyword">virtual</span> <span class="keywordtype">int</span> AddTriggerToTable( <span class="keywordtype">int</span> tblHandle, <a name="l00171"></a>00171 <span class="keywordtype">int</span> trgType, <a name="l00172"></a>00172 <span class="keyword">const</span> <span class="keywordtype">char</span>* trgName, <a name="l00173"></a>00173 <span class="keyword">const</span> <span class="keywordtype">char</span>* trgAction, <a name="l00174"></a>00174 <span class="keyword">const</span> <span class="keywordtype">char</span>* trgBackend = <a class="code" href="a03195.html#2e7c703866a6f21ed711953a8fa736c3">VTK_SQL_ALLBACKENDS</a> ); <a name="l00175"></a>00175 <a name="l00176"></a><a class="code" href="a01595.html#c1dc9051c7aeb28a16b621de87f462f1">00176</a> <span class="keyword">virtual</span> <span class="keywordtype">int</span> AddTriggerToTable( <span class="keyword">const</span> <span class="keywordtype">char</span>* tblName, <a name="l00177"></a>00177 <span class="keywordtype">int</span> trgType, <a name="l00178"></a>00178 <span class="keyword">const</span> <span class="keywordtype">char</span>* trgName, <a name="l00179"></a>00179 <span class="keyword">const</span> <span class="keywordtype">char</span>* trgAction, <a name="l00180"></a>00180 <span class="keyword">const</span> <span class="keywordtype">char</span>* trgBackend = <a class="code" href="a03195.html#2e7c703866a6f21ed711953a8fa736c3">VTK_SQL_ALLBACKENDS</a> ) <a name="l00181"></a>00181 { <a name="l00182"></a>00182 <span class="keywordflow">return</span> this->AddTriggerToTable( this->GetTableHandleFromName( tblName ), <a name="l00183"></a>00183 trgType, <a name="l00184"></a>00184 trgName, <a name="l00185"></a>00185 trgAction, <a name="l00186"></a>00186 trgBackend ); <a name="l00187"></a>00187 } <a name="l00188"></a>00188 <a name="l00190"></a>00190 <span class="keywordtype">int</span> GetPreambleHandleFromName( <span class="keyword">const</span> <span class="keywordtype">char</span>* preName ); <a name="l00191"></a>00191 <a name="l00193"></a>00193 <span class="keyword">const</span> <span class="keywordtype">char</span>* GetPreambleNameFromHandle( <span class="keywordtype">int</span> preHandle ); <a name="l00194"></a>00194 <a name="l00196"></a>00196 <span class="keyword">const</span> <span class="keywordtype">char</span>* GetPreambleActionFromHandle( <span class="keywordtype">int</span> preHandle ); <a name="l00197"></a>00197 <a name="l00199"></a>00199 <span class="keyword">const</span> <span class="keywordtype">char</span>* GetPreambleBackendFromHandle( <span class="keywordtype">int</span> preHandle ); <a name="l00200"></a>00200 <a name="l00202"></a>00202 <span class="keywordtype">int</span> GetTableHandleFromName( <span class="keyword">const</span> <span class="keywordtype">char</span>* tblName ); <a name="l00203"></a>00203 <a name="l00205"></a>00205 <span class="keyword">const</span> <span class="keywordtype">char</span>* GetTableNameFromHandle( <span class="keywordtype">int</span> tblHandle ); <a name="l00206"></a>00206 <a name="l00208"></a>00208 <a name="l00210"></a>00210 <span class="keywordtype">int</span> GetIndexHandleFromName( <span class="keyword">const</span> <span class="keywordtype">char</span>* tblName, <a name="l00211"></a>00211 <span class="keyword">const</span> <span class="keywordtype">char</span>* idxName ); <a name="l00213"></a>00213 <a name="l00215"></a>00215 <a name="l00216"></a>00216 <span class="keyword">const</span> <span class="keywordtype">char</span>* GetIndexNameFromHandle( <span class="keywordtype">int</span> tblHandle, <a name="l00217"></a>00217 <span class="keywordtype">int</span> idxHandle ); <a name="l00219"></a>00219 <a name="l00221"></a>00221 <a name="l00222"></a>00222 <span class="keywordtype">int</span> GetIndexTypeFromHandle( <span class="keywordtype">int</span> tblHandle, <a name="l00223"></a>00223 <span class="keywordtype">int</span> idxHandle ); <a name="l00225"></a>00225 <a name="l00227"></a>00227 <a name="l00229"></a>00229 <span class="keyword">const</span> <span class="keywordtype">char</span>* GetIndexColumnNameFromHandle( <span class="keywordtype">int</span> tblHandle, <a name="l00230"></a>00230 <span class="keywordtype">int</span> idxHandle, <a name="l00231"></a>00231 <span class="keywordtype">int</span> cnmHandle ); <a name="l00233"></a>00233 <a name="l00235"></a>00235 <a name="l00237"></a>00237 <span class="keywordtype">int</span> GetColumnHandleFromName( <span class="keyword">const</span> <span class="keywordtype">char</span>* tblName, <a name="l00238"></a>00238 <span class="keyword">const</span> <span class="keywordtype">char</span>* colName ); <a name="l00240"></a>00240 <a name="l00242"></a>00242 <a name="l00244"></a>00244 <span class="keyword">const</span> <span class="keywordtype">char</span>* GetColumnNameFromHandle( <span class="keywordtype">int</span> tblHandle, <a name="l00245"></a>00245 <span class="keywordtype">int</span> colHandle ); <a name="l00247"></a>00247 <a name="l00249"></a>00249 <a name="l00251"></a>00251 <span class="keywordtype">int</span> GetColumnTypeFromHandle( <span class="keywordtype">int</span> tblHandle, <a name="l00252"></a>00252 <span class="keywordtype">int</span> colHandle ); <a name="l00254"></a>00254 <a name="l00256"></a>00256 <a name="l00258"></a>00258 <span class="keywordtype">int</span> GetColumnSizeFromHandle( <span class="keywordtype">int</span> tblHandle, <a name="l00259"></a>00259 <span class="keywordtype">int</span> colHandle ); <a name="l00261"></a>00261 <a name="l00263"></a>00263 <a name="l00265"></a>00265 <span class="keyword">const</span> <span class="keywordtype">char</span>* GetColumnAttributesFromHandle( <span class="keywordtype">int</span> tblHandle, <a name="l00266"></a>00266 <span class="keywordtype">int</span> colHandle ); <a name="l00268"></a>00268 <a name="l00270"></a>00270 <a name="l00272"></a>00272 <span class="keywordtype">int</span> GetTriggerHandleFromName( <span class="keyword">const</span> <span class="keywordtype">char</span>* tblName, <a name="l00273"></a>00273 <span class="keyword">const</span> <span class="keywordtype">char</span>* trgName ); <a name="l00275"></a>00275 <a name="l00277"></a>00277 <a name="l00279"></a>00279 <span class="keyword">const</span> <span class="keywordtype">char</span>* GetTriggerNameFromHandle( <span class="keywordtype">int</span> tblHandle, <a name="l00280"></a>00280 <span class="keywordtype">int</span> trgHandle ); <a name="l00282"></a>00282 <a name="l00284"></a>00284 <a name="l00286"></a>00286 <span class="keywordtype">int</span> GetTriggerTypeFromHandle( <span class="keywordtype">int</span> tblHandle, <a name="l00287"></a>00287 <span class="keywordtype">int</span> trgHandle ); <a name="l00289"></a>00289 <a name="l00291"></a>00291 <a name="l00293"></a>00293 <span class="keyword">const</span> <span class="keywordtype">char</span>* GetTriggerActionFromHandle( <span class="keywordtype">int</span> tblHandle, <a name="l00294"></a>00294 <span class="keywordtype">int</span> trgHandle ); <a name="l00296"></a>00296 <a name="l00298"></a>00298 <a name="l00300"></a>00300 <span class="keyword">const</span> <span class="keywordtype">char</span>* GetTriggerBackendFromHandle( <span class="keywordtype">int</span> tblHandle, <a name="l00301"></a>00301 <span class="keywordtype">int</span> trgHandle ); <a name="l00303"></a>00303 <a name="l00305"></a>00305 <span class="keywordtype">void</span> Reset(); <a name="l00306"></a>00306 <a name="l00308"></a>00308 <span class="keywordtype">int</span> GetNumberOfPreambles(); <a name="l00309"></a>00309 <a name="l00311"></a>00311 <span class="keywordtype">int</span> GetNumberOfTables(); <a name="l00312"></a>00312 <a name="l00314"></a>00314 <span class="keywordtype">int</span> GetNumberOfColumnsInTable( <span class="keywordtype">int</span> tblHandle ); <a name="l00315"></a>00315 <a name="l00317"></a>00317 <span class="keywordtype">int</span> GetNumberOfIndicesInTable( <span class="keywordtype">int</span> tblHandle ); <a name="l00318"></a>00318 <a name="l00320"></a>00320 <a name="l00322"></a>00322 <span class="keywordtype">int</span> GetNumberOfColumnNamesInIndex( <span class="keywordtype">int</span> tblHandle, <a name="l00323"></a>00323 <span class="keywordtype">int</span> idxHandle ); <a name="l00325"></a>00325 <a name="l00327"></a>00327 <span class="keywordtype">int</span> GetNumberOfTriggersInTable( <span class="keywordtype">int</span> tblHandle ); <a name="l00328"></a>00328 <a name="l00330"></a>00330 <a name="l00331"></a>00331 vtkSetStringMacro(Name); <a name="l00332"></a>00332 vtkGetStringMacro(Name); <a name="l00334"></a>00334 <a name="l00335"></a>00335 <span class="comment">//BTX</span> <a name="l00336"></a>00336 <span class="comment">// Tokens passed to AddTable to indicate the type of data that follows. Random integers chosen to prevent mishaps.</span> <a name="l00337"></a><a class="code" href="a01595.html#d79bbabb492b86c252c57f11f255288c">00337</a> <span class="keyword">enum</span> <a class="code" href="a01595.html#d79bbabb492b86c252c57f11f255288c">VarargTokens</a> <a name="l00338"></a>00338 { <a name="l00339"></a><a class="code" href="a01595.html#d79bbabb492b86c252c57f11f255288c8154741dfdf72645d685899dad8499e9">00339</a> COLUMN_TOKEN = 58, <a name="l00340"></a><a class="code" href="a01595.html#d79bbabb492b86c252c57f11f255288cea11c9743712e469a7c05a36118ca0a3">00340</a> INDEX_TOKEN = 63, <a name="l00341"></a><a class="code" href="a01595.html#d79bbabb492b86c252c57f11f255288c25be362836c38181ba8ae011c5233b62">00341</a> INDEX_COLUMN_TOKEN = 65, <a name="l00342"></a><a class="code" href="a01595.html#d79bbabb492b86c252c57f11f255288c0169ea381fbeb08f96432a9c47083c97">00342</a> END_INDEX_TOKEN = 75, <a name="l00343"></a><a class="code" href="a01595.html#d79bbabb492b86c252c57f11f255288c947a3fcdadaaf6ad6492b9ce1697cd9d">00343</a> TRIGGER_TOKEN = 81, <a name="l00344"></a><a class="code" href="a01595.html#d79bbabb492b86c252c57f11f255288c7f7c9dbb5d0e2e501ab740b7ee150d92">00344</a> END_TABLE_TOKEN = 99 <a name="l00345"></a>00345 }; <a name="l00346"></a>00346 <a name="l00348"></a>00348 <a name="l00373"></a>00373 <span class="keywordtype">int</span> AddTableMultipleArguments( <span class="keyword">const</span> <span class="keywordtype">char</span>* tblName, ... ); <a name="l00374"></a>00374 <span class="comment">//ETX</span> <a name="l00376"></a>00376 <span class="comment"></span> <a name="l00377"></a>00377 <span class="keyword">protected</span>: <a name="l00378"></a>00378 <a class="code" href="a01595.html" title="create a SQL database schema">vtkSQLDatabaseSchema</a>(); <a name="l00379"></a>00379 ~<a class="code" href="a01595.html" title="create a SQL database schema">vtkSQLDatabaseSchema</a>(); <a name="l00380"></a>00380 <a name="l00381"></a><a class="code" href="a01595.html#4643ba40182bf6664ff2bd4df070e0ba">00381</a> <span class="keywordtype">char</span>* Name; <a name="l00382"></a>00382 <span class="comment">//BTX</span> <a name="l00383"></a><a class="code" href="a01595.html#210f757d3eec8064ad53d347852da9a7">00383</a> <span class="keyword">class </span>vtkSQLDatabaseSchemaInternals* Internals; <a name="l00384"></a>00384 <span class="comment">//ETX</span> <a name="l00385"></a>00385 <a name="l00386"></a>00386 <span class="keyword">private</span>: <a name="l00387"></a>00387 <a class="code" href="a01595.html" title="create a SQL database schema">vtkSQLDatabaseSchema</a>(<span class="keyword">const</span> <a class="code" href="a01595.html" title="create a SQL database schema">vtkSQLDatabaseSchema</a> &); <span class="comment">// Not implemented.</span> <a name="l00388"></a>00388 <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> <a class="code" href="a01595.html" title="create a SQL database schema">vtkSQLDatabaseSchema</a> &); <span class="comment">// Not implemented.</span> <a name="l00389"></a>00389 }; <a name="l00390"></a>00390 <a name="l00391"></a>00391 <span class="preprocessor">#endif // __vtkSQLDatabaseSchema_h</span> </pre></div></div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 18:35:41 2009 for VTK by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>