DSIExtPartiallyFilteredMetadataSource Class Reference

A partially filtered metadata source for procedure, procedure columns, tables, columns metadata sources. More...

Inherits Simba::DSI::DSIMetadataSource.

Inherited by DSIExtColumnsMetadataSource, and DSIExtTablesMetadataSource.

List of all members.

Public Member Functions

virtual void PassdownFilters (std::vector< Simba::DSI::DSIMetadataFilter * > &in_filters)
 Pass down the metadata filters to give the metadata source implementation a chance to handle some or all of the filters.
virtual ~DSIExtPartiallyFilteredMetadataSource ()
 Destructor.

Protected Member Functions

 DSIExtPartiallyFilteredMetadataSource (Simba::DSI::DSIMetadataRestrictions &in_restrictions, AutoPtr< Simba::SQLEngine::DSIExtMetadataHelper > in_metadataHelper, Simba::DSI::DSIOutputMetadataColumnTag in_procedureOrTableColumnTag, bool in_isODBC2)
 Constructor.
const IdentifierGetCurrentProcedureOrTableId () const
bool GetNextProcedureOrTable ()
 Retrieve the next procedure or table that passes throw the restrictions and filters.
Simba::DSI::DSIOutputMetadataColumnTag GetProcedureOrTableColumnTag () const
simba_int16 NormalizeDatetimeType (simba_int16 in_sqlType)
 Converts SQL_TYPE_(DATE/TIME/TIMESTAMP) <-> SQL_(DATE/TIME/TIMESTAMP) based on whether we're running in the context of an ODBC 2.X driver or not.

Detailed Description

A partially filtered metadata source for procedure, procedure columns, tables, columns metadata sources.

This is an optimiztion to the default implementations of those metadata sources by applying restrictions and filters eariler so we don't have to open any procedure or table that gets filtered out.


Constructor & Destructor Documentation

virtual ~DSIExtPartiallyFilteredMetadataSource (  )  [virtual]

Destructor.

DSIExtPartiallyFilteredMetadataSource ( Simba::DSI::DSIMetadataRestrictions in_restrictions,
AutoPtr< Simba::SQLEngine::DSIExtMetadataHelper in_metadataHelper,
Simba::DSI::DSIOutputMetadataColumnTag  in_procedureOrTableColumnTag,
bool  in_isODBC2 
) [protected]

Constructor.

Parameters:
in_restrictions Restrictions that may be applied to the metadata table.
in_metadataHelper The helper object to retrieve the tables list. (OWN)
in_procedureOrTableColumnTag The DSIOutputMetadataColumnTag indicating whether this metadata source implementation is for retrieving procedure or table related metadata.
in_isODBC2 True if we're running in the context of an ODBC 2.X driver, False otherwise.

Member Function Documentation

const Identifier& GetCurrentProcedureOrTableId (  )  const [inline, protected]
bool GetNextProcedureOrTable (  )  [protected]

Retrieve the next procedure or table that passes throw the restrictions and filters.

Returns:
True if the next procedure or table identifier has been retrieved successfully, false if there is no more procedure or table.
Simba::DSI::DSIOutputMetadataColumnTag GetProcedureOrTableColumnTag (  )  const [inline, protected]
simba_int16 NormalizeDatetimeType ( simba_int16  in_sqlType  )  [protected]

Converts SQL_TYPE_(DATE/TIME/TIMESTAMP) <-> SQL_(DATE/TIME/TIMESTAMP) based on whether we're running in the context of an ODBC 2.X driver or not.

Parameters:
in_sqlType The SQL type to normalize.
Returns:
The normalized SQL type (unchanged from in_sqlType if it wasn't a datetime type).
virtual void PassdownFilters ( std::vector< Simba::DSI::DSIMetadataFilter * > &  in_filters  )  [virtual]

Pass down the metadata filters to give the metadata source implementation a chance to handle some or all of the filters.

NOTE: If a filter can be handled by the metadata source then it should take ownership of the filter object and remove that filter from the list of filters passed in. If a filter can not be handled by the metadata source then it must be left in the list so it can be handled elsewhere.

Parameters:
in_filters The list of filters passed down.

Reimplemented from DSIMetadataSource.


The documentation for this class was generated from the following file:

Generated on Wed May 17 14:21:17 2017 for SimbaEngine 10.1.3.1011 by simba