Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:22:05

0001 // $Id: ODBCDatabaseMetaData.h,v 1.1.1.1 2004/02/18 20:58:02 dave Exp $
0002 
0003 #ifndef RDBC_ODBCDatabaseMetaData_h
0004 #define RDBC_ODBCDatabaseMetaData_h
0005 
0006 //
0007 // Provides several tons of information about a data source
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) // Provides information about the database as a whole
0211 };
0212 
0213 #endif // RDBC_ODBCDatabaseMetaData_h