- updated mysql-copyright-2 to properly convert this new header from GPL to commercial for the
commercial distribution
Build-tools/mysql-copyright-2:
- added functionality to replace a copyright header in .sql files, too (needed for updating
scripts/fill_help_tables.sql in the commercial source distribution)
scripts/fill_help_tables.sh:
- added copyright header on top of the fill_help_tables.sql file (BUG#5772)
VC++Files/mysql.dsw:
Auto merged
mysql-test/my_create_tables.c:
Auto merged
mysql-test/my_manage.c:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-wl2278
ndb/src/common/transporter/TransporterRegistry.cpp:
Auto merged
ndb/src/common/util/SocketServer.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
Fix bug in bug fix in FastScheduler
remove possibility of endless loop
resulting in APZJobBuffer overflow due to statistics reporting
ndb/src/kernel/vm/FastScheduler.cpp:
Fix bug in bug fix in FastScheduler
remove possibility of endless loop
resulting in APZJobBuffer overflow due to statistics reporting
Treat the management server specially.
It should always be the server in a transporter as we then have a known
port to connect to on node restart.
allows a mgm connection (i.e. to the management server port, our known port)
to be transformed into a transporter connection.
Also, clean up the struct TransporterConfiguration (used to be a struct for
each transporter type. now there's just one)
ndb/include/transporter/TransporterDefinitions.hpp:
Clean up XXX_TransporterConfiguration and create one TransporterConfiguration structure.
Makes things easier to read (especially in IPCConfig.cpp)
ndb/include/transporter/TransporterRegistry.hpp:
add get_mgm_handle (to compliment the set_mgm_handle function)
clean up createTransporter to use just one TransporterConfiguration struct
ndb/include/util/SocketClient.hpp:
Introduce connect_without_auth() to ignore any authentication method that may have been set.
ndb/src/common/mgmcommon/IPCConfig.cpp:
Remove dead IPCConfig::configureTransporters(TransporterRegistry*)
Fixup IPCConfig::configureTransporters(Uint32 nodeId...)
- use the 'one struct TransporterConfiguration to rule them all'
- make MGM node the server
- fix switch statement for transporter types
- close } in strange place
- possible inadvertent fall through
ndb/src/common/transporter/OSE_Transporter.cpp:
a partial fix for the introduction of new parameters.
OSE shouldn't build how it is now. Better to keep the build broken than have it build and fail strangely at runtime.
ndb/src/common/transporter/OSE_Transporter.hpp:
a partial fix for the introduction of new parameters.
OSE shouldn't build how it is now. Better to keep the build broken than have it build and fail strangely at runtime.
ndb/src/common/transporter/SCI_Transporter.cpp:
should be correct for SCI transporter.
ndb/src/common/transporter/SCI_Transporter.hpp:
should be correct for SCI transporter
ndb/src/common/transporter/SHM_Transporter.cpp:
add new parameters for Transporter constructor
ndb/src/common/transporter/SHM_Transporter.hpp:
add new parameters for Transporter constructor
ndb/src/common/transporter/TCP_Transporter.cpp:
add new parameters for Transporter constructor
ndb/src/common/transporter/TCP_Transporter.hpp:
add new parameters for Transporter constructor
ndb/src/common/transporter/Transporter.cpp:
Add new parameters
- isMgmConnection
requires transforming from mgm to transporter
- serverNodeId
node id that will serve as the server
Treat connection differently if isMgmConnection (send a special mgm command first)
ndb/src/common/transporter/Transporter.hpp:
add fields to constructor
add isMgmConnection member (if true, have to transform a mgm connection)
ndb/src/common/transporter/TransporterRegistry.cpp:
createTransporter -> createTCPTransporter (etc)
add extra transporter constructor parameters (from config)
modify to use changes to TransporterConfiguration
ndb/src/common/util/SocketClient.cpp:
SocketClient::connect_without_auth()
Temporarily disables authentication and connects.
This is useful if you're trying to change what this
SocketClient object is for (e.g. from mgm to ndb)
ndb/src/common/util/SocketServer.cpp:
Don't runSession or close socket when entering sessionThread if m_stopped
ndb/src/mgmsrv/ConfigInfo.cpp:
fixPortNumber
- Get port number from the MGM node as it will always be the server
ndb/src/mgmsrv/MgmtSrvr.cpp:
transporter_connect(sockfd)
- transform this mgm connection into a transporter connection
ndb/src/mgmsrv/MgmtSrvr.hpp:
prototype for transporter_connect
ndb/src/mgmsrv/Services.cpp:
add command: "transporter connect"
stops the MgmApiSession and replaces it with a transporter connection
ndb/src/mgmsrv/Services.hpp:
prototype for transporter_connect
fixed end of string detection in string->decimal conversion to avoid false alarm about some string part left unconverted (string can be not null terminated)
ignore my_decimal.cc in libmysqld directory
BitKeeper/etc/ignore:
Added libmysqld/my_decimal.cc to the ignore list
sql/my_decimal.cc:
fixed end of string detection in string->decimal conversion to avoid false alarm about some string part left unconverted (string can be not null terminated)
strings/decimal.c:
fixed C++ syntax in C code
into deer.(none):/home/hf/work/mysql-5.0.clean
mysql-test/r/view.result:
Auto merged
sql/item_func.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/heap_hash.result:
Testcase for BUG#8371: wrong rec_per_key value for hash index on temporary table
mysql-test/t/heap_hash.test:
Testcase for BUG#8371: wrong rec_per_key value for hash index on temporary table
sql/ha_heap.cc:
Fix for BUG#8371: wrong rec_per_key value for hash index on temporary table:
Don't assume that table->rec_per_key==NULL if table->tmp_table != NO_TMP_TABLE,
this is not true for tables created with "CREATE TEMPORARY TABLE" (while it holds
for temporary tables created during query execution)
sql/sql_select.cc:
Initialize rec_per_key for all keys in temporary table.
Collect all tables and SPs refered by a statement, and open all tables
with an implicit LOCK TABLES. Do find things refered by triggers and views,
we open them first (and then repeat this until nothing new is found), before
doing the actual lock tables.
mysql-test/r/information_schema.result:
Updated result for WL#2130.
mysql-test/r/lock.result:
Updated result for WL#2130.
mysql-test/r/sp-error.result:
Updated result for WL#2130.
mysql-test/r/sp.result:
Updated result for WL#2130.
mysql-test/r/view.result:
Updated result for WL#2130.
mysql-test/t/information_schema.test:
Disabled one test case due to a bug involving LOCK TABLES,
which shows up with WL#2130.
mysql-test/t/lock.test:
New error message with WL#2130. This change is under debate and might change
in the future, but will do for now.
mysql-test/t/sp-error.test:
Updated for WL#2130. Some tests are voided when table access does work from
functions.
mysql-test/t/sp.test:
Updated for WL#2130.
mysql-test/t/view.test:
Updated for WL#2130.
sql/item_func.cc:
We now have to set net.no_send_ok for functions too, with WL#2130.
sql/share/errmsg.txt:
Reused an error code since the old use was voided by WL#2130, but a new
one was needed instead (similar, but more specific restriction).
sql/sp.cc:
Fixed error handling and collection of used tables for WL#2130.
sql/sp.h:
Fixed error handling and collection of used tables for WL#2130.
sql/sp_head.cc:
Added support functions for collecting and merging hash tables and lists
of used tables from SPs and substatements, for WL#2130.
sql/sp_head.h:
Added support functions for collecting and merging hash tables and lists
of used tables from SPs and substatements, for WL#2130.
sql/sql_base.cc:
Changed the way table->query_id is tested and set during with locked tables
in effect. This makes some SP test cases work with WL#2130, but has a side
effect on some error cases with explicit LOCK TABLES. It's still debated if
this is the correct way, so it might change.
sql/sql_class.h:
Added flags for circumventing some interference between WL#2130 and mysql_make_view().
sql/sql_derived.cc:
Added some missing initializations. (Potential bugs.)
sql/sql_lex.cc:
Clear the new hash tables for WL#2130.
sql/sql_lex.h:
Added hash tables for procedures and tables too (as for functions), for WL#2130.
sql/sql_parse.cc:
WL#2130: Make table accesses from stored functions work by adding an implicit
LOCK TABLES around (most) executed statements. To do this, we have to go through
a loop where we collect all SPs and tables in mysql_execute_statement.
sql/sql_prepare.cc:
Cache both functions and procedures for WL#2130.
sql/sql_show.cc:
Added some missing initializations. (Potential bugs.)
sql/sql_view.cc:
Shortcut mysql_make_view() if thd->shortcut_make_view is true during
the pre-open phase for collecting tables in WL#2130. Otherwise, the
similar mechanism here causes interference.
sql/sql_yacc.yy:
For WL#2130, added caching of procedures and disallowed LOCK/UNLOCK TABLES in SPs.
innobase/data/data0type.c:
Add mbminlen and mbmaxlen to dtype_t
innobase/include/data0type.h:
Add mbminlen and mbmaxlen to dtype_t
Add dtype_get_mbminlen() and dtype_get_mbmaxlen()
innobase/include/data0type.ic:
Add dtype_set_mblen()
Add dtype_get_mbminlen() and dtype_get_mbmaxlen()
Replace innobase_is_mb_cset() with innobase_get_mb_cset()
innobase/include/row0mysql.h:
Add mbminlen and mbmaxlen
innobase/include/row0mysql.ic:
Detect UCS2 collations based on mbminlen
innobase/row/row0sel.c:
Detect UCS2 collations based on mbminlen
sql/ha_innodb.cc:
Replace innobase_is_mb_cset() with innobase_get_mb_cset()
build_template(): Initialize templ->mbminlen and templ->mbmaxlen
Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
This will ensure that any reference to these has a valid value.
Generalized the code for split_sum_func()
BitKeeper/etc/ignore:
added support-files/ndb-config-2-node.ini
mysql-test/r/group_by.result:
More complicated test to assure that rand() is only calulated once
mysql-test/r/user_var.result:
Back to old results :( (ok but not perfect)
mysql-test/t/group_by.test:
More complicated test to assure that rand() is only calulated once
sql/item.cc:
Better bugfix for "HAVING when refering to RAND()"
This will ensure that when refering to things like RAND() in HAVING through an alias we will not recalculate that rand() value in the HAVING part but use the value in the row
Generalize split_sum_func()
sql/item.h:
Better bugfix for "HAVING when refering to RAND()"
T
sql/item_cmpfunc.cc:
Better bugfix for "HAVING when refering to RAND()"
Use generalized split_sum_func2() function
sql/item_func.cc:
Better bugfix for "HAVING when refering to RAND()"
Use generalized split_sum_func2() function
sql/item_row.cc:
Better bugfix for "HAVING when refering to RAND()"
Use generalized split_sum_func2() function
sql/item_strfunc.cc:
Better bugfix for "HAVING when refering to RAND()"
Use generalized split_sum_func2() function
sql/sql_list.h:
Add functions to concatenate lists
sql/sql_select.cc:
Better bugfix for "HAVING when refering to RAND()"
Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
This will ensure that any reference to these has a valid value.
Row_format=Redundant
sql/ha_innodb.cc:
Implement get_row_type()
sql/ha_innodb.h:
Declare get_row_type()
sql/handler.h:
Declare get_row_type()
sql/sql_show.cc:
get_schema_tables_record(): Primarily invoke handler::get_row_type()
in order to determine the row type within the storage engine.
Secondarily use the old method of examining the HA_OPTION flags.