summaryrefslogtreecommitdiff
path: root/sql/sql_db.cc
Commit message (Collapse)AuthorAgeFilesLines
* Bug #15302 LOAD DATA FROM MASTER -> Packets out of order (Found: 2, expected 1)unknown2006-01-311-3/+10
| | | | | | | | | | | - Change "mysql_create_db" to not call "send_ok" if in silent mode i.e. called from "load_master_data" - Change mysqltest to detect when there aren't as many warnings available as was reported. client/mysqltest.c: Call "die" if warnings were reported but there weren't any warnings to retrieve sql/sql_db.cc: Don't call "send_ok" if in silent mode.
* Fix for bug #6008: MySQL does not create warnings when creating database and ↵unknown2005-09-121-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | using IF NOT EXISTS produce warning for 'create database if not exists' if database exists do not update database options in this case produce warning for 'create table if not exists' if table exists mysql-test/r/create.result: Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS updated test case result mysql-test/r/temp_table.result: Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS updated test case result mysql-test/r/warnings.result: Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS updated test case result mysql-test/t/create.test: Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS test case sql/sql_db.cc: Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS produce warning for 'create database if not exists' if database exists do not update database options in this case sql/sql_table.cc: Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS produce warning for 'create table if not exists' if table exists
* mergedunknown2005-08-251-10/+8
|\
| * after pull cleanupunknown2005-08-221-12/+9
| | | | | | | | | | | | | | | | | | configure.in: don't be too restrictive mysql-test/r/rpl_drop_db.result: test case cleanup mysql-test/t/rpl_drop_db.test: test case cleanup
* | Review fixesunknown2005-08-241-48/+46
|/ | | | | | | | | | | | | | | | mysql-test/r/ctype_cp932.result: Remove first event to make things portable mysql-test/r/rpl_drop_db.result: Use 'mysqltest' as database instead of 'd1' Made test faster by using longer table names instead of lots of tables mysql-test/t/ctype_cp932.test: Remove first event to make things portable mysql-test/t/rpl_drop_db.test: Use 'mysqltest' as database instead of 'd1' Made test faster by using longer table names instead of lots of tables sql/sql_db.cc: Indentation & style fixes Simple optimization (remove constant and boolean variable)
* updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication). unknown2005-08-181-28/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | We binlog the DROP TABLE for each table that was actually dropped. Per Sergei's suggestion a fixed buffer for the DROP TABLE query is pre-allocated from THD pool, and logging now is done in batches - new batch is started if the buffer becomes full. Reduced memory usage by reusing the table list instead of accumulating a list of dropped table names. Also fixed the problem if the table was not actually dropped, eg due to permissions. Extended the test case to make sure batched query logging does work. mysql-test/r/rpl_drop_db.result: test for query buffer overrun mysql-test/t/rpl_drop_db.test: test for query buffer overrun sql/mysql_priv.h: updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication) BitKeeper/etc/ignore: Added support-files/MacOSX/postflight support-files/MacOSX/preflight to the ignore list sql/sql_db.cc: updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication) sql/sql_table.cc: updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication) sql/table.h: updated patch for BUG#4680 (incomplete DROP DATABASE breaking replication)
* patch for BUG#4680 - drop database breaking replication if there were extra ↵unknown2005-08-031-5/+40
| | | | | | | | | | | | files in the database directory on the master mysql-test/r/rpl_drop_db.result: New BitKeeper file ``mysql-test/r/rpl_drop_db.result'' mysql-test/t/rpl_drop_db.test: New BitKeeper file ``mysql-test/t/rpl_drop_db.test''
* BUG# 9148: Denial of serviceunknown2005-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The problem was that on Windows the access method indicates that access to file such as "com1" and "lpt1" is allowed (since they are device names) and this causes mysql to attempt to open them as databases or tables. The fix was to write our own my_access method that uses other Win32 functions to determine if the given argument is indeed a file and has to requested mode. VC++Files/mysys/mysys.dsp: added my_access VC++Files/mysys/mysys_ia64.dsp: added my_access.c include/my_sys.h: if on windows, we use my_access. if not on windows, then my_access points to the native access method mysys/Makefile.am: added my_access to mysys build file mysys/mf_pack.c: changed call to access to my_access sql/sql_db.cc: changed call to access to my_access
* After review fixesunknown2005-02-021-1/+1
| | | | | | | client/mysql.cc: check for "error" added sql/sql_db.cc: typo fixed
* Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2005-02-021-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/ram/work/4.1.b4802 client/mysql.cc: Auto merged include/mysql_com.h: Auto merged sql/sql_db.cc: Auto merged BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
| * A fix (bug #4802 prompt in mysql client shows wrong database after dropping ↵unknown2004-10-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | default db). client/mysql.cc: A fix (bug #4802 prompt in mysql client shows wrong database after dropping default db). Introduced new get_current_db() function which is called from the com_use() and the com_go() if we get SERVER_STATUS_DB_DROPPED. include/mysql_com.h: A fix (bug #4802 prompt in mysql client shows wrong database after dropping default db). SERVER_STATUS_DB_DROPPED flag added. Note: it is set to 256 to don't conflict with 5.0 ver. sql/sql_db.cc: A fix (bug #4802 prompt in mysql client shows wrong database after dropping default db). SERVER_STATUS_DB_DROPPED flag is set/unset.
* | fixes/cleanups according to Coverity reportunknown2005-01-241-11/+11
| |
* | Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-12-091-13/+15
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/dlenev/src/mysql-4.1-bg6765 sql/set_var.cc: Auto merged sql/sql_db.cc: Auto merged
| * | Ensure that we free memory used with --order-by-primary (in mysqldump)unknown2004-12-091-13/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simple, non critical, fix to mysql_fix_privilege_tables client/mysqldump.c: Ensure that we free memory used with --order-by-primary mysql-test/t/system_mysql_db_fix.test: Remove warnings when compiled with support for ISAM scripts/mysql_fix_privilege_tables.sh: Ensure that 'my_print_defaults' is called correctly sql/set_var.cc: Code style cleanups sql/sql_db.cc: Fixed comments sql/udf_example.cc: Fixed comments
* | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-12-091-1/+0
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/dlenev/src/mysql-4.1-bg6765 sql/item_strfunc.cc: Auto merged sql/log.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_db.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_yacc.yy: Auto merged
| * | Fix for bug #6765 "Implicit access to time zone description unknown2004-12-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tables requires privileges for them if some table or column level grants present" (with after-review fixes). We should set SELECT_ACL for implicitly opened tables in my_tz_check_n_skip_implicit_tables() to be able to bypass privilege checking in check_grant(). Also we should exclude those tables from privilege checking in multi-update. mysql-test/r/timezone2.result: Extended test for bug #6116 "SET time_zone := ... requires access to mysql.time_zone tables" Added test for bug #6765 "Implicit access to time zone description tables requires privileges for them if some table or column level grants present" mysql-test/t/timezone2.test: Extended test for bug #6116 "SET time_zone := ... requires access to mysql.time_zone tables" Added test for bug #6765 "Implicit access to time zone description tables requires privileges for them if some table or column level grants present" sql/item_geofunc.cc: sql_acl.h is now included via mysql_priv.h sql/item_strfunc.cc: sql_acl.h is now included via mysql_priv.h sql/log.cc: sql_acl.h is now included via mysql_priv.h sql/mysql_priv.h: Now we have to include sql_acl.h before tztime.h, since my_tz_check_n_skip_implicit_tables() defined there requires SELECT_ACL constant defined in sql_acl.h. sql/mysqld.cc: sql_acl.h is now included via mysql_priv.h sql/repl_failsafe.cc: sql_acl.h is now included via mysql_priv.h sql/set_var.cc: sql_acl.h is now included via mysql_priv.h sql/sql_acl.cc: sql_acl.h is now included via mysql_priv.h sql/sql_base.cc: sql_acl.h is now included via mysql_priv.h sql/sql_cache.cc: sql_acl.h is now included via mysql_priv.h sql/sql_class.cc: sql_acl.h is now included via mysql_priv.h sql/sql_db.cc: sql_acl.h is now included via mysql_priv.h sql/sql_derived.cc: sql_acl.h is now included via mysql_priv.h sql/sql_do.cc: sql_acl.h is now included via mysql_priv.h sql/sql_insert.cc: sql_acl.h is now included via mysql_priv.h sql/sql_parse.cc: check_one_table_access(): Tweaked comments. multi_update_precheck(): Added skipping of implicitly opened tables during privilege checking. sql/sql_prepare.cc: sql_acl.h is now included via mysql_priv.h sql/sql_repl.cc: sql_acl.h is now included via mysql_priv.h sql/sql_show.cc: sql_acl.h is now included via mysql_priv.h sql/sql_update.cc: sql_acl.h is now included via mysql_priv.h sql/sql_yacc.yy: sql_acl.h is now included via mysql_priv.h sql/tztime.h: my_tz_check_n_skip_implicit_tables(): We should set SELECT_ACL for implictly opened tables to be able to bypass privilege checking in check_grant().
* | | Bug#6391 (binlog-do-db rules ignored)unknown2004-12-031-3/+41
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CREATE DATABASE statement used the current database instead of the database created when checking conditions for replication. CREATE/DROP/ALTER DATABASE statements are now replicated based on the manipulated database. mysql-test/t/rpl_until.test: Longer sleep to allow slave to stop. mysql-test/t/rpl_charset.test: Position change in binary file. mysql-test/r/drop_temp_table.result: Position change in binlog. mysql-test/r/rpl_loaddata_rule_m.result: Position change in binlog. mysql-test/r/rpl_charset.result: Position change in binlog. sql/log_event.h: Added new flag and parameter to suppress generation of USE statements. sql/log_event.cc: Added parameter and code to suppress generation of USE statements. sql/sql_db.cc: Suppress generation of USE before CREATE/ALTER/DROP DATABASE statements. sql/log.cc: Query_log_event have new extra parameter. sql/sql_table.cc: Query_log_event have new extra parameter. sql/sql_base.cc: Query_log_event have new extra parameter. sql/sql_update.cc: Query_log_event have new extra parameter. sql/sql_insert.cc: Query_log_event have new extra parameter. sql/sql_rename.cc: Query_log_event have new extra parameter. sql/sql_delete.cc: Query_log_event have new extra parameter. sql/sql_acl.cc: Query_log_event have new extra parameter. sql/handler.cc: Query_log_event have new extra parameter. sql/item_func.cc: Query_log_event have new extra parameter. sql/sql_parse.cc: Query_log_event have new extra parameter.
* | Bug#6031 - To drop database you have to execute DROP DATABASE command twice.unknown2004-11-101-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DROP DATABASE failed because of file ext not in TYPELIB of known extensions. General solution - construct a TYPELIB at runtime instead of a static list. mysql-test/r/ndb_basic.result: Bug#6031 New test for bug mysql-test/t/ndb_basic.test: Bug#6031 New test for bug sql/ha_ndbcluster.cc: Cosmetic fix sql/handler.cc: Bug#6031 New function - ha_known_exts() We can construct TYPELIB of known db file extensions. sql/handler.h: Bug#6031 New function - ha_known_exts() sql/sql_db.cc: Bug#6031 We use a constructed list of known extensions instead of a static list
* | Simpler arena swapping codeunknown2004-11-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root. This gives us the following benefits: - Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases) - Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT) - We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root client/mysqltest.c: Remove some not needed defines (Things like this should be done in config-win.h) include/config-win.h: Added popen() and pclose() compatibility macros mysql-test/t/rpl_failed_optimize-master.opt: Portability fix sql/ha_berkeley.cc: New thd->memroot handling sql/item_cmpfunc.cc: Simpler arena swapping code sql/item_func.cc: Simpler arena swapping code sql/item_subselect.cc: Simpler arena swapping code New thd->mem_root handling sql/item_sum.cc: New thd->mem_root handling sql/item_timefunc.cc: Fixed not-initalized usage errors found by valgrind sql/log_event.cc: New thd->mem_root handling sql/mysql_priv.h: New thd->mem_root handling sql/mysqld.cc: New thd->mem_root handling sql/opt_range.cc: New thd->mem_root handling sql/repl_failsafe.cc: New thd->mem_root handling sql/set_var.cc: New thd->mem_root handling sql/sql_acl.cc: New thd->mem_root handling sql/sql_base.cc: Simpler arena swapping code New thd->mem_root handling sql/sql_class.cc: New thd->mem_root handling sql/sql_class.h: Simpler arena swapping code New thd->mem_root handling sql/sql_db.cc: New thd->mem_root handling sql/sql_error.cc: New thd->mem_root handling sql/sql_help.cc: New thd->mem_root handling sql/sql_insert.cc: New thd->mem_root handling sql/sql_parse.cc: New thd->mem_root handling Added some extra checking of return value of new sql/sql_prepare.cc: New thd->mem_root handling sql/sql_select.cc: New thd->mem_root handling sql/sql_select.h: New thd->mem_root handling sql/sql_union.cc: Simpler arena swapping code sql/sql_yacc.yy: New thd->mem_root handling sql/table.cc: New thd->mem_root handling sql/thr_malloc.cc: New thd->mem_root handling tests/client_test.c: Added drop table to some tests Changed some table names to 't1'
* | Bug#6202: ENUMs are not case sensitive even if declared BINARYunknown2004-10-251-2/+2
|/
* mergedunknown2004-09-071-0/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/rpl_set_charset.result: Auto merged mysql-test/r/select.result: Auto merged mysql-test/t/rpl_set_charset.test: Auto merged mysql-test/t/select.test: Auto merged sql/slave.cc: Auto merged
| * when we update thd->db in replication, it's safer to update thd->db_length too.unknown2004-09-071-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | This does not fix any known bug, but is still a good idea. sql/log_event.cc: when we update thd->db in replication, it's safer to update thd->db_length too. sql/slave.cc: when we update thd->db in replication, it's safer to update thd->db_length too. sql/sql_db.cc: comment
* | after merge fixunknown2004-08-201-1/+1
| | | | | | | | | | | | | | myisam/Makefile.am: put zlib at the end (libtool adds the whole bunch of dependencies right after that) sql/Makefile.am: put zlib at the end (libtool adds the whole bunch of dependencies right after that)
* | mergedunknown2004-08-201-2/+2
|\ \ | |/ | | | | | | | | | | | | | | sql/lock.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_db.cc: Auto merged
| * Making FLUSH TABLES WITH READ LOCK block COMMITs of existing transactions,unknown2004-08-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in a deadlock-free manner. This splits locking the global read lock in two steps. This fixes a consequence of this bug, known as: BUG#4953 'mysqldump --master-data may report incorrect binlog position if using InnoDB' And a test. sql/handler.cc: making COMMIT wait if FLUSH TABLES WITH READ LOCK happened. sql/lock.cc: an additional stage so that FLUSH TABLES WITH READ LOCK blocks COMMIT: make_global_read_lock_block_commit(): taking the global read lock is TWO steps (2nd step is optional; without it, COMMIT of existing transactions will be allowed): lock_global_read_lock() THEN make_global_read_lock_block_commit(). sql/mysql_priv.h: new argument to wait_if_global_read_lock() sql/sql_class.h: THD::global_read_lock now an uint to reflect the 2 steps of global read lock (does not block COMMIT / does) sql/sql_db.cc: update for new prototype sql/sql_parse.cc: implementing the two steps of global read lock so that FLUSH TABLES WITH READ LOCK can block COMMIT without deadlocking with COMMITs.
| * backport wild_compare fix from 4.1 - bug#3924unknown2004-05-291-1/+1
| |
| * Many files:unknown2004-05-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query sql/sql_class.h: Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query sql/ha_innodb.cc: Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query sql/log_event.cc: Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query sql/slave.cc: Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query sql/sql_db.cc: Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query sql/sql_parse.cc: Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query sql/sql_show.cc: Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
* | Removed non-used variableunknown2004-08-171-1/+0
| | | | | | | | | | BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
* | A small fix to understand 4.1.0 format.unknown2004-07-271-3/+10
| |
* | sql_db.cc:unknown2004-07-231-0/+2
| | | | | | | | | | | | | | | | | | | | mysqld crashes on CREATE TABLE in a database with corrupted db.opt file. Bug#4646 sql/sql_db.cc: mysqld crashes on CREATE TABLE in a database with corrupted db.opt file. Bug#4646
* | Compilation failure on Windows fixed.unknown2004-07-191-1/+2
| |
* | manual merge unknown2004-07-091-6/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | charged sql/sql_db.cc only ( changed length in mysql_create_db to path_len so as it was calculated in the first unpack_dirname in my previous fix for Bug #4378 '"create database IF NOT EXISTS thing" returns an error' ) sql/sql_db.cc: manual merge ( changed length in mysql_create_db to path_len so as it was calculated in the first unpack_dirname in my previous fix for Bug #4378 '"create database IF NOT EXISTS thing" returns an error' )
| * | added an optimization in mysql_create_db (sql_db.cc)unknown2004-07-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as after effect of fix for Bug #4378 '"create database IF NOT EXISTS thing" returns an error' (avoided an unpack_dirname and changed strcat into strmake) sql/sql_db.cc: added an optimization in mysql_create_db (avoided an unpack_dirname and changed strcat into strmake)
| * | fixed Bug #4378 "create database IF NOT EXISTS thing" returns an errorunknown2004-07-081-2/+3
| | | | | | | | | | | | | | | | | | | | | sql/sql_db.cc: discarded final '\' in path for my_stat (for Win32) as the fix for Bug #4378 "create database IF NOT EXISTS thing" returns an error
* | | Cleanup of db option cacheingunknown2004-07-091-59/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some bug fixes to last pushed code mysql-test/mysql-test-run.sh: Fix for new valgrind (2.1.1) mysql-test/r/bdb.result: Updated results mysql-test/t/ps_1general.test: removed wrong error condition sql/ha_berkeley.cc: Fix for index_flags() in new code sql/item_strfunc.cc: Cleanup (fixed indentation, removed short variable names) sql/mysql_priv.h: Cleanup of db option cacheing sql/mysqld.cc: Cleanup of db option cacheing sql/sql_db.cc: Cleanup of db option cacheing sql/sql_parse.cc: Cleanup of db option cacheing sql/sql_table.cc: sprintf -> strxmov sql/table.cc: key_read should be tested on key parts, not the whole key
* | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-07-081-2/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/my/mysql-4.1 sql/sql_db.cc: Auto merged
| * | | New handler::index_flags() definition to make it easy to check the full used ↵unknown2004-07-081-2/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | key and a specific key part. Added key part to optimize_range() to fix problems when using fields in key parts. sql/examples/ha_archive.h: New handler::index_flags() definition sql/examples/ha_example.h: New handler::index_flags() definition sql/field.cc: New optimize_range() definition sql/field.h: New optimize_range() definition sql/ha_berkeley.cc: New handler::index_flags() definition sql/ha_berkeley.h: New handler::index_flags() definition sql/ha_heap.h: New handler::index_flags() definition sql/ha_innodb.h: New handler::index_flags() definition sql/ha_isam.h: New handler::index_flags() definition sql/ha_isammrg.h: New handler::index_flags() definition sql/ha_myisam.h: New handler::index_flags() definition sql/ha_myisammrg.h: New handler::index_flags() definition sql/ha_ndbcluster.cc: New handler::index_flags() definition sql/ha_ndbcluster.h: New handler::index_flags() definition sql/handler.h: New handler::index_flags() definition sql/log.cc: Fixed compiler warnings sql/log_event.cc: Fixed compiler warnings (and renamed short variable name) sql/opt_range.cc: New handler::index_flags() definition sql/opt_sum.cc: New handler::index_flags() definition sql/set_var.cc: Removed compiler warnings sql/sql_db.cc: Removed compiler warnings sql/sql_select.cc: New handler::index_flags() definition sql/sql_show.cc: Removed compiler warnings sql/sql_update.cc: Removed compiler warnings sql/table.cc: New handler::index_flags() definition
* | | WL#807 Optimize loading database options in load_db_optunknown2004-07-081-6/+207
|/ / | | | | | | | | | | | | | | also known as BUG#2326 Charset of table is determined by charset of db only if "USE db;"
* | Making DROP TABLE IF EXISTS, DROP DATABASE IF EXISTS, DELETE FROM, UPDATE be ↵unknown2004-06-091-37/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | logged to binlog even if they changed nothing, and a test for this. This is useful when users use these commands to clean up their master and slave by issuing one command on master (assume master and slave have slightly different data for some reason and you want to clean up both). Note that I have not changed multi-table DELETE and multi-table UPDATE because their error-reporting mechanism is more complicated. mysql-test/r/mysqlbinlog.result: result update mysql-test/r/rpl_charset.result: result update mysql-test/r/rpl_flush_log_loop.result: result update mysql-test/r/rpl_replicate_do.result: result update mysql-test/r/rpl_temporary.result: result update mysql-test/t/mysqlbinlog.test: moving SET TIMESTAMP up as DROP shows up in binlog sql/sql_db.cc: DROP DATABASE IF EXISTS is now always logged to binlog, even if db did not exist sql/sql_delete.cc: DELETE FROM t is now always logged to binlog even if no rows deleted (but in this case, only if really no error). sql/sql_table.cc: DROP TABLE IF EXISTS is now always logged to binlog even if table did not exist sql/sql_update.cc: UPDATE is now always logged to binlog even if no rows updated (but in this case, only if really no error).
* | Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-05-241-1/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | into deer.(none):/home/hf/work/mysql-4.1.3691 sql/sql_db.cc: Auto merged
| * | Fix for bug #3691 (libmysqld reports error 2 on CREATE DATABASE unknown2004-05-241-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | but database is created) handling of CREATE DATABASE errors changed sql/sql_db.cc: now we check my_stat errors in mysql_create_db
* | | Fix for bug which caused grant.test fail on darwin7.3. We were converting db ↵unknown2004-05-221-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and table names to lower case using latin1 instead of utf-8 in sql_acl.cc if lower_case_table_names was on. Also replaced in other such places system_charset_info with files_charset_info for consistency. sql/handler.cc: Replaced system_charset_info with files_charset_info in places where we are converting names to lower case because of lower_case_table_names for consistency. sql/sql_acl.cc: We should use files_charset_info when converting db/table names to lower case because they could be in utf-8 and not in latin1! sql/sql_cache.cc: Added clarifying comments in tricky place after discussion with Sanja. Replaced system_charset_info with files_charset_info in places where we are converting names to lower case because of lower_case_table_names for consistency. sql/sql_db.cc: Replaced system_charset_info with files_charset_info in places where we are converting names to lower case because of lower_case_table_names for consistency. sql/sql_show.cc: Replaced system_charset_info with files_charset_info in places where we are converting names to lower case because of lower_case_table_names for consistency. sql/sql_table.cc: Replaced system_charset_info with files_charset_info in places where we are converting names to lower case because of lower_case_table_names for consistency.
* | Merge with 4.0.19unknown2004-05-051-1/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BitKeeper/etc/logging_ok: auto-union VC++Files/client/mysqlclient.dsp: Auto merged VC++Files/mysql.dsw: Auto merged extra/perror.c: Auto merged extra/replace.c: Auto merged innobase/configure.in: Auto merged innobase/include/lock0lock.h: Auto merged innobase/include/row0mysql.h: Auto merged innobase/include/sync0sync.h: Auto merged innobase/lock/lock0lock.c: Auto merged ltmain.sh: Auto merged BitKeeper/deleted/.del-libmysqld.def~8edf7b8780ce943c: Auto merged innobase/os/os0file.c: Auto merged innobase/pars/lexyy.c: Auto merged innobase/row/row0mysql.c: Auto merged innobase/srv/srv0srv.c: Auto merged innobase/srv/srv0start.c: Auto merged innobase/sync/sync0arr.c: Auto merged innobase/sync/sync0sync.c: Auto merged innobase/trx/trx0trx.c: Auto merged mysql-test/r/alias.result: Auto merged mysql-test/t/system_mysql_db_fix-master.opt: Auto merged mysql-test/r/func_time.result: Automatic merge mysql-test/r/innodb.result: Automatic merge mysql-test/t/alias.test: Automatic merge mysql-test/t/create.test: Automatic merge mysql-test/t/func_time.test: Automatic merge sql/ha_innodb.cc: Automatic merge sql/mysql_priv.h: Automatic merge mysql-test/r/rpl_multi_update.result: Automatic merge mysql-test/t/rpl_error_ignored_table.test: Automatic merge mysql-test/t/rpl_multi_update.test: Automatic merge sql/slave.h: Automatic merge sql/sql_base.cc: Automatic merge sql/sql_db.cc: Automatic merge sql/sql_insert.cc: Automatic merge sql/structs.h: Automatic merge sql/table.cc: Automatic merge strings/longlong2str-x86.s: Automatic merge strings/strings-x86.s: Automatic merge support-files/my-medium.cnf.sh: Automatic merge
| * don't rely on readdir() returning . and .. firstunknown2004-05-041-1/+6
| |
* | Merge with 4.0unknown2004-04-261-1/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/dict/dict0boot.c: Auto merged innobase/dict/dict0load.c: Auto merged innobase/dict/dict0mem.c: Auto merged innobase/fut/fut0lst.c: Auto merged innobase/include/buf0lru.h: Auto merged innobase/include/dict0mem.h: Auto merged innobase/include/fsp0fsp.h: Auto merged innobase/include/ha0ha.h: Auto merged innobase/include/ibuf0ibuf.h: Auto merged innobase/include/lock0lock.h: Auto merged innobase/include/log0log.h: Auto merged innobase/include/mem0pool.h: Auto merged innobase/include/mtr0mtr.h: Auto merged innobase/include/os0file.h: Auto merged innobase/include/rem0rec.h: Auto merged innobase/include/rem0rec.ic: Auto merged innobase/include/srv0srv.h: Auto merged innobase/include/sync0sync.h: Auto merged innobase/include/trx0sys.h: Auto merged innobase/include/ut0byte.h: Auto merged innobase/include/ut0ut.h: Auto merged innobase/mem/mem0pool.c: Auto merged innobase/mtr/mtr0mtr.c: Auto merged innobase/os/os0proc.c: Auto merged innobase/pars/lexyy.c: Auto merged innobase/pars/pars0opt.c: Auto merged innobase/row/row0ins.c: Auto merged innobase/row/row0purge.c: Auto merged innobase/row/row0uins.c: Auto merged innobase/row/row0umod.c: Auto merged innobase/row/row0undo.c: Auto merged innobase/row/row0upd.c: Auto merged innobase/trx/trx0purge.c: Auto merged innobase/trx/trx0roll.c: Auto merged innobase/trx/trx0sys.c: Auto merged innobase/trx/trx0undo.c: Auto merged innobase/ut/ut0byte.c: Auto merged pstack/bucomm.h: Auto merged pstack/budbg.h: Auto merged sql/item_sum.h: Auto merged sql/slave.cc: Auto merged sql/sql_db.cc: Auto merged support-files/mysql.spec.sh: Auto merged tests/insert_test.c: Auto merged mysql-test/t/func_group.test: Merge with 4.0 Put 4.1 tests lasts sql/ha_innodb.cc: Merge with 4.0 Added checking of results from my_malloc() BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
| * A fix for the error message when database can not be dropped due tounknown2004-03-301-1/+6
| | | | | | | | | | | | | | the extra files being present.
* | sql_db.cc:unknown2004-03-291-0/+2
| | | | | | | | | | | | | | | | More clear error message. sql/sql_db.cc: More clear error message.
* | After merge fixes + simple optimizationsunknown2004-03-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/alter_table.result: Updated results after merge mysql-test/r/drop_temp_table.result: Updated results after merge mysql-test/r/union.result: Updated results after merge sql/sql_db.cc: optimization: Use my_stat() instead of my_dir() to test if directory exists sql/sql_union.cc: Fixed error in merge
* | aliases should be compared with my_strcasecmp (BUG#3251)unknown2004-03-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | some db comparison code cleupup removed compiler warnings mysql-test/r/lowercase_table.result: test for BUG#3251 mysql-test/t/lowercase_table.test: test for BUG#3251 sql/item.cc: simple strcmp can be used for db name comparison sql/set_var.h: changed initialisation order to satisfy compiler sql/sql_cache.cc: simple strcmp can be used for db name comparison sql/sql_db.cc: better use special cherset for files sql/sql_parse.cc: simple strcmp can be used for db name comparison aliases should be compared with my_strcasecmp sql/sql_select.cc: aliases should be compared with my_strcasecmp
* | DROP DATABASE now returns (affected_rows) number of tables droppedunknown2004-03-191-3/+0
| |