IColumn Class Reference

Provides access to metadata about a column, or an expression that acts like a column. More...

Inherited by DSIColumn, AEValueExpr, and DSIExtIndexColumn.

List of all members.

Public Member Functions

virtual AutoPtr
< Simba::Support::IHasher
CreateHasher (simba_uint32 in_seed) const =0
 Create a hasher of the column that will be used by a hash-based join algorithm.
virtual void GetCatalogName (simba_wstring &out_catalogName) const =0
 Gets the Catalog name.
virtual
Simba::DSI::DSICollatingCoercibility 
GetCollatingCoercibility () const =0
 Gets the collating coercibility of the column.
virtual SharedPtr
< Simba::DSI::ICollation
GetCollation () const =0
 Gets the collation of the column.
virtual const
Simba::DSI::DSIColumnMetadata
GetColumnMetadata () const =0
 Gets a reference to the DSIColumnMetadata describing the column.
virtual simba_uint32 GetColumnSize () const =0
 Returns the length for the column in characters, or bytes for binary data.
virtual void GetLabel (simba_wstring &out_label) const =0
 Gets the column label or title.
virtual SqlTypeMetadataGetMetadata () const =0
 Gets a SqlTypeMetadata* describing the column.
virtual void GetName (simba_wstring &out_name) const =0
 Gets the column alias.
virtual void GetSchemaName (simba_wstring &out_schemaName) const =0
 Gets the Schema name.
virtual
Simba::DSI::DSIColumnSearchable 
GetSearchable () const =0
 Indicates how the column can be used in a WHERE clause.
virtual void GetTableName (simba_wstring &out_tableName) const =0
 Gets the name of the table.
virtual
Simba::DSI::DSIColumnUpdatable 
GetUpdatable () const =0
 Describes whether the column is updatable in the result set.
virtual bool IsAutoUnique () const =0
 Indicates whether the column is auto-incrementing or not.
virtual bool IsCaseSensitive () const =0
 Indicates whether the column is case sensitive.
virtual Simba::DSI::DSINullable IsNullable () const =0
 Indicates whether the column may hold null data.
virtual bool IsSortable () const =0
 Indicates whether the column is sortable.
virtual bool IsUnnamed () const =0
 Indicates whether the column contains a column alias or name.
virtual void LogColumn (Simba::Support::ILogger *in_log) const =0
 Logs the entire column into the input log.
virtual ~IColumn ()
 Destructor.

Protected Member Functions

 IColumn ()
 Constructor.

Detailed Description

Provides access to metadata about a column, or an expression that acts like a column.

If the "column" is actually an expression, it should return reasonable "dummy" values for metadata that doesn't really apply.


Constructor & Destructor Documentation

virtual ~IColumn (  )  [inline, virtual]

Destructor.

IColumn (  )  [inline, protected]

Constructor.


Member Function Documentation

virtual AutoPtr<Simba::Support::IHasher> CreateHasher ( simba_uint32  in_seed  )  const [pure virtual]

Create a hasher of the column that will be used by a hash-based join algorithm.

Parameters:
in_seed Random seed used for hashing.
Returns:
A hasher pointer of the column. Null if no hasher is created for this column.

Implemented in DSIColumn, AEValueExpr, and DSIExtIndexColumn.

virtual void GetCatalogName ( simba_wstring out_catalogName  )  const [pure virtual]

Gets the Catalog name.

Parameters:
out_catalogName Output catalog name.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEValueExpr, and DSIExtIndexColumn.

virtual Simba::DSI::DSICollatingCoercibility GetCollatingCoercibility (  )  const [pure virtual]

Gets the collating coercibility of the column.

Returns:
An enum that specifies the coercibility of the column.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEUnaryValueExpr, AEValueExpr, and DSIExtIndexColumn.

virtual SharedPtr<Simba::DSI::ICollation> GetCollation (  )  const [pure virtual]

Gets the collation of the column.

Returns:
The collation of the column.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEUnaryValueExpr, AEValueExpr, and DSIExtIndexColumn.

virtual const Simba::DSI::DSIColumnMetadata& GetColumnMetadata (  )  const [pure virtual]

Gets a reference to the DSIColumnMetadata describing the column.

Returns:
Reference to the DSIColumnMetadata describing the column.

Implemented in DSIColumn, AEAggrFunction, AEColumn, AEProxyColumn, AESearchedCase, AESearchedWhenClause, AEUnaryValueExpr, AEValueExpr, and DSIExtIndexColumn.

virtual simba_uint32 GetColumnSize (  )  const [pure virtual]

Returns the length for the column in characters, or bytes for binary data.

For character data, this length should be in terms of the number of characters, not the number of bytes. For example, VARCHAR(10) and NVARCHAR(10) would both correspond to length of 10, even if NVARCHAR used 2 bytes per character.

For fixed length types, it will return the length of the data in terms of characters.

Returns:
Length for the column in characters or bytes.

Implemented in DSIColumn, AEAggrFunction, AEColumn, AEIntervalLiteral, AEProxyColumn, AEUnaryValueExpr, AEValueExpr, and DSIExtIndexColumn.

virtual void GetLabel ( simba_wstring out_label  )  const [pure virtual]

Gets the column label or title.

May return an empty string.

Parameters:
out_label Output column label.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEValueExpr, and DSIExtIndexColumn.

virtual SqlTypeMetadata* GetMetadata (  )  const [pure virtual]

Gets a SqlTypeMetadata* describing the column.

Returns:
SqlTypeMetadata pointer describing the column. (NOT OWN)

Implemented in DSIColumn, AEAggrFunction, AEColumn, AECountStarAggrFunction, AECustomAggregateFn, AEDefault, AENull, AEParameter, AEProxyColumn, AESearchedCase, AESearchedWhenClause, AEUnaryValueExpr, AEValueExpr, and DSIExtIndexColumn.

virtual void GetName ( simba_wstring out_name  )  const [pure virtual]

Gets the column alias.

If there is no alias, returns the column name. May return an empty string.

Parameters:
out_name Output column name.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEValueExpr, and DSIExtIndexColumn.

virtual void GetSchemaName ( simba_wstring out_schemaName  )  const [pure virtual]

Gets the Schema name.

Parameters:
out_schemaName Output schema name.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEValueExpr, and DSIExtIndexColumn.

virtual Simba::DSI::DSIColumnSearchable GetSearchable (  )  const [pure virtual]

Indicates how the column can be used in a WHERE clause.

Returns:
An enum that shows the behaviors of the column in a WHERE clause.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEUnaryValueExpr, AEValueExpr, and DSIExtIndexColumn.

virtual void GetTableName ( simba_wstring out_tableName  )  const [pure virtual]

Gets the name of the table.

Parameters:
out_tableName Output table name.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEValueExpr, and DSIExtIndexColumn.

virtual Simba::DSI::DSIColumnUpdatable GetUpdatable (  )  const [pure virtual]

Describes whether the column is updatable in the result set.

Returns:
An enum that specifies the updatability of the column in the result set.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEValueExpr, and DSIExtIndexColumn.

virtual bool IsAutoUnique (  )  const [pure virtual]

Indicates whether the column is auto-incrementing or not.

Returns:
True if the column is auto-incrementing; false otherwise.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEUnaryValueExpr, AEValueExpr, and DSIExtIndexColumn.

virtual bool IsCaseSensitive (  )  const [pure virtual]

Indicates whether the column is case sensitive.

Returns:
True if the column is case-sensitive; false otherwise.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEUnaryValueExpr, AEValueExpr, and DSIExtIndexColumn.

virtual Simba::DSI::DSINullable IsNullable (  )  const [pure virtual]

Indicates whether the column may hold null data.

Returns:
An enum that specifies if the column can contain NULLs.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEUnaryValueExpr, AEValueExpr, and DSIExtIndexColumn.

virtual bool IsSortable (  )  const [pure virtual]

Indicates whether the column is sortable.

Returns:
True if the column is sortable.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEValueExpr, and DSIExtIndexColumn.

virtual bool IsUnnamed (  )  const [pure virtual]

Indicates whether the column contains a column alias or name.

Returns:
True if the column contains a column alias or name; false otherwise.

Implemented in DSIColumn, AEColumn, AEProxyColumn, AEValueExpr, and DSIExtIndexColumn.

virtual void LogColumn ( Simba::Support::ILogger in_log  )  const [pure virtual]

Logs the entire column into the input log.

Parameters:
in_log The logger to use to log this column. (NOT OWN)

Implemented in DSIColumn, AEValueExpr, and DSIExtIndexColumn.


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

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