"Early NULL-values filtering for ref access" (attempt2+post-review fixes)
1. update_ref_and_keys() accumulates info about null-rejecting
predicates in in KEY_FIELD::null_rejecting, add_key_part saves
these to KEYUSE.
2. create_ref_for_key copies them to TABLE_REF.
3. add_not_null_conds adds "x IS NOT NULL" to join_tab->select_cond of
appropiate JOIN_TAB members.
Includes code cleanups:
* add_key_field() params: s/COND/Item_func/ (as only Item_funcs are
passed to it)
* add_key_fields() params: JOIN_TAB *stat removed (wasn't used)
sql/sql_select.cc:
Fix for BUG#8877: Implementation of
"Early NULL-values filtering for ref access"
1. update_ref_and_keys() accumulates info about null-rejecting
predicates in in KEY_FIELD::null_rejecting, add_key_part saves
these to KEYUSE.
2. create_ref_for_key copies them to TABLE_REF.
3. add_not_null_conds adds "x IS NOT NULL" to join_tab->select_cond
of appropiate JOIN_TAB members.
Includes code cleanups:
* add_key_field() params: s/COND/Item_func/ (as only Item_funcs are
passed to it)
* add_key_fields() params: JOIN_TAB *stat removed (wasn't used)
sql/sql_select.h:
Fix for BUG#8877: Implementation of
"Early NULL-values filtering for ref access" (attempt2)
client/mysqldump.c:
Changed some function and variable names to MySQL syntax
Fixed indentation for last few pushes
(No logic changes)
mysql-test/r/strict.result:
Test for bug #5907 (Traditional mode: invalid value can be inserted via a stored procedure)
mysql-test/t/strict.test:
Test for bug #5907 (Traditional mode: invalid value can be inserted via a stored procedure)
sql/sql_base.cc:
More comments
sql/sql_error.cc:
Ensure that PS gives error for invalid values in 'strict' mode
server testing cleanups.
mysql-test/r/innodb.result:
Update results
mysql-test/r/insert_select-binlog.result:
Update results
mysql-test/r/mix_innodb_myisam_binlog.result:
Update results
mysql-test/r/ps_1general.result:
Update results
mysql-test/r/ps_grant.result:
Update results
mysql-test/r/view.result:
Update results
mysql-test/t/client_xml.test:
Skip test with embedded server
mysql-test/t/flush_read_lock_kill.test:
Skip test with embedded server
mysql-test/t/grant3.test:
Skip test with embedded server
mysql-test/t/information_schema.test:
Skip test with embedded server
mysql-test/t/innodb.test:
Fix up filenames
mysql-test/t/multi_update.test:
Skip test with embedded server
mysql-test/t/mysqlshow.test:
Skip test with embedded server
mysql-test/t/ps_1general.test:
Move grant-related tests to ps_grant, and fix cleanup of filename
mysql-test/t/ps_grant.test:
Add additional tests
mysql-test/t/sp-security.test:
Skip test with embedded server
mysql-test/t/user_limits.test:
Skip test with embedded server
mysql-test/t/view.test:
Split grant-related tests to new test file view_grant
Fix Bug #9526 in 5.0: MySQL ENUM and SET columns are internally actually unsigned integer types; we must take care that old tables still treat ENUM and SET (incorrectly) as a character string, while new created tables treat it correctly as an unsigned integer
innobase/row/row0sel.c:
Fix Bug #9526 in 5.0: MySQL ENUM and SET columns are internally actually unsigned integer types; we must take care that old tables still treat ENUM and SET (incorrectly) as a character string, while new created tables treat it correctly as an unsigned integer
sql/ha_innodb.cc:
Fix Bug #9526 in 5.0: MySQL ENUM and SET columns are internally actually unsigned integer types; we must take care that old tables still treat ENUM and SET (incorrectly) as a character string, while new created tables treat it correctly as an unsigned integer
Correct the fix of Bug #9526 : InnoDB must use its own internal type info for old tables, so that old ENUMs and SETs still are (incorrectly) seen as char strings; we do not dare to allow InnoDB sometimes to see the type as an integer type for those old tables
sql/ha_innodb.cc:
Correct the fix of Bug #9526 : InnoDB must use its own internal type info for old tables, so that old ENUMs and SETs still are (incorrectly) seen as char strings; we do not dare to allow InnoDB sometimes to see the type as an integer type for those old tables
Fix bug #9526 in InnoDB: the internal type of an ENUM or SET is an unsigned integer type, not a character string
sql/ha_innodb.cc:
Fix bug #9526 in InnoDB: the internal type of an ENUM or SET is an unsigned integer type, not a character string
mysql-test/r/ps_1general.result:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
mysql-test/t/type_ranges.test:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/type_ranges.result:
Update results
into mysql.com:/home/my/mysql-5.0
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
Fix that mysql.proc works with new VARCHAR fields
Give warnings for wrong zero dates
configure.in:
Don't use -lsupc++ with gcc 3.3 and below as this gives linking problems when linking staticly
mysql-test/r/func_time.result:
New warnings
mysql-test/r/row.result:
Moved code around to get things to work with --ps-protocol
Note that one on warning disappered, but it should appear again when bug #9600 is fixed
mysql-test/r/strict.result:
enabled more tests
Added more tests
mysql-test/r/union.result:
Test that UNION generates correct row format
mysql-test/t/row.test:
Moved test to get things to work with --ps-protocol
mysql-test/t/strict.test:
enabled more tests
Added more tests
mysql-test/t/union.test:
Test that UNION generates correct row format
sql/item.cc:
Removed compiler warning
Simple cleanup
sql/sp.cc:
Fix that mysql.proc works with new VARCHAR fields
sql/time.cc:
Give warnings for wrong zero dates
tests/mysql_client_test.c:
More startup information
fixing test results accordingly.
ctype-uca.c:
It appeared that in traditional Spanish collation
'RR' is not equal to 'R', as Unicode and Mimer state.
We'll go Oracle and IBM way instead:
No special rules to 'RR'.
strings/ctype-uca.c:
It appeared that in traditional Spanish collation
'RR' is not equal to 'R', as Unicode and Mimer state.
We'll go Oracle and IBM way instead:
No special rules to 'RR'.
mysql-test/r/ctype_uca.result:
fixing test results accordingly.
- Better error message when table definition has changed
mysql-test/r/ndb_alter_table.result:
New error message and code when table definition has changed.
mysql-test/r/ndb_multi.result:
Safety, drop tables in second server as well
mysql-test/t/ndb_alter_table.test:
New error message and code when table definition has changed.
mysql-test/t/ndb_multi.test:
Safety, drop tables in second server as well
sql/ha_ndbcluster.cc:
When error 284 is returned from NDB a check must be made to see what the error really means.
- if table does not exists any more, return 709 -> No such table exists
- if table still exists, table has most likely been altered and table id and version has
changed, print hardcoded errormessage indicating that transaction should retried
(this error message should be translated to a langauge dependent error message in 5.0)
Remove mapping from 284 to HA_ERR_NO_SUCH_TABLE
doesn't work out of the box)
client/Makefile.am:
old mysqlmanager, mysqlmanagerc and mysqlmanager-pwgen renamed into mysqltestmanager, mysqltestmanagerc and
mysqltestmanager-pwgen respectively
mysql-test/mysql-test-run.sh:
Old mysqlmanager, mysqlmanagerc and mysqlmanager-pwgen renamed into
mysqltestmanager, mysqltestmanagerc and mysqltestmanager-pwgen respectively
scripts/make_binary_distribution.sh:
Fix the script to include IM and process mysql.server correctly
server-tools/instance-manager/Makefile.am:
change default socket name to follow mysqld style (and thus, fix the ptoblem with non-existant localstatedir
in the binary distribution)
support-files/mysql.spec.sh:
Fix mysql.spec template to reflect the name change
tools/Makefile.am:
old mysqlmanager renamed into mysqltestmanager
into sanja.is.com.ua:/home/bell/mysql/bk/work-multi-5.0
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/sql_view.cc:
Auto merged
%s instead of table names".
Propagating changes from old language-specific errmsg.txt files to new
global errmsg.txt.
sql/share/errmsg.txt:
Allow longer "table names" as DROP TABLE puts a list here.
BitKeeper/deleted/.del-errmsg.txt~ef53c33ac0ff8a84:
Auto merged
BitKeeper/deleted/.del-errmsg.txt~f96b7055cac394e:
Auto merged
mysql-test/r/drop.result:
Auto merged
BitKeeper/deleted/.del-errmsg.txt~8ed1999cbd481dc4:
Auto merged
mysql-test/r/type_timestamp.result:
Auto merged
mysql-test/t/drop.test:
Auto merged
mysql-test/t/type_timestamp.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/sql_table.cc:
Manual merge.
- fixed bug in join view processing
- postreview fixes (BUG#9398 & BUG#8703)
sql/sql_base.cc:
used original TABLE object to get correct name of table and db
sql/sql_view.cc:
fixed bug of assigning select_lex for join view
sql/table.cc:
comment fixed
stack overflow check added
new method for underlying base table finding
sql/table.h:
comment fixed
new method for underlying base table finding
mysql-test/r/drop.result:
Auto merged
mysql-test/t/drop.test:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/share/russian/errmsg.txt:
Auto merged
sql/share/ukrainian/errmsg.txt:
Auto merged
sql/sql_table.cc: print an error with a function that respects width modifiers (%.64s)
mysql-test/r/drop.result:
bug#3891 - DROP TABLE many-unexistent-tables, was printing an error with %s instead of table names
mysql-test/t/drop.test:
bug#3891 - DROP TABLE many-unexistent-tables, was printing an error with %s instead of table names
sql/share/english/errmsg.txt:
allow longer "table names" as DROP TABLE puts a list here
sql/share/russian/errmsg.txt:
allow longer "table names" as DROP TABLE puts a list here
sql/share/ukrainian/errmsg.txt:
allow longer "table names" as DROP TABLE puts a list here
sql/sql_table.cc:
print an error with a function that respects width modifiers (%.64s)
mysql-test/r/view.result:
fix of required privileges for altering view VIEW (DELETE->DROP)
new test of altering view
mysql-test/t/view.test:
fix of required privileges for altering view VIEW (DELETE->DROP)
new test of altering view
sql/sql_view.cc:
fix of required privileges for altering view VIEW (DELETE->DROP)
mysql-test/r/innodb.result:
Auto merged
BitKeeper/deleted/.del-select.result.es~240635f6a3f1a079:
Auto merged
BitKeeper/deleted/.del-type_float.result.es~a5533e4118eadc04:
Auto merged
BitKeeper/deleted/.del-type_ranges.result.es~bb77517f4c9dc978:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/alter_table.test:
Auto merged
mysql-test/t/connect.test:
Auto merged
mysql-test/t/grant2.test:
Auto merged
mysql-test/t/grant_cache.test:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
mysql-test/t/mysqlbinlog2.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
mysql-test/t/select.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysql-test/t/system_mysql_db_fix.test:
Auto merged
mysql-test/t/type_blob.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/mysql-test-run.sh:
Merge
mysql-test/r/alter_table.result:
Update results
mysql-test/r/ctype_ucs.result:
Update results
mysql-test/r/grant.result:
Update results
mysql-test/r/insert_select.result:
Update results
mysql-test/r/ps_1general.result:
Update results
mysql-test/r/select.result:
Update results
mysql-test/r/timezone2.result:
Update results
mysql-test/r/type_blob.result:
Update results
mysql-test/r/type_ranges.result:
Update results
mysql-test/r/user_var.result:
Update results
mysql-test/t/ctype_ucs.test:
Merge
mysql-test/t/grant.test:
Merge
mysql-test/t/insert_select.test:
Merge
mysql-test/t/timezone2.test:
Merge
mysql-test/t/type_ranges.test:
Merge
mysql-test/t/user_var.test:
Merge
mysql-test/t/lowercase_table_grant.test:
Disable test with embedded server
mysql-test/t/skip_name_resolve.test:
Disable test with embedded server
sql/sql_parse.cc:
Reset server status after a single statement in a multistatement
query is handled in embedded server so it is not logged twice to
the slow query log.