Commit graph

17262 commits

Author SHA1 Message Date
unknown
05b709fc77 WL#1339 "Add per account max_user_connections limit (maximum number
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.
2004-12-29 20:30:37 +03:00
unknown
d967118ff6 configure.in:
Incremented for next version


configure.in:
  Incremented for next version
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-12-02 07:24:08 +01:00
unknown
14bc43bdf0 ps_7ndb.result:
fixed ps_7ndb test


mysql-test/r/ps_7ndb.result:
  fixed ps_7ndb test
2004-12-01 17:35:18 +00:00
unknown
5a13ed419d Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/jonas/src/mysql-5.0
2004-12-01 13:39:48 +01:00
unknown
2a6a1cbaed Remove unnecessary copyright header from trx0xa.h
innobase/include/trx0xa.h:
  Remove unnecessary copyright header from trx0xa.h.
2004-12-01 13:56:04 +02:00
unknown
e32f7a9470 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/jonas/src/mysql-5.0
2004-12-01 12:53:09 +01:00
unknown
10a80328b5 Merge mysql.com:/home/jonas/src/mysql-4.1-fix
into mysql.com:/home/jonas/src/mysql-5.0


ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
  Auto merged
2004-12-01 12:50:13 +01:00
unknown
e4dbc32f63 testcase for bug#6871, ndb, replace with collations
mysql-test/r/ndb_charset.result:
  testcase for bug#6871
mysql-test/t/ndb_charset.test:
  testcase for bug#6871
2004-12-01 10:13:18 +01:00
unknown
62e7f1cae9 bug#6871 - ndb
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
2004-12-01 10:04:49 +01:00
unknown
80d5488f94 Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/jan/mysql-5.0


sql/ha_innodb.cc:
  Auto merged
2004-12-01 09:21:42 +02:00
unknown
843f38fc78 This is a code cleanup patch for X/Open XA.
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.
2004-12-01 09:20:32 +02:00
unknown
6dd876715e strict.result:
Add warning line to result so that test passes


mysql-test/r/strict.result:
  Add warning line to result so that test passes
2004-12-01 00:30:42 +01:00
unknown
1e1654fe21 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.0
into avenger.(none):/export/brian/mysql/merge/5.0


innobase/include/row0mysql.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
2004-11-30 13:42:19 -08:00
unknown
b5622875aa Merge avenger.(none):/export/brian/mysql/merge/4.1
into avenger.(none):/export/brian/mysql/merge/5.0


sql/mysqld.cc:
  Auto merged
2004-11-30 12:51:59 -08:00
unknown
4579806f46 Merge bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2004-11-30 21:51:58 +01:00
unknown
ac2072938f fixed so that warning on missing support for engine only printed once even if option given multiple times 2004-11-30 20:51:57 +00:00
unknown
928d2a8b80 typo fixed 2004-11-30 21:17:03 +01:00
unknown
9ada34b316 Merge for Matt for Innodb bug.
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.
2004-11-30 10:10:40 -08:00
unknown
f299ff85b5 row0mysql.h, 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


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
2004-11-30 19:56:25 +02:00
unknown
be733ad13f fixed error in test result
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
2004-11-30 17:47:47 +00:00
unknown
99e69f2660 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/k/mysql-4.1


innobase/lock/lock0lock.c:
  Auto merged
2004-11-30 17:52:30 +02:00
unknown
93d5f62e38 lock0lock.c:
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
2004-11-30 17:51:10 +02:00
unknown
892cec8555 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/k/mysql-4.1
2004-11-30 17:50:56 +02:00
unknown
668d61b946 row0sel.c:
Remove compiler warning as I had forgotten an include file


innobase/row/row0sel.c:
  Remove compiler warning as I had forgotten an include file
2004-11-30 17:48:30 +02:00
unknown
795045d9a0 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/k/mysql-4.1
2004-11-30 17:48:30 +02:00
unknown
fc157af39d use sql_print_warning instead of push_warning in mysqld.cc 2004-11-30 15:48:29 +00:00
unknown
d6180d37be InnoDB: Allow ALTER TABLE to do intermediate COMMIT also when the table
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)
2004-11-30 17:34:37 +02:00
unknown
ea6614855f ps_7ndb.result, ps_7ndb.test:
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
2004-11-30 15:08:26 +00:00
unknown
cb6007ceb6 mysqld.cc:
fixed erroneous previous push


sql/mysqld.cc:
  fixed erroneous previous push
2004-11-30 14:52:05 +00:00
unknown
16a130a232 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-clean
2004-11-30 12:17:21 +00:00
unknown
07ed8294fa added check connection mgmapi method
added ndb_mgm_check_connection when error is printed


ndb/include/mgmapi/mgmapi.h:
  added check connection mgmapi method
ndb/src/mgmapi/mgmapi.cpp:
  added check connection mgmapi method
ndb/src/mgmclient/CommandInterpreter.cpp:
  added mgm_check_check_connection when error is printed
ndb/src/mgmsrv/Services.cpp:
  added check connection mgmapi method
ndb/src/mgmsrv/Services.hpp:
  added check connection mgmapi method
2004-11-30 12:02:53 +00:00
unknown
32fa7e0f4d Portability fix. Why not to use UINT_MAX32 here? 2004-11-30 15:10:48 +04:00
unknown
409debfa14 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.0
into avenger.(none):/export/brian/mysql/archive-delayed
2004-11-30 03:01:39 -08:00
unknown
9f726d99d0 Changes to support optimized bulk inserts. This will solve the problem of selects occurring during a bulk insert, and causing the compression factor to drop.
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.
2004-11-30 02:52:14 -08:00
unknown
3eada05db2 mysqld.cc:
fixed typo


sql/mysqld.cc:
  fixed typo
2004-11-30 10:22:50 +00:00
unknown
45968d1ff7 fixed bug/compiler warning
rewrote safer
    added return value to shutdown
    nicer printouts
    removed exit at shutdown


ndb/src/common/logger/Logger.cpp:
  fixed bug/compiler warning
ndb/src/mgmapi/LocalConfig.cpp:
  removed compiler warning
  rewrote safer
ndb/src/mgmclient/CommandInterpreter.cpp:
  added return value to shutdown
  nicer printouts
  removed exit at shutdown
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  fixed compiler warning
2004-11-30 10:19:49 +00:00
unknown
739b630ed7 Auto merged.
innobase/row/row0ins.c:
  Auto merged
innobase/trx/trx0undo.c:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/handler.h:
  Auto merged
2004-11-30 12:11:02 +02:00
unknown
df0e057a52 Added support for X/Open XA prepare, recover, commit and rollback.
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.
2004-11-30 11:45:02 +02:00
unknown
736875513a add warnings for INNODB,BDB,ISAM being unavailable if switch to use is supplied, i.e. --bdb,--isam,--innodb 2004-11-30 09:22:33 +00:00
unknown
f2c1ccb416 An additional test for 'CREATE DATABASE' with non-default character set. 2004-11-30 13:19:35 +04:00
unknown
8da148abe7 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-clean


sql/mysqld.cc:
  Auto merged
2004-11-30 08:41:59 +00:00
unknown
828cefb37d added use of mysql_cluster in mysqld (e.g. for ndb-connectstring)
added warning printout if --ndbcluster switch is given in a "non-cluster" binary
2004-11-30 08:41:16 +00:00
unknown
0dacdfcc75 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b6101


client/mysqldump.c:
  Auto merged
2004-11-30 12:27:17 +04:00
unknown
857bd559ec ndb - Fixed INCORRECT result file for unique index test
mysql-test/r/ndb_index_unique.result:
  Fixed INCORRECT result file for unique index test! SHAME!
2004-11-30 08:42:42 +01:00
unknown
88b177a51f Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/jonas/src/mysql-5.0
2004-11-30 07:46:52 +01:00
unknown
07a65fcee7 Merge mysql.com:/home/jonas/src/mysql-4.1-fix
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
2004-11-30 07:45:49 +01:00
unknown
bfab864435 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1
2004-11-30 07:44:11 +01:00
unknown
49c8409c25 Merge mysql.com:/home/jonas/src/mysql-4.1-fix
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
2004-11-30 07:43:19 +01:00
unknown
94a5379fbe ndb - fixed long overdue problems with unique indexes and null values
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
2004-11-30 07:41:26 +01:00
unknown
30c54408a1 Merge 2004-11-29 20:15:48 -08:00