If AUTOCOMMIT=1, do not acquire an InnoDB table lock in LOCK TABLES; this makes porting of old MyISAM applications to InnoDB easier, since in that mode InnoDB table locks caused deadlocks very easily
sql/ha_innodb.cc:
If AUTOCOMMIT=1, do not acquire an InnoDB table lock in LOCK TABLES; this makes porting of old MyISAM applications to InnoDB easier, since in that mode InnoDB table locks caused deadlocks very easily
moved NdbWaiter, m_ndb_cluster_connection, to impl class
moved node selection things to cluster connection
moved all private things to impl class
added opts for shared memory and node selection
changed opts handling somewhat; introduced enum for options and common handling of option variables
added checks for transporter support
automatic addition of shared mem transporters
moved wait_until_ready code to cluster connection
added control of usage of new node selection method
ndb/include/mgmapi/mgmapi_config_parameters.h:
added config parameter Group on connection
ndb/include/ndbapi/Ndb.hpp:
moved NdbWaiter, m_ndb_cluster_connection, to impl class
moved node selection things to cluster connection
ndb/include/ndbapi/ndb_cluster_connection.hpp:
moved all private things to impl class
ndb/include/util/ndb_opts.h:
added opts for shared memory and node selection
ndb/src/kernel/vm/Configuration.cpp:
changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/src/mgmclient/main.cpp:
changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/src/mgmsrv/ConfigInfo.cpp:
added checks for transporter support
automatic addition of shared mem transporters
ndb/src/mgmsrv/MgmtSrvr.cpp:
in alloc node id first choose connection with specified hostname
ndb/src/mgmsrv/main.cpp:
changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/src/ndbapi/DictCache.hpp:
added include file
ndb/src/ndbapi/Ndb.cpp:
enabled using new node selection method
moved wait_until_ready code to cluster connection
moved node selection (hint) to cluster connection
removed start transaction dgroup
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
removed and added inclusde files
ndb/src/ndbapi/NdbImpl.hpp:
moved things from Ndb into Impl class
moved waiter things to new file NdbWaiter.hpp
ndb/src/ndbapi/NdbScanOperation.cpp:
ndbwaiter is no in impl class
ndb/src/ndbapi/Ndbif.cpp:
ndbwaiter is no in impl class
ndb/src/ndbapi/Ndbinit.cpp:
moved some Ndb things into impl class
ndb/src/ndbapi/TransporterFacade.hpp:
changed friend declaration
ndb/src/ndbapi/ndb_cluster_connection.cpp:
moved node selection things to cluster connection
moved things from cluster connection to cluster connection impl class
ndb/test/ndbapi/testNdbApi.cpp:
removed start transaction dgroup
ndb/tools/delete_all.cpp:
changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/desc.cpp:
changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/drop_index.cpp:
changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/drop_tab.cpp:
changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/listTables.cpp:
changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/restore/restore_main.cpp:
changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/select_all.cpp:
changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/select_count.cpp:
changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/waiter.cpp:
changed opts handling somewhat; introduced enum for options and common handling of option variables
sql/ha_ndbcluster.cc:
added control of usage of new node selection method
sql/mysqld.cc:
added control of usage of new node selection method
mysql-test/r/update.result:
Auto merged
mysql-test/t/update.test:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/mysql-test-run.sh:
Merge from 4.0
(back to behaviour of 4.1.7). Warning was not fatal: mysqldump continued. And the good thing is that it helped spot that starting from 4.1.7,
SHOW CREATE DATABASE failed (if --single-transaction and first db has non-empty InnoDB table and there is a second db) and thus mysqldump
produced CREATE DATABASE statements missing the CHARACTER SET clause. Removing the bug which was in the server, and the warning reporting in
mysqldump (compatibility with old servers).
client/mysqldump.c:
don't report errors as we deal almost gracefully with them (back to code of 4.1.7)
mysql-test/r/flush_block_commit.result:
result update
mysql-test/t/flush_block_commit.test:
let's verify that SHOW CREATE DATABASE succeeds even if connection has open transaction.
sql/sql_parse.cc:
There is no reason to forbid SHOW CREATE DATABASE if connection has an open transaction
BitKeeper/etc/logging_ok:
auto-union
configure.in:
Auto merged
ndb/include/Makefile.am:
Auto merged
ndb/include/kernel/LogLevel.hpp:
Auto merged
ndb/include/mgmapi/mgmapi.h:
Auto merged
ndb/include/ndbapi/NdbConnection.hpp:
Auto merged
ndb/include/ndbapi/NdbDictionary.hpp:
Auto merged
ndb/src/common/debugger/EventLogger.cpp:
Auto merged
ndb/src/common/logger/FileLogHandler.cpp:
Auto merged
ndb/src/common/logger/Logger.cpp:
Auto merged
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/main.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp:
Auto merged
ndb/src/kernel/vm/Configuration.cpp:
Auto merged
ndb/src/mgmapi/mgmapi.cpp:
Auto merged
ndb/src/mgmsrv/InitConfigFileParser.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
ndb/src/mgmsrv/Services.hpp:
Auto merged
ndb/src/mgmsrv/main.cpp:
Auto merged
ndb/src/ndbapi/NdbConnection.cpp:
Auto merged
ndb/src/ndbapi/TransporterFacade.cpp:
Auto merged
ndb/src/ndbapi/ndberror.c:
Auto merged
ndb/tools/Makefile.am:
Auto merged
For numeric constants we only need to add, since the parser doesn't produce
negative numbers.
For strings we only add (we actually could substract 1 if given string is a constant
and it has '-number' form but we're not doing that because
* we set max_length bigger then necessary in other cases as well.
* the current solution is simpler and safer (bigger max_length is better then cutting out)
mysql-test/r/func_concat.result:
Test for BUG#6825
mysql-test/r/metadata.result:
Ajusted results according to fix of bug BUG#6825:length(-1) = 2 , not 1
mysql-test/t/func_concat.test:
Test for BUG#6825
because old behaviour was somewhat nonsensical (kind of bug). Changes are that if repl threads are
down or disconnected the column will be NULL, and if master is idle the column will not grow indefinitely anymore.
sql/slave.cc:
mi->slave_running and rli->slave_running now uints (was needed only for mi but because of start_slave_thread() usage,
had to change both).
So mi->slave_running can now take 3 values: not running, running & not connected, running and connected.
The last value serves for calculation of Seconds_Behind_Master in SHOW SLAVE STATUS.
Changing this column's behaviour: if SQL or I/O thread is not running, or if I/O thread is not connected
(for example if it is reconnecting), it's NULL (to mean "unknown"). And if master is idle, the column will
not grow indefinitely like it used to (that was meaningless); this is fixed by forcing a value of 0
when the slave SQL thread has hit EOF of relay log (which has only a limited number of caveats explained
in comments in code).
sql/slave.h:
slave_running used to be bool but we need to distinguish, for the I/O slave thread, between
"running & connected" and "running & not connected" ("running" means the thread exists).
sql/sql_repl.cc:
we don't need anymore to set rli->last_master_timestamp to 0 (we used that to make Seconds_Behind_Master
be NULL) in RESET SLAVE and CHANGE MASTER, as these commands imply that slave threads are not running
and so Seconds_Behind_Master is already NULL because of that.
include/raid.h:
Fixing compile-time warning: pragma interface is not supported in C,
let's move it to C++ part of the header.
ndb/include/kernel/signaldata/CreateEvnt.hpp:
- remove extra erroneous ; from ends of function definitions
ndb/include/kernel/signaldata/PackedSignal.hpp:
- remove extra erroneous ; from ends of function definitions
ndb/include/kernel/signaldata/SumaImpl.hpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/common/debugger/signaldata/DictTabInfo.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/common/debugger/signaldata/NFCompleteRep.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/common/logger/FileLogHandler.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/backup/BackupInit.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/dbacc/DbaccInit.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/dbtc/DbtcInit.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/dbtux/Dbtux.hpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/dbutil/DbUtil.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/grep/GrepInit.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/ndbfs/VoidFs.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/qmgr/QmgrInit.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/suma/Suma.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/suma/SumaInit.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/kernel/blocks/trix/Trix.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/mgmsrv/MgmtSrvr.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/ndbapi/NdbEventOperation.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/src/ndbapi/NdbScanFilter.cpp:
- remove extra erroneous ; from ends of function definitions
ndb/tools/restore/Restore.cpp:
- remove extra erroneous ; from ends of function definitions
sql/item_create.h:
- remove extra erroneous ;
sql/sql_cache.cc:
- remove extra erroneous ;
tests/client_test.c:
- fix -pedantic warning
sql/item.h:
A quick fix for bug #7257: Crash in default tests: 'subselect'
We have to pass &item instead of &store to the Item_ref_null_helper()
then set ref.
* Backport of safety measures from 5.0: make numeorous replaces:
s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/item.cc:
* More comments
* Backport of safety measures from 5.0: make numeorous replaces:
s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/item.h:
Assert added
sql/item_cmpfunc.cc:
Backport of safety measures from 5.0: make numeorous replaces:
s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/item_func.cc:
Backport of safety measures from 5.0: make numeorous replaces:
s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/item_strfunc.h:
Backport of safety measures from 5.0: make numeorous replaces:
s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/item_subselect.cc:
Backport of safety measures from 5.0: make numeorous replaces:
s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/item_sum.cc:
Backport of safety measures from 5.0: make numeorous replaces:
s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/set_var.cc:
Backport of safety measures from 5.0: make numeorous replaces:
s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/sql_base.cc:
Backport of safety measures from 5.0: make numeorous replaces:
s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/sql_handler.cc:
Backport of safety measures from 5.0: make numeorous replaces:
s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/sql_help.cc:
Backport of safety measures from 5.0: make numeorous replaces:
s/item->fix_fields()/if (!item->fixed) item->fix_fields()
sql/sql_select.cc:
Backport of safety measures from 5.0: make numeorous replaces:
s/item->fix_fields()/if (!item->fixed) item->fix_fields()
* Added Item_ref::set_properties
* Item_ref::Item_ref now expects to get in *item either
NULL - then fix_fields() will be called later or
ptr to Item it will refer to - then an equivalent of fix_fields() call is performed
sql/item.cc:
Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0
* Added Item_ref::set_properties
* Adjusted Item_ref::Item_ref calls to match new calling convention
sql/item.h:
Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0
* Added Item_ref::set_properties
* Item_ref::Item_ref now expects to get in *item either
NULL - then fix_fields() will be called later or
ptr to Item it will refer to - then an equivalent of fix_fields() call is performed
sql/item_cmpfunc.cc:
Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0
* Adjusted Item_ref::Item_ref calls to match new calling convention
sql/item_func.cc:
Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0
* Added Item_ref::set_properties
* Adjusted Item_ref::Item_ref calls to match new calling convention
sql/item_row.cc:
Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0
* Added Item_ref::set_properties
* Adjusted Item_ref::Item_ref calls to match new calling convention
sql/item_strfunc.cc:
Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0
* Added Item_ref::set_properties
* Adjusted Item_ref::Item_ref calls to match new calling convention
The problem in 4.1 was the same as in 4.0 - fix_fields() not called for created Item_ref.
The fix is similar too - initialize Item_refs in ctor (but don't interfere with cases when
Item_ref is used by subselects).
sql/item.cc:
Fix for BUG#6976 ported from 4.0
sql/item_cmpfunc.cc:
Fix for BUG#6976 ported from 4.0
sql/item_func.cc:
Fix for BUG#6976 ported from 4.0
sql/item_row.cc:
Fix for BUG#6976 ported from 4.0
sql/item_strfunc.cc:
Fix for BUG#6976 ported from 4.0
UPDATE clause conflicts with SELECT for use of item_list field.
Alter UPDATE clause to use new lex field update_list
Tests included
mysql-test/r/insert_update.result:
WL#2274
New tests for INSERT..SELECT..UPDATE
mysql-test/t/insert_update.test:
WL#2274
New tests for INSERT..SELECT..UPDATE
sql/mysql_priv.h:
Remove function - insert_select_precheck()
sql/sql_class.h:
WL#2274
New constructor for class select_insert
sql/sql_insert.cc:
WL#2274
Move code into mysql_prepare_insert
Add checks as param values may be NULL
sql/sql_lex.cc:
WL#2274
initialize lex->update_list
sql/sql_lex.h:
WL#2274
New field in LEX: update_list
sql/sql_parse.cc:
WL#2274
INSERT..UPDATE clause now populates lex->update_list
Remove redundant function: insert_select_precheck()
sql/sql_prepare.cc:
WL#2274
invoke insert_precheck() instead of insert_select_precheck()
sql/sql_yacc.yy:
WL#2274
Enable INSERT..SELECT..UPDATE syntax
New rule - insert_update_list, to populate lex->update_list
In Item_ref::Item_ref set maybe_null (and other fields fix_fields sets) to be the
same as in (*ref), because Item_ref::fix_fields() will not be called. Previously
maybe_null was 0 always and this produced a bogus state where
maybe_null==0 && is_null() == true
which broke evaluation for some upper-level Items, like AND and OR.
mysql-test/r/group_by.result:
Test for BUG#6976
mysql-test/t/group_by.test:
Test for BUG#6976
sql/item.cc:
Comment added
sql/item.h:
Fix for BUG#6976:
in Item_ref::Item_ref(Item**...) fix all fields because fix_fields() will not be called.
refernces if subqueri is not in HAVING clause (BUG#7079)
and the same used for subquery transformetion
mysql-test/r/subselect.result:
reference on changable fields from subquery
mysql-test/t/subselect.test:
reference on changable fields from subquery
sql/item.cc:
new reference which refer to current value not to result used
sql/item.h:
new reference which refer to current value not to result used
sql/item_subselect.cc:
new reference which refer to current value not to result used
Call mark_as_null_row in join_read_const and join_read_system.
mysql-test/r/multi_update.result:
Testcase for BUG#5837
mysql-test/t/multi_update.test:
Testcase for BUG#5837
sql/table.h:
Added comments
innobase/dict/dict0dict.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/log.cc:
Auto merged
sql/sql_class.cc:
SCCS merged
innobase/dict/dict0dict.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
sql/log.cc:
Auto merged
sql/ha_innodb.cc:
SCCS merged
sql/sql_class.cc:
SCCS merged