Fixed memory leak in new filesort code
Optimzed sub selects to use keys with outer references.
Increased max tables in join to 62
client/Makefile.am:
Remve test programs
myisam/mi_check.c:
Remove compiler warnings
myisam/mi_delete.c:
Remove 'rnd' variable to make usage repeatable
myisam/mi_open.c:
Remove 'rnd' variable to make usage repeatable
myisam/mi_write.c:
Remove 'rnd' variable to make usage repeatable
myisam/myisamdef.h:
Remove 'rnd' variable to make usage repeatable
myisam/myisamlog.c:
Remove 'rnd' variable to make usage repeatable
mysql-test/r/subselect.result:
new test
mysql-test/t/join.test:
Updated test
mysql-test/t/subselect.test:
new test
sql/filesort.cc:
Added function to free buffers allocated by filesort
sql/item.cc:
Sub select optimization
sql/item_cmpfunc.cc:
Sub select optimization
sql/item_subselect.cc:
Sub select optimization
sql/item_sum.cc:
Removed compiler warnings
sql/item_sum.h:
Simple code cleanup
sql/log.cc:
Removed compiler warning
sql/mysql_priv.h:
Made table_map ulonglong to allow 62 tables in join
sql/records.cc:
Moved free of filesort buffers to own function
sql/sql_select.cc:
subselect optimization
Call filesort_free_buffers() to free memory from filesort
sql/unireg.h:
Sub select optimization
was not properly stored in the buffer.
sql/item_strfunc.cc:
Made it work on MacOS X (bigendian) where int4store is a macro that expands
the arguments several times.
It's possible this should be done differently, like not side-stepping the
String methods the way it's done here, or fixing String::c_ptr(), but this
simple fix was the quickest way.
Protocol_cursor task
net_field_length definitions trimmed with Monty's suggestions
BitKeeper/etc/ignore:
Added sql/pack.c to the ignore list
include/my_global.h:
my_ulonglong definition moved here from mysql.h
include/mysql.h:
we define my_ulonglong here only if no global.h included
include/mysql_com.h:
net_field_length_ll definition is here now
sql/mini_client.cc:
unnecessary cast removed
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
into hundin.mysql.fi:/home/igor/dev/mysql-4.1
mysql-test/r/ctype_collate.result:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_select.cc:
Auto merged
is executed, even if the transaction spans on >=2 relay logs (bug #53).
New variable relay_log_purge =0|1
New test to verify bug #53
sql/log.cc:
Now we purge a relay log only when we are sure we won't need it,
i.e. we have executed the final query (if autocommit=1) or the COMMIT.
sql/log_event.cc:
Better tracking of the relay log's name and position
lastly executed, even if we are in a transaction which spans on
2 or more relay logs.
sql/mysql_priv.h:
new option relay_log_purge (the user can now decide himself
if he wants his relay logs to be automatically purged or not,
we don't make unsafe guesses like before)
sql/mysqld.cc:
new option --innodb (replaces --skip-innodb).
Useful for the test suite : we have skip-innodb in mysql-test-run,
but we can ('-opt.info' file) choose to start the server with
InnoDB for this test only.
New option --bdb
sql/repl_failsafe.cc:
Better tracking of the relay log's name and position
lastly executed, even if we are in a transaction which spans on
2 or more relay logs.
sql/set_var.cc:
new variable relay_log_purge
sql/slave.cc:
Better tracking of the relay log's name and position
lastly executed, even if we are in a transaction which spans on
2 or more relay logs.
Now we purge a relay log only when we are sure we won't need it,
i.e. we have executed the final query (if autocommit=1) or the COMMIT
sql/slave.h:
Better tracking of the relay log's name and position
lastly executed, even if we are in a transaction which spans on
2 or more relay logs.
sql/sql_class.h:
prototypes change
sql/sql_parse.cc:
removed thd argument (was not used in the function's body)
sql/sql_repl.cc:
Better tracking of the relay log's name and position
lastly executed, even if we are in a transaction which spans on
2 or more relay logs.
Turn relay_log_purge silently off when someone does CHANGE
MASTER TO RELAY_LOG_*
Added the MAX_LENGTH_FOR_SORT_DATA option
ctype_collate.result:
Added the MAX_LENGTH_FOR_SORT_DATA option
mysql-test/r/ctype_collate.result:
Added the MAX_LENGTH_FOR_SORT_DATA option
mysql-test/r/ctype_many.result:
Added the MAX_LENGTH_FOR_SORT_DATA option
mysql-test/r/func_gconcat.result:
Added the MAX_LENGTH_FOR_SORT_DATA option
Added the MAX_LENGTH_FOR_SORT_DATA option
filesort.cc:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/filesort.cc:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/mysqld.cc:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/opt_range.cc:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/records.cc:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/set_var.cc:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/sql_base.cc:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/sql_class.h:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/sql_delete.cc:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/sql_select.cc:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/sql_sort.h:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/sql_table.cc:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/sql_update.cc:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/structs.h:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/table.h:
Added the MAX_LENGTH_FOR_SORT_DATA option
sql/uniques.cc:
Added the MAX_LENGTH_FOR_SORT_DATA option
We don't need this code any more. It was used to initialize CONVERT structure in 4.0.
sql/set_var.cc:
We don't need this code any more. It was used to initialize CONVERT structure in 4.0.
into sanja.is.com.ua:/home/bell/mysql/bk/work-order-4.1
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/subselect.result:
new test results
test of bug 185
mysql-test/t/subselect.test:
test of bug 185
sql/item.h:
new method
sql/item_cmpfunc.cc:
new Item to control NULL value in HAVING clouse
sql/item_cmpfunc.h:
new Item to control NULL value in HAVING clouse
sql/item_subselect.cc:
if IN was rewrited through WHERE thien it will be rewrited in following way:
WHERE left_expr=item or is null(item) heving is_not_null_test(item)
sql/item_subselect.h:
Item_is_not_null_test can change was_null flag
sql/sql_select.cc:
some layout fix
Very nasty bug.
It was caused by double free()-ing memory of join->select and
join->quick.
I was able to pinpoint it only after using Valgrind.
Plus better fix for bug with TMP_TABLE_PARAM.
Plus new constructor for SELECT_LEX.
mysql-test/r/innodb.result:
Fix for a bug record #307.
Very nasty bug.
It was caused by double free()-ing memory of join->select and
join->quick.
I was able to pinpoint it only after using Valgrind.
mysql-test/t/innodb.test:
Fix for a bug record #307.
Very nasty bug.
It was caused by double free()-ing memory of join->select and
join->quick.
I was able to pinpoint it only after using Valgrind.
sql/sql_lex.cc:
Adding a usefull constructor
sql/sql_lex.h:
Adding a usefull constructor which additionally required few more
definitions.
sql/sql_select.cc:
Fix for a bug record #307.
Very nasty bug.
It was caused by double free()-ing memory of join->select and
join->quick.
I was able to pinpoint it only after using Valgrind.
sql/sql_union.cc:
Fixing bug #307.
Also, a better fix for TMP_TABLE_PARAM bug.
Also, use of the new constructor for SELECT_LEX.