Commit 18f5e87e authored by unknown's avatar unknown

Merge bk-internal.mysql.com:/home/bk/mysql-5.1-maint

into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint


sql/field.cc:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_geofunc.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/protocol.h:
  Auto merged
sql/records.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/structs.h:
  Auto merged
sql/unireg.h:
  Auto merged
sql/item.cc:
  manual merge
sql/log_event.cc:
  manual merge
sql/protocol.cc:
  manual merge
sql/sp_head.cc:
  manual merge
sql/sql_base.cc:
  manual merge
sql/sql_parse.cc:
  manual merge
sql/sql_select.cc:
  manual merge
parents 0813b6f5 94e41712
...@@ -14,7 +14,12 @@ ...@@ -14,7 +14,12 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* Read language depeneded messagefile */ /**
@file
@brief
Read language depeneded messagefile
*/
#include "mysql_priv.h" #include "mysql_priv.h"
#include "mysys_err.h" #include "mysys_err.h"
...@@ -23,20 +28,17 @@ static bool read_texts(const char *file_name,const char ***point, ...@@ -23,20 +28,17 @@ static bool read_texts(const char *file_name,const char ***point,
uint error_messages); uint error_messages);
static void init_myfunc_errs(void); static void init_myfunc_errs(void);
/* /**
Read messages from errorfile. Read messages from errorfile.
SYNOPSIS This function can be called multiple times to reload the messages.
init_errmessage() If it fails to load the messages, it will fail softly by initializing
the errmesg pointer to an array of empty strings or by keeping the
old array if it exists.
DESCRIPTION @retval
This function can be called multiple times to reload the messages.
If it fails to load the messages, it will fail softly by initializing
the errmesg pointer to an array of empty strings or by keeping the
old array if it exists.
RETURN
FALSE OK FALSE OK
@retval
TRUE Error TRUE Error
*/ */
...@@ -75,7 +77,14 @@ bool init_errmessage(void) ...@@ -75,7 +77,14 @@ bool init_errmessage(void)
} }
/* Read text from packed textfile in language-directory */ /**
Read text from packed textfile in language-directory.
If we can't read messagefile then it's panic- we can't continue.
@todo
Convert the character set to server system character set
*/
static bool read_texts(const char *file_name,const char ***point, static bool read_texts(const char *file_name,const char ***point,
uint error_messages) uint error_messages)
...@@ -178,7 +187,9 @@ err1: ...@@ -178,7 +187,9 @@ err1:
} /* read_texts */ } /* read_texts */
/* Initiates error-messages used by my_func-library */ /**
Initiates error-messages used by my_func-library.
*/
static void init_myfunc_errs() static void init_myfunc_errs()
{ {
......
...@@ -21,17 +21,18 @@ ...@@ -21,17 +21,18 @@
struct st_des_keyschedule des_keyschedule[10]; struct st_des_keyschedule des_keyschedule[10];
uint des_default_key; uint des_default_key;
/* #define des_cs &my_charset_latin1
Function which loads DES keys from plaintext file into memory on MySQL
server startup and on command FLUSH DES_KEY_FILE. /**
Blame tonu@spam.ee on bugs ;) Load DES keys from plaintext file into
memory on MySQL server startup and on command FLUSH DES_KEY_FILE.
RETURN
0 ok @retval
1 Error 0 ok
@retval
1 Error
*/ */
#define des_cs &my_charset_latin1
bool bool
load_des_key_file(const char *file_name) load_des_key_file(const char *file_name)
......
...@@ -14,29 +14,33 @@ ...@@ -14,29 +14,33 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* Functions for discover of frm file from handler */ /**
@file
@brief
Functions for discover of frm file from handler
*/
#include "mysql_priv.h" #include "mysql_priv.h"
#include <my_dir.h> #include <my_dir.h>
/* /**
Read the contents of a .frm file Read the contents of a .frm file.
SYNOPSIS frmdata and len are set to 0 on error.
readfrm()
name path to table-file "db/name" @param name path to table-file "db/name"
frmdata frm data @param frmdata frm data
len length of the read frmdata @param len length of the read frmdata
RETURN VALUES @retval
0 ok 0 ok
1 Could not open file @retval
2 Could not stat file 1 Could not open file
3 Could not allocate data for read @retval
Could not read file 2 Could not stat file
@retval
frmdata and len are set to 0 on error 3 Could not allocate data for read. Could not read file
*/ */
int readfrm(const char *name, uchar **frmdata, size_t *len) int readfrm(const char *name, uchar **frmdata, size_t *len)
...@@ -87,18 +91,16 @@ int readfrm(const char *name, uchar **frmdata, size_t *len) ...@@ -87,18 +91,16 @@ int readfrm(const char *name, uchar **frmdata, size_t *len)
/* /*
Write the content of a frm data pointer Write the content of a frm data pointer
to a frm file to a frm file.
SYNOPSIS
writefrm()
name path to table-file "db/name" @param name path to table-file "db/name"
frmdata frm data @param frmdata frm data
len length of the frmdata @param len length of the frmdata
RETURN VALUES @retval
0 ok 0 ok
2 Could not write file @retval
2 Could not write file
*/ */
int writefrm(const char *name, const uchar *frmdata, size_t len) int writefrm(const char *name, const uchar *frmdata, size_t len)
......
This diff is collapsed.
...@@ -14,11 +14,15 @@ ...@@ -14,11 +14,15 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* /**
Functions to copy data to or from fields @file
This could be done with a single short function but opencoding this
gives much more speed. @brief
*/ Functions to copy data to or from fields
This could be done with a single short function but opencoding this
gives much more speed.
*/
#include "mysql_priv.h" #include "mysql_priv.h"
#include <m_ctype.h> #include <m_ctype.h>
...@@ -129,22 +133,21 @@ set_field_to_null(Field *field) ...@@ -129,22 +133,21 @@ set_field_to_null(Field *field)
} }
/* /**
Set field to NULL or TIMESTAMP or to next auto_increment number Set field to NULL or TIMESTAMP or to next auto_increment number.
SYNOPSIS @param field Field to update
set_field_to_null_with_conversions() @param no_conversions Set to 1 if we should return 1 if field can't
field Field to update take null values.
no_conversion Set to 1 if we should return 1 if field can't If set to 0 we will do store the 'default value'
take null values. if the field is a special field. If not we will
If set to 0 we will do store the 'default value' give an error.
if the field is a special field. If not we will
give an error. @retval
0 Field could take 0 or an automatic conversion was used
RETURN VALUES @retval
0 Field could take 0 or an automatic conversion was used -1 Field could not take NULL and no conversion was used.
-1 Field could not take NULL and no conversion was used. If no_conversion was not set, an error message is printed
If no_conversion was not set, an error message is printed
*/ */
int int
...@@ -283,7 +286,7 @@ static void do_conv_blob(Copy_field *copy) ...@@ -283,7 +286,7 @@ static void do_conv_blob(Copy_field *copy)
copy->tmp.charset()); copy->tmp.charset());
} }
/* Save blob in copy->tmp for GROUP BY */ /** Save blob in copy->tmp for GROUP BY. */
static void do_save_blob(Copy_field *copy) static void do_save_blob(Copy_field *copy)
{ {
...@@ -352,9 +355,9 @@ static void do_field_decimal(Copy_field *copy) ...@@ -352,9 +355,9 @@ static void do_field_decimal(Copy_field *copy)
} }
/* /**
string copy for single byte characters set when to string is shorter than string copy for single byte characters set when to string is shorter than
from string from string.
*/ */
static void do_cut_string(Copy_field *copy) static void do_cut_string(Copy_field *copy)
...@@ -374,9 +377,9 @@ static void do_cut_string(Copy_field *copy) ...@@ -374,9 +377,9 @@ static void do_cut_string(Copy_field *copy)
} }
/* /**
string copy for multi byte characters set when to string is shorter than string copy for multi byte characters set when to string is shorter than
from string from string.
*/ */
static void do_cut_string_complex(Copy_field *copy) static void do_cut_string_complex(Copy_field *copy)
...@@ -507,7 +510,7 @@ static void do_varstring2_mb(Copy_field *copy) ...@@ -507,7 +510,7 @@ static void do_varstring2_mb(Copy_field *copy)
** The different functions that fills in a Copy_field class ** The different functions that fills in a Copy_field class
***************************************************************************/ ***************************************************************************/
/* /**
copy of field to maybe null string. copy of field to maybe null string.
If field is null then the all bytes are set to 0. If field is null then the all bytes are set to 0.
if field is not null then the first byte is set to 1 and the rest of the if field is not null then the first byte is set to 1 and the rest of the
...@@ -748,7 +751,7 @@ Copy_field::get_copy_func(Field *to,Field *from) ...@@ -748,7 +751,7 @@ Copy_field::get_copy_func(Field *to,Field *from)
} }
/* Simple quick field convert that is called on insert */ /** Simple quick field convert that is called on insert. */
int field_conv(Field *to,Field *from) int field_conv(Field *to,Field *from)
{ {
......
This diff is collapsed.
...@@ -13,8 +13,11 @@ ...@@ -13,8 +13,11 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* /**
@file
@details
@verbatim
The idea of presented algorithm see in The idea of presented algorithm see in
"The Art of Computer Programming" by Donald E. Knuth "The Art of Computer Programming" by Donald E. Knuth
Volume 3 "Sorting and searching" Volume 3 "Sorting and searching"
...@@ -63,12 +66,14 @@ for optimization, link is the 16-bit index in 'symbols' or 'sql_functions' ...@@ -63,12 +66,14 @@ for optimization, link is the 16-bit index in 'symbols' or 'sql_functions'
or search-array.. or search-array..
So, we can read full search-structure as 32-bit word So, we can read full search-structure as 32-bit word
@endverbatim
@todo
use instead to_upper_lex, special array
(substitute chars) without skip codes..
@todo
try use reverse order of comparing..
TODO:
1. use instead to_upper_lex, special array
(substitute chars) without skip codes..
2. try use reverse order of comparing..
*/ */
#define NO_YACC_SYMBOLS #define NO_YACC_SYMBOLS
......
This diff is collapsed.
This diff is collapsed.
...@@ -14,9 +14,14 @@ ...@@ -14,9 +14,14 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* /**
Get hostname for an IP. Hostnames are checked with reverse name lookup and @file
checked that they doesn't resemble an ip.
@brief
Get hostname for an IP.
Hostnames are checked with reverse name lookup and
checked that they doesn't resemble an ip.
*/ */
#include "mysql_priv.h" #include "mysql_priv.h"
......
...@@ -14,7 +14,12 @@ ...@@ -14,7 +14,12 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* Init and dummy functions for interface with unireg */ /**
@file
@brief
Init and dummy functions for interface with unireg
*/
#include "mysql_priv.h" #include "mysql_priv.h"
#include <m_ctype.h> #include <m_ctype.h>
......
This diff is collapsed.
...@@ -14,12 +14,17 @@ ...@@ -14,12 +14,17 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* Buffers to save and compare item values */ /**
@file
@brief
Buffers to save and compare item values
*/
#include "mysql_priv.h" #include "mysql_priv.h"
/* /**
** Create right type of Cached_item for an item Create right type of Cached_item for an item.
*/ */
Cached_item *new_Cached_item(THD *thd, Item *item) Cached_item *new_Cached_item(THD *thd, Item *item)
...@@ -45,9 +50,11 @@ Cached_item *new_Cached_item(THD *thd, Item *item) ...@@ -45,9 +50,11 @@ Cached_item *new_Cached_item(THD *thd, Item *item)
Cached_item::~Cached_item() {} Cached_item::~Cached_item() {}
/* /**
** Compare with old value and replace value with new value Compare with old value and replace value with new value.
** Return true if values have changed
@return
Return true if values have changed
*/ */
Cached_item_str::Cached_item_str(THD *thd, Item *arg) Cached_item_str::Cached_item_str(THD *thd, Item *arg)
......
This diff is collapsed.
...@@ -13,7 +13,12 @@ ...@@ -13,7 +13,12 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* Functions to create an item. Used by sql_yacc.yy */ /**
@file
@brief
Functions to create an item. Used by sql_yac.yy
*/
#include "mysql_priv.h" #include "mysql_priv.h"
#include "item_create.h" #include "item_create.h"
......
This diff is collapsed.
...@@ -14,7 +14,12 @@ ...@@ -14,7 +14,12 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* This file defines all spatial functions */ /**
@file
@brief
This file defines all spatial functions
*/
#ifdef USE_PRAGMA_IMPLEMENTATION #ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation #pragma implementation // gcc: Class implementation
...@@ -356,7 +361,7 @@ String *Item_func_point::val_str(String *str) ...@@ -356,7 +361,7 @@ String *Item_func_point::val_str(String *str)
} }
/* /**
Concatenates various items into various collections Concatenates various items into various collections
with checkings for valid wkb type of items. with checkings for valid wkb type of items.
For example, MultiPoint can be a collection of Points only. For example, MultiPoint can be a collection of Points only.
...@@ -538,6 +543,10 @@ longlong Item_func_isempty::val_int() ...@@ -538,6 +543,10 @@ longlong Item_func_isempty::val_int()
} }
/**
@todo
Ramil or Holyfoot, add real IsSimple calculation
*/
longlong Item_func_issimple::val_int() longlong Item_func_issimple::val_int()
{ {
DBUG_ASSERT(fixed == 1); DBUG_ASSERT(fixed == 1);
......
...@@ -15,13 +15,18 @@ ...@@ -15,13 +15,18 @@
#include "mysql_priv.h" #include "mysql_priv.h"
/* /**
Row items used for comparing rows and IN operations on rows: Row items used for comparing rows and IN operations on rows:
@verbatim
(a, b, c) > (10, 10, 30) (a, b, c) > (10, 10, 30)
(a, b, c) = (select c, d, e, from t1 where x=12) (a, b, c) = (select c, d, e, from t1 where x=12)
(a, b, c) IN ((1,2,2), (3,4,5), (6,7,8) (a, b, c) IN ((1,2,2), (3,4,5), (6,7,8)
(a, b, c) IN (select c, d, e, from t1) (a, b, c) IN (select c, d, e, from t1)
@endverbatim
@todo
think placing 2-3 component items in item (as it done for function
*/ */
Item_row::Item_row(List<Item> &arg): Item_row::Item_row(List<Item> &arg):
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -13,8 +13,11 @@ ...@@ -13,8 +13,11 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* /**
Cashing of files with only does (sequential) read or writes of fixed- @file
@details
Caching of files with only does (sequential) read or writes of fixed-
length records. A read isn't allowed to go over file-length. A read is ok length records. A read isn't allowed to go over file-length. A read is ok
if it ends at file-length and next read can try to read after file-length if it ends at file-length and next read can try to read after file-length
(and get a EOF-error). (and get a EOF-error).
...@@ -34,11 +37,15 @@ ...@@ -34,11 +37,15 @@
extern "C" { extern "C" {
/* /**
** Read buffered from the net. Read buffered from the net.
** Returns 1 if can't read requested characters
** Returns 0 if record read @retval
*/ 1 if can't read requested characters
@retval
0 if record read
*/
int _my_b_net_read(register IO_CACHE *info, uchar *Buffer, int _my_b_net_read(register IO_CACHE *info, uchar *Buffer,
size_t Count __attribute__((unused))) size_t Count __attribute__((unused)))
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -13,8 +13,11 @@ ...@@ -13,8 +13,11 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* /**
Set MYSQL_SERVER_SUFFIX_STR @file
Set MYSQL_SERVER_SUFFIX_STR.
The following code is quite ugly as there is no portable way to easily set a The following code is quite ugly as there is no portable way to easily set a
string to the value of a macro string to the value of a macro
*/ */
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment