File indexing completed on 2025-08-03 08:22:05
0001
0002
0003 #ifndef RDBC_ODBCDatabaseMetaData_h
0004 #define RDBC_ODBCDatabaseMetaData_h
0005
0006
0007
0008
0009
0010 #ifndef RDBC_TSQLDatabaseMetaData_h
0011 #include <RDBC/TSQLDatabaseMetaData.h>
0012 #endif
0013
0014
0015 class ODBCDatabaseMetaData: public TSQLDatabaseMetaData
0016 {
0017 friend class ODBCConnection;
0018
0019 protected:
0020
0021 ODBCDatabaseMetaData( TSQLConnection* connection,void* imp=0 );
0022 virtual ~ODBCDatabaseMetaData();
0023
0024 public:
0025 Bool_t AllProceduresAreCallable();
0026 Bool_t AllTablesAreSelectable();
0027 TString GetUserName();
0028 Bool_t IsReadOnly();
0029 Bool_t NullsAreSortedHigh();
0030 Bool_t NullsAreSortedLow();
0031 Bool_t NullsAreSortedAtStart();
0032 Bool_t NullsAreSortedAtEnd();
0033 TString GetDatabaseProductName();
0034 TString GetDatabaseProductVersion();
0035 TString GetDriverName();
0036 TString GetDriverVersion();
0037 Int_t GetDriverMajorVersion();
0038 Int_t GetDriverMinorVersion();
0039 Bool_t UsesLocalFiles();
0040 Bool_t UsesLocalFilePerTable();
0041 Bool_t SupportsMixedCaseIdentifiers();
0042 Bool_t StoresUpperCaseIdentifiers();
0043 Bool_t StoresLowerCaseIdentifiers();
0044 Bool_t StoresMixedCaseIdentifiers();
0045 Bool_t SupportsMixedCaseQuotedIdentifiers();
0046 Bool_t StoresUpperCaseQuotedIdentifiers();
0047 Bool_t StoresLowerCaseQuotedIdentifiers();
0048 Bool_t StoresMixedCaseQuotedIdentifiers();
0049 TString GetIdentifierQuoteString();
0050 TString GetSQLKeywords();
0051 TString GetNumericFunctions();
0052 TString GetStringFunctions();
0053 TString GetSystemFunctions();
0054 TString GetTimeDateFunctions();
0055 TString GetSearchStringEscape();
0056 TString GetExtraNameCharacters();
0057 Bool_t SupportsAlterTableWithAddColumn();
0058 Bool_t SupportsAlterTableWithDropColumn();
0059 Bool_t SupportsColumnAliasing();
0060 Bool_t NullPlusNonNullIsNull();
0061 Bool_t SupportsConvert();
0062 Bool_t SupportsConvert(Int_t fromType,Int_t toType);
0063 Bool_t SupportsTableCorrelationNames();
0064 Bool_t SupportsDifferentTableCorrelationNames();
0065 Bool_t SupportsExpressionsInOrderBy();
0066 Bool_t SupportsOrderByUnrelated();
0067 Bool_t SupportsGroupBy();
0068 Bool_t SupportsGroupByUnrelated();
0069 Bool_t SupportsGroupByBeyondSelect();
0070 Bool_t SupportsLikeEscapeClause();
0071 Bool_t SupportsMultipleResultSets();
0072 Bool_t SupportsMultipleTransactions();
0073 Bool_t SupportsNonNullableColumns();
0074 Bool_t SupportsMinimumSQLGrammar();
0075 Bool_t SupportsCoreSQLGrammar();
0076 Bool_t SupportsExtendedSQLGrammar();
0077 Bool_t SupportsANSI92EntryLevelSQL();
0078 Bool_t SupportsANSI92IntermediateSQL();
0079 Bool_t SupportsANSI92FullSQL();
0080 Bool_t SupportsIntegrityEnhancementFacility();
0081 Bool_t SupportsOuterJoins();
0082 Bool_t SupportsFullOuterJoins();
0083 Bool_t SupportsLimitedOuterJoins();
0084 TString GetSchemaTerm();
0085 TString GetTableTerm();
0086 TString GetProcedureTerm();
0087 TString GetCatalogTerm();
0088 Bool_t IsCatalogAtStart();
0089 TString GetCatalogSeparator();
0090 Bool_t SupportsSchemasInDataManipulation();
0091 Bool_t SupportsSchemasInProcedureCalls();
0092 Bool_t SupportsSchemasInTableDefinitions();
0093 Bool_t SupportsSchemasInIndexDefinitions();
0094 Bool_t SupportsSchemasInPrivilegeDefinitions();
0095 Bool_t SupportsCatalogsInDataManipulation();
0096 Bool_t SupportsCatalogsInProcedureCalls();
0097 Bool_t SupportsCatalogsInTableDefinitions();
0098 Bool_t SupportsCatalogsInIndexDefinitions();
0099 Bool_t SupportsCatalogsInPrivilegeDefinitions();
0100 Bool_t SupportsPositionedDelete();
0101 Bool_t SupportsPositionedUpdate();
0102 Bool_t SupportsSelectForUpdate();
0103 Bool_t SupportsStoredProcedures();
0104 Bool_t SupportsSubqueriesInComparisons();
0105 Bool_t SupportsSubqueriesInExists();
0106 Bool_t SupportsSubqueriesInIns();
0107 Bool_t SupportsSubqueriesInQuantifieds();
0108 Bool_t SupportsCorrelatedSubqueries();
0109 Bool_t SupportsUnion();
0110 Bool_t SupportsUnionAll();
0111 Bool_t SupportsOpenCursorsAcrossCommit();
0112 Bool_t SupportsOpenCursorsAcrossRollback();
0113 Bool_t SupportsOpenStatementsAcrossCommit();
0114 Bool_t SupportsOpenStatementsAcrossRollback();
0115 Int_t GetMaxBinaryLiteralLength();
0116 Int_t GetMaxCharLiteralLength();
0117 Int_t GetMaxColumnNameLength();
0118 Int_t GetMaxColumnsInGroupBy();
0119 Int_t GetMaxColumnsInIndex();
0120 Int_t GetMaxColumnsInOrderBy();
0121 Int_t GetMaxColumnsInSelect();
0122 Int_t GetMaxColumnsInTable();
0123 Int_t GetMaxConnections();
0124 Int_t GetMaxCursorNameLength();
0125 Int_t GetMaxIndexLength();
0126 Int_t GetMaxSchemaNameLength();
0127 Int_t GetMaxProcedureNameLength();
0128 Int_t GetMaxCatalogNameLength();
0129 Int_t GetMaxRowSize();
0130 Bool_t DoesMaxRowSizeIncludeBlobs();
0131 Int_t GetMaxStatementLength();
0132 Int_t GetMaxStatements();
0133 Int_t GetMaxTableNameLength();
0134 Int_t GetMaxTablesInSelect();
0135 Int_t GetMaxUserNameLength();
0136 Int_t GetDefaultTransactionIsolation();
0137 Bool_t SupportsTransactions();
0138 Bool_t SupportsTransactionIsolationLevel(Int_t level);
0139 Bool_t SupportsDataDefinitionAndDataManipulationTransactions();
0140 Bool_t SupportsDataManipulationTransactionsOnly();
0141 Bool_t DataDefinitionCausesTransactionCommit();
0142 Bool_t DataDefinitionIgnoredInTransactions();
0143 TSQLResultSet* GetProcedures( const TString& catalog,
0144 const TString& schemaPattern,
0145 const TString& procedureNamePattern );
0146 TSQLResultSet* GetProcedureColumns( const TString& catalog,
0147 const TString& schemaPattern,
0148 const TString& procedureNamePattern,
0149 const TString& columnNamePattern );
0150 TSQLResultSet* GetTables( const TString& catalog,
0151 const TString& schemaPattern,
0152 const TString& tableNamePattern,
0153 const TString& types );
0154 TSQLResultSet* GetSchemas();
0155 TSQLResultSet* GetCatalogs();
0156 TSQLResultSet* GetTableTypes();
0157 TSQLResultSet* GetColumns( const TString& catalog,
0158 const TString& schemaPattern,
0159 const TString& tableNamePattern,
0160 const TString& columnNamePattern );
0161 TSQLResultSet* GetColumnPrivileges( const TString& catalog,
0162 const TString& schema,
0163 const TString& table,
0164 const TString& columnNamePattern );
0165 TSQLResultSet* GetTablePrivileges( const TString& catalog,
0166 const TString& schemaPattern,
0167 const TString& tableNamePattern );
0168 TSQLResultSet* GetBestRowIdentifier( const TString& catalog,
0169 const TString& schema,
0170 const TString& table,
0171 Int_t scope,
0172 Bool_t nullable );
0173 TSQLResultSet* GetVersionColumns( const TString& catalog,
0174 const TString& schema,
0175 const TString& table );
0176 TSQLResultSet* GetPrimaryKeys( const TString& catalog,
0177 const TString& schema,
0178 const TString& table);
0179 TSQLResultSet* GetImportedKeys( const TString& catalog,
0180 const TString& schema,
0181 const TString& table );
0182 TSQLResultSet* GetExportedKeys( const TString& catalog,
0183 const TString& schema,
0184 const TString& table );
0185 TSQLResultSet* GetCrossReference( const TString& primaryCatalog,
0186 const TString& primarySchema,
0187 const TString& primaryTable,
0188 const TString& foreignCatalog,
0189 const TString& foreignSchema,
0190 const TString& foreignTable );
0191 TSQLResultSet* GetTypeInfo();
0192 TSQLResultSet* GetIndexInfo( const TString& catalog,
0193 const TString& schema,
0194 const TString& table,
0195 Bool_t unique,
0196 Bool_t approximate );
0197 Bool_t SupportsResultSetType(Int_t type);
0198 Bool_t SupportsResultSetConcurrency( Int_t type,Int_t concurrency );
0199 Bool_t OwnUpdatesAreVisible(Int_t type);
0200 Bool_t OwnDeletesAreVisible(Int_t type);
0201 Bool_t OwnInsertsAreVisible(Int_t type);
0202 Bool_t OthersUpdatesAreVisible(Int_t type);
0203 Bool_t OthersDeletesAreVisible(Int_t type);
0204 Bool_t OthersInsertsAreVisible(Int_t type);
0205 Bool_t UpdatesAreDetected(Int_t type);
0206 Bool_t DeletesAreDetected(Int_t type);
0207 Bool_t InsertsAreDetected(Int_t type);
0208 Bool_t SupportsBatchUpdates();
0209
0210 ClassDef(ODBCDatabaseMetaData,0)
0211 };
0212
0213 #endif