Below is the list of changes that have just been committed into a local
5.0 repository of dkatz. When dkatz does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-06-12 16:12:47-04:00, dkatz@stripped +4 -0
Bug #28897 UUID() returns non-unique values when query cache is enabled
Changed UUID() from non-special function in lex.h to a special one parsed by sql_yacc.yy
and set Lex->safe_to_cache_query to 0.
sql/item_create.cc@stripped, 2007-06-12 16:12:44-04:00, dkatz@stripped +0
-5
removed uncalled code
sql/item_create.h@stripped, 2007-06-12 16:12:44-04:00, dkatz@stripped +0
-1
removed uncalled code
sql/lex.h@stripped, 2007-06-12 16:12:44-04:00, dkatz@stripped +1 -1
Changed UUID from a non-special, lex function to instead use a rule in sql_yacc.yy
sql/sql_yacc.yy@stripped, 2007-06-12 16:12:45-04:00, dkatz@stripped +3
-0
Changed UUID from a non-special, lex function to instead use a rule in sql_yacc.yy and
set Lex->safe_to_cache_query to false.
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: dkatz
# Host: damien-katzs-computer.local
# Root: /Users/dkatz/50_win
--- 1.63/sql/item_create.cc 2007-05-09 15:17:20 -04:00
+++ 1.64/sql/item_create.cc 2007-06-12 16:12:44 -04:00
@@ -416,11 +416,6 @@ Item *create_func_unhex(Item* a)
return new Item_func_unhex(a);
}
-Item *create_func_uuid(void)
-{
- return new Item_func_uuid();
-}
-
Item *create_func_version(void)
{
return new Item_static_string_func("version()", server_version,
--- 1.47/sql/item_create.h 2007-05-09 15:17:20 -04:00
+++ 1.48/sql/item_create.h 2007-06-12 16:12:44 -04:00
@@ -94,7 +94,6 @@ Item *create_func_time_to_sec(Item* a);
Item *create_func_to_days(Item* a);
Item *create_func_ucase(Item* a);
Item *create_func_unhex(Item* a);
-Item *create_func_uuid(void);
Item *create_func_version(void);
Item *create_func_weekday(Item* a);
Item *create_load_file(Item* a);
--- 1.146/sql/lex.h 2007-03-08 04:04:41 -05:00
+++ 1.147/sql/lex.h 2007-06-12 16:12:44 -04:00
@@ -762,7 +762,7 @@ static SYMBOL sql_functions[] = {
{ "UNIQUE_USERS", SYM(UNIQUE_USERS)},
{ "UNIX_TIMESTAMP", SYM(UNIX_TIMESTAMP)},
{ "UPPER", F_SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_ucase)},
- { "UUID", F_SYM(FUNC_ARG0),0,CREATE_FUNC(create_func_uuid)},
+ { "UUID", F_SYM(UUID_SYM)},
{ "VARIANCE", SYM(VARIANCE_SYM)},
{ "VAR_POP", SYM(VARIANCE_SYM)},
{ "VAR_SAMP", SYM(VAR_SAMP_SYM)},
--- 1.522/sql/sql_yacc.yy 2007-06-05 17:04:34 -04:00
+++ 1.523/sql/sql_yacc.yy 2007-06-12 16:12:45 -04:00
@@ -982,6 +982,7 @@ bool my_yyoverflow(short **a, YYSTYPE **
%token UTC_DATE_SYM
%token UTC_TIMESTAMP_SYM
%token UTC_TIME_SYM
+%token UUID_SYM
%token VAR_SAMP_SYM
%token VALUES
%token VALUE_SYM
@@ -5172,6 +5173,8 @@ simple_expr:
{ $$= new Item_func_curtime_utc(); Lex->safe_to_cache_query=0;}
| UTC_TIMESTAMP_SYM optional_braces
{ $$= new Item_func_now_utc(); Lex->safe_to_cache_query=0;}
+ | UUID_SYM optional_braces
+ { $$= new Item_func_uuid(); Lex->safe_to_cache_query=0;}
| WEEK_SYM '(' expr ')'
{
$$= new Item_func_week($3,new Item_int((char*) "0",
| Thread |
|---|
| • bk commit into 5.0 tree (dkatz:1.2533) BUG#28897 | damien | 12 Jun |