with a fixed constant to pass on QNX:
max_data_file_length is calculated depending on max possible value of
record pointer. It's different on QNX, so the difference in results is OK.
mysql-test/t/ps.test:
A quick fix for bug#5556: replace a column of SHOW TABLE STATUS result
with a fixed constant to pass on QNX:
max_data_file_length is calculated depending on max value of record
pointer. It's different on QNX, so the result difference is intentional.
mysql-test/r/func_compress.result:
clean-up. The length of compress() may depend on zlib version, etc.
mysql-test/t/func_compress.test:
clean-up. The length of compress() may depend on zlib version, etc.
include/mysqld_error.h:
new error mesaages
mysql-test/r/view.result:
tests of updatint/inserting join views
mysql-test/t/view.test:
tests of updatint/inserting join views
sql/mysql_priv.h:
support of "usual UPDATE" -> "multi UPDATE" conversion
sql/share/czech/errmsg.txt:
new error mesaages
sql/share/danish/errmsg.txt:
new error mesaages
sql/share/dutch/errmsg.txt:
new error mesaages
sql/share/english/errmsg.txt:
new error mesaages
sql/share/estonian/errmsg.txt:
new error mesaages
sql/share/french/errmsg.txt:
new error mesaages
sql/share/german/errmsg.txt:
new error mesaages
sql/share/greek/errmsg.txt:
new error mesaages
sql/share/hungarian/errmsg.txt:
new error mesaages
sql/share/italian/errmsg.txt:
new error mesaages
sql/share/japanese/errmsg.txt:
new error mesaages
sql/share/korean/errmsg.txt:
new error mesaages
sql/share/norwegian-ny/errmsg.txt:
new error mesaages
sql/share/norwegian/errmsg.txt:
new error mesaages
sql/share/polish/errmsg.txt:
new error mesaages
sql/share/portuguese/errmsg.txt:
new error mesaages
sql/share/romanian/errmsg.txt:
new error mesaages
sql/share/russian/errmsg.txt:
new error mesaages
sql/share/serbian/errmsg.txt:
new error mesaages
sql/share/slovak/errmsg.txt:
new error mesaages
sql/share/spanish/errmsg.txt:
new error mesaages
sql/share/swedish/errmsg.txt:
new error mesaages
sql/share/ukrainian/errmsg.txt:
new error mesaages
sql/sql_base.cc:
test to avoid join virew to be catched here
sql/sql_class.h:
support of join views add to update
sql/sql_delete.cc:
support of join views add to delete(error issue)
sql/sql_insert.cc:
support of join views add to insert
(order of some check changed, to allow find table which will be inserted in, when we will know which fields will be inserted)
mechanism of calling setup_tables() only once fixed for INSERT SELECT
sql/sql_parse.cc:
support of "usual UPDATE" -> "multi UPDATE" conversion
mysql_insert_select_prepare now called in same environment for usual queries and PS preparing
support of join views add to delete (error issue)
sql/sql_prepare.cc:
support of "usual UPDATE" -> "multi UPDATE" conversion
support of join views add to delete (error issue)
sql/sql_update.cc:
support of join views add to update
sql/sql_view.cc:
join views made updatable
sql/sql_view.h:
insert_view_fields now can check some errors
sql/table.cc:
methods to support recursive walk by tables tree
sql/table.h:
methods to support recursive walk by tables tree
BitKeeper/etc/logging_ok:
auto-union
sql/ha_berkeley.cc:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_class.h:
SCCS merged
sql/sql_parse.cc:
SCCS merged
This allows one to setup a master <-> master replication with non conflicting auto-increment series.
Cleaned up binary log code to make it easyer to add new state variables.
Added simpler 'upper level' logic for artificial events (events that should not cause cleanups on slave).
Simplified binary log handling.
Changed how auto_increment works together with to SET INSERT_ID=# to make it more predictable: Now the inserted rows in a multi-row statement are set independent of the existing rows in the table. (Before only InnoDB did this correctly)
mysql-test/r/mix_innodb_myisam_binlog.result:
Disable End_log_pos column from 'show binlog events' as this is now different from before
mysql-test/t/mix_innodb_myisam_binlog.test:
Disable End_log_pos column from 'show binlog events' as this is now different from before
sql/ha_berkeley.cc:
Changed prototype for get_auto_increment()
sql/ha_berkeley.h:
Changed prototype for get_auto_increment()
sql/ha_heap.cc:
Changed prototype for get_auto_increment()
sql/ha_heap.h:
Changed prototype for get_auto_increment()
sql/ha_innodb.cc:
Change how auto-increment is calculated.
Now the auto-increment logic is done in 'update_auto_increment()' to ensure that all handlers has the same auto-increment usage
sql/ha_innodb.h:
Changed prototype for get_auto_increment()
sql/ha_myisam.cc:
Changed prototype for get_auto_increment()
sql/ha_myisam.h:
Changed prototype for get_auto_increment()
sql/ha_ndbcluster.cc:
Changed prototype for get_auto_increment()
sql/ha_ndbcluster.h:
Changed prototype for get_auto_increment()
sql/handler.cc:
Remove some usage of current_thd
Changed how auto_increment works with SET INSERT_ID to make it more predictable
(Now we should generate same auto-increment serie on a slave, even if the table has rows that was not on the master.
Use auto_increment_increment and auto_increment_offset
sql/handler.h:
Changed prototype for get_auto_increment()
sql/log.cc:
Remove usage of 'set_log_pos()' to make code simpler. (Now log_pos is set in write_header())
Use 'data_written' instead of 'get_event_len()' to calculate how much data was written in the log
sql/log_event.cc:
Simple optimizations.
Remove cached_event_len (not used variable)
Made comments fit into 79 chars
Removed Log_event::set_log_pos(). Now we calculate log_pos in write_header().
Renamed write_data() to write() as the original write() function was not needed anymore.
Call writing of event header from event::write() functions. This made it easier to calculate the length of an event.
Simplified 'write_header' and remove 'switches' from it.
Changed all write() functions to return 'bool'. (The previous return values where not consistent)
Store auto_increment_increment and auto_increment_offset in binary log
Simplified how Query_log_event's where written and read. Now it's much easier to add now status variables for a query event to the binary log.
Removed some old MySQL 4.x code to make it easier to grep for functions used in 5.0
sql/log_event.h:
Changed return type of write() functions to bool. (Before we returned -1 or 1 for errors)
write_data() -> write()
Added 'data_written' member to make it easier to get length of written event.
Removed 'cached_event_len' and 'get_event_len()'
Added usage of auto_increment_increment and auto_increment_offset
Added 'artifical_event' to Start_log_event_v3, to hide logic that we in the binary log use log_pos=0 as a flag for an artifical event.
sql/mysqld.cc:
Added options --auto-increment-increment and --auto-increment-offset
sql/set_var.cc:
Added variables auto_increment_increment and auto_increment_offset
sql/slave.cc:
Changed errors -> warnings & information (in error log)
sql/sql_class.cc:
Added THD::cleanup_after_query(). This makes some code simpler and allows us to clean up 'next_insert_id' after query
sql/sql_class.h:
Added new auto_increment_xxx variables
Moved some functions/variables in THD class
sql/sql_help.cc:
Removed compiler warning
sql/sql_insert.cc:
Call 'restore_auto_increment()' if row was not inserted.
This makes it easier for handler to reuse the last generated auto-incrment value that was not used (for example in case of duplicate key)
sql/sql_parse.cc:
Use cleanup_after_query()
sql/sql_prepare.cc:
Use cleanup_after_query()
sql/sql_table.cc:
R
into mysql.com:/home/wax/mysql/mysql-4.1mysqltest
client/mysqltest.c:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-4.1
ndb/src/common/transporter/TransporterRegistry.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
This bug is the result of weird error happening with mi_float8get and double
arythmetic. I described that in 'Bug that looks potentially dangerous' email
myisam/rt_mbr.c:
*ab_area was changed with the local variable just to make the function
working without errors
mysql-test/r/gis.result:
appropriate test result
mysql-test/t/gis.test:
Test case
BUG#4312 "wrong behaviour on insert .. on duplicate key" functionality disabled
mysql-test/r/ndb_insert.result:
New tests for fduplicate inserts in combination with transaction
New tests for INSERT IGNORE and REPLACE
mysql-test/t/ndb_insert.test:
New tests for fduplicate inserts in combination with transaction
New tests for INSERT IGNORE and REPLACE
ndb/src/ndbapi/NdbConnection.cpp:
Return error 4350 "Transaction already aborted" if execute(Commit) is called when theCommitStatus==Aborted
Add DBUG_PRINT's
ndb/src/ndbapi/ndberror.c:
Add new error message indicating that the transaction already has been aborted.
sql/ha_ndbcluster.cc:
Map all error code 0 to 1 in order to catch errors caused by NdbApi returning -1 without having set an error code.
Use ndb object in THD in get_error_message
BUG# 4312 Return HA_ERR_WRONG_COMMAND if extra(HA_EXTRA_IGNORE_DUP_KEY) is called
Only use writeTuple if command is REPLACE
sql/ha_ndbcluster.h:
Added member variable to keep track of when HA_EXTRA_IGNORE_DUP_KEY is used, but NDB can't support it.
on intelxeon3 (Solaris x86))
mysql-test/r/ps_2myisam.result:
Test results fixed (order by for a couple of statements in the PS test).
mysql-test/r/ps_3innodb.result:
Test results fixed (order by for a couple of statements in the PS test).
mysql-test/r/ps_4heap.result:
Test results fixed (order by for a couple of statements in the PS test).
mysql-test/r/ps_5merge.result:
Test results fixed (order by for a couple of statements in the PS test).
mysql-test/r/ps_6bdb.result:
Test results fixed (order by for a couple of statements in the PS test).
support of merged VIEW over several tables added (WL#1809)
mysql-test/r/view.result:
merge of VIEW with several tables
mysql-test/t/view.test:
merge of VIEW with several tables
sql/item.cc:
renaming Item and restoring item name on cleunup()
sql/item.h:
renaming Item and restoring item name on cleunup()
debug output added
sql/item_cmpfunc.h:
setup_conds() changed to support two tables lists
sql/item_subselect.cc:
list of table leaves used instead of local table list for name resolving
sql/mysql_priv.h:
setup_conds() and setup_tables() changed to support two tables lists
sql/opt_sum.cc:
list of table leaves used instead of local table list for name resolving
sql/sp.cc:
setup_tables() changed to support two tables lists
sql/sql_base.cc:
skip temporary tables in table finding
fixed merged view fields names (BUG#5147)
sql/sql_delete.cc:
setup_conds() and setup_tables() changed to support two tables lists
sql/sql_help.cc:
setup_tables() changed to support two tables lists
sql/sql_insert.cc:
setup_tables() changed to support two tables lists
name handling support
sql/sql_lex.cc:
allow view with several tables for MERGE
sql/sql_lex.h:
new table list
sql/sql_load.cc:
setup_tables() changed to support two tables lists
sql/sql_olap.cc:
setup_tables() changed to support two tables lists
sql/sql_parse.cc:
new list support
sql/sql_prepare.cc:
new list support
sql/sql_select.cc:
list of table leaves used instead of local table list for name resolving
sql/sql_update.cc:
setup_conds() and setup_tables() changed to support two tables lists
sql/sql_view.cc:
support of MERGED VIEWS with several tables
sql/sql_yacc.yy:
removed blanks in new code
sql/table.cc:
fixed setup view code
support of merged VIEW over several tables added
sql/table.h:
fixed merged view fields names (BUG#5147)
added fix for keeping "records" up to date when execute() fails
mysql-test/r/ndb_insert.result:
Added testcase for select count() during transaction with failures
mysql-test/t/ndb_insert.test:
Added testcase for select count() during transaction with failures
sql/ha_ndbcluster.cc:
added fix for keeping "records" up to date when execute() fails
sql/ha_ndbcluster.h:
added fix for keeping "records" up to date when execute() fails
Added a check to recover from IGNORE_SPACE in this situation:
<ident-character(s)><space><dot><ident-character(s)>
The ignored space led to the false identification of the dot
as an ident separator (like "db.table").
mysql-test/r/sql_mode.result:
BUG#5318 - failure: 'IGNORE_SPACE' affects numeric values after DEFAULT.
Added the test results.
mysql-test/t/sql_mode.test:
BUG#5318 - failure: 'IGNORE_SPACE' affects numeric values after DEFAULT.
Added new tests for the bug.
sql/sql_lex.cc:
BUG#5318 - failure: 'IGNORE_SPACE' affects numeric values after DEFAULT.
Added code to recover from skipped spaces in mode IGNORE_SPACES,
when testing for an ident separator (which happens to be a dot).
new methods to keep "records" up to date
unset flag HA_NOT_EXACT_COUNT to make handler read "records" field, for count() optim and join optimization
new methods to keep "records" up to datecorrect record field in ndbcluster handler
new method for ndbcluster handler to store/retrieve table and thread specific data
changed local hash to store new table_info object, with placeholders for local data, instead of TableImpl
hanged deleteKey to return ponter to deleted object
moved heavy global cache fetch from inline to separate method
mysql-test/r/ndb_alter_table.result:
correct record field in ndbcluster handler
mysql-test/r/ndb_blob.result:
correct record field in ndbcluster handler
ndb/include/ndbapi/NdbDictionary.hpp:
new method for ndbcluster handler to store/retrieve table and thread specific data
ndb/src/ndbapi/DictCache.cpp:
changed local hash to store new table_info object, with placeholders for local data, instead of TableImpl
ndb/src/ndbapi/DictCache.hpp:
changed local hash to store new table_info object, with placeholders for local data, instead of TableImpl
ndb/src/ndbapi/Ndb.cpp:
replaced method DictionaryImpl::getTable with DictionaryImpl::get_local_table_info
ndb/src/ndbapi/NdbDictionary.cpp:
new method for ndbcluster handler to store/retrieve table and thread specific data
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
changed local hash to store new table_info object, with placeholders for local data, instead of TableImpl
moved heavy global cache fetch from inline to separate method
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
replaced method DictionaryImpl::getTable with DictionaryImpl::get_local_table_info
ndb/src/ndbapi/NdbLinHash.hpp:
changed deleteKey to return ponter to deleted object
sql/ha_ndbcluster.cc:
moved all ndb thread specific data into new placeholder
new methods to keep "records" up to date
unset flag HA_NOT_EXACT_COUNT to make handler read "records" field, for count() optim and join optimization
sql/ha_ndbcluster.h:
new methods to keep "records" up to date
sql/sql_class.h:
moved all ndb thread specific data into new placeholder
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/TransporterFacade.cpp:
Auto merged
ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
sql/handler.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/ha_ndbcluster.cc:
Go with the new solution
include/my_base.h:
Added new bit to table create options
Removed old error code HA_ERR_OLD_METADAT and reused it for HA_ERR_NO_SUCH_TABLE.
mysql-test/r/ndb_autodiscover.result:
Updated test cases
mysql-test/t/ndb_autodiscover.test:
Updated test cases
mysql-test/t/ndb_autodiscover2.test:
Updated test cases
sql/discover.cc:
Moved function create_table_from_handler to handler.cc
sql/ha_ndbcluster.cc:
Improved discover functionality
Added .ndb file
Changed error code mappings for a table that does not exist in engine
Check for ndb object in THD
Updated ndbcluster_discover, ndbcluster_list_tables and ndbcluster_can_discover
sql/ha_ndbcluster.h:
Improved discover
sql/handler.cc:
Added new error message mapping.
Moved function ha_create_table_from_engine to handler level
Added new functions ha_can_discover, ha_list_tables and ha_table_exists
sql/handler.h:
Added new error message mapping.
Moved function ha_create_table_from_engine to handler level
Added new functions ha_can_discover, ha_list_tables and ha_table_exists
sql/mysql_priv.h:
Removed create_table_from_handler, moved to handler.h
sql/sql_base.cc:
Renamed function create_table_from_handler
sql/sql_show.cc:
Added new function mysql_discover_files and mysql_list_files.
Modified mysql_find_files to discover new and delete "old" files/tables.
sql/sql_table.cc:
Renamed create_table_from_handler
Call ha_create_table_from_engine, in order to discover the the frm file before it can be dropped.
sql/table.cc:
Added mapping of the error code HA_ERR_NO_SUCH_TABLE
Added code to adjust the field_length of user variables
in dependence on the field type.
Aded new constants for numeric field widths.
include/mysql_com.h:
BUG#4788 - show create table provides incorrect statement.
Introduced definitions for default field width of numeric types.
So common values can be used at different places in the code.
mysql-test/r/variables.result:
BUG#4788 - show create table provides incorrect statement.
New test results.
mysql-test/t/variables.test:
BUG#4788 - show create table provides incorrect statement.
Added a test for the bug.
sql/item_func.cc:
BUG#4788 - show create table provides incorrect statement.
Added code to adjust the field_length of user variables
in dependence on the field type.
sql/sql_parse.cc:
BUG#4788 - show create table provides incorrect statement.
Changed numeric literals to the new constants.
mysql-test/r/sp.result:
New test case for BUG#4941.
mysql-test/t/sp.test:
New test case for BUG#4941.
sql/protocol_cursor.cc:
Handle null values.
sql/sp_rcontext.cc:
Handle null values.
mysql-test/r/query_cache.result:
test of QC with different variables
mysql-test/t/query_cache.test:
test of QC with different variables
sql/mysql_priv.h:
new information for query key calculation
sql/sql_cache.cc:
new information for query key calculation
sql/sql_cache.h:
removed unused definitions