Fixed 'not initialized' memory error.
mysql-test/mysql-test-run.sh:
Updates to be able to more easily use --valgrind
mysql-test/r/alter_table.result:
Added missing drop table
mysql-test/t/alter_table.test:
Added missing drop table
sql/field.cc:
Simple optimizations
sql/ha_innodb.cc:
Remove copying of parameters as this leads to memory leaks in MySQL.
Should be instead fixed by, in embedded server, make a temporary copy of
all parameters and free them on server-end
sql/log.cc:
Simple optimization
sql/mysql_priv.h:
Move external reference to struct to include file
sql/mysqld.cc:
Added safety asserts
sql/sql_class.cc:
Fixed non fatal 'not initialized memory reference error' in thread init
sql/sql_udf.cc:
Clear current_thd for global thread
strings/strto.c:
Simple optimization
LIMIT clause when filesort had to be used.
In that case LIMIT was applied to filesort of one of the tables,
although it could not be.
This fix solved problems with LEFT JOIN too...
Optimized SELECT DISTINCT ... ORDER BY ... LIMIT
Fixed reference to uninitalized variable
mysql-test/r/distinct.result:
Updated results for new tests
mysql-test/r/func_math.result:
Fixed test of RND()
mysql-test/r/innodb.result:
Updated results for new tests
mysql-test/r/null.result:
Updated results for new tests
mysql-test/t/distinct.test:
New distinct test
mysql-test/t/func_math.test:
Fixed test of RND()
mysql-test/t/innodb.test:
Test for bugs
mysql-test/t/null.test:
TEst for bugs
sql/field.h:
Change of NULL handling to avoid error messages
sql/field_conv.cc:
Change of NULL handling to avoid error messages
sql/item.cc:
Change of NULL handling to avoid error messages
sql/item.h:
Change of NULL handling to avoid error messages
sql/item_cmpfunc.cc:
Change of NULL handling to avoid error messages
sql/item_func.cc:
Change of NULL handling to avoid error messages
sql/item_func.h:
Cleaned up RND() handling
sql/item_timefunc.cc:
Change of NULL handling to avoid error messages
sql/item_timefunc.h:
Change of NULL handling to avoid error messages
sql/opt_range.cc:
Fixed bug in <=> NULL
sql/password.c:
Indentation cleanup
sql/sql_base.cc:
Change of NULL handling to avoid error messages
sql/sql_class.cc:
Fixed reference to uninitalized variable
sql/sql_handler.cc:
Change of NULL handling to avoid error messages
sql/sql_select.cc:
Change of NULL handling to avoid error messages
Optimized SELECT DISTINCT ... ORDER BY ... LIMIT
sql/sql_select.h:
Change of NULL handling to avoid error messages
sql/unireg.cc:
Change of NULL handling to avoid error messages
More tests for multi-table-update & timestamp handling
mysql-test/r/innodb.result:
New multi-table-update tests
mysql-test/r/multi_update.result:
New multi-table-update tests
mysql-test/r/type_timestamp.result:
New timestamp tests
mysql-test/t/innodb.test:
New multi-table-update tests
mysql-test/t/multi_update.test:
New multi-table-update tests
mysql-test/t/type_timestamp.test:
New timestamp tests
sql/sql_select.cc:
Fixed bug in safe mode checking
sql/sql_update.cc:
Fixed bug in autocommit in multi-table-update
New (simpler) internal timestamp handling.
More debuging to heap tables.
Small cleanups to multi-table-delete
false -> 0 and true -> 1 (We should use TRUE and FALSE)
heap/_check.c:
Added checking of rows
heap/hp_delete.c:
Extra debugging
heap/hp_scan.c:
Extra debugging
heap/hp_update.c:
Extra debugging
heap/hp_write.c:
Extra debugging
include/my_base.h:
Added option to disable row cache when using updates
isam/extra.c:
Added option to disable row cache when using updates
myisam/mi_check.c:
Comment cleanup
myisam/mi_extra.c:
Added option to disable row cache when using updates
myisam/sort.c:
Indentaion cleanups
myisammrg/myrg_extra.c:
Added option to disable row cache when using updates
mysql-test/r/multi_update.result:
Updated results
mysql-test/t/multi_update.test:
Cleanup up to only use table names t1, t2,...
mysys/mf_iocache.c:
Safety fix
sql/item_cmpfunc.cc:
change true-> 1 and false -> 0
sql/mysql_priv.h:
Cleaned up SQL_LIST handling
sql/sql_base.cc:
Fixed grant checking if SELECT tablename.*
sql/sql_class.h:
Cleaned up multi-table-update
sql/sql_delete.cc:
Fixed OPTION_SAFE_UPDATE checking in multi-table-delete.
Fixed query-cache invalidation in multi-table-delete
sql/sql_insert.cc:
cleaned up timestamp handling
sql/sql_olap.cc:
false -> 0
sql/sql_parse.cc:
Optimized some list handling.
Moved multi-table-update to sql_update.cc
sql/sql_select.cc:
More comments
Fixed create_tmp_table for multi-table-update
sql/sql_select.h:
New prototypes
sql/sql_union.cc:
false -> 0
Cleaned up timestamp handling
sql/sql_update.cc:
New multi-update-table code
sql/sql_yacc.yy:
false -> 0, true -> 1
Optimized some list handling
sql/table.h:
Added union for temporary values.
Made shared int to be able to store counters.
sql/uniques.cc:
Indentation cleanup
Added CEIL as an alias for CEILING
Cleaned up CHECK constraint handling.
(We don't anymore require braces after CHECK)
Added casting to CHAR.
mysql-test/r/bigint.result:
Moved casting test to cast.test
mysql-test/r/func_time.result:
Test of new functions
mysql-test/t/bigint.test:
Moved casting test to cast.test
mysql-test/t/func_time.test:
Test of new functions
sql/item_create.cc:
Added casting to CHAR
sql/item_func.h:
Added casting to CHAR
sql/item_timefunc.h:
Added casting to CHAR
sql/lex.h:
Added new ANSI functions LOCALTIME, LOCALTIMESTAMP and CURRENT_USER
Added CEIL as an alias for CEILING
sql/sql_yacc.yy:
Cleaned up CHECK constraint handling.
Fix for Mac OS X shutdown
mysql-test/mysql-test-run.sh:
Log client error messages
mysql-test/r/null_key.result:
Test for bug in <=> NULL
mysql-test/t/null_key.test:
Test for bug in <=> NULL
sql/mysqld.cc:
Fix for Mac OS X shutdown
sql/opt_range.cc:
Fixed bug with indexed NULL column <=> NULL
excluded double call of 'invalidate()'
mysql-test/r/innodb_cache.result:
test of invalidation
mysql-test/t/innodb_cache.test:
test of invalidation
sql/handler.cc:
excluded double call of 'invalidate()'
sql/sql_delete.cc:
fixed invalidation of query cache
sql/sql_insert.cc:
fixed invalidation of query cache
sql/sql_update.cc:
fixed invalidation of query cache
Fix for shutdown on Mac OS X
include/my_tree.h:
Try to optimize the cache buffer size needed for bulk_insert
myisam/mi_write.c:
Try to optimize the cache buffer size needed for bulk_insert
mysql-test/r/bdb.result:
Make test repeatable
mysql-test/t/bdb.test:
Make test repeatable
mysys/tree.c:
Try to optimize the cache buffer size needed for bulk_insert
sql/mysql_priv.h:
Small optimization
sql/mysqld.cc:
Fix for shutdown on Mac OS X
sql/sql_insert.cc:
Try to optimize the cache buffer size needed for bulk_insert
sql/sql_yacc.yy:
Call thd->strmake() instead of sql_strmake()
sql/table.cc:
Try to optimize the cache buffer size needed for bulk_insert
sql/table.h:
Try to optimize the cache buffer size needed for bulk_insert
Redo of changeset I commited, but failed to push
mysql-test/r/bool.result:
Added tests for boolean operators in select part
mysql-test/t/bool.test:
Added tests for boolean operators in select part
Add support for LIMIT # OFFSET #
Changed lock handling: Now all locks should be stored in TABLE_LIST instead of passed to functions.
Don't call query_cache_invalidate() twice in some cases
mysql_change_user() now clears states to be equal to close + connect.
Fixed a bug with multi-table-update and multi-table-delete when used with LOCK TABLES
Fixed a bug with replicate-do and UPDATE
BitKeeper/etc/ignore:
added autom4te.cache/* bdb/dist/autom4te.cache/* innobase/autom4te.cache/*
include/my_alloc.h:
Small improvement to alloc_root
libmysql/libmysql.c:
Removed compiler warning
myisam/mi_page.c:
Better DBUG message
mysql-test/r/multi_update.result:
Added test with lock tables
mysql-test/r/rpl_replicate_do.result:
Update results
mysql-test/r/rpl_rotate_logs.result:
Make test independent of if t1 exists
mysql-test/t/multi_update.test:
Added test with lock tables
mysql-test/t/rpl_rotate_logs.test:
Make test independent of if t1 exists
mysys/my_alloc.c:
Small imprevement to alloc_root
(Don't free blocks less than ALLOC_MAX_BLOCK_ROOT (4K)
sql/ha_innodb.cc:
More debug messages
sql/ha_myisam.cc:
Safety change
sql/lex.h:
Add support for LIMIT # OFFSET #
sql/lock.cc:
Added assertion
sql/mysql_priv.h:
Change of lock handling
sql/mysqld.cc:
Added function clear_error_messages()
sql/sql_base.cc:
Change lock handling by open_ltable() and open_and_lock_tables()
sql/sql_class.cc:
Split THD::THD to two functions
Move some code from cleanup() to ~THD:THD
Add THD::change_user()
sql/sql_class.h:
Prototype changes in class THD
sql/sql_delete.cc:
Remove locking argument from mysql_delete()
Locking type is now stored in TABLE_LIST
Small code change to not call query_cache_invalidate() twice for transactional tables.
sql/sql_insert.cc:
Remove locking argument from mysql_insert()
Locking type is now stored in TABLE_LIST
Small code change to not call query_cache_invalidate() twice for transactional tables.
Don't use bulk insert if bulk_insert_buff_size is 0
sql/sql_parse.cc:
Changes to make mysql_change_user() work as close+connect
Changed command statistics to use statstics_increment to get more speed
Update code to handle that locks is now stored in TABLE_LIST
sql/sql_update.cc:
Remove locking argument from mysql_update()
Locking type is now stored in TABLE_LIST
Small code change to not call query_cache_invalidate() twice for transactional tables.
sql/sql_yacc.yy:
Locking type is now stored in TABLE_LIST
Added support for LIMIT # OFFSET # syntax
Removed some wrong (never true) checks for SQLCOM_MULTI_UPDATE
mysql-test/t/rpl_replicate_do-slave.opt:
Changed tables to use t1,t2,...
mysql-test/t/rpl_replicate_do.test:
Changed tables to use t1,t2,...
Fix for another optimize bug is undone, as the new one handles both cases.
test added
mysql-test/r/myisam.result:
updated
mysql-test/t/myisam.test:
optimize table corruption test
sql/ha_myisam.cc:
optimize table corruption fixed, though more clean fix is desired.
Fix for another optimize bug is undone, as the new one handles both cases.
unlink socket file if mysqld dies on startup
Some optimization of AND expressions
mysql-test/r/func_time.result:
Update for new week() handling
mysql-test/t/func_time.test:
Update for new week() handling
sql/item_cmpfunc.cc:
Optimization of IF( and-expression,,)
sql/item_cmpfunc.h:
Optimization of AND expressions
sql/item_timefunc.cc:
Extended WEEK() to be able to handle ISO weeks.
sql/mysqld.cc:
unlink socket file if mysqld dies on startup
sql/sql_base.cc:
Fixed problem with SIGHUP and INSERT DELAYED
tests/Makefile.am:
Added missing myisam-big-rows.tst file to source distribution
This is coded to not cause a speed impact on top level AND expressions where we don't care if an AND expression returns 0 or NULL
mysql-test/r/bdb.result:
Fix results after serges last patch
mysql-test/r/innodb.result:
Fix results after serges last patch
mysql-test/r/null.result:
Update for new AND handling of NULL
scripts/mysqld_safe.sh:
Fix 'isroot' test to work even if user is not root
sql/item.h:
Fixed that NULL and 0 returns 0 instead of NULL
sql/item_cmpfunc.cc:
Fixed that NULL and 0 returns 0 instead of NULL
sql/item_cmpfunc.h:
Fixed that NULL and 0 returns 0 instead of NULL
sql/sql_base.cc:
Fixed that NULL and 0 returns 0 instead of NULL
sql/sql_parse.cc:
Fixed that NULL and 0 returns 0 instead of NULL
sql/sql_select.cc:
Fixed that NULL and 0 returns 0 instead of NULL
sql/sql_yacc.yy:
Fixed that NULL and 0 returns 0 instead of NULL
Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
New variables @@rand_seed1 and @@rand_seed2 (used by replication)
DROP TEMPORARY TABLE
mysql-test/r/rpl_log.result:
Update of results after last replication change
mysql-test/r/variables.result:
Test of new variables @@rand_seed1 and @@rand_seed2
mysql-test/t/variables.test:
Test of new variables @@rand_seed1 and @@rand_seed2
sql/field.cc:
Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
sql/field.h:
Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
sql/item_func.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/log.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
More debug information
sql/log_event.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/log_event.h:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/set_var.cc:
Add system variables @@rand_seed1 and @@rand_seed2
sql/set_var.h:
Add system variables @@rand_seed1 and @@rand_seed2
sql/slave.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_acl.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_base.cc:
Store DROP of temporary tables in binlog cache
sql/sql_class.h:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_db.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_delete.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_insert.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_lex.h:
DROP TEMPORARY TABLE
sql/sql_load.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_parse.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_rename.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_repl.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_repl.h:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_table.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_update.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_yacc.yy:
DROP TEMPORARY
sql/table.cc:
Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
sql/unireg.cc:
Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
Some simple optimizations
Docs/manual.texi:
Updted how binary log works
mysql-test/mysql-test-run.sh:
Added usage of --port to mysqltest
mysql-test/r/func_test.result:
Moved test of datetime comparison to func_time
mysql-test/r/func_time.result:
New test
mysql-test/t/func_test.test:
Moved test of datetime comparison to func_time
mysql-test/t/func_time.test:
Test of DATE BETWEEN TIMESTAMPS
sql/field.h:
Removed wrong patch
sql/item_cmpfunc.cc:
Removed wrong patch
(Need to be fixed by taking into account all arguments to between)
sql/lock.cc:
Removed call to current_thd
sql/set_var.cc:
Don't show 'socket' variable if sockets are not used
sql/sql_base.cc:
Simple optimisation