FOUND is not a reserved keyword anymore
Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
Note that the 5.0 tree is not yet up to date: Sanja will have to fix multi-update-locks for this merge to be complete
BUILD/SETUP.sh:
Portability fix
client/mysqltest.c:
Portability fix
mysql-test/r/drop.result:
updated results
mysql-test/r/func_str.result:
New warnings (after merge)
mysql-test/r/insert.result:
Updated tests
mysql-test/r/join_nested.result:
Updated results (because of new column types in 5.0)
mysql-test/r/lock_multi.result:
Temporarly wrong results until Sanja fixes multi-update-lock in 5.0
mysql-test/r/multi_update.result:
Temporary fix until Sanja fixes multi-update locking
mysql-test/r/ps_1general.result:
Update of results after merge
mysql-test/r/ps_2myisam.result:
Update of results after merge
mysql-test/r/ps_3innodb.result:
Update of results after merge
mysql-test/r/ps_4heap.result:
Update of results after merge
mysql-test/r/ps_5merge.result:
Update of results after merge
mysql-test/r/ps_6bdb.result:
Update of results after merge
mysql-test/r/query_cache.result:
Update of results after merge
mysql-test/r/range.result:
New results for new tests
mysql-test/r/rpl_auto_increment.result:
Update with new 4.0 information
mysql-test/r/rpl_charset.result:
After merge fixes
mysql-test/r/subselect.result:
After merge fixes
mysql-test/r/view.result:
Temporary fix until multi-update-locking is fixed
mysql-test/t/drop.test:
Safety fix
mysql-test/t/multi_update.test:
Temporary fix until multi-update-locking is fixed
mysql-test/t/rpl_charset.test:
More comments
mysql-test/t/sp-error.test:
Updated comments
mysql-test/t/view.test:
Temporary fix until multi-update-locking is fixed
scripts/mysql_fix_privilege_tables.sh:
Better error message
sql-common/client.c:
More debugging
sql/ha_ndbcluster.cc:
After merge fixes
sql/handler.cc:
After merge fixes
sql/item.cc:
Simple optimization of creating item
After merge fixed
Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
The problem is that if you compare a string field to a binary string, you can't replace the field with a string constant as the binary comparison may then fail (The original field value may be in a different case)
sql/item.h:
Added Item::set_no_const_sub() to be able to mark fields that can't be substituted
sql/item_cmpfunc.cc:
Mark fields compared as binary to not be substituted.
sql/item_func.cc:
After merge fix
sql/log_event.cc:
After merge fix
sql/mysql_priv.h:
After merge fix
sql/opt_range.cc:
After merge fix
sql/protocol.cc:
Made flags uint instead of int (as it's used as a bit mask)
sql/protocol.h:
Made flags uint instead of int (as it's used as a bit mask)
sql/protocol_cursor.cc:
Made flags uint instead of int (as it's used as a bit mask)
Indentation cleanups
sql/sp.cc:
After merge fixes
Removed compiler warnings
sql/sp_head.cc:
After merge fixes
sql/sql_base.cc:
After merge fixes
Removed 'send_error' from 'insert_fields()' as the error is sent higher up
sql/sql_class.cc:
Give assert if set_n_backup_item_arena is used twice
sql/sql_class.h:
Give assert if set_n_backup_item_arena is used twice
After merge fixes
Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
sql/sql_handler.cc:
After merge fixes
sql/sql_parse.cc:
After merge fixes
sql/sql_prepare.cc:
After merge fixes
sql/sql_select.cc:
After merge fixes
Moved 'build_equal_items' to optimize_cond() (logical place)
sql/sql_table.cc:
After merge fixes
sql/sql_trigger.cc:
After merge fixes
sql/sql_update.cc:
After merge fixes
(This should be fixed by Sanja to have lower granuality locking of tables in multi-update)
sql/sql_view.cc:
After merge fixes
sql/sql_yacc.yy:
After merge fixes
Don't have FOUND as a reserved keyword
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/triggers/post-commit:
Auto merged
Docs/Support/texi2html:
Auto merged
Makefile.am:
Auto merged
client/Makefile.am:
Auto merged
client/mysql.cc:
Auto merged
client/mysqldump.c:
Auto merged
include/my_base.h:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/my_sys.h:
Auto merged
include/my_time.h:
Auto merged
include/mysql.h:
Auto merged
include/mysql_com.h:
Auto merged
innobase/buf/buf0buf.c:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/row/row0sel.c:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/examples/Makefile.am:
Auto merged
myisam/mi_check.c:
Auto merged
mysql-test/include/ps_modify.inc:
Auto merged
mysql-test/install_test_db.sh:
Auto merged
mysql-test/r/alter_table.result:
Auto merged
mysql-test/r/auto_increment.result:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/ctype_latin1_de.result:
Auto merged
mysql-test/r/ctype_recoding.result:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/func_if.result:
Auto merged
mysql-test/t/derived.test:
Auto merged
mysql-test/t/insert.test:
merge with 4.1
Fixed test case to not use 'if exists' when it shouldn't
mysql-test/t/range.test:
merge with 4.1
Added missing drop table
sql/ha_ndbcluster.cc:
merge with 4.1
Simple optimization: use max() instead of ? :
sql/item_func.cc:
merge with 4.1
(Added back old variable names for easier merges)
sql/opt_range.cc:
merge with 4.1
Removed argument 'parent_alloc' from QUICK_RANGE_SELECT as this was not used
Added assert if using QUICK_GROUP_MIN_MAX_SELECT with parent_alloc as the init() function can't handle this
Changed back get_quick_select_for_ref() to use it's own alloc root becasue this function may be called several times for one query
sql/sql_handler.cc:
merge with 4.1
change variable 'err' to 'error' as same function had a label named 'err'
sql/sql_update.cc:
Use multi-update code from 5.0 instead of 4.1
We will fix the locking code shortly in 5.0 to be faster than in 4.1
exposed the attribute name size limit for handler
added field name truncation to ndb handler
mysql-test/t/ndb_basic.test:
test that attribute name truncation works
ndb/include/ndbapi/ndbapi_limits.h:
exposed the attribute name size limit for handler
sql/ha_ndbcluster.cc:
added field name truncation to ndb handler
removed compiler warning
ndb/src/ndbapi/NdbIndexOperation.cpp:
fix for alignment bug on solaris 64 bit
ndb/src/ndbapi/NdbOperationSearch.cpp:
fix for alignment bug on solaris 64 bit
sql/ha_ndbcluster.cc:
removed compiler warning
ndb/src/mgmsrv/ConfigInfo.cpp:
Better cast
ndb/src/mgmsrv/MgmtSrvr.cpp:
Add default arg
sql/ha_ndbcluster.cc:
reorder methods, so that they are not used prior to declaration
(inlines)
into mishka.local:/home/my/mysql-4.1
client/mysqlimport.c:
Auto merged
libmysql/libmysql.c:
Auto merged
ndb/src/ndbapi/ndberror.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/item.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
mysql-test/r/ndb_autodiscover.result:
Added test cases to check that SHOW TABLES only show tables in the selected db.
mysql-test/t/ndb_autodiscover.test:
Added test cases to check that SHOW TABLES only show tables in the selected db.
sql/ha_ndbcluster.cc:
Only find files for the current db
Only add files to files list which can be created i.e has a valid frm blob. This prevents NDB$BLOB tables and tables created from NdbApi to show up.
mysql-test/r/ndb_index_ordered.result:
Another test to check the use of "sorted" in combination with reset_bounds()
mysql-test/t/ndb_index_ordered.test:
Another test to check the use of "sorted" in combination with reset_bounds()
sql/ha_ndbcluster.cc:
Check that sorted is set to 0 or 1.
sql/opt_range.cc:
Initialise the sorted variable to zero QUICK_SELECT constructor.
sql/ha_ndbcluster.cc:
Only add the NDB-table to list of files if it can be discovered AND sucessfully created on disk. This will make susre that NDB$BLOB tables does not show up in SHOW TABLES
subqueries with "not in" and ndb
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
1) Fix handling of LQHKEYREF & IgnoreError & Index read
2) Fix TCRELEASEREQ = ok if CS_ABORTING & AS_IDLE
3) Give more info back in case of TCRELEASEREF
sql/ha_ndbcluster.cc:
Rewrite index_read to give proper error codes back
mysql-test/r/ndb_index_ordered.result:
test case
mysql-test/t/ndb_index_ordered.test:
test case
ndb/include/kernel/signaldata/ScanTab.hpp:
Split exclusive/keyinfo
ndb/include/ndbapi/NdbIndexScanOperation.hpp:
Add possibility retreive sorted flag
ndb/include/ndbapi/NdbOperation.hpp:
Add possibility retreive lock mode
ndb/include/ndbapi/NdbResultSet.hpp:
Add possibility to get operation
ndb/src/common/debugger/signaldata/ScanTab.cpp:
Split exclusive/keyinfo
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Store flags in ScanFragReq::requestInfo format
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Store flags in ScanFragReq::requestInfo format
ndb/src/ndbapi/NdbOperationDefine.cpp:
Keep theLockMode up-to-date
ndb/src/ndbapi/NdbScanOperation.cpp:
Keep theLockMode up-to-date
sql/ha_ndbcluster.cc:
Use NdbIndexScanOperation::reset_bounds when
performing second index access
added testcase for this
use force send for all executes
mysql-test/r/ndb_blob.result:
added testcase for alter table of blob from ndb to myisam
mysql-test/t/ndb_blob.test:
added testcase for alter table of blob from ndb to myisam
sql/ha_ndbcluster.cc:
bug #5872, transactions should only be restarted with transaction.on flag off if execute_commit has been performed
use force send for all executes
BitKeeper/etc/logging_ok:
auto-union
sql/ha_ndbcluster.h:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/mysql-test-run.sh:
SCCS merged
sql/ha_ndbcluster.cc:
SCCS merged
into mysql.com:/home/dlenev/src/mysql-4.1-ryan
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
column types TIMESTAMP is NOT NULL by default, so in order to have
TIMESTAMP column holding NULL valaues you have to specify NULL as
one of its attributes (this needed for backward compatibility).
Main changes:
Replaced TABLE::timestamp_default_now/on_update_now members with
TABLE::timestamp_auto_set_type flag which is used everywhere
for determining if we should auto-set value of TIMESTAMP field
during this operation or not. We are also use Field_timestamp::set_time()
instead of handler::update_timestamp() in handlers.
mysql-test/r/type_timestamp.result:
Added test for TIMESTAMP columns which are able to store NULL values.
mysql-test/t/type_timestamp.test:
Added test for TIMESTAMP columns which are able to store NULL values.
sql/field.cc:
Added support for TIMESTAMP fields holding NULL values.
We don't need Field_timestamp::set_timestamp_offsets() anymore.
Instead we need Field_timestamp::get_auto_set_type() function
which will convert TIMESTAMP auto-set type stored in Field in
unireg_check to value from timestamp_auto_set_type_enum.
(We can't replace this function with additional Field_timestamp member
and some code in constructor because then we will have troubles
with Field::new_field() method).
We should also set field to not null in Field_timestamp::set_time() now.
sql/field.h:
Added support for TIMESTAMP fields holding NULL values.
We don't need Field_timestamp::set_timestamp_offsets() anymore.
Instead we need Field_timestamp::get_auto_set_type() function,
which will convert TIMESTAMP auto-set type stored in Field in
unireg_check to value from timestamp_auto_set_type_enum.
We also have to support NULL values in Field_timestamp::get_timestamp()
function.
sql/field_conv.cc:
Added comment clarifying behavior in case of TIMESTAMP fields which are
able to store NULL values.
sql/ha_berkeley.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_heap.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_innodb.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_isam.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_isammrg.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_myisam.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_myisammrg.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/ha_ndbcluster.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now for determining
if we should auto-set value of TIMESTAMP field during this operation.
We are also use Field_timestamp::set_time() instead of
handler::update_timestamp().
sql/handler.cc:
handler::update_timestamp() is no longer needed since now we use
Field_timestamp::set_time() instead.
(we can't use handler::update_timestamp() anyway since field position
only is not enough for TIMESTAMP fields which are able to store NULLs)
sql/handler.h:
handler::update_timestamp() is no longer needed since now we use
Field_timestamp::set_time() instead.
sql/item_timefunc.cc:
Since now TIMESTAMP fields can hold NULL values we should take this into
account.
sql/sql_base.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
(Here we use Field_timestamp::get_auto_set_type() to setup its value
before further statement execution).
sql/sql_insert.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_load.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_parse.cc:
Added support for TIMESTAMP fields holding NULL values.
We should distinguish NULL default values and non-specified default
values for such fields (because latter could mean DEFAULT NOW()
ON UPDATE NOW() in some cases).
sql/sql_show.cc:
Added support for TIMESTAMP fields holding NULL values.
Unlike all other fields these are NOT NULL by default
so we have to specify NULL attribute explicitly for them.
sql/sql_table.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_update.cc:
Now we use TABLE::timestamp_field_type instead of
TABLE::timestamp_default_now/on_update_now.
sql/sql_yacc.yy:
Added support for TIMESTAMP fields holding NULL values.
Unlike all other fields these are NOT NULL by default
(so we have to set NOT_NULL_FLAG properly for them).
sql/table.h:
Added timestamp_auto_set_type enum which values are used for indicating
during which operations we should automatically set TIMESTAPM field
value to current timestamp.
TABLE: Replaced timestamp_default_now/on_update_now members with
timestamp_auto_set_type flag (Now when TIMESTAMP field are able to
store NULL values, single position of field in record is not enough
for updating this field anyway).
into neptunus.(none):/home/magnus/mysql/mysql-4.1-ndb
BitKeeper/etc/logging_ok:
auto-union
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
sql/sql_table.cc:
Auto merged
sql/ha_ndbcluster.cc:
Merge: ndb_discover_tables should no longer be called when server is starting
move lockmode from scan operation to operation
added read tuple with lock mode
ndb/include/ndbapi/NdbIndexOperation.hpp:
added read tuple with lock mode
ndb/include/ndbapi/NdbOperation.hpp:
move lockmode from scan operation to operation
ndb/include/ndbapi/NdbScanOperation.hpp:
move lockmode from scan operation to operation
ndb/src/ndbapi/NdbIndexOperation.cpp:
added read tuple with lock mode
ndb/src/ndbapi/NdbOperationDefine.cpp:
added read tuple with lock mode
sql/ha_ndbcluster.cc:
set correct lockmode in all reads...
moved lockmode from scan operatoin to operation
added some debug printouts
some changes in ndbcluster_init to make start of mysqld first work
ndb/include/mgmcommon/ConfigRetriever.hpp:
removed init on ConfigRetriever
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
removed init on ConfigRetriever
added some debug printouts
ndb/src/kernel/vm/Configuration.cpp:
removed init on ConfigRetriever
ndb/src/ndbapi/ndb_cluster_connection.cpp:
removed init on ConfigRetriever
added sleep in retry
sql/ha_ndbcluster.cc:
some changes in ndbcluster_init to make start of mysqld first work
BitKeeper/etc/logging_ok:
auto-union
mysql-test/mysql-test-run.sh:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
sql/sql_show.cc:
Auto merged
sql/ha_ndbcluster.cc:
SCCS merged
* Changed the implementation of ndbcluster_find_files to be more efficient, using only one mutex lock
* Moved ha_find_files to end of mysql_find_files so that it can be passed the list that we are interested to find.
mysql-test/t/ndb_autodiscover.test:
Added a new test case, disabled for now, waiting for mysql-test-run to set a NDB_CONNECTSTRING
sql/ha_ndbcluster.cc:
Rewrite of ndbcluster_find_files to remove and delete files using only one mutex lock.
This version only discover files that fulfill wildcard.
sql/ha_ndbcluster.h:
Add list of files as parameter
sql/handler.cc:
Add list of files as parameter
sql/handler.h:
Add list of files as parameter
sql/sql_show.cc:
Moving the ha_find_files to end of function, so that the file lista can be passsed to it.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
sql/ha_ndbcluster.cc:
No need to save the name of the unique index, its only used within the same function
Removed unused variables and functions retrieving index_name
sql/ha_ndbcluster.h:
Remove unused varaibale unique_name as well as teh function get_index_name and get_unique_index_name
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
removed debug printout
new test in alter table for dictionay update test with multiple connections
added coice of setting MaxNoOfOrderedIndexes
added option to run "--small-bench"
mysql-test/mysql-test-run.sh:
added option to run "--small-bench"
mysql-test/ndb/ndb_config_2_node.ini:
added coice of setting MaxNoOfOrderedIndexes
mysql-test/ndb/ndbcluster.sh:
added coice of setting MaxNoOfOrderedIndexes
mysql-test/r/ndb_alter_table.result:
new test in alter table for dictionay update test with multiple connections
mysql-test/t/ndb_alter_table.test:
new test in alter table for dictionay update test with multiple connections
ndb/src/ndbapi/DictCache.cpp:
removed debug printout
sql/ha_ndbcluster.cc:
fix for invalidating table if mismatch with frm
mysql-test/r/ndb_autodiscover.result:
Update test result, number of rows is 1
mysql-test/t/ndb_autodiscover.test:
Dont run the test where table is dropped in NDb with ndb_drop_table
sql/ha_ndbcluster.cc:
Implement function ndbcluster_find_files which will discover new tables and delete old tables
sql/ha_ndbcluster.h:
Implement function ndbcluster_find_files
Remove function ndbcluster_list_tables and ndbcluster_can_discover
sql/handler.cc:
Add ha_find_files called from mysql_find_files
Remove ha_can_discover and ha_list_tables
sql/handler.h:
Add ha_find_files called from mysql_find_files
Remove ha_can_discover and ha_list_tables
sql/sql_show.cc:
Revert to original version of sql_show.cc
Only changes to this version is that ha_find_files is called from mysql_find_files in order to give the handlers a possibility to find new files in engine
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/handler.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_table.cc:
Auto merged
Merge fixes
mysql-test/r/ndb_insert.result:
Correct test cases and result after merge
mysql-test/t/ndb_insert.test:
Correct test cases and result after merge
sql/ha_ndbcluster.cc:
Correct get_error_message after merge
Use buf pointer in get_ndb_value
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
mysql-test/r/ndb_insert.result:
Merge new test cases
mysql-test/t/ndb_insert.test:
Merge new test cases
into poseidon.(none):/home/tomas/mysql-4.1-ndb-merge
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
ndb/src/mgmsrv/main.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionary.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/Ndbinit.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
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
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.
sql/ha_ndbcluster.cc:
Changed some old global variables to per thread specific in ha_ndbcluster.cc
sql/sql_help.cc:
Added parenthesis.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-4.1
ndb/src/ndbapi/Ndb.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionary.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
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
clearer configure description texts
changed Ndb_local_table_info to use create, destroy metods and hidden constructor/destructor
move definition if Thd_ndb to .h file and changes seize/release to operate on Thd_ndb instead of Ndb objects
moved allocation/deletion of Ndb objects to Thd_ndb
ndb/include/ndbapi/NdbDictionary.hpp:
new method to set size of local table data
ndb/src/mgmsrv/ConfigInfo.cpp:
clearer configure description texts
ndb/src/ndbapi/DictCache.cpp:
changed Ndb_local_table_info to use create, destroy metods and hidden constructor/destructor
ndb/src/ndbapi/DictCache.hpp:
changed Ndb_local_table_info to use create, destroy metods and hidden constructor/destructor
ndb/src/ndbapi/NdbDictionary.cpp:
new method to set size of local table data
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
new method to set size of local table data
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
new method to set size of local table data
sql/ha_ndbcluster.cc:
new method to set size of local table data
moved allocation/deletion of Ndb objects to Thd_ndb
sql/ha_ndbcluster.h:
move definition if Thd_ndb to .h file and changes seize/release to operate on Thd_ndb instead of Ndb objects
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
include/my_sys.h:
Auto merged
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/item_strfunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/sql_class.h:
Merge
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
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-4.1
ndb/include/mgmcommon/ConfigRetriever.hpp:
Auto merged
ndb/src/common/debugger/signaldata/ScanTab.cpp:
Auto merged
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
Auto merged
ndb/src/common/mgmcommon/LocalConfig.cpp:
Auto merged
ndb/src/ndbapi/Ndb.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionary.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/Ndbif.cpp:
Auto merged
ndb/src/ndbapi/Ndbinit.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.cc:
Auto merged
into build.mysql.com:/users/tulin/mysql-4.1-ndb-merge
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_table.cc:
Auto merged
Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset
Prefix addresses with 0x for easier comparisons of debug logs
Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
This fix changed some 'index' queries to 'range' queries in the test suite
Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
This fix removed of a lot of 'Using where' notes in the test suite.
Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
Give NOTE instead of WARNING for safe field-type conversions
Makefile.am:
Don't automaticly update files from bk
client/mysqlbinlog.cc:
Merge with 4.1 (+ apply bug fixes for --offset and --start-position)
include/my_sys.h:
Faster clear_alloc_root()
mysql-test/r/bdb.result:
Updated results after merge
mysql-test/r/create.result:
Updated results after merge
mysql-test/r/func_group.result:
Updated results after merge
mysql-test/r/func_if.result:
Updated results after merge
mysql-test/r/heap_btree.result:
Updated results after merge
mysql-test/r/index_merge.result:
Updated results after merge
mysql-test/r/index_merge_ror.result:
Updated results after merge
mysql-test/r/innodb.result:
Updated results after merge
mysql-test/r/join_outer.result:
Updated results after merge
mysql-test/r/mysqlbinlog2.result:
Updated results after merge
mysql-test/r/negation_elimination.result:
Updated results after merge
mysql-test/r/null.result:
Updated results after merge
Added more tests
mysql-test/r/null_key.result:
Updated results after merge
Added more tests
mysql-test/r/order_by.result:
Updated results after merge
mysql-test/r/range.result:
Updated results after merge
Added more tests
mysql-test/r/rpl_charset.result:
Updated results after merge
mysql-test/r/sp-error.result:
Updated results after merge
mysql-test/r/sp.result:
Updated results after merge
Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
mysql-test/r/type_blob.result:
Updated results after merge
(Some warnings are now notes)
mysql-test/r/user_var.result:
Updated results after merge
Added more tests
mysql-test/r/variables.result:
Updated results after merge
mysql-test/r/view.result:
Updated results after merge
mysql-test/t/mysqlbinlog2.test:
Updated tests to use new positions
mysql-test/t/null.test:
More tests
mysql-test/t/null_key.test:
More tests
mysql-test/t/range.test:
More tests
mysql-test/t/rpl_charset.test:
Avoid big diffs in the future if tests changes
mysql-test/t/sp-error.test:
Updated error numbers
mysql-test/t/sp-security.test:
Updated error numbers
mysql-test/t/sp.test:
Updated results after merge
Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
mysql-test/t/user_var.test:
More tests
mysql-test/t/view.test:
Updated error numbers
mysys/my_alloc.c:
Write into debug log the address of the allocated area
sql/ha_isam.cc:
Prefix addresses with 0x for easier comparisons of debug logs
sql/ha_myisam.cc:
Prefix addresses with 0x for easier comparisons of debug logs
sql/ha_ndbcluster.cc:
Add missing enum to switch
sql/handler.cc:
remove compiler warning
sql/item.cc:
More debugging
Simple cleanup
sql/item.h:
Move Item::cleanup() to item.cc
sql/item_cmpfunc.cc:
Fix arena code
sql/item_subselect.cc:
After merge fixes
sql/item_subselect.h:
After merge fixes
sql/item_sum.cc:
Updated comment
sql/log_event.cc:
Remove wrong test
sql/mysql_priv.h:
Indentation fixes
sql/mysqld.cc:
After merge fixes
Added 0x to pointers in debug log
sql/opt_range.cc:
Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
This fix changed some 'index' queries to 'range' queries in the test suite
sql/set_var.cc:
Indentation fixes
sql/sp_head.cc:
Set state to INITIALIZED to make SP work with new arena code
sql/sql_base.cc:
After merge fixes
sql/sql_class.cc:
More debugging
Use clear_alloc_root() instead of init_alloc_root() as the former is faster
sql/sql_class.h:
New method 'only_prepare()'
sql/sql_lex.cc:
After merge fixes
sql/sql_lex.h:
After merge fixes
sql/sql_parse.cc:
Fix for timezone tables. (The old way to add timezone tables to global list in 'create_total_list' doesn't work anymore)
Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
sql/sql_prepare.cc:
After merge fixes
sql/sql_select.cc:
Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
This fix removed of a lot of 'Using where' notes in the test suite
sql/sql_table.cc:
Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
sql/sql_union.cc:
After merge fix
sql/sql_view.cc:
After merge fix
sql/table.cc:
After merge fix
sql/tztime.cc:
Update timezone table handling to use new table lists structure
sql/tztime.h:
Update timezone table handling to use new table lists structure
sql/unireg.cc:
Use 0x before pointers
Use const table * in NDB API
ndb/include/ndbapi/Ndb.hpp:
Removed useFullyQualifiedNames(bool)
Changed so that auto increment methods takes const pointer
ndb/include/ndbapi/NdbBlob.hpp:
Changed to const table pointer
ndb/include/ndbapi/NdbConnection.hpp:
Changed to const table pointer
ndb/include/ndbapi/NdbIndexOperation.hpp:
Changed to const table pointer
ndb/include/ndbapi/NdbOperation.hpp:
Changed to const table pointer
ndb/include/ndbapi/NdbScanOperation.hpp:
Changed to const table pointer
ndb/src/kernel/blocks/backup/restore/Restore.cpp:
Corrected size & array size in case of blob usage
ndb/src/kernel/blocks/backup/restore/consumer_restore.cpp:
Removed use fully qualified name
Handle blob tables
ndb/src/kernel/blocks/backup/restore/consumer_restore.hpp:
Introduced mapping between old/new table (wrt ids)
ndb/src/kernel/blocks/backup/restore/main.cpp:
removed extra Uint32
ndb/src/ndbapi/Ndb.cpp:
Changed to const table pointer
ndb/src/ndbapi/NdbConnection.cpp:
Changed to const table pointer
ndb/src/ndbapi/NdbIndexOperation.cpp:
Changed to const table pointer
ndb/src/ndbapi/NdbOperation.cpp:
Changed to const table pointer
ndb/src/ndbapi/NdbScanOperation.cpp:
Changed to const table pointer
sql/ha_ndbcluster.cc:
Changed to const table pointer
+ fix for support of multiple mgmt servers
mysql-test/r/ndb_alter_table.result:
added test case for bug #5431
mysql-test/t/ndb_alter_table.test:
added test case for bug #5431
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
fix to make multiple mgmt srvrs work
sql/ha_ndbcluster.cc:
fixed and added test case for bug#5431
mysql-test/r/ndb_insert.result:
Add tests for duplicate keys in combination with start/end_bulk_insert
mysql-test/t/ndb_insert.test:
Add tests for duplicate keys in combination with start/end_bulk_insert
sql/ha_ndbcluster.cc:
Set my_errno if error occurs in end_bulk_insert
added tests to alter table for "large" alter tables and truncates in ndbcluster
added debug printout in restart() in ndbcluster
added flag THD::transaction.on to enable/disable transaction
mysql-test/r/ndb_alter_table.result:
added tests to alter table for "large" alter tables and truncates
mysql-test/t/ndb_alter_table.test:
added tests to alter table for "large" alter tables and truncates
ndb/src/ndbapi/NdbConnection.cpp:
added debug printout in restart()
sql/ha_ndbcluster.cc:
added support for large alter table and truncate
sql/handler.cc:
renamed ha_recovery_logging to ha_enable_transaction
sql/handler.h:
renamed ha_recovery_logging to ha_enable_transaction
sql/sql_class.cc:
added flag THD::transaction.on to enable/disable transaction
sql/sql_class.h:
added flag THD::transaction.on to enable/disable transaction
sql/sql_delete.cc:
added disable transaction for mysql_truncate
sql/sql_table.cc:
renamed ha_recovery_logging to ha_enable_transaction
Use order by
mysql-test/r/ndb_index_ordered.result:
Use order by
mysql-test/t/ndb_index_ordered.test:
Use order by
sql/ha_ndbcluster.cc:
Remove usage of row count (as it trashes _all_ explain & table status)
Removed errornous hupp, which made handler commit same transid several times
(which is checked when running in debug mode)
sql/ha_ndbcluster.cc:
Removed errornous hupp, which made handler commit same transid several times
(which is checked when running in debug mode)
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1-ndb
mysql-test/r/ndb_alter_table.result:
Auto merged
mysql-test/r/ndb_basic.result:
Auto merged
mysql-test/r/ndb_lock.result:
Auto merged
mysql-test/t/ndb_alter_table.test:
Auto merged
mysql-test/t/ndb_basic.test:
Auto merged
mysql-test/t/ndb_lock.test:
Auto merged
ndb/src/ndbapi/Ndb.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
into eel.hemma.oreland.se:/ndb/clone-mysql-4.1-ndb-daily-2004-08-04
BitKeeper/etc/logging_ok:
auto-union
ndb/src/common/debugger/signaldata/SignalDataPrint.cpp:
Auto merged
ndb/src/cw/cpcd/Process.cpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtux/Dbtux.hpp:
Auto merged
ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp:
Auto merged
ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/test/ndbapi/testBasic.cpp:
Auto merged
ndb/test/run-test/main.cpp:
Auto merged
ndb/test/src/HugoTransactions.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
Check if there are any operations pending that needs to be taken over to the updating/deleting transaction before closing the scan
sql/ha_ndbcluster.cc:
Check ops_pending if there are operations to take over before closing the scan
BitKeeper/etc/logging_ok:
auto-union
ndb/include/kernel/NodeState.hpp:
Auto merged
ndb/include/ndbapi/NdbDictionary.hpp:
Auto merged
ndb/include/util/Bitmask.hpp:
Auto merged
ndb/src/common/debugger/EventLogger.cpp:
Auto merged
ndb/src/common/transporter/TransporterRegistry.cpp:
Auto merged
ndb/src/common/util/SocketServer.cpp:
Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Auto merged
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
ndb/src/kernel/main.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Auto merged
ndb/src/kernel/error/ErrorReporter.hpp:
Auto merged
ndb/src/mgmapi/mgmapi.cpp:
Auto merged
ndb/src/mgmclient/CpcClient.cpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
ndb/src/ndbapi/Ndb.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/NdbEventOperationImpl.cpp:
Auto merged
ndb/src/ndbapi/Ndbinit.cpp:
Auto merged
ndb/test/include/NDBT_Table.hpp:
Auto merged
ndb/test/include/NDBT_Test.hpp:
Auto merged
ndb/test/run-test/main.cpp:
Auto merged
ndb/test/src/HugoOperations.cpp:
Auto merged
ndb/test/src/HugoTransactions.cpp:
Auto merged
ndb/test/src/NDBT_Tables.cpp:
Auto merged
ndb/test/src/NDBT_Test.cpp:
Auto merged
ndb/test/src/NdbRestarter.cpp:
Auto merged
ndb/tools/waiter.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1-ndb
mysql-test/mysql-test-run.sh:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
Added key part to optimize_range() to fix problems when using fields in key parts.
sql/examples/ha_archive.h:
New handler::index_flags() definition
sql/examples/ha_example.h:
New handler::index_flags() definition
sql/field.cc:
New optimize_range() definition
sql/field.h:
New optimize_range() definition
sql/ha_berkeley.cc:
New handler::index_flags() definition
sql/ha_berkeley.h:
New handler::index_flags() definition
sql/ha_heap.h:
New handler::index_flags() definition
sql/ha_innodb.h:
New handler::index_flags() definition
sql/ha_isam.h:
New handler::index_flags() definition
sql/ha_isammrg.h:
New handler::index_flags() definition
sql/ha_myisam.h:
New handler::index_flags() definition
sql/ha_myisammrg.h:
New handler::index_flags() definition
sql/ha_ndbcluster.cc:
New handler::index_flags() definition
sql/ha_ndbcluster.h:
New handler::index_flags() definition
sql/handler.h:
New handler::index_flags() definition
sql/log.cc:
Fixed compiler warnings
sql/log_event.cc:
Fixed compiler warnings (and renamed short variable name)
sql/opt_range.cc:
New handler::index_flags() definition
sql/opt_sum.cc:
New handler::index_flags() definition
sql/set_var.cc:
Removed compiler warnings
sql/sql_db.cc:
Removed compiler warnings
sql/sql_select.cc:
New handler::index_flags() definition
sql/sql_show.cc:
Removed compiler warnings
sql/sql_update.cc:
Removed compiler warnings
sql/table.cc:
New handler::index_flags() definition
Enabled ordered scan in handler
ndb/include/ndbapi/NdbIndexScanOperation.hpp:
Moved saveBound to NdbIndexScanOperation
ndb/include/ndbapi/NdbScanOperation.hpp:
Moved saveBound to NdbIndexScanOperation
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Introduced map for
index attributes (keys) -> real attr id (and back)
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
Introduced map for
index attributes (keys) -> real attr id (and back)
ndb/src/ndbapi/NdbOperationDefine.cpp:
Moved saveBound to NdbIndexScanOperation
ndb/src/ndbapi/NdbOperationInt.cpp:
Moved saveBound to NdbIndexScanOperation
ndb/src/ndbapi/NdbScanOperation.cpp:
Moved saveBound to NdbIndexScanOperation
Fixed bugs in handling of setBounds w.r.t getValues and index keys
(use new reverse map)
Fixed bugs in next_result_ordered
sql/ha_ndbcluster.cc:
Use sorted scan when requested
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-4.1-ndb
ndb/src/ndbapi/Ndb.cpp:
Auto merged
ndb/src/ndbapi/Ndbinit.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
mysql-test/r/ndb_autodiscover.result:
Removed one test that needs manual interaction
Added order by in some places
mysql-test/t/ndb_autodiscover.test:
Removed one test that needs manual interaction
Added order by in some places
sql/ha_ndbcluster.cc:
Using HA_WRONG_ASCII_ORDER to activate filesort on a not "sorted" ordered index.
Updated ndb_ test cases
mysql-test/r/ndb_autodiscover.result:
Updated to new output of error message
mysql-test/r/ndb_basic.result:
Added som order by to sort the result correctly before comparing
mysql-test/r/ndb_index_unique.result:
Added test for USING HASH combined with PRIMARY KEY and UNIQUE index
mysql-test/t/ndb_autodiscover.test:
Correctede error case
mysql-test/t/ndb_basic.test:
Added som order by
mysql-test/t/ndb_index_unique.test:
Added test for USING HASH combined with PRIMARY KEY and UNIQUE index
sql/ha_ndbcluster.cc:
Added the index flag HA_ONLY_WHOLE_INDEX if index is created with USING HASH.
WL#1747 and #1746 allow user to decide if ordered index should be created or not
BitKeeper/deleted/.del-AttrType.hpp~a9b2d6efcf660378:
Delete: ndb/include/ndbapi/AttrType.hpp
sql/ha_ndbcluster.cc:
Removed the NDB_ERR_CODE_OFFSET, ndb and handler error codes should not clash
Encapsulated functionality to cache information about known indexes into buil_index_list
Added detection of algorithm from key_info in function get_index_type_from_table
Updated read_range_first and records_in_range to work wih new prototype.
sql/ha_ndbcluster.h:
WL#1746 and WL#1747 Added ability to skip creating an ordered index in addition to the hash index if the user so wishes.
Modified get_error_message to return error messaga in a String datatype, in that way the String class will take care of wheter the "data" has to be freed or not.
sql/handler.cc:
Use String datatype as ouput parameter of get_error_message.
sql/handler.h:
Changed the function prototype for getting error messages from handler to use String datataype
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/ha_ndbcluster.h:
SCCS merged
sql/ha_ndbcluster.cc:
Added new function set_primary_key_from_old_data, used from update_row to specify the primary key of the record to update.
Simplified index_read function, to use read_range_first
Close the active cursor if read_range_first is called on an open cursor.
In read_range_first, map error code from HA_ERR_KEY_NOT_FOUND to HA_ERR_END_OF_FILE.
Remove call to function waitUntilReady from check_ndb_connection, this shuold remove the delay from transactions executed when node(s) are down.
sql/ha_ndbcluster.h:
Added new function set_primary_key_from_old_data
New records_in_range() interface (similar to read_range())
Macros for faster bitmap handling
Simplify read_range() code (#WL1786)
New general key_cmp() function to compare keys
heap/hp_hash.c:
New records_in_range() interface
include/heap.h:
New records_in_range() interface
include/my_base.h:
Moved 'key_range' here so that all table handlers can use it
include/my_bitmap.h:
Make some bitmap functions inline for faster usage in one thread
include/myisam.h:
New records_in_range() interface
include/myisammrg.h:
New records_in_range() interface
myisam/mi_range.c:
New records_in_range() interface
myisam/mi_test2.c:
New records_in_range() interface
myisam/rt_test.c:
New records_in_range() interface
Indentation fixes
myisam/sp_test.c:
New records_in_range() interface
Indentation fixes
myisammrg/myrg_range.c:
New records_in_range() interface
mysys/my_bitmap.c:
Make some bitmap functions inline for faster usage in one thread
sql/examples/ha_example.cc:
New records_in_range() interface
sql/field.cc:
Fixed indentation
sql/ha_berkeley.cc:
New records_in_range() interface
sql/ha_berkeley.h:
New records_in_range() interface
sql/ha_heap.cc:
New records_in_range() interface
sql/ha_heap.h:
New records_in_range() interface
sql/ha_innodb.cc:
New records_in_range() interface
sql/ha_innodb.h:
New records_in_range() interface
sql/ha_isam.cc:
New records_in_range() interface
sql/ha_isam.h:
New records_in_range() interface
sql/ha_myisam.cc:
New records_in_range() interface
sql/ha_myisam.h:
New records_in_range() interface
sql/ha_myisammrg.cc:
New records_in_range() interface
sql/ha_myisammrg.h:
New records_in_range() interface
sql/ha_ndbcluster.cc:
New records_in_range() interface
sql/ha_ndbcluster.h:
New records_in_range() interface
sql/handler.cc:
Simplify read_range() interface:
- Add 'eq_range' to read_range_first
- Remove 'eq_range' parameer from read_range_next()
- Trust values from index_next_same()
- Simplfy compare_key() by moving key_comparision to key.cc (as this code can be reused from other places)
sql/handler.h:
Move key_range to my_base.h to be used by external table handlers
Simplify read_range() interface
New records_in_range() interface
sql/key.cc:
Rename key_cmp() to key_cmp_if_same() to make it more descriptive
Add new key_cmp() function usable from range and handler code.
sql/mysql_priv.h:
Prototypes for new functions
sql/opt_range.cc:
New records_in_range() interface
Simplify cmp_prev()
(We can in 5.0 simplify cmp_next() the same way)
sql/opt_range.h:
Added key_part_info to QUICK_SELECT to be able to use key_cmp() in get_next()
sql/opt_sum.cc:
key_cmp -> key_cmp_if_same
sql/sql_acl.cc:
key_cmp -> key_cmp_if_same
sql/sql_select.cc:
key_cmp -> key_cmp_if_same
- New solution after discussions with Sergei, no handler specific code or error messages should be in sql layer.
next_result, only check for error if check is -1
Improved index_read
include/mysqld_error.h:
New error codes ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG, update number to 298.
Removed prevoius ER_NDB_ERROR, handler specific error should not be here.
sql/ha_ndbcluster.cc:
Removed print_error from ha_ndbcluster, added code to handler::print_error to ask handler::get_error_message for message for an error.
Fix bug in next_result, only check for error if -1 is returned.
Make index_read easier, special case where pk_read or unique_index_read is detected and as default do ordered_index_scan
sql/ha_ndbcluster.h:
Remplace print_error with get_error_message
sql/handler.cc:
Add new function get_error_message usedc to ask handler for a message for an error.
Call get_error_message from print_error if error code is not known.
sql/handler.h:
Add new function get_error_message
sql/share/czech/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/danish/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/dutch/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/english/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/estonian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/french/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/german/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/greek/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/hungarian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/italian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/korean/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/norwegian-ny/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/norwegian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/polish/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/portuguese/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/romanian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/russian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/serbian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/slovak/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/spanish/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/swedish/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/ukrainian/errmsg.txt:
Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
- Close an open scan if index_read is called without closing the previous one.
- Removed some errors that occured during previous merge
include/mysqld_error.h:
Added two new error messages for NDB
sql/ha_ndbcluster.cc:
Added more error code mappings, from NDB code to MySQL
Added function to print out the error message when an NDB error occurs.
Added two new error codes, which will represent either a permanent or temporary NDB error.
Modev get_ndb_lock_type from class to local function
Removed some merge errors
New function close_scan, to close an open scan.
sql/ha_ndbcluster.h:
Added print_error function, overrides handler::print_error
Added close_scan
Moved get_ndb_lock_type from class to local function
sql/share/czech/errmsg.txt:
Added two new error messages for NDB
sql/share/danish/errmsg.txt:
Added two new error messages for NDB
sql/share/dutch/errmsg.txt:
Added two new error messages for NDB
sql/share/english/errmsg.txt:
Added two new error messages for NDB
sql/share/estonian/errmsg.txt:
Added two new error messages for NDB
sql/share/french/errmsg.txt:
Added two new error messages for NDB
sql/share/german/errmsg.txt:
Added two new error messages for NDB
sql/share/greek/errmsg.txt:
Added two new error messages for NDB
sql/share/hungarian/errmsg.txt:
Added two new error messages for NDB
sql/share/italian/errmsg.txt:
Added two new error messages for NDB
sql/share/japanese/errmsg.txt:
Added two new error messages for NDB
sql/share/korean/errmsg.txt:
Added two new error messages for NDB
sql/share/norwegian-ny/errmsg.txt:
Added two new error messages for NDB
sql/share/norwegian/errmsg.txt:
Added two new error messages for NDB
sql/share/polish/errmsg.txt:
Added two new error messages for NDB
sql/share/portuguese/errmsg.txt:
Added two new error messages for NDB
sql/share/romanian/errmsg.txt:
Added two new error messages for NDB
sql/share/russian/errmsg.txt:
Added two new error messages for NDB
sql/share/serbian/errmsg.txt:
Added two new error messages for NDB
sql/share/slovak/errmsg.txt:
Added two new error messages for NDB
sql/share/spanish/errmsg.txt:
Added two new error messages for NDB
sql/share/swedish/errmsg.txt:
Added two new error messages for NDB
sql/share/ukrainian/errmsg.txt:
Added two new error messages for NDB
BitKeeper/deleted/.del-regression.sh~c19f771726612629:
Delete: ndb/bin/regression.sh
sql/ha_ndbcluster.cc:
Change index flags, remove HA_WRONG_ASCII_ORDER and HA_ONLY_WHOLE_INDEX.
HA_WRONG_ASCII_ORDER was used in field::optimize_range and if it was set, the index was hardly ever used.
Correct check of start_key and start_key->flag != HA_READ_KEY_EXACT, ignore end-Key in suc a case
Updated implementation o read_range_first
Made the calculation of number of bytes par batch easier to underatsn and easier to configure. The value bytesperbatch can be made a config variable.
AReduce the number of bytes sent per batch, don't overload.
Increase the value returned from scan_time in order to make it clear to optimizer that scanning is the worst alternative. Always use index if available.
sql/ha_ndbcluster.cc:
Modified next_result to process fetched records cached in NdbApi before asking NDB for more.
It should also NoCommit any pending operations before contacting NDB again.
Added utility function define_read_attrs to set the fields that should be read.
sql/ha_ndbcluster.h:
Add function define_read_attrs, used to set the fields to read
Add get_nd_lock_type funciton ,to convert MySQL lock type to NDB lock type
Always compile filtered scan function even if it's not used yet.
Add variable ops_pending to keep track of "pending" update/delete operations.
Added test file for ALTER TABLE, engine = ndbcluster
sql/ha_ndbcluster.cc:
Add code to retriev all fields if HA_EXTRA_RETRIEVE_ALL_COLS are set.
sql/ha_ndbcluster.h:
Add var for retreiving all fields
sql/sql_table.cc:
Send HA_EXTRA_RETRIEVE_ALL_COLS to handler in copy_data_between_tables
sql/ha_ndbcluster.cc:
Added new function set_bounds, used to set bounds in NDB from a key_range
Updated ordered_index_scan to take start_key and end_key as parameters
Override of functions read_range_first and read_range_next, to call appropriate access function in NDB
sql/ha_ndbcluster.h:
Added functions set_bounds, read_range_first and read_range_next
Changed declaration of ordered_index_scan
Extra ordered indexes are created primarily
to support partial key scan/read and range scans of hash indexes.
I.e. the ordered index are used instead of the hash indexes for
these queries.
sql/ha_ndbcluster.cc:
Add creation and use of extra ordered indexes on pk and unique indexes.
sql/ha_ndbcluster.h:
Added new functions for creating extra ordered indexes
sql/ha_ndbcluster.cc:
Added 3 new variables for keeping track of insert batching
sql/ha_ndbcluster.h:
Send more inserts per roundtrip to NDB
Regulate how many inserts are sent by calculating number of bytes in each row.
mkdir in Makefile, not in configure
chmod a-x
sql/ha_ndbcluster.cc:
Change mode to -rw-rw-r--
sql/ha_ndbcluster.h:
Change mode to -rw-rw-r--
BitKeeper/etc/ignore:
added libmysqld/discover.cc
configure.in:
symlink, not hardlink
mkdir in Makefile, not in configure
include/Makefile.am:
mkdir in Makefile, not in configure
mysql-test/std_data/init_file.dat:
add EOL
make a test faster
include/my_base.h:
Added three new errorcodes to be returned by the handler
sql/Makefile.am:
Add new files discover.cc, ha_ndbcluster.cc and ha_ndbcluster.h
Add include path of NDB files
sql/handler.cc:
Added variable for keeping track of number of "discovers"
Added NDB to list of storage engines
Added calls to NDB for commit, rollback etc.
Added function ha_discover for discovering a table from handler
sql/handler.h:
Added NDB to list of storage engines
Added vbariable in transaction for keeping a ndb transaction handle
sql/lex.h:
Changed AND to AND_SYM and OR to OR_SYM to avoid nameclash
sql/mysql_priv.h:
Added prototypes for new functions readfrm, writefrm and create_table_from_handler
sql/mysqld.cc:
Added NDB support
Disable NDB with --skip-ndbcluster
sql/set_var.cc:
Add posibilty to show if NDB handler is supported
sql/ha_ndbcluster.cc:
Add ifdef for whole file for not compiling anything if NDB sholdn't be included
Updated timestamp handling to use new vars timestamp_default_now and timestamp_on_update_now
sql/sql_base.cc:
If frm file is not found on disk, ask handler if it knows about the table. Then retry the open.
This new functionality is called "discover" and can be used by any handler.
sql/sql_class.h:
Added variable for keeping a NDB connection handle
sql/sql_table.cc:
Before trying to create a table, ask handler if a table with that name already exists.
If user said CREATE TABLE IF NOT EXISTS, disocver the table from handler
sql/sql_yacc.yy:
Add NDBCLUSTER_SYM
Change AND to AND_SYM
Change OR to OR_SYM
sql/table.cc:
Fixe for probelm when NullS is returned from bas_ext of a handler.