Added test cases for bug #6474.
sql_select.cc:
Fixed bug #6474. A wrong result was returned when a query
contained the same equality of the form field=const on
different AND levels.
sql/sql_select.cc:
Fixed bug #6474. A wrong result was returned when a query
contained the same equality of the form field=const on
different AND levels.
mysql-test/t/select.test:
Added test cases for bug #6474.
mysql-test/r/select.result:
Added test cases for bug #6474.
bug #6515: count(distinct...) crashes the server)
mysql-test/r/count_distinct.result:
A test case (bug #6515: count(distinct...) crashes the server)
mysql-test/r/func_gconcat.result:
A test case (bug #6475: Another server crash in 5.0.2)
mysql-test/t/count_distinct.test:
A test case (bug #6515: count(distinct...) crashes the server)
mysql-test/t/func_gconcat.test:
A test case (bug #6475: Another server crash in 5.0.2)
sql/sql_select.cc:
A fix (bug #6475: Another server crash in 5.0.2
bug #6515: count(distinct...) crashes the server)
In order to prevent repeated setup() call in the JOIN::make_sum_func_list(),
the code was splitted: new setup_sum_funcs() was introduced.
Note: we don't call setup_sum_funcs() in the opt_range.cc:get_best_group_min_max().
into mysql.com:/home/my/mysql-5.0
BitKeeper/etc/ignore:
auto-union
sql/item_subselect.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_view.cc:
Auto merged
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-Makefile.am:
Delete: Docs/Images/Makefile.am
configure.in:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/t/ps.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/table.cc:
Auto merged
Added push_back(void *, MEM_ROOT *) to make some list-handling code easier that needs to be allocated in a different mem-root
(Before one had to change thd->mem_root ; push_back(); restore mem_root.
mysql-test/t/range.test:
After merge fixRecR
sql/item_func.cc:
After merge fix
sql/item_sum.cc:
After merge fix
sql/opt_range.cc:
After merge fix
sql/parse_file.cc:
After merge fix
sql/sp.cc:
After merge fix
sql/sp_head.cc:
After merge fix
sql/sp_head.h:
After merge fix
sql/sql_base.cc:
After merge fix
sql/sql_class.h:
After merge fix
sql/sql_list.h:
Added push_back(void *, MEM_ROOT *) to make some list-handling code easier that needs to be allocated in a different mem-root
(Before one had to change thd->mem_root ; push_back(); restore mem_root.
sql/sql_prepare.cc:
After merge fix
sql/sql_select.cc:
After merge fix
sql/sql_table.cc:
After merge fix
Fixed problem with OPTIMIZE on INNODB tables
sql/sql_trigger.cc:
After merge fix
sql/sql_union.cc:
After merge fix
sql/sql_view.cc:
After merge fix
sql/sql_yacc.yy:
After merge fix
sql/table.cc:
After merge fix
BitKeeper/etc/ignore:
auto-union
client/mysqldump.c:
Auto merged
client/mysqltest.c:
Auto merged
innobase/include/row0mysql.h:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/func_in.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
mysql-test/r/ps_6bdb.result:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/user_var.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_error.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
locks all rows (BUG #3300). When using innobase_locks_unsafe_for_binlog
option InnoDB does not take locks for those rows which do not
belong to the result set or werent changed by the query. This fix removes
unnecessary locks also from SELECT and DELETE queries.
innobase/include/row0mysql.h:
Added prototype for row_unlock_for_mysql() function which does an unlock of
a row for MySQL.
innobase/include/trx0trx.h:
Added a field trx_create_lock to a transaction structure. This field is
TRUE if we have created a new lock for a record accessed.
innobase/lock/lock0lock.c:
Set lock create flag if lock is created and reset this flag before
transaction requests a lock.
innobase/row/row0mysql.c:
Add support for unlocking a row in InnoDB. If we are using
innobase_locks_unsafe_for_binlog option then all those record
locks obtained by SQL-query which do not belong to result set
or were not modified are unlocked i.e. we remove the lock from
those records.
sql/ha_innodb.cc:
Added support for a unlock_row interface in InnoDB.
sql/ha_innodb.h:
Added prototype for a function unlock_row().
into sanja.is.com.ua:/home/bell/mysql/bk/work-view-5.0
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.h:
Auto merged
mysql-test/r/multi_update.result:
test with multiupdate reopening tables
mysql-test/t/multi_update.test:
test with multiupdate reopening tables
sql/item.cc:
processor for cleunuping items in item tree
sql/item.h:
processor for cleunuping items in item tree
sql/sql_update.cc:
fixed case when lock reopened tables
sql/table.cc:
methos for cleunup view itema of table if they are present
sql/table.h:
methos for cleunup view itema of table if they are present
Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root.
This gives us the following benefits:
- Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases)
- Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT)
- We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root
client/mysqltest.c:
Remove some not needed defines
(Things like this should be done in config-win.h)
include/config-win.h:
Added popen() and pclose() compatibility macros
mysql-test/t/rpl_failed_optimize-master.opt:
Portability fix
sql/ha_berkeley.cc:
New thd->memroot handling
sql/item_cmpfunc.cc:
Simpler arena swapping code
sql/item_func.cc:
Simpler arena swapping code
sql/item_subselect.cc:
Simpler arena swapping code
New thd->mem_root handling
sql/item_sum.cc:
New thd->mem_root handling
sql/item_timefunc.cc:
Fixed not-initalized usage errors found by valgrind
sql/log_event.cc:
New thd->mem_root handling
sql/mysql_priv.h:
New thd->mem_root handling
sql/mysqld.cc:
New thd->mem_root handling
sql/opt_range.cc:
New thd->mem_root handling
sql/repl_failsafe.cc:
New thd->mem_root handling
sql/set_var.cc:
New thd->mem_root handling
sql/sql_acl.cc:
New thd->mem_root handling
sql/sql_base.cc:
Simpler arena swapping code
New thd->mem_root handling
sql/sql_class.cc:
New thd->mem_root handling
sql/sql_class.h:
Simpler arena swapping code
New thd->mem_root handling
sql/sql_db.cc:
New thd->mem_root handling
sql/sql_error.cc:
New thd->mem_root handling
sql/sql_help.cc:
New thd->mem_root handling
sql/sql_insert.cc:
New thd->mem_root handling
sql/sql_parse.cc:
New thd->mem_root handling
Added some extra checking of return value of new
sql/sql_prepare.cc:
New thd->mem_root handling
sql/sql_select.cc:
New thd->mem_root handling
sql/sql_select.h:
New thd->mem_root handling
sql/sql_union.cc:
Simpler arena swapping code
sql/sql_yacc.yy:
New thd->mem_root handling
sql/table.cc:
New thd->mem_root handling
sql/thr_malloc.cc:
New thd->mem_root handling
tests/client_test.c:
Added drop table to some tests
Changed some table names to 't1'
Included header fnmatch.h on Unix
Changed C++ comments to C comments
Corrected indentation of code written on Windows
Split up lines to fit into 80 columns
Initiated some variables to avoid warnings
Added __attribute__((unused)) to unused function parameters
Replace tab characters with space
Put space after 'for', 'while' etc
Added value to 'return' from non void function removef()
On Unix strlwr() was incorrectly declared and a no op,
replaced it with a macro that does nothing
Split several statements on the same line
Other minor changes to conform to coding standard
mysql-test/mysql_test_run_new.c:
Included header fnmatch.h on Unix
Changed C++ comments to C comments
Corrected indentation of code written on Windows
Split up lines to fit into 80 columns
Initiated some variables to avoid warnings
Added __attribute__((unused)) to unused function parameters
Replace tab characters with space
Put space after 'for', 'while' etc
Added value to 'return' from non void function removef()
On Unix strlwr() was incorrectly declared and a no op,
replaced it with a macro that does nothing
Split several statements on the same line
Other minor changes to conform to coding standard
into sanja.is.com.ua:/home/bell/mysql/bk/work-view-5.0
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.h:
Auto merged
Removed duplicate code where defaults in handler.h will work just as well.
sql/examples/ha_archive.cc:
Fixed build errors, and removed duplicate code.
sql/examples/ha_archive.h:
Removed duplicate code (we will let the default values in handler.h handle these cases).
Added cases for bugs #6307 and #6460.
sql_select.cc:
Fixed the problem of bug reports #6307 and #6460.
The reported wrong result sets were due to the fact that
the added call of the fix_fields method for the built
AND condition that joined WHERE and ON conditions
broke ON expression, as it removed extra AND levels
in the built condition.
It looks like that no attributes of the built condition
are needed, so we don't have to call fix_fields here.
sql/sql_select.cc:
Fixed the problem of bug report #6307 and #6460.
The reported wrong result sets were due to the fact that
the added call of the fix_fields method for the built
AND condition that joined WHERE and ON conditions
broke ON expression.
It looks like that no attributes of the built condition
are needed, so we don't have to call fix_fields here.
mysql-test/t/join_outer.test:
Added cases for bugs #6307 and #6460.
mysql-test/r/join_outer.result:
Added cases for bugs #6307 and #6460.
sql/sql_select.cc:
Fix the client_test failure (due to failing cursors tests after the merge):
move some code around, use set_n_backup calls instead of by-hand
setup.
and blank after function name".
Crop fruits of copy-paste programming: pre-caching of stored functions
wasn't performed for prepared statements just because implementation
of prepared statements is done as an add-on to the main execution flow,
and the preload was originally implemented for main execution branch
only (mysql_execute_command).
mysql-test/r/ps.result:
Test results fixed: bug#6102
mysql-test/t/ps.test:
A test case for Bug#6102 "Server crash with prepared statement
and blank after functionname"
sql/sql_prepare.cc:
A fix for Bug#6102 "Server crash with prepared statement and blank
after functionname": we need to preload stored functions from system tables
before we open any other tables.
of client equals to character set of connection, possibly required
conversion to character set of column is not performed
(prepared statements, data is supplied using placeholders).
sql/item.cc:
Fix for the bug reported by Reggie: if character_set_connection
is equal to character_set_client, placeholder's value is not converted
furhter to character set of column when it's different.
This is because the original implementation left placeholder's character
set intact (binary) if there were no need for client->connection conversion.
tests/client_test.c:
A test case for the conversion bug.
in 4.1: Dump only VARBINARY() in hex,
while VARCHAR() COLLATE xxx_bin as a string.
client/mysqldump.c:
in 4.1: Dump only VARBINARY() in hex,
while VARCHAR() COLLATE xxx_bin as a string.