![]() |
|
|||
File indexing completed on 2025-08-03 08:22:06
0001 // $Id: TSQLDatabaseMetaData.cxx,v 1.1.1.1 2004/02/18 20:58:02 dave Exp $ 0002 //*-- Author : Valeriy Onuchin 14/02/2000 0003 // 0004 0005 ///////////////////////////////////////////////////////////////////// 0006 // 0007 // Comprehensive information about the database as a whole. 0008 // 0009 // Many of the methods here return lists of information in the form 0010 // of TSQLResultSet objects. You can use the normal TSQLResultSet 0011 // methods such as TSQLResultSet::GetString() and 0012 // TSQLResultSet::GetInt() to retrieve the data from 0013 // these TSQLResultSet s. If a given form of metadata is not available, 0014 // these methods should throw an TSQLException. 0015 // 0016 // Some of these methods take arguments that are string patterns. 0017 // These arguments all have names such as fooPattern. Within a 0018 // pattern string, "%" means match any substring of 0 or more 0019 // characters, and "_" means match any one character. Only metadata 0020 // entries matching the search pattern are returned. If a search 0021 // pattern argument is set to a null ref, that argument's criteria 0022 // will be dropped from the search. 0023 // 0024 // 0025 ///////////////////////////////////////////////////////////////////// 0026 // 0027 // Constants: 0028 // 0029 //___________________________________________________________________ 0030 // kProcedureResultUnknown 0031 // 0032 // A possible value for column PROCEDURE_TYPE in the 0033 // TSQLResultSet object returned by the method GetProcedures(). 0034 // 0035 // Indicates that it is not known whether the procedure 0036 // returns a result. 0037 // 0038 //___________________________________________________________________ 0039 // kProcedureNoResult 0040 // 0041 // A possible value for column PROCEDURE_TYPE in the 0042 // TSQLResultSet object returned by the method GetProcedures(). 0043 // 0044 // Indicates that the procedure does not return a result. 0045 // 0046 //___________________________________________________________________ 0047 // kProcedureReturnsResult 0048 // 0049 // A possible value for column PROCEDURE_TYPE in the 0050 // TSQLResultSet object returned by the method GetProcedures(). 0051 // 0052 // Indicates that the procedure returns a result. 0053 // 0054 //___________________________________________________________________ 0055 // kProcedureColumnUnknown 0056 // 0057 // Indicates that type of the column is unknown. A possible value 0058 // for the column COLUMN_TYPE in the TSQLResultSet returned by 0059 // the method GetProcedureColumns(). 0060 // 0061 //___________________________________________________________________ 0062 // kProcedureColumnIn 0063 // 0064 // Indicates that the column stores IN parameters. A possible 0065 // value for the column COLUMN_TYPE in the TSLQResultSet returned 0066 // by the method GetProcedureColumns(). 0067 // 0068 //___________________________________________________________________ 0069 // kProcedureColumnInOut 0070 // 0071 // Indicates that the column stores INOUT parameters. A possible 0072 // value for the column COLUMN_TYPE in the TSQLResultSet returned 0073 // by the method GetProcedureColumns(). 0074 // 0075 //___________________________________________________________________ 0076 // kProcedureColumnOut 0077 // 0078 // Indicates that the column stores OUT parameters. A possible 0079 // value for the column kCOLUMN_TYPE in the TSQLResultSet 0080 // returned by the method GetProcedureColumns(). 0081 // 0082 //___________________________________________________________________ 0083 // kProcedureColumnReturn 0084 // 0085 // Indicates that the column stores return values. A possible 0086 // value for the column COLUMN_TYPE in the TSQLResultSet returned 0087 // by the method GetProcedureColumns(). 0088 // 0089 //___________________________________________________________________ 0090 // kProcedureColumnResult 0091 // 0092 // Indicates that the column stores results. A possible value 0093 // for the column kCOLUMN_TYPE in the TSQLResultSet returned 0094 // by the method GetProcedureColumns(). 0095 // 0096 //___________________________________________________________________ 0097 // kProcedureNoNulls 0098 // 0099 // Indicates that NULL values are not allowed. A possible value 0100 // for the column NULLABLE in the TSQLResultSet returned by the 0101 // method GetProcedureColumns(). 0102 // 0103 //___________________________________________________________________ 0104 // kProcedureNullable 0105 // 0106 // Indicates that NULL values are allowed. A possible value for 0107 // the column NULLABLE in the TSQLResultSet returned by 0108 // the method GetProcedureColumns(). 0109 // 0110 //___________________________________________________________________ 0111 // kProcedureNullableUnknown 0112 // 0113 // Indicates that whether NULL values are allowed is unknown. 0114 // A possible value for the column NULLABLE in the TSQLResultSet 0115 // returned by the method GetProcedureColumns(). 0116 // 0117 //___________________________________________________________________ 0118 // kColumnNoNulls 0119 // 0120 // Indicates that the column might not allow NULL values. 0121 // A possible value for the column NULLABLE in the TSQLResultSet 0122 // returned by the method GetColumns(). 0123 // 0124 //___________________________________________________________________ 0125 // kColumnNullable 0126 // 0127 // Indicates that the column definitely allows NULL values. 0128 // A possible value for the column NULLABLE in the TSQLResultSet 0129 // returned by the method GetColumns(). 0130 // 0131 //___________________________________________________________________ 0132 // kColumnNullableUnknown 0133 // 0134 // Indicates that the nullability of columns is unknown. 0135 // A possible value for the column NULLABLE in the TSQLResultSet 0136 // returned by the method GetColumns(). 0137 // 0138 //___________________________________________________________________ 0139 // kBestRowTemporary 0140 // 0141 // Indicates that the scope of the best row identifier is very 0142 // temporary, lasting only while the row is being used. 0143 // A possible value for the column SCOPE in the TSQLResultSet 0144 // object returned by the method GetBestRowIdentifier(). 0145 // 0146 //___________________________________________________________________ 0147 // kBestRowTransaction 0148 // 0149 // Indicates that the scope of the best row identifier is the 0150 // remainder of the current transaction. A possible value for 0151 // the column SCOPE in the TSQLResultSet object returned by 0152 // the method GetBestRowIdentifier(). 0153 // 0154 //___________________________________________________________________ 0155 // kBestRowSession 0156 // 0157 // Indicates that the scope of the best row identifier is the 0158 // remainder of the current session. A possible value for the 0159 // column SCOPE in the TSQLResultSet object returned by 0160 // the method GetBestRowIdentifier(). 0161 // 0162 //___________________________________________________________________ 0163 // kBestRowUnknown 0164 // 0165 // Indicates that the best row identifier may or may not be 0166 // a pseudo column. A possible value for the column 0167 // PSEUDO_COLUMN in the TSQLResultSet object returned by 0168 // the method GetBestRowIdentifier(). 0169 // 0170 //___________________________________________________________________ 0171 // kBestRowNotPseudo 0172 // 0173 // Indicates that the best row identifier is NOT a pseudo 0174 // column. A possible value for the column PSEUDO_COLUMN in 0175 // the TSQLResultSet object returned by the method 0176 // GetBestRowIdentifier(). 0177 // 0178 //___________________________________________________________________ 0179 // kBestRowPseudo 0180 // 0181 // Indicates that the best row identifier is a pseudo column. 0182 // A possible value for the column PSEUDO_COLUMN in the 0183 // TSQLResultSet object returned by the method 0184 // GetBestRowIdentifier(). 0185 // 0186 //___________________________________________________________________ 0187 // kVersionColumnUnknown 0188 // 0189 // Indicates that this version column may or may not be a pseudo 0190 // column. A possible value for the column PSEUDO_COLUMN in 0191 // the TSQLResultSet object returned by the method 0192 // GetVersionColumns(). 0193 // 0194 //___________________________________________________________________ 0195 // kVersionColumnNotPseudo 0196 // 0197 // Indicates that this version column is NOT a pseudo column. 0198 // A possible value for the column PSEUDO_COLUMN in the 0199 // TSQLResultSet object returned by the method GetVersionColumns(). 0200 // 0201 //___________________________________________________________________ 0202 // kVersionColumnPseudo 0203 // 0204 // Indicates that this version column is a pseudo column. 0205 // A possible value for the column PSEUDO_COLUMN in the 0206 // TSQLResultSet object returned by the method GetVersionColumns(). 0207 // 0208 //___________________________________________________________________ 0209 // kImportedKeyCascade 0210 // 0211 // A possible value for the columns UPDATE_RULE and 0212 // DELETE_RULE in the TSQLResultSet objects returned by the 0213 // methods GetImportedKeys(), GetExportedKeys(), 0214 // and GetCrossReference(). 0215 // 0216 // For the column UPDATE_RULE, it indicates that when the 0217 // primary key is updated, the foreign key (imported key) 0218 // is changed to agree with it. 0219 // 0220 // For the column DELETE_RULE, it indicates that when the 0221 // primary key is deleted, rows that imported that key 0222 // are deleted. 0223 // 0224 //___________________________________________________________________ 0225 // kImportedKeyRestrict 0226 // 0227 // A possible value for the columns UPDATE_RULE and DELETE_RULE 0228 // in the TSQLResultSet objects returned by the methods 0229 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference(). 0230 // 0231 // For the column UPDATE_RULE, it indicates that a primary 0232 // key may not be updated if it has been imported by another 0233 // table as a foreign key. 0234 // 0235 // For the column DELETE_RULE, it indicates that a primary 0236 // key may not be deleted if it has been imported by another 0237 // table as a foreign key. 0238 // 0239 //___________________________________________________________________ 0240 // kImportedKeySetNull 0241 // 0242 // A possible value for the columns UPDATE_RULE and DELETE_RULE 0243 // in the TSQLResultSet objects returned by the methods 0244 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference(). 0245 // 0246 // For the columns UPDATE_RULE and DELETE_RULE, it indicates 0247 // that when the primary key is updated or deleted, the 0248 // foreign key (imported key) is changed to NULL. 0249 // 0250 //___________________________________________________________________ 0251 // kImportedKeyNoAction 0252 // 0253 // A possible value for the columns UPDATE_RULE and DELETE_RULE 0254 // in the TSQLResultSet objects returned by the methods 0255 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference(). 0256 // 0257 // For the columns UPDATE_RULE and DELETE_RULE, it indicates 0258 // that if the primary key has been imported, it cannot be 0259 // updated or deleted. 0260 // 0261 //___________________________________________________________________ 0262 // kImportedKeySetDefault 0263 // 0264 // A possible value for the columns UPDATE_RULE and DELETE_RULE 0265 // in the TSQLResultSet objects returned by the methods 0266 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference(). 0267 // 0268 // For the columns UPDATE_RULE and DELETE_RULE, it indicates 0269 // that if the primary key is updated or deleted, 0270 // the foreign key (imported key) is set to the default value. 0271 // 0272 //___________________________________________________________________ 0273 // kImportedKeyInitiallyDeferred 0274 // 0275 // A possible value for the column DEFERRABILITY in 0276 // the TSQLResultSet objects returned by the methods 0277 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference(). 0278 // 0279 // Indicates deferrability. See SQL-92 for a definition. 0280 // 0281 //___________________________________________________________________ 0282 // kImportedKeyInitiallyImmediate 0283 // 0284 // A possible value for the column DEFERRABILITY in 0285 // the TSQLResultSet objects returned by the methods 0286 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference(). 0287 // 0288 // Indicates deferrability. See SQL-92 for a definition. 0289 // 0290 //___________________________________________________________________ 0291 // kImportedKeyNotDeferrable 0292 // 0293 // A possible value for the column DEFERRABILITY in 0294 // the TSQLResultSet objects returned by the methods 0295 // GetImportedKeys(), GetExportedKeys(), and GetCrossReference(). 0296 // 0297 // Indicates deferrability. See SQL-92 for a definition. 0298 // 0299 //___________________________________________________________________ 0300 // kTypeNoNulls 0301 // 0302 // A possible value for column NULLABLE in the TSQLResultSet 0303 // object returned by the method GetTypeInfo(). 0304 // 0305 // Indicates that a NULL value is NOT allowed for 0306 // this data type. 0307 // 0308 //___________________________________________________________________ 0309 // kTypeNullable 0310 // 0311 // A possible value for column NULLABLE in the TSQLResultSet 0312 // object returned by the method GetTypeInfo(). 0313 // 0314 // Indicates that a NULL value is allowed for this data type. 0315 // 0316 //___________________________________________________________________ 0317 // kTypeNullableUnknown 0318 // 0319 // A possible value for column NULLABLE in the TSQLResultSet 0320 // object returned by the method GetTypeInfo(). 0321 // 0322 // Indicates that it is not known whether a NULL value 0323 // is allowed for this data type. 0324 // 0325 //___________________________________________________________________ 0326 // kTypePredNone 0327 // 0328 // A possible value for column SEARCHABLE in the TSQLResultSet 0329 // object returned by the method GetTypeInfo(). 0330 // 0331 // Indicates that WHERE search clauses are not supported 0332 // for this type. 0333 // 0334 //___________________________________________________________________ 0335 // kTypePredChar 0336 // 0337 // A possible value for column SEARCHABLE in the TSQLResultSet 0338 // object returned by the method GetTypeInfo(). 0339 // 0340 // Indicates that the only WHERE search clause that can be 0341 // based on this type is WHERE . . .LIKE. 0342 // 0343 //___________________________________________________________________ 0344 // kTypePredBasic 0345 // 0346 // A possible value for column SEARCHABLE in the TSQLResultSet 0347 // object returned by the method GetTypeInfo(). 0348 // 0349 // Indicates that one can base all WHERE search clauses 0350 // except WHERE . . .LIKE on this data type. 0351 // 0352 //___________________________________________________________________ 0353 // kTypeSearchable 0354 // 0355 // A possible value for column SEARCHABLE in the TSQLResultSet 0356 // object returned by the method GetTypeInfo(). 0357 // 0358 // Indicates that all WHERE search clauses can be based 0359 // on this type. 0360 // 0361 //___________________________________________________________________ 0362 // kTableIndexStatistic 0363 // 0364 // A possible value for column TYPE in the TSQLResultSet 0365 // object returned by the method GetIndexInfo(). 0366 // 0367 // Indicates that this column contains table statistics 0368 // that are returned in conjunction with a table's index 0369 // descriptions. 0370 // 0371 //___________________________________________________________________ 0372 // kTableIndexClustered 0373 // 0374 // A possible value for column TYPE in the TSQLResultSet object 0375 // returned by the method GetIndexInfo(). 0376 // 0377 // Indicates that this table index is a clustered index. 0378 // 0379 //___________________________________________________________________ 0380 // kTableIndexHashed 0381 // 0382 // A possible value for column TYPE in the TSQLResultSet object 0383 // returned by the method GetIndexInfo(). 0384 // 0385 // Indicates that this table index is a hashed index. 0386 // 0387 //___________________________________________________________________ 0388 // kTableIndexOther 0389 // 0390 // A possible value for column TYPE in the TSQLResultSet object 0391 // returned by the method GetIndexInfo(). 0392 // 0393 // Indicates that this table index is not a clustered index, 0394 // a hashed index, or table statistics; it is something 0395 // other than these. 0396 // 0397 // See also: 0398 // TSQLTypes TSQLConnection 0399 // 0400 ///////////////////////////////////////////////////////////////////// 0401 0402 #include <RDBC/TSQLDatabaseMetaData.h> 0403 #include <RDBC/TSQLResultSet.h> 0404 0405 ClassImpQ(TSQLDatabaseMetaData) 0406 0407 ///////////////////////////////////////////////////////////////////// 0408 //___________________________________________________________________ 0409 TSQLDatabaseMetaData::TSQLDatabaseMetaData(TSQLConnection* connection, 0410 void* imp):TSQL(imp) 0411 { 0412 // constructor 0413 0414 fConnection = connection; 0415 } 0416 0417 //___________________________________________________________________ 0418 TSQLDatabaseMetaData::~TSQLDatabaseMetaData() 0419 { 0420 // destructor will be called when fConnection is deleted 0421 0422 fConnection = 0; 0423 fImp = 0; 0424 }
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |