Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TSQLDatabaseMetaData.cxx
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TSQLDatabaseMetaData.cxx
1 // $Id: TSQLDatabaseMetaData.cxx,v 1.1.1.1 2004/02/18 20:58:02 dave Exp $
2 //*-- Author : Valeriy Onuchin 14/02/2000
3 //
4 
6 //
7 // Comprehensive information about the database as a whole.
8 //
9 // Many of the methods here return lists of information in the form
10 // of TSQLResultSet objects. You can use the normal TSQLResultSet
11 // methods such as TSQLResultSet::GetString() and
12 // TSQLResultSet::GetInt() to retrieve the data from
13 // these TSQLResultSet s. If a given form of metadata is not available,
14 // these methods should throw an TSQLException.
15 //
16 // Some of these methods take arguments that are string patterns.
17 // These arguments all have names such as fooPattern. Within a
18 // pattern string, "%" means match any substring of 0 or more
19 // characters, and "_" means match any one character. Only metadata
20 // entries matching the search pattern are returned. If a search
21 // pattern argument is set to a null ref, that argument's criteria
22 // will be dropped from the search.
23 //
24 //
26 //
27 // Constants:
28 //
29 //___________________________________________________________________
30 // kProcedureResultUnknown
31 //
32 // A possible value for column PROCEDURE_TYPE in the
33 // TSQLResultSet object returned by the method GetProcedures().
34 //
35 // Indicates that it is not known whether the procedure
36 // returns a result.
37 //
38 //___________________________________________________________________
39 // kProcedureNoResult
40 //
41 // A possible value for column PROCEDURE_TYPE in the
42 // TSQLResultSet object returned by the method GetProcedures().
43 //
44 // Indicates that the procedure does not return a result.
45 //
46 //___________________________________________________________________
47 // kProcedureReturnsResult
48 //
49 // A possible value for column PROCEDURE_TYPE in the
50 // TSQLResultSet object returned by the method GetProcedures().
51 //
52 // Indicates that the procedure returns a result.
53 //
54 //___________________________________________________________________
55 // kProcedureColumnUnknown
56 //
57 // Indicates that type of the column is unknown. A possible value
58 // for the column COLUMN_TYPE in the TSQLResultSet returned by
59 // the method GetProcedureColumns().
60 //
61 //___________________________________________________________________
62 // kProcedureColumnIn
63 //
64 // Indicates that the column stores IN parameters. A possible
65 // value for the column COLUMN_TYPE in the TSLQResultSet returned
66 // by the method GetProcedureColumns().
67 //
68 //___________________________________________________________________
69 // kProcedureColumnInOut
70 //
71 // Indicates that the column stores INOUT parameters. A possible
72 // value for the column COLUMN_TYPE in the TSQLResultSet returned
73 // by the method GetProcedureColumns().
74 //
75 //___________________________________________________________________
76 // kProcedureColumnOut
77 //
78 // Indicates that the column stores OUT parameters. A possible
79 // value for the column kCOLUMN_TYPE in the TSQLResultSet
80 // returned by the method GetProcedureColumns().
81 //
82 //___________________________________________________________________
83 // kProcedureColumnReturn
84 //
85 // Indicates that the column stores return values. A possible
86 // value for the column COLUMN_TYPE in the TSQLResultSet returned
87 // by the method GetProcedureColumns().
88 //
89 //___________________________________________________________________
90 // kProcedureColumnResult
91 //
92 // Indicates that the column stores results. A possible value
93 // for the column kCOLUMN_TYPE in the TSQLResultSet returned
94 // by the method GetProcedureColumns().
95 //
96 //___________________________________________________________________
97 // kProcedureNoNulls
98 //
99 // Indicates that NULL values are not allowed. A possible value
100 // for the column NULLABLE in the TSQLResultSet returned by the
101 // method GetProcedureColumns().
102 //
103 //___________________________________________________________________
104 // kProcedureNullable
105 //
106 // Indicates that NULL values are allowed. A possible value for
107 // the column NULLABLE in the TSQLResultSet returned by
108 // the method GetProcedureColumns().
109 //
110 //___________________________________________________________________
111 // kProcedureNullableUnknown
112 //
113 // Indicates that whether NULL values are allowed is unknown.
114 // A possible value for the column NULLABLE in the TSQLResultSet
115 // returned by the method GetProcedureColumns().
116 //
117 //___________________________________________________________________
118 // kColumnNoNulls
119 //
120 // Indicates that the column might not allow NULL values.
121 // A possible value for the column NULLABLE in the TSQLResultSet
122 // returned by the method GetColumns().
123 //
124 //___________________________________________________________________
125 // kColumnNullable
126 //
127 // Indicates that the column definitely allows NULL values.
128 // A possible value for the column NULLABLE in the TSQLResultSet
129 // returned by the method GetColumns().
130 //
131 //___________________________________________________________________
132 // kColumnNullableUnknown
133 //
134 // Indicates that the nullability of columns is unknown.
135 // A possible value for the column NULLABLE in the TSQLResultSet
136 // returned by the method GetColumns().
137 //
138 //___________________________________________________________________
139 // kBestRowTemporary
140 //
141 // Indicates that the scope of the best row identifier is very
142 // temporary, lasting only while the row is being used.
143 // A possible value for the column SCOPE in the TSQLResultSet
144 // object returned by the method GetBestRowIdentifier().
145 //
146 //___________________________________________________________________
147 // kBestRowTransaction
148 //
149 // Indicates that the scope of the best row identifier is the
150 // remainder of the current transaction. A possible value for
151 // the column SCOPE in the TSQLResultSet object returned by
152 // the method GetBestRowIdentifier().
153 //
154 //___________________________________________________________________
155 // kBestRowSession
156 //
157 // Indicates that the scope of the best row identifier is the
158 // remainder of the current session. A possible value for the
159 // column SCOPE in the TSQLResultSet object returned by
160 // the method GetBestRowIdentifier().
161 //
162 //___________________________________________________________________
163 // kBestRowUnknown
164 //
165 // Indicates that the best row identifier may or may not be
166 // a pseudo column. A possible value for the column
167 // PSEUDO_COLUMN in the TSQLResultSet object returned by
168 // the method GetBestRowIdentifier().
169 //
170 //___________________________________________________________________
171 // kBestRowNotPseudo
172 //
173 // Indicates that the best row identifier is NOT a pseudo
174 // column. A possible value for the column PSEUDO_COLUMN in
175 // the TSQLResultSet object returned by the method
176 // GetBestRowIdentifier().
177 //
178 //___________________________________________________________________
179 // kBestRowPseudo
180 //
181 // Indicates that the best row identifier is a pseudo column.
182 // A possible value for the column PSEUDO_COLUMN in the
183 // TSQLResultSet object returned by the method
184 // GetBestRowIdentifier().
185 //
186 //___________________________________________________________________
187 // kVersionColumnUnknown
188 //
189 // Indicates that this version column may or may not be a pseudo
190 // column. A possible value for the column PSEUDO_COLUMN in
191 // the TSQLResultSet object returned by the method
192 // GetVersionColumns().
193 //
194 //___________________________________________________________________
195 // kVersionColumnNotPseudo
196 //
197 // Indicates that this version column is NOT a pseudo column.
198 // A possible value for the column PSEUDO_COLUMN in the
199 // TSQLResultSet object returned by the method GetVersionColumns().
200 //
201 //___________________________________________________________________
202 // kVersionColumnPseudo
203 //
204 // Indicates that this version column is a pseudo column.
205 // A possible value for the column PSEUDO_COLUMN in the
206 // TSQLResultSet object returned by the method GetVersionColumns().
207 //
208 //___________________________________________________________________
209 // kImportedKeyCascade
210 //
211 // A possible value for the columns UPDATE_RULE and
212 // DELETE_RULE in the TSQLResultSet objects returned by the
213 // methods GetImportedKeys(), GetExportedKeys(),
214 // and GetCrossReference().
215 //
216 // For the column UPDATE_RULE, it indicates that when the
217 // primary key is updated, the foreign key (imported key)
218 // is changed to agree with it.
219 //
220 // For the column DELETE_RULE, it indicates that when the
221 // primary key is deleted, rows that imported that key
222 // are deleted.
223 //
224 //___________________________________________________________________
225 // kImportedKeyRestrict
226 //
227 // A possible value for the columns UPDATE_RULE and DELETE_RULE
228 // in the TSQLResultSet objects returned by the methods
229 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference().
230 //
231 // For the column UPDATE_RULE, it indicates that a primary
232 // key may not be updated if it has been imported by another
233 // table as a foreign key.
234 //
235 // For the column DELETE_RULE, it indicates that a primary
236 // key may not be deleted if it has been imported by another
237 // table as a foreign key.
238 //
239 //___________________________________________________________________
240 // kImportedKeySetNull
241 //
242 // A possible value for the columns UPDATE_RULE and DELETE_RULE
243 // in the TSQLResultSet objects returned by the methods
244 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference().
245 //
246 // For the columns UPDATE_RULE and DELETE_RULE, it indicates
247 // that when the primary key is updated or deleted, the
248 // foreign key (imported key) is changed to NULL.
249 //
250 //___________________________________________________________________
251 // kImportedKeyNoAction
252 //
253 // A possible value for the columns UPDATE_RULE and DELETE_RULE
254 // in the TSQLResultSet objects returned by the methods
255 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference().
256 //
257 // For the columns UPDATE_RULE and DELETE_RULE, it indicates
258 // that if the primary key has been imported, it cannot be
259 // updated or deleted.
260 //
261 //___________________________________________________________________
262 // kImportedKeySetDefault
263 //
264 // A possible value for the columns UPDATE_RULE and DELETE_RULE
265 // in the TSQLResultSet objects returned by the methods
266 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference().
267 //
268 // For the columns UPDATE_RULE and DELETE_RULE, it indicates
269 // that if the primary key is updated or deleted,
270 // the foreign key (imported key) is set to the default value.
271 //
272 //___________________________________________________________________
273 // kImportedKeyInitiallyDeferred
274 //
275 // A possible value for the column DEFERRABILITY in
276 // the TSQLResultSet objects returned by the methods
277 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference().
278 //
279 // Indicates deferrability. See SQL-92 for a definition.
280 //
281 //___________________________________________________________________
282 // kImportedKeyInitiallyImmediate
283 //
284 // A possible value for the column DEFERRABILITY in
285 // the TSQLResultSet objects returned by the methods
286 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference().
287 //
288 // Indicates deferrability. See SQL-92 for a definition.
289 //
290 //___________________________________________________________________
291 // kImportedKeyNotDeferrable
292 //
293 // A possible value for the column DEFERRABILITY in
294 // the TSQLResultSet objects returned by the methods
295 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference().
296 //
297 // Indicates deferrability. See SQL-92 for a definition.
298 //
299 //___________________________________________________________________
300 // kTypeNoNulls
301 //
302 // A possible value for column NULLABLE in the TSQLResultSet
303 // object returned by the method GetTypeInfo().
304 //
305 // Indicates that a NULL value is NOT allowed for
306 // this data type.
307 //
308 //___________________________________________________________________
309 // kTypeNullable
310 //
311 // A possible value for column NULLABLE in the TSQLResultSet
312 // object returned by the method GetTypeInfo().
313 //
314 // Indicates that a NULL value is allowed for this data type.
315 //
316 //___________________________________________________________________
317 // kTypeNullableUnknown
318 //
319 // A possible value for column NULLABLE in the TSQLResultSet
320 // object returned by the method GetTypeInfo().
321 //
322 // Indicates that it is not known whether a NULL value
323 // is allowed for this data type.
324 //
325 //___________________________________________________________________
326 // kTypePredNone
327 //
328 // A possible value for column SEARCHABLE in the TSQLResultSet
329 // object returned by the method GetTypeInfo().
330 //
331 // Indicates that WHERE search clauses are not supported
332 // for this type.
333 //
334 //___________________________________________________________________
335 // kTypePredChar
336 //
337 // A possible value for column SEARCHABLE in the TSQLResultSet
338 // object returned by the method GetTypeInfo().
339 //
340 // Indicates that the only WHERE search clause that can be
341 // based on this type is WHERE . . .LIKE.
342 //
343 //___________________________________________________________________
344 // kTypePredBasic
345 //
346 // A possible value for column SEARCHABLE in the TSQLResultSet
347 // object returned by the method GetTypeInfo().
348 //
349 // Indicates that one can base all WHERE search clauses
350 // except WHERE . . .LIKE on this data type.
351 //
352 //___________________________________________________________________
353 // kTypeSearchable
354 //
355 // A possible value for column SEARCHABLE in the TSQLResultSet
356 // object returned by the method GetTypeInfo().
357 //
358 // Indicates that all WHERE search clauses can be based
359 // on this type.
360 //
361 //___________________________________________________________________
362 // kTableIndexStatistic
363 //
364 // A possible value for column TYPE in the TSQLResultSet
365 // object returned by the method GetIndexInfo().
366 //
367 // Indicates that this column contains table statistics
368 // that are returned in conjunction with a table's index
369 // descriptions.
370 //
371 //___________________________________________________________________
372 // kTableIndexClustered
373 //
374 // A possible value for column TYPE in the TSQLResultSet object
375 // returned by the method GetIndexInfo().
376 //
377 // Indicates that this table index is a clustered index.
378 //
379 //___________________________________________________________________
380 // kTableIndexHashed
381 //
382 // A possible value for column TYPE in the TSQLResultSet object
383 // returned by the method GetIndexInfo().
384 //
385 // Indicates that this table index is a hashed index.
386 //
387 //___________________________________________________________________
388 // kTableIndexOther
389 //
390 // A possible value for column TYPE in the TSQLResultSet object
391 // returned by the method GetIndexInfo().
392 //
393 // Indicates that this table index is not a clustered index,
394 // a hashed index, or table statistics; it is something
395 // other than these.
396 //
397 // See also:
398 // TSQLTypes TSQLConnection
399 //
401 
403 #include <RDBC/TSQLResultSet.h>
404 
406 
407 
408 //___________________________________________________________________
410  void* imp):TSQL(imp)
411 {
412  // constructor
413 
414  fConnection = connection;
415 }
416 
417 //___________________________________________________________________
419 {
420  // destructor will be called when fConnection is deleted
421 
422  fConnection = 0;
423  fImp = 0;
424 }