My Project
Public Member Functions
Item_func_not Class Reference
Inheritance diagram for Item_func_not:
Item_bool_func Item_int_func Item_func Item_result_field Item Item_func_not_all Item_func_nop_all

List of all members.

Public Member Functions

 Item_func_not (Item *a)
longlong val_int ()
enum Functype functype () const
const char * func_name () const
Itemneg_transformer (THD *thd)
virtual void print (String *str, enum_query_type query_type)

Member Function Documentation

Item * Item_func_not::neg_transformer ( THD *  thd) [virtual]

Apply NOT transformation to the item and return a new one.

Transform the item using next rules:

       a AND b AND ...    -> NOT(a) OR NOT(b) OR ...
       a OR b OR ...      -> NOT(a) AND NOT(b) AND ...
       NOT(a)             -> a
       a = b              -> a != b
       a != b             -> a = b
       a < b              -> a >= b
       a >= b             -> a < b
       a > b              -> a <= b
       a <= b             -> a > b
       IS NULL(a)         -> IS NOT NULL(a)
       IS NOT NULL(a)     -> IS NULL(a)
    
Parameters:
thdthread handler
Returns:
New item or NULL if we cannot apply NOT transformation (see Item::neg_transformer()).

Reimplemented from Item.

Reimplemented in Item_func_nop_all, and Item_func_not_all.

void Item_func_not::print ( String str,
enum_query_type  query_type 
) [virtual]

This method is used for to:

  • to generate a view definition query (SELECT-statement);
  • to generate a SQL-query for EXPLAIN EXTENDED;
  • to generate a SQL-query to be shown in INFORMATION_SCHEMA;
  • debug.

For more information about view definition query, INFORMATION_SCHEMA query and why they should be generated from the Item-tree,

See also:
mysql_register_view().

Reimplemented from Item_func.

Reimplemented in Item_func_not_all.


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