of concurrent connections for the same account)"
Added support of account specific max_user_connections limit. Made all
user limits to be counted per account instead of the old behavior,
which was per user/host accounting. Added option which enables the old
behavior. Added testing of these to the test suite.
(After review version).
client/mysqltest.c:
Extended mysqltest to be able to handle connect() statements for which
error is expected.
- Added replace_dynstr_append() utility function.
- added connect_n_handle_errors() function which connects with server
without retries and handles errors as if "connect" was usual
statement.
- do_connect(): added ability to handle connects which are expected
to return an error.
- run_query_normal(): Moved all expected-error-handling code to separate
normal_handle_error()/normal_handle_no_error() functions to be able
to reuse them in connect_n_handle_errors().
mysql-test/r/grant.result:
Fixed test results since one more column to mysql.user was added.
mysql-test/r/system_mysql_db.result:
Fixed test results since one more column to mysql.user was added.
scripts/mysql_create_system_tables.sh:
Added max_user_connections column to mysql.user table for storing
new maximal concurrent connections per account limit.
scripts/mysql_fix_privilege_tables.sql:
Added max_user_connections column to mysql.user table for storing
new maximal concurrent connections per account limit.
sql/lex.h:
Added MAX_USER_CONNECTIONS symbol used for specifying
maximum number of concurrent connections per account.
sql/mysql_priv.h:
Added declaration of opt_old_style_user_limits variable which is defined
in sql/mysqld.cc used in sql/sql_parse.cc.
sql/mysqld.cc:
Added "old-style-user-limits" option which forces user limits to behave
in old way i.e. to be counted per user/host pair instead of per account.
Added comment describing mqh_used variable.
sql/set_var.cc:
Added sys_var_max_user_conn class which implements support for the new
behavior of max_user_connections variable. Now the global instance of
this variable holds default maximum number of concurrent connections per
account (as it was before) and the session instance gives read-only
access to account-specific version of this limit.
sql/set_var.h:
Added sys_var_max_user_conn class which implements support for the new
behavior of max_user_connections variable. Now the global instance of
this variable holds default maximum number of concurrent connections per
account (as it was before) and the session instance gives read-only
access to account-specific version of this limit.
sql/sql_acl.cc:
Added support for account-specific MAX_USER_CONNECTIONS limit.
Tweaked USER_RESOURCES and their handling for better clarity.
sql/sql_parse.cc:
Added support for account-specific MAX_USER_CONNECTIONS (maximum number
of concurrent connections per account) limit. Changed default behavior
of all user limits to be per account instead of per user+host.
'--old-style-user-limits' option was added to enable the old behavior.
Made maximum number of connections per hour to be independant on the
value of global max_user_connections variable.
sql/sql_yacc.yy:
Added support of new MAX_USER_CONNECTIONS limit to grammar.
Renamed USER_RESOURCES::connections member to conn_per_hour and bits
member to specified_limits. Also enum is used instead of naked numbers
when we are working with specified_limits.
sql/structs.h:
USER_RESOURCES struct:
- Added user_conn member to store the maximum number of concurrent
connections for an account. Renamed connections member to
conn_per_hour for less ambiguity.
- Renamed member 'bits' to 'specified_limits' for the sake of clarity.
The member was used as a flag indicating which limits were mentioned
in GRANT clause.
- Added comments.
USER_CONN struct:
- Removed unused user_len member.
- Added comments.
replace with charsets
check update of primary key wo/ normalizing
ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
Make sure tXfrmFlag is false when checking for update of primary key
BitKeeper/deleted/.del-xa.h~4021d7e61ff515b:
Delete: innobase/include/xa.h
innobase/include/trx0trx.h:
Change xa.h to trx0ha.h.
innobase/include/trx0undo.h:
Split TRX_UNDO_DICT_OPERATION field to two fiels: first contains
TRX_UNDO_XID_EXISTS flag which is TRUE if log header contains
X/Open XA XID and the second one contains TRX_UNDO_DICT_TRANS
flag which is TRUE if the transaction is dictionary transaction.
innobase/trx/trx0trx.c:
Remove unnecessary and erroneus code from prepare. Add some
informative printouts of prepared transactions.
innobase/trx/trx0undo.c:
Split TRX_UNDO_DICT_OPERATION field to two fields: the first field
is TRX_UNDO_XID_EXISTS flag which is true if the log header contains
X/Open XA XID and the second field is TRX_UNDO_DICT_TRANS flag
which is true if the transaction was a dictionary transaction.
sql/ha_innodb.cc:
Code cleanup.
client/mysqldump.c:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/ndb_index_unique.result:
Auto merged
mysql-test/r/rpl_start_stop_slave.result:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/ndb_grant.later:
Auto merged
mysql-test/t/ndb_index_unique.test:
Auto merged
ndb/include/ndbapi/NdbScanOperation.hpp:
Auto merged
ndb/src/ndbapi/NdbScanOperation.cpp:
Auto merged
ndb/test/ndbapi/testScanPerf.cpp:
Auto merged
netware/comp_err.def:
Auto merged
netware/isamchk.def:
Auto merged
netware/isamlog.def:
Auto merged
netware/libmysql.def:
Auto merged
netware/my_print_defaults.def:
Auto merged
netware/myisam_ftdump.def:
Auto merged
netware/myisamchk.def:
Auto merged
netware/myisamlog.def:
Auto merged
netware/myisampack.def:
Auto merged
netware/mysql.def:
Auto merged
netware/mysql_install.def:
Auto merged
netware/mysql_install_db.def:
Auto merged
netware/mysql_test_run.def:
Auto merged
netware/mysql_waitpid.def:
Auto merged
netware/mysqladmin.def:
Auto merged
netware/mysqlbinlog.def:
Auto merged
netware/mysqlcheck.def:
Auto merged
netware/mysqld.def:
Auto merged
netware/mysqld_safe.def:
Auto merged
netware/mysqldump.def:
Auto merged
netware/mysqlimport.def:
Auto merged
netware/mysqlshow.def:
Auto merged
netware/mysqltest.def:
Auto merged
netware/pack_isam.def:
Auto merged
netware/perror.def:
Auto merged
netware/replace.def:
Auto merged
netware/resolve_stack_dump.def:
Auto merged
netware/resolveip.def:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
client/mysqladmin.cc:
Merge for Netware changes. Indention fixes.
sql/field.cc:
Merge fixes, warnings added from 4.1 to 5.0
sql/mysqld.cc:
Merge fixes, just indention fixes.
Sergey Petrunia's ROR code fails to tell handlers that they should retrieve the primary key columns; let InnoDB ALWAYS retrieve them, to fix many bugs and potential bugs
sql/ha_innodb.cc:
Sergey Petrunia's ROR code fails to tell handlers that they should retrieve the primary key columns; let InnoDB ALWAYS retrieve them, to fix many bugs and potential bugs
innobase/include/row0mysql.h:
Sergey Petrunia's ROR code fails to tell handlers that they should retrieve the primary key columns; let InnoDB ALWAYS retrieve them, to fix many bugs and potential bugs
added extra calls to retrieve connectstring used
reengineered connect somewhat to make retries etc explicit
mysql-test/r/ndb_index_unique.result:
fixed error in test result
ndb/include/mgmapi/mgmapi.h:
added extra calls to retrieve connectstring used
ndb/include/mgmcommon/ConfigRetriever.hpp:
added extra calls to retrieve connectstring used
ndb/include/ndbapi/ndb_cluster_connection.hpp:
added extra calls to retrieve connectstring used
reengineered connect somewhat to make retries etc explicit
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
added extra calls to retrieve connectstring used
ndb/src/mgmapi/mgmapi.cpp:
added extra calls to retrieve connectstring used
ndb/src/mgmclient/CommandInterpreter.cpp:
moved parse of quit to avoid connect before
ndb/src/ndbapi/Ndbinit.cpp:
reengineered connect somewhat to make retries etc explicit
ndb/src/ndbapi/ndb_cluster_connection.cpp:
added extra calls to retrieve connectstring used
reengineered connect somewhat to make retries etc explicit
ndb/tools/listTables.cpp:
reengineered connect somewhat to make retries etc explicit
sql/ha_ndbcluster.cc:
added extra calls to retrieve connectstring used
reengineered connect somewhat to make retries etc explicit
If UNIV_DEBUG is defined, lock_get_type() was called before function definition: fix this
innobase/lock/lock0lock.c:
If UNIV_DEBUG is defined, lock_get_type() was called before function definition: fix this
contains auto_increment columns. (Bug #6633)
innobase/include/lock0lock.h:
Replaced lock_get_table()
with lock_get_src_table() and lock_is_table_exclusive()
innobase/lock/lock0lock.c:
Replaced lock_get_table()
with lock_get_src_table() and lock_is_table_exclusive()
sql/ha_innodb.cc:
ha_innobase::write_row(): Improve the ALTER TABLE optimization
(do intermediate COMMIT also if table contains auto_increment columns)
ndb now runs ps tests just like the others
mysql-test/t/ps_7ndb.test:
ndb now runs ps tests just like the others
mysql-test/r/ps_7ndb.result:
ndb now runs ps tests just like the others
mysql-test/r/archive.result:
Updated result set for changes amde to support delayed insert and bulk insert optimizations.
mysql-test/t/archive.test:
Test cases to test bulk insert statements and delayed insert syntax.
sql/examples/ha_archive.cc:
Added methods needed for bulk operations to be optimized. Bulk inserts now do not trigger the file as dirty until they are complete. A normal insert though can still cause them to be synced though since it is not effected by the flag. Removed share variable to determine if row count is right or not (it should not be treated as an upper end estimate).
sql/examples/ha_archive.h:
Removed share variable for delayed flag since it is no longer needed.
Added flag in table instance to know if a bulk insert is happening.
Added method declarations for bulk insert optimizations.
innobase/include/trx0roll.h:
Changed prototype of the function trx_rollback_or_clean_all_without_sess
because this function is executed in a background thread.
innobase/include/trx0trx.h:
Added support for X/Open XA prepare, recover and search by X/Open XA XID.
innobase/include/trx0undo.h:
Added support for X/Open XA prepare and recover. We need to store X/Open XA XID
to the undo log header for recovery.
innobase/log/log0recv.c:
Create a thread to run trx_rollback_or_clean_all_without_sess function
to rollback the uncommitted transactions which have no user session.
innobase/row/row0ins.c:
Remove unnecessary variables.
innobase/trx/trx0roll.c:
Changed so that trx_rollback_or_clean_all_without_sess is executed
in a background thread. We should also leave all prepared transactions
active to wait for commit or abort from MySQL.
innobase/trx/trx0sys.c:
Only those rows which belong to the active transaction in crash recovery
are undone.
innobase/trx/trx0trx.c:
Added support for X/Open XA prepare and recover. We need to store X/Open XA
XID to trx structure and left prepared transactions to wait for a
commit or abort from MySQL. This requires also that we add TRX_PREPARED
state to the transaction and TRX_UNDO_PREPARED state for undo logs.
innobase/trx/trx0undo.c:
Added support for X/Open XA prepare and recover. We need to store X/Open XA
XID to undo log header for recovery of distributed transactions.
sql/ha_innodb.h:
Added prototypes for X/Open XA prepare, recover, commit and rollback.
sql/handler.h:
Added definition for X/Open XA XID structure.
into mysql.com:/home/jonas/src/mysql-5.0
mysql-test/r/ndb_index_unique.result:
Auto merged
mysql-test/t/ndb_index_unique.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
into mysql.com:/home/jonas/src/mysql-4.1
mysql-test/r/ndb_index_unique.result:
Auto merged
mysql-test/t/ndb_index_unique.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
mysql-test/r/ndb_index_unique.result:
Test of unique index and null
mysql-test/t/ndb_index_unique.test:
Test of unique index and null
sql/ha_ndbcluster.cc:
Fixed long overdue problems with unique indexes and null values