optimiser bug patch.
mysql-test/r/distinct.result:
test results reverted
mysql-test/r/order_by.result:
test results reverted
sql/sql_select.cc:
found_constrain renamed to found_constraint
We don't perform full cartesian product in
case when JOIN BUFFER is used: it was taken
into account.
s->read_time may contain range index read time,
so to get full table scan time is necessary to
call s->table->file->scan_time().
to estimate correctly cost of full table scan we should take into
account rows read and skipped on each iteration.
mysql-test/r/distinct.result:
Fixed test suite: now full scan is used
less often
mysql-test/r/join_outer.result:
Fixed test suite: now full scan is used
less often
mysql-test/r/select_safe.result:
Fixed test suite: now full scan is used
less often
Change optimizer to prefer key lookups before table scan
Change table scans to be done after tables with constrains on scanned table
mysql-test/r/distinct.result:
Update results
mysql-test/r/group_by.result:
Update results
mysql-test/r/heap.result:
Update results
mysql-test/r/join.result:
Update results
mysql-test/r/key_diff.result:
Update results
mysql-test/r/myisam.result:
Update results
mysql-test/r/order_by.result:
Update results
mysql-test/r/select_safe.result:
Update results
mysql-test/t/distinct.test:
Change test to be repeatable
mysql-test/t/join.test:
Change test to be repeatable
mysql-test/t/select_safe.test:
Add tests for MAX_SEEKS_FOR_KEY
sql/handler.h:
Optimize structure for 64 bit machines (and to avoid problems with gdb)
sql/item_cmpfunc.cc:
Initialize not_null_tables_cache properly
sql/mysqld.cc:
Added max_seeks_for_key
sql/set_var.cc:
Added max_seeks_for_key
sql/sql_class.h:
Added max_seeks_for_key
sql/sql_select.cc:
Added max_seeks_for_key
Change optimizer to prefer key lookups before table scan.
Change table scans to be done after tables with constrains on scanned table
Added ALL as parameter option for all group functions.
Make join handling uniform. This allows us to use ',', JOIN and INNER JOIN the same way.
Sort NULL last if DESC is used (ANSI SQL 99 requirement)
include/my_global.h:
Moved LL from mysql_priv (as this is also in config-win.h)
mysql-test/r/distinct.result:
Updated results
mysql-test/r/func_group.result:
Updated results
mysql-test/r/innodb.result:
Updated results
mysql-test/r/join.result:
Updated results
mysql-test/r/order_by.result:
Updated results
mysql-test/t/func_group.test:
Added test for SUM(ALL ...)
mysql-test/t/innodb.test:
Added test for START TRANSACTION
mysql-test/t/join.test:
Test different join syntaxes
mysql-test/t/order_by.test:
Added new test of NULL ordering.
sql/filesort.cc:
Sort NULL last if DESC is used
sql/lex.h:
Added OLD_PASSWORD() as synonym for PASSWORD.
sql/mysql_priv.h:
Removed LL()
sql/opt_range.cc:
Sort NULL last if DESC is used
sql/opt_range.h:
Sort NULL last if DESC is used
sql/slave.cc:
Indentation changes
sql/sql_parse.cc:
After merge fix
sql/sql_select.cc:
Added comment
sql/sql_yacc.yy:
Added START TRANSACTION syntax
Added ALL as parameter option for all group functions.
Make join handling uniform.
Don't enable any bulk insert or record caching code if inserting less than MIN_ROWS_TO_USE_BULK_INSERT rows (100)
myisam/mi_check.c:
Fixed bug in copying statistics for disabled index
mysql-test/r/distinct.result:
Fix result after not doing key statistics for first insert.
mysql-test/r/fulltext.result:
Fix result after not doing key statistics for first insert.
mysql-test/r/insert.result:
Fix result after not doing key statistics for first insert.
mysql-test/r/key_diff.result:
Fix result after not doing key statistics for first insert.
mysql-test/r/order_by.result:
Fix result after not doing key statistics for first insert.
mysql-test/r/select.result:
Fix result after not doing key statistics for first insert.
mysql-test/r/show_check.result:
Fix result after not doing key statistics for first insert.
sql/ha_myisam.cc:
Don't disable index when inserting only a few rows
sql/log.cc:
Transactions in AUTOCOMMIT=0 mode didn't rotate binary log.
sql/sql_insert.cc:
Don't enable any bulk insert or record caching code if inserting less than MIN_ROWS_TO_USE_BULK_INSERT
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
Added bug fix from 3.23 for AIX 4.3.3 and gcc 3.x
Small change in EXCHANGE output
Propagate open-files-limit from mysqld_safe -> mysqld
Fixed speed bug in GROUP BY
Added quotes around database name in CREATE DATABASE db_name (for binary log)
BitKeeper/etc/ignore:
added stamp-h1
Docs/manual.texi:
Added 4.1 manual section
Updated changelog
client/mysqltest.c:
Added --skip-safemalloc
include/my_global.h:
Added bug fix from 3.23 for AIX 4.3.3 and gcc 3.x
mysql-test/mysql-test-run.sh:
Start mysqltest with --skip-safemalloc (To get it faster)
mysql-test/r/bdb.result:
Update for new EXPLAIN output
mysql-test/r/compare.result:
Update for new EXPLAIN output
mysql-test/r/create.result:
Update for new EXPLAIN output
mysql-test/r/distinct.result:
Update for new EXPLAIN output
mysql-test/r/explain.result:
Update for new EXPLAIN output
mysql-test/r/group_by.result:
Update for new EXPLAIN output
mysql-test/r/heap.result:
Update for new EXPLAIN output
mysql-test/r/innodb.result:
Update for new EXPLAIN output
mysql-test/r/join_outer.result:
Update for new EXPLAIN output
mysql-test/r/key_diff.result:
Update for new EXPLAIN output
mysql-test/r/merge.result:
Update for new EXPLAIN output
mysql-test/r/null_key.result:
Update for new EXPLAIN output
mysql-test/r/order_by.result:
Update for new EXPLAIN output
mysql-test/r/select.result:
Update for new EXPLAIN output
mysql-test/r/temp_table.result:
Fixed speed bug in GROUP BY
mysql-test/r/type_datetime.result:
Update for new EXPLAIN output
mysql-test/r/user_var.result:
Update for new EXPLAIN output
mysql-test/r/variables.result:
Removed variable safe_show_database
mysql-test/t/temp_table.test:
Fixed speed bug in GROUP BY
mysql-test/t/variables.test:
Removed not used variable safe_show_databases
scripts/mysqld_safe.sh:
Propagate open-files-limit from mysqld_safe -> mysqld
sql/mysqld.cc:
Removed variable safe_show_database
sql/set_var.cc:
Removed variable safe_show_database
sql/slave.cc:
Updated error message
sql/sql_db.cc:
Added quotes around database name in CREATE DATABASE db_name
sql/sql_select.cc:
Fixed speed bug in GROUP BY
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-LICENSE~4cfaff8de837acb8:
Auto merged
BitKeeper/deleted/.del-MySQLEULA.txt:
Delete: Docs/MySQLEULA.txt
BitKeeper/deleted/.del-global.h~e80d28157acfdcb5:
Auto merged
Build-tools/mysql-copyright-2:
Auto merged
Build-tools/mysql-copyright:
Auto merged
heap/heapdef.h:
Auto merged
heap/hp_open.c:
Auto merged
innobase/btr/btr0cur.c:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/os/os0thread.c:
Auto merged
myisam/mi_open.c:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/t/null_key.test:
Auto merged
mysys/safemalloc.c:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
scripts/mysqlhotcopy.sh:
Auto merged
sql/field.h:
Auto merged
sql/field_conv.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/item.cc:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
tests/grant.res:
Auto merged
Build-tools/Do-compile:
merge
Docs/manual.texi:
merge
configure.in:
merge
mysql-test/r/distinct.result:
merge
mysql-test/r/null_key.result:
merge
sql/ha_innodb.cc:
merge
sql/item.h:
merge
sql/log.cc:
merge
sql/mysqld.cc:
merge
support-files/mysql.spec.sh:
merge
WHERE column_name = key_column_name was calculated as true
for NULL values.
Docs/manual.texi:
Changelog
mysql-test/r/distinct.result:
Updated results caused by bug fix.
mysql-test/r/null_key.result:
New tests
mysql-test/t/null_key.test:
New tests
sql/sql_select.cc:
Additional change for previous changeset for using BLOB in GROUP BY
(Fixing of problem with ALTER TABLE on BDB tables)
mysql-test/r/distinct.result:
Fixed results after bug fix
sql/mysql_priv.h:
Split close_thread_tables() into two functions.
(Needed for bug fix from 4.0)
sql/sql_base.cc:
Split close_thread_tables() into two functions.
(Needed for bug fix from 4.0)
Check if AND/OR expression can be NULL; Fixed bug in GROUP BY and-or-expression where expression could be NULL
Bug fix for SHOW OPEN TABLES when user didn't have privilege to access all open tables.
Better fix for ALTER TABLE on BDB tables.
Docs/manual.texi:
Changelog
client/mysql.cc:
Simple optimization
libmysql/libmysql.c:
Removed initialization of varibles that are already set to zero
myisam/myisamchk.c:
Fixed comment for extend-check
mysql-test/r/bdb-alter-table-1.result:
Updated results
mysql-test/r/bdb-alter-table-2.result:
Updated results
mysql-test/r/distinct.result:
Updated results after bug fix
mysql-test/r/handler.result:
Updated results
mysql-test/r/innodb_handler.result:
Updated results
mysql-test/r/select.result:
Updated results
mysql-test/r/varbinary.result:
Updated results
mysql-test/t/bdb-alter-table-1.test:
Added comments
mysql-test/t/bdb-alter-table-2.test:
Added comments
mysql-test/t/select.test:
Remove OPTION in SET OPTION
Added tests for ORDER BY key LIMIT
sql/item_cmpfunc.cc:
Check if AND/OR expression can be NULL
sql/mysqld.cc:
mysqld --help now shows value of datadir
sql/share/english/errmsg.txt:
Better error message for syntax error
sql/sql_base.cc:
Bug fix for SHOW OPEN TABLES
sql/sql_class.cc:
Moved virtual function to .cc file to avoid that we have to include assert.h everywhere.
sql/sql_class.h:
Moved virtual function to .cc file to avoid that we have to include assert.h everywhere.
sql/sql_parse.cc:
Removed old dead code from 3.23
sql/sql_select.cc:
Improved optimization of ORDER BY key LIMIT
sql/sql_table.cc:
More comments,
Better fix for ALTER TABLE on BDB tables.
Fixed bug in SELECT DISTINCT ... ORDER BY not-used-column.
Fixed bug in pthread_mutex_trylock with HPUX 11.0
Docs/manual.texi:
Changelog
include/my_pthread.h:
Fix for pthread_mutex_trylock when used with SAFEMUTEX
include/violite.h:
Fixed bug in blocking handling when compiling with OPENSSL (caused hangup in client code)
innobase/buf/buf0buf.c:
Fixed wrong format string
libmysqld/lib_sql.cc:
Fixed hangup in embedded server.
mysql-test/r/distinct.result:
Fixed bug in SELECT DISTINCT ... ORDER BY not-used-column
mysql-test/t/distinct.test:
Fixed bug in SELECT DISTINCT ... ORDER BY not-used-column
mysys/my_pthread.c:
Cleanup of pthread_xxx rewrite code.
Fixed bug in pthread_mutex_trylock with HPUX 11.0
sql/gen_lex_hash.cc:
Smaller hash array
sql/mysqld.cc:
Fixed hangup in embedded server.
sql/sql_select.cc:
Fixed bug in SELECT DISTINCT ... ORDER BY not-used-column
vio/vio.c:
Added vio_ssl_blocking
vio/viossl.c:
Added vio_ssl_blocking
Fix problem with HAVING and MAX() IS NOT NULL
Docs/manual.texi:
Changelog & NULL usage with ORDER BY
client/mysqldump.c:
Cleanup disable keys
mysql-test/r/distinct.result:
Fix results after ORDER BY with NULL fix
mysql-test/r/group_by.result:
Fix results after ORDER BY with NULL fix
mysql-test/r/having.result:
Testcase for bug with HAVING
mysql-test/t/distinct.test:
Test for DISTINCT + ORDER BY DESC bug
mysql-test/t/having.test:
Test of HAVING and MAX IS NOT NULL
sql/filesort.cc:
Fix sorting of NULL values (Should always be first)
sql/item.h:
Fix problem with HAVING and MAX() IS NOT NULL
sql/item_sum.h:
Fix problem with HAVING and MAX() IS NOT NULL
sql/opt_range.cc:
Fix problem with HAVING and MAX() IS NOT NULL
sql/opt_range.h:
Fix sorting of NULL values
sql/sql_select.cc:
Fix sorting of ORDER BY ... DESC on NULL values.
Remember UNION for ALTER TABLE
Added test for if we are supporting transactions.
Don't allow REPLACE to replace a row when we have generated an auto_increment key
Fixed bug when using BLOB keys
Fixed bug in SET @variable=user.
Docs/manual.texi:
Added some examples and moved the Error access denied section to the
error section.
client/mysqltest.c:
Changed to use the new mysql_send_query()
include/mysql.h:
Changed mysql_reap_query() to mysql_send_query().
libmysql/libmysql.c:
Changed mysql_reap_query() to mysql_send_query()
Merged some functions and removed some unused functions.
mysql-test/r/bdb.result:
New test case
mysql-test/r/distinct.result:
New test case
mysql-test/r/key.result:
New test case
mysql-test/r/merge.result:
New test case
mysql-test/r/replace.result:
New test case
mysql-test/t/bdb.test:
New test case
mysql-test/t/key.test:
New test case
mysql-test/t/merge.test:
New test case
mysql-test/t/replace.test:
New test case
mysys/my_lock.c:
Moved global lock variable to static
sql-bench/test-insert.sh:
Added test case for index-read only
sql/field.h:
Fixed that one can optimize ORDER BY with ISAM and GEMINI
sql/ha_berkeley.cc:
Added type casts needed for Windows
sql/ha_innobase.cc:
Removed reference to manual from comment.
sql/ha_myisammrg.cc:
Remember UNION for ALTER TABLE
sql/ha_myisammrg.h:
Remember UNION for ALTER TABLE
sql/handler.cc:
Added test for if we are supporting transactions.
Don't allow REPLACE to replace a row when we have generated an auto_increment key.
sql/handler.h:
Remember UNION for ALTER TABLE
sql/key.cc:
Fixed bug when using BLOB keys
sql/mysql_priv.h:
Added new variables
sql/mysqld.cc:
Added new variables
sql/opt_range.cc:
Fixed problem with BLOB keys
sql/opt_sum.cc:
Fix for BLOB keys
sql/sql_class.cc:
Added test if we need to init/clean transaction variables
sql/sql_insert.cc:
Fix for REPLACE and auto_increment keys
sql/sql_parse.cc:
Fixed bug in max_user_connections
sql/sql_select.cc:
Fixed problem with key on BLOB
sql/sql_yacc.yy:
Fixed bug in SET @variable=user.
sql/table.cc:
Fixed problem with keys on BLOB
Fixed bug in DISTINCT
Docs/manual.texi:
Updated Changelog
Cleaned up adding character sets
merge/open.c:
skip comments
myisam/mi_check.c:
Fixed bug when sorting index on Windows
myisammrg/myrg_info.c:
Use only portable printf arguments
myisammrg/myrg_rrnd.c:
Use only portable printf arguments
mysql-test/r/distinct.result:
Added test case for bug in distinct
mysql-test/r/merge.result:
Added test for ALTER TABLE
mysql-test/t/distinct.test:
Added test case for bug in distinct
mysql-test/t/merge.test:
Added test for ALTER TABLE
sql-bench/crash-me.sh:
Fixed portability issues
sql/ha_myisammrg.cc:
Fixed for ALTER TABLE on MERGE tables
sql/item_sum.cc:
Fixed bug in DISTINCT
sql/sql_db.cc:
Added test of namelen in check_db_name
sql/sql_select.cc:
Fixed bug in DISTINCT
sql/sql_select.h:
Fixed bug in DISTINCT
sql/sql_table.cc:
Fixed ALTER TABLE on MERGE tables
sql/table.cc:
Added test of namelen in check_db_name
sql/table.h:
Fixed ALTER TABLE on MERGE tables