1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-24 06:01:25 +03:00
Commit Graph

21901 Commits

Author SHA1 Message Date
unknown
3232f483a1 Merge adventure.(none):/home/thek/Development/cpp/bug28641/my51-bug28641
into  adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime


mysql-test/r/events_bugs.result:
  Auto merged
2007-07-25 09:47:03 +02:00
unknown
cfdd203549 Bug#28641 CREATE EVENT with '2038.01.18 03:00:00' let server crash.
Creating an EVENT to be executed at a time close to the end of the allowed
range (2038.01.19 03:14:07 UTC) would cause the server to crash. The
expected behavior is to accept all calendar times within the interval and
reject all other values without crashing.

This patch replaces the function 'sec_to_epoch_TIME' with a Time_zone API call.
This function was broken because it invoked the internal function 'sec_to_epoch'
without respecting the restrictions on the function parameters (and this caused
assertion failure). It also was used as a reverse function to
Time_zone_utc::gmt_sec_to_TIME which it isn't.


mysql-test/r/events_bugs.result:
  Added test case
mysql-test/t/events_bugs.test:
  Added test case
sql/event_data_objects.cc:
  Replaced function 'sec_since_epoch_TIME' since it was implemented as
  a wrapper around 'sec_since_epoch' without taking parameter restrictions
  into account. The function was used to load information about event
  execution time from mysql.events table. Further more, the function wasn't
  the inverse function of Time_zone_utc::gmt_sec_to_TIME() which was used
  by events code to store information about event execution time.
sql/event_db_repository.cc:
  Replaced my_tz_UTC object with my_tz_OFFSET0 object because the first one
  doesn't supply us with a bijective MYSQL_TIME<->my_time_t translation. Instead
  the function sec_since_epoch_TIME was used as a reverse function to the method
  my_tz_UTC::gmt_sec_to_TIME.
sql/event_queue.cc:
  Replaced my_tz_UTC object with my_tz_OFFSET0 object because the first one
  doesn't supply us with a bijective MYSQL_TIME<->my_time_t translation. Instead
  the function sec_since_epoch_TIME was used as a reverse function to the method
  my_tz_UTC::gmt_sec_to_TIME.
sql/tztime.cc:
  * Remove function 'sec_since_epoch_TIME' since it was implemented as
  a wrapper around 'sec_since_epoch' without taking parameter restrictions
  into account. The function was used to load information about event
  execution time from mysql.events table. Further more, the function wasn't
  the inverse function of Time_zone_utc::gmt_sec_to_TIME() which was used
  by events code to store information about event execution time.
  
  * Added static Time_zone object for UTC+0 time zone.
sql/tztime.h:
  Include extern pointer to static Time_zone object.
2007-07-25 09:43:49 +02:00
unknown
8ed01f838e Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
2007-07-24 23:01:05 +04:00
unknown
2a7d20308f Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
2007-07-24 22:58:05 +04:00
unknown
20b9d9bb2f Bug#29993 (Default value of log_output should be 'FILE', not 'TABLE')
Changed the default location of the log output to LOG_FILE,
for backward compatibility with MySQL 5.0


mysql-test/r/log_state.result:
  Changed the default location of the log output to LOG_FILE,
  for backward compatibility with MySQL 5.0
sql/set_var.cc:
  Changed the default location of the log output to LOG_FILE,
  for backward compatibility with MySQL 5.0
2007-07-23 22:01:22 -06:00
unknown
6085445736 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime


mysql-test/r/create.result:
  Auto merged
mysql-test/r/innodb.result:
  Auto merged
mysql-test/t/create.test:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2007-07-21 17:54:23 +04:00
unknown
066d97ba09 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/kent/bk/tmp3/mysql-5.1-build


libmysql/libmysql.c:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
sql/field.cc:
  Auto merged
2007-07-21 01:52:15 +02:00
unknown
d9bad2acc0 Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt


mysql-test/r/cast.result:
  Auto merged
mysql-test/t/cast.test:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
2007-07-21 02:25:39 +05:00
unknown
d758b1e629 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/29898-bug-5.0-opt-mysql
2007-07-20 22:05:20 +04:00
unknown
1671106295 Fix the coding style.
sql/sql_lex.cc:
  Fix the style.
sql/sql_lex.h:
  Fix the style.
2007-07-20 19:52:25 +04:00
unknown
f28e63a37d Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime


sql/sql_base.cc:
  Auto merged
2007-07-20 19:50:55 +04:00
unknown
7a99db0b73 Remove obvious comments. 2007-07-20 19:46:13 +04:00
unknown
193d5f54b1 Merge trift-lap.none:/MySQL/M51/bug14151-5.1
into  trift-lap.none:/MySQL/M51/push-5.1
2007-07-20 13:32:41 +02:00
unknown
568eccb513 Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt


mysql-test/t/disabled.def:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  SCCS merged
tests/mysql_client_test.c:
  SCCS merged
2007-07-20 04:21:46 +05:00
unknown
db31d3c96d Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt


sql/set_var.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2007-07-20 04:15:50 +05:00
unknown
a71eda722a Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt


mysql-test/r/func_gconcat.result:
  Auto merged
mysql-test/t/func_gconcat.test:
  Auto merged
sql/item_sum.cc:
  Auto merged
2007-07-20 04:04:57 +05:00
unknown
a131428f04 Bug#29898: Item_date_typecast::val_int doesn't reset the null_value flag.
The Item_date_typecast::val_int function doesn't reset null_value flag.
This makes all values that follows the first null value to be treated as nulls
and led to a wrong result.

Now the Item_date_typecast::val_int function correctly sets the null_value flag
for both null and non-null values.


mysql-test/t/cast.test:
  Added a test case for the bug#29898:  Item_date_typecast::val_int doesn't reset
  the null_value flag.
mysql-test/r/cast.result:
  Added a test case for the bug#29898:  Item_date_typecast::val_int doesn't reset
  the null_value flag.
sql/item_timefunc.cc:
  Bug#29898: Item_date_typecast::val_int doesn't reset the null_value flag.
  Now the Item_date_typecast::val_int function correctly sets the null_value flag
  for both null and non-null values.
2007-07-20 00:06:35 +04:00
unknown
2eed7b94e3 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1


sql/mysql_priv.h:
  Auto merged
2007-07-19 20:16:27 +02:00
unknown
d0020607b3 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/29850-bug-5.0-opt-mysql
2007-07-19 21:40:12 +04:00
unknown
6c24dd7f0c A follow-up fix for Bug#29431 "killing an insert delayed thread causes
crash" in 5.1


sql/sql_insert.cc:
  Additional safety fix: do not assume we already have a share in 
  get_local_table.
2007-07-19 21:10:19 +04:00
unknown
1e9bdcfbcd Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime


sql/sql_insert.cc:
  Manual merge.
2007-07-19 20:27:35 +04:00
unknown
7f6a816484 Bug#29850: Wrong charset of GROUP_CONCAT result when the select employs
a temporary table.

The result string of the Item_func_group_concat wasn't initialized in the 
copying constructor of the Item_func_group_concat class. This led to a
wrong charset of GROUP_CONCAT result when the select employs a temporary
table.

The copying constructor of the Item_func_group_concat class now correctly
initializes the charset of the result string.


mysql-test/t/func_gconcat.test:
  Added a test case for the bug#29850: Wrong charset of the GROUP_CONCAT result
  when the select employs a temporary table.
mysql-test/r/func_gconcat.result:
  Added a test case for the bug#29850: Wrong charset of the GROUP_CONCAT result
  when the select employs a temporary table.
sql/item_sum.cc:
  Bug#29850: Wrong charset of GROUP_CONCAT result when the select employs
  a temporary table.
  The copying constructor of the Item_func_group_concat class now correctly
  initializes the charset of the result string.
2007-07-19 20:21:23 +04:00
unknown
809e56e467 After-merge fix for bug#14151.
sql/sql_partition.cc:
  After-merge fix for bug#14151:
  This use of "md5.h" is new in 5.1 and must be changed to "my_md5.h" as well.
2007-07-19 18:05:55 +02:00
unknown
346ea19be7 Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime


mysql-test/r/sp-prelocking.result:
  Auto merged
mysql-test/r/trigger.result:
  Auto merged
mysql-test/t/create.test:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/sp-prelocking.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/sql_class.h:
  Auto merged
mysql-test/r/create.result:
  Use local.
mysql-test/r/innodb.result:
  Manual merge.
2007-07-19 19:42:24 +04:00
unknown
62eb5f1794 Rename all references to 'Delayed_insert' instances from 'tmp' to 'di'
for consistency.
2007-07-19 19:36:52 +04:00
unknown
e81e55e783 A fix for Bug#29431 killing an insert delayed thread causes crash
No test case, since the bug requires a stress case with 30 INSERT DELAYED
threads and 1 killer thread to repeat. The patch is verified
manually.
Review fixes.

The server that is running DELAYED inserts would deadlock itself
or crash under high load if some of the delayed threads were KILLed
in the meanwhile.

The fix is to change internal lock acquisition order of delayed inserts
subsystem and to ensure that
Delayed_insert::table_list::db does not point to volatile memory in some 
cases.
For details, please see a comment for sql_insert.cc.


sql/sql_insert.cc:
  A fix for Bug#29431 killing an insert delayed thread causes crash
  
  1) The deadlock was caused by different lock acquisition order
  between delayed_get_table and handle_delayed_insert.
  
  delayed_get_table would:
  - acquire LOCK_delayed_create
  - create a new Delayed_insert instance
  - acquire instance mutex (di->mutex)
  - "lock the instance in memory" by 
  increasing di->locked_in_memory variable
  - start the delayed thread
  - release di->mutex
  - let the delayed thread open the delayed table
  - discover that the delayed thread was killed
  - try to unlock() the delayed insert instance in memory
  - in Delayed_insert::unlock() do
   * lock LOCK_delayed_insert
   * decrease locks_in_memory and discover it's 0
   * attempt to lock di->mutex to broadcast di->cond condition <-- deadlock
   here
  
  Meanwhile, the delayed thread would
   * lock di->mutex
   * open the table
   * get killed
   * not notice that and attempt to lock LOCK_delayed_insert
  to register itself in the delayed insert list <-- deadlock here.
  
  Simply put, delayed_get_table used to lock LOCK_delayed_insert and then 
  di->mutex, and handle_delayed_insert would lock di->mutex and then 
  LOCK_delayed_insert.
  
  Fixed by moving registration in the list of delayed insert threads from 
  handle_delayed_insert to delayed_get_table - so that now
  handle_delayed_insert doesn't need to acquire LOCK_delayed_insert mutex.
  
  
  2) di->table_list.db was copied by-pointer from table_list.db of the first
  producer -- the one who initiated creation of the delayed insert thread.
  This producer might be long gone when the member is needed
  (handle_delayed_insert:open_ltable),
  e.g. by having been killed with KILL CONNECTION statement.
  Fixed by using a pointer to the consumer's deep copy of THD::db.
  
  3) In find_handler, we shouldn't assume that Delayed_insert object
  already (or still) has a table opened all the time it is
  present in the delayed insert list. E.g. it's not the case
  when Delayed_insert decided to terminate, closed the table, but haven't
  yet unregistered from the list (see the end of handle_delayed_insert).
2007-07-19 19:28:00 +04:00
unknown
e395b0ace2 Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt


client/mysqldump.c:
  Auto merged
include/my_base.h:
  Auto merged
mysql-test/include/mix1.inc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
2007-07-19 20:01:13 +05:00
unknown
c865b22514 Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt


sql/ha_myisam.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-07-19 19:57:53 +05:00
unknown
bb00bbef1b Merge trift-lap.none:/MySQL/M50/bug14151-5.0
into  trift-lap.none:/MySQL/M51/bug14151-5.1


BitKeeper/deleted/.del-MySQL-Source.icc~edded3c3a5cf83b1:
  Auto merged
BitKeeper/deleted/.del-mysqlmanager-pwgen.c~d8f5f91ec54432b9:
  Auto merged
BitKeeper/deleted/.del-mysqlmanager.c~e97636d71145a0b:
  Auto merged
include/Makefile.am:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/table.cc:
  Auto merged
2007-07-19 15:11:01 +02:00
unknown
f4209c71a2 Avoid the name conflict between the system-provided "md5.h" and the MySQL one
by renaming "include/md5.h" to "include/my_md5.h".

Fixes bug#14151.


include/my_md5.h:
  Rename: include/md5.h -> include/my_md5.h
2007-07-19 14:14:03 +02:00
unknown
b79daf4109 Re-set the plugin name so that we can be sure the plugin init()
function doesn't set it to something else.
2007-07-18 13:37:56 -04:00
unknown
6d0419f6bc Move the filling of the table_name column above the initialization,
so that the init function has access to the name.
2007-07-18 12:27:54 -04:00
unknown
0114d8c082 CMakeLists.txt, configure.js:
Allow to set mysqld exe suffix


sql/CMakeLists.txt:
  Allow to set mysqld exe suffix
win/configure.js:
  Allow to set mysqld exe suffix
2007-07-18 15:53:10 +02:00
unknown
4a07ed48dd Merge magare.gmz:/home/kgeorge/mysql/work/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/merge-5.0-5.1-opt


mysql-test/r/type_time.result:
  Auto merged
sql/field.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
BitKeeper/deleted/.del-index_merge.result:
  Auto merged
mysql-test/include/index_merge1.inc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
storage/heap/ha_heap.cc:
  Auto merged
storage/heap/ha_heap.h:
  Auto merged
2007-07-18 15:56:29 +03:00
unknown
c0277a1192 A fix and a test case for Bug#26104 Bug on foreign key class constructor.
Fix the typo in the constructor. Cover a semantic check that previously
never worked with a test.


mysql-test/r/create.result:
  Update results (Bug#26104)
mysql-test/r/innodb.result:
  Update results.
mysql-test/t/create.test:
  Add a test case for Bug#26104 Bug on foreign key class constructor
mysql-test/t/innodb.test:
  Return a new error number (MySQL error instead of internal InnoDB error).
sql/sql_class.h:
  A fix for Bug#26104 Bug on foreign key class constructor -- fix
  the typo in the constructor
2007-07-18 16:22:05 +04:00
unknown
06b446dae4 Mark deadcode for gcov 2007-07-18 11:12:15 +04:00
unknown
043f697aee Mark deadcode for gcov 2007-07-18 00:29:25 +04:00
unknown
a5a0a38d8d Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-07-17 21:40:36 +02:00
unknown
2679e53a73 Small comments fix 2007-07-17 22:46:51 +04:00
unknown
3e09e4adce Merge ramayana.hindu.god:/home/tsmith/m/bk/51
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51


mysql-test/suite/rpl_ndb/t/disabled.def:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2007-07-17 11:33:26 -06:00
unknown
91301448e9 Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50


sql/mysql_priv.h:
  Auto merged
2007-07-17 11:32:50 -06:00
unknown
ded5009aaf Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug29740
2007-07-17 19:53:33 +04:00
unknown
955c19961d [pb problem]: ha_heap->clone() fails on windows because of mess with
'/' and '\' in path delimiters:
- Fix this by creating new handler with exactly the same path line as
  was passed to ha_create/ha_open.


sql/opt_range.cc:
  Set thd->net.report_error on handler::clone() failure
2007-07-17 19:51:50 +04:00
unknown
dd381deafc Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime


mysql-test/r/events_bugs.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
2007-07-17 13:10:02 +04:00
unknown
cff1088d03 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
2007-07-17 13:08:23 +04:00
unknown
ba6b937620 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  sin.intern.azundris.com:/home/tnurnberg/27198/51-27198


sql/sql_class.h:
  Auto merged
2007-07-17 09:39:44 +02:00
unknown
8631c57b0c Merge sin.intern.azundris.com:/home/tnurnberg/27198/50-27198
into  sin.intern.azundris.com:/home/tnurnberg/27198/51-27198


sql/sql_class.h:
  Auto merged
sql/mysql_priv.h:
  manual merge
2007-07-17 08:23:43 +02:00
unknown
7858729d94 Merge sin.intern.azundris.com:/home/tnurnberg/27198/41-27198
into  sin.intern.azundris.com:/home/tnurnberg/27198/50-27198


sql/mysql_priv.h:
  Auto merged
sql/sql_class.h:
  Auto merged
2007-07-17 06:59:24 +02:00
unknown
b5ad823b65 Fix a build break on 64 bit (uint and size_t are distinct types). 2007-07-17 01:30:57 +04:00
unknown
bc642e1132 Post-merge fixes (merge from the main).
mysql-test/r/innodb_mysql.result:
  Update test results (merge from the main tree).
mysql-test/r/query_cache.result:
  Update test results (merge from the main tree).
mysql-test/r/sp.result:
  Update test results (merge from the main tree).
mysql-test/t/query_cache.test:
  Use --echo End of to simplify future merges.
sql/handler.h:
  st_table_list -> TABLE_LIST
sql/item_create.cc:
  A post-merge fix (this code is in sql_yacc.yy in 5.0)
sql/rpl_utility.h:
  st_table_list -> TABLE_LIST
sql/sp.cc:
  A post-merge fix.
sql/sp_head.cc:
  In 5.1 memdup_root returns void*.
sql/sql_show.cc:
  st_table_list -> TABLE_LIST
sql/sql_show.h:
  st_table_list -> TABLE_LIST
sql/sql_yacc.yy:
  A post-merge fix.
sql/table.cc:
  st_table_list -> TABLE_LIST
sql/table.h:
  st_table_list -> TABLE_LIST
2007-07-17 00:59:21 +04:00