- 28 Jun, 2007 1 commit
-
-
gkodinov/kgeorge@magare.gmz authored
Sometimes the number of really updated rows (with changed column values) cannot be determined at the server level alone (e.g. if the storage engine does not return enough column values to verify that). So the only dependable way in such cases is to let the storage engine return that information if possible. Fixed the bug at server level by providing a way for the storage engine to return information about wether it actually updated the row or the old and the new column values are the same. It can do that by returning HA_ERR_RECORD_IS_THE_SAME in ha_update_row(). Note that each storage engine may choose not to try to return this status code, so this behaviour remains storage engine specific.
-
- 27 Jun, 2007 3 commits
-
-
holyfoot/hf@hfmain.(none) authored
into mysql.com:/home/hf/work/29156/my51-29156
-
holyfoot/hf@mysql.com/hfmain.(none) authored
don't free thd->lex->sphead if we didn't do lex_start(), as we can have garbage there
-
holyfoot/hf@mysql.com/hfmain.(none) authored
-
- 26 Jun, 2007 3 commits
-
-
holyfoot/hf@hfmain.(none) authored
into mysql.com:/home/hf/work/28430/my51-28430
-
holyfoot/hf@mysql.com/hfmain.(none) authored
In the ha_partition::position we don't calculate the number of the partition of the record. We use m_last_part_value instead relying on that it is set in other place like previous calls of ::write_row(). In replication we do neither of these calls before ::position(). Delete_row_log_event::do_exec_row calls find_and_fetch_row() where we used position() & rnd_pos() calls to find the record for the PARTITION/INNODB table as it posesses InnoDB table flags. Fixed by removing HA_PRIMARY_KEY_REQUIRED_FOR_POSITION flag from PARTITION
-
mhansson@dl145s.mysql.com authored
into dl145s.mysql.com:/dev/shm/mhansson/my51-bug28677
-
- 25 Jun, 2007 12 commits
-
-
gshchepa/uchum@gleb.loc authored
into gleb.loc:/home/uchum/work/bk/5.1-opt
-
gshchepa/uchum@gleb.loc authored
into gleb.loc:/home/uchum/work/bk/5.1-opt
-
-
mhansson@dl145s.mysql.com authored
into dl145s.mysql.com:/dev/shm/mhansson/my51-bug28677
-
holyfoot/hf@hfmain.(none) authored
into mysql.com:/home/hf/work/27084/my51-27084
-
gshchepa/uchum@gleb.loc authored
into gleb.loc:/home/uchum/work/bk/5.1-opt
-
gshchepa/uchum@gleb.loc authored
into gleb.loc:/home/uchum/work/bk/5.0-opt
-
gshchepa/uchum@gleb.loc authored
into gleb.loc:/home/uchum/work/bk/5.0-opt
-
gshchepa/uchum@gleb.loc authored
into gleb.loc:/home/uchum/work/bk/5.1-opt
-
gshchepa/uchum@gleb.loc authored
into gleb.loc:/home/uchum/work/bk/4.1-opt
-
igor@olga.mysql.com authored
into olga.mysql.com:/home/igor/mysql-5.1-opt
-
gshchepa/uchum@gleb.loc authored
Merge with 5.1.
-
- 24 Jun, 2007 4 commits
-
-
gshchepa/uchum@gleb.loc authored
into gleb.loc:/home/uchum/work/bk/5.1-opt
-
igor@olga.mysql.com authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25602
-
gshchepa/uchum@gleb.loc authored
into gleb.loc:/home/uchum/work/bk/5.0-opt
-
igor@olga.mysql.com authored
the loose scan optimization for grouping queries was applied returned a wrong result set when the query was used with the SQL_BIG_RESULT option. The SQL_BIG_RESULT option forces to use sorting algorithm for grouping queries instead of employing a suitable index. The current loose scan optimization is applied only for one table queries when the suitable index is covering. It does not make sense to use sort algorithm in this case. However the create_sort_index function does not take into account the possible choice of the loose scan to implement the DISTINCT operator which makes sorting unnecessary. Moreover the current implementation of the loose scan for queries with distinct assumes that sorting will never happen. Thus in this case create_sort_index should not call the function filesort.
-
- 23 Jun, 2007 5 commits
-
-
gshchepa/uchum@gleb.loc authored
into gleb.loc:/home/uchum/work/bk/5.1-opt
-
gshchepa/uchum@gleb.loc authored
into gleb.loc:/home/uchum/work/bk/5.0-opt
-
gshchepa/uchum@gleb.loc authored
into gleb.loc:/home/uchum/work/bk/5.1-opt
-
gshchepa/uchum@gleb.loc authored
into gleb.loc:/home/uchum/work/bk/5.0-opt
-
gshchepa/uchum@gleb.loc authored
INSERT into table from SELECT from the same table with ORDER BY and LIMIT was inserting other data than sole SELECT ... ORDER BY ... LIMIT returns. One part of the patch for bug #9676 improperly pushed LIMIT to temporary table in the presence of the ORDER BY clause. That part has been removed.
-
- 22 Jun, 2007 12 commits
-
-
joerg@trift2. authored
into trift2.:/MySQL/M51/push-5.1
-
joerg@trift2. authored
into trift2.:/MySQL/M51/push-5.1
-
joerg@trift2. authored
into trift2.:/MySQL/M50/push-5.0
-
joerg@trift2. authored
into trift2.:/MySQL/M51/push-5.1
-
tsmith@maint1.mysql.com authored
into maint1.mysql.com:/data/localhome/tsmith/bk/maint/51
-
joerg@trift2. authored
to be run only if it is available on the machine.
-
gkodinov/kgeorge@magare.gmz authored
into magare.gmz:/home/kgeorge/mysql/autopush/B28400-5.0-opt
-
gkodinov/kgeorge@magare.gmz authored
The C optimizer may decide that data access operations through pointer of different type are not related to the original data (strict aliasing). This is what happens in fetch_long_with_conversion(), when called as part of mysql_stmt_fetch() : it tries to check for truncation errors by first storing float (and other types of data) into a char * buffer and then accesses them through a float pointer. This is done to prevent the effects of excess precision when using FPU registers. However the doublestore() macro converts a double pointer to an union pointer. This violates the strict aliasing rule. Fixed by making the intermediary variables volatile ( to not re-introduce the excess precision bug) and using the intermediary value instead of the char * buffer. Note that there can be loss of precision for both signed and unsigned 64 bit integers converted to double and back, so the check must stay there (even for compatibility reasons). Based on the excellent analysis in bug 28400.
-
joerg@trift2. authored
into trift2.:/MySQL/M51/push-5.1
-
joerg@trift2. authored
into trift2.:/MySQL/M51/push-5.1
-
joerg@trift2. authored
into trift2.:/MySQL/M50/push-5.0
-
tsmith@maint1.mysql.com authored
into maint1.mysql.com:/data/localhome/tsmith/bk/maint/51
-