(Suggested by Tomas Ulin as part of review for WL2278)
ndb/include/transporter/TransporterRegistry.hpp:
Differentiate signed port numbers from unsigned ones
ndb/src/common/mgmcommon/IPCConfig.cpp:
Explain the sign of server_port
ndb/src/common/transporter/TransporterRegistry.cpp:
Use s_port to indicate a signed port number.
ndb/src/kernel/main.cpp:
use m_s_service_port to indicate signed port number
ndb/src/mgmsrv/MgmtSrvr.cpp:
differentiate between signed and unsigned port numbers
ndb/src/ndbapi/ndb_cluster_connection.cpp:
use m_s_service_port to indicate signed port number
into mysql.com:/home/stewart/Documents/MySQL/5.0/ndb-dynamic-ports-impl4
ndb/src/common/transporter/TransporterRegistry.cpp:
Auto merged
ndb/src/mgmapi/mgmapi.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
When a node restarts it starts over again with fetching the configuration
- It is not sure that it can use the "old dynamically allocated port number" again.
- It should however try to reuse the old one, if not possible it should
allocate a new one. One has to be able to distinguish between portnumbers
specified originally in the config, and ones that has been dynamically added
(the latter may be changed if "busy", but the first cannot be changed).
We use negative portnumbers for ports that are ok to change.
ndb/include/mgmapi/mgmapi_debug.h:
change prototype for:
ndb_mgm_set_connection_int_parameter
ndb_mgm_get_connection_int_parameter
Accept/set an int instead of an unsigned
ndb/include/transporter/TransporterRegistry.hpp:
Use an int (signed) to represent a port number.
Zero means dynamic (but unassigned)
>0 means static (defined in configuration)
<0 means dynamic (and should be converted to positive before use)
ndb/src/common/mgmcommon/IPCConfig.cpp:
Set up the Transporter with a port number of the correct sign.
ndb/src/common/transporter/TransporterRegistry.cpp:
start_clients_thread:
- handle negative port numbers
add_transporter_interface:
- accept signed integer as port number
start_service:
- If port is dynamic (<0), try to bind to it.
if that fails (e.g. some other process has taken that port),
then get a new dynamic port number.
ndb/src/mgmapi/mgmapi.cpp:
Use a signed integer for value in:
ndb_mgm_set_connection_int_parameter
ndb_mgm_get_connection_int_parameter
Cast to a Uint32 for storage/retrieval to/from Properties
ndb/src/mgmsrv/MgmtSrvr.cpp:
getConnectionDbParameter
- return value as integer (signed)
- cast as Uint32 for iter.get
ndb/src/mgmsrv/MgmtSrvr.hpp:
Update prototype of getConnectionDbParameter
int value (not unsigned anymore)
ndb/src/mgmsrv/Services.cpp:
MgmApiSession::getConnectionParameter
- value is now signed
into mysql.com:/home/stewart/Documents/MySQL/5.0/ndb-dynamic-ports-impl3
ndb/src/common/transporter/TransporterRegistry.cpp:
Auto merged
ndb/src/mgmapi/mgmapi.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/mgmsrv/main.cpp:
Auto merged
into mysql.com:/home/jonas/src/mysql-5.0
mysql-test/r/ndb_index_ordered.result:
Auto merged
mysql-test/t/ndb_index_ordered.test:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
sql/net_serv.cc:
Auto merged
sql/sql_class.h:
Auto merged
mysql-test/r/ndb_index_ordered.result:
Test scan with invalid table version
mysql-test/t/ndb_index_ordered.test:
Test scan with invalid table version
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Set apiConnectstate= CS_ABORTING when receving a scan req with invalid
table version
into mysql.com:/home/jonas/src/mysql-5.0
BitKeeper/etc/gone:
auto-union
innobase/os/os0file.c:
Auto merged
sql-common/client.c:
Auto merged
sql/examples/ha_archive.cc:
Auto merged
sql/net_serv.cc:
Auto merged
into mysql.com:/home/jonas/src/mysql-5.0
BitKeeper/etc/gone:
auto-union
innobase/os/os0file.c:
Auto merged
sql-common/client.c:
Auto merged
sql/examples/ha_archive.cc:
Auto merged
sql/net_serv.cc:
Auto merged
into mysql.com:/home/jwinstead2/mysql-5.0-clean
BitKeeper/etc/gone:
auto-union
innobase/os/os0file.c:
Auto merged
sql/net_serv.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_table.cc:
Auto merged
BitKeeper/etc/gone:
auto-union
innobase/os/os0file.c:
Auto merged
sql-common/client.c:
Auto merged
sql/examples/ha_archive.cc:
Auto merged
sql/net_serv.cc:
Auto merged
sql/set_var.cc:
Auto merged
ndb/src/common/transporter/TransporterRegistry.cpp:
Report an error if connect_client fails. This should never really happen,
except if strange things are going on. Hit this case during development,
probably good to report if it happens.
Did some more split TABLE to TABLE and TABLE_SHARE
sql/field.cc:
Field 'db_low_byte_first' of 'struct st_table' is now in TABLE_SHARE sub struct 's'
sql/field.h:
Field 'db_low_byte_first' of 'struct st_table' is now in TABLE_SHARE sub struct 's'