My Project
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Member Functions | Public Attributes
JOIN::ORDER_with_src Class Reference

#include <sql_optimizer.h>

List of all members.

Classes

struct  null

Public Member Functions

 ORDER_with_src (ORDER *order_arg, Explain_sort_clause src_arg)
ORDER_with_srcoperator= (null *)
 ORDER_with_src (null *)
 operator ORDER * ()
 operator const ORDER * () const
ORDERoperator-> () const
void clean ()
void set_flag (Explain_sort_property flag)
void reset_flag (Explain_sort_property flag)
bool get_flag (Explain_sort_property flag) const
int get_flags () const

Public Attributes

ORDERorder
Explain_sort_clause src

Detailed Description

Wrapper for ORDER* pointer to trace origins of ORDER list

As far as ORDER is just a head object of ORDER expression chain, we need some wrapper object to associate flags with the whole ORDER list.


Constructor & Destructor Documentation

JOIN::ORDER_with_src::ORDER_with_src ( null *  ) [inline]

Type-safe constructor from NULL

See a commentary for the "null" type above.


Member Function Documentation

JOIN::ORDER_with_src::operator ORDER * ( ) [inline]

Transparent access to the wrapped order list

These operators are safe, since we don't do any conversion of ORDER_with_src value, but just an access to the wrapped ORDER pointer value. We can use ORDER_with_src objects instead ORDER pointers in a transparent way without accessor functions.

Note:
This operator also implements safe "operator bool()" functionality.
ORDER_with_src& JOIN::ORDER_with_src::operator= ( null *  ) [inline]

Type-safe NULL assignment

See a commentary for the "null" type above.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines