Commit graph

10546 commits

Author SHA1 Message Date
sergefp@mysql.com
f863685241 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/psergey/mysql-5.0-bug16168-merge
2006-07-01 07:04:27 +04:00
sergefp@mysql.com
784b3118a5 Merge mysql.com:/home/psergey/mysql-4.1-bug16168-push
into  mysql.com:/home/psergey/mysql-5.0-bug16168-merge
2006-07-01 01:25:59 +04:00
monty@mysql.com
f62829636b After merge fixes 2006-06-30 20:07:33 +03:00
monty@mysql.com
2f86009c9e Merge mysql.com:/home/my/mysql-4.1
into  mysql.com:/home/my/mysql-5.0
2006-06-30 19:15:18 +03:00
monty@mysql.com
445dfdc3a7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/my/mysql-4.1
2006-06-30 19:15:17 +03:00
monty@mysql.com
2bec1b86bb Reverted wrong bug fix (Bug#11228) 2006-06-30 18:29:27 +03:00
sergefp@mysql.com
611e20d8e1 BUG#16168: Wrong results from range optimizer, "Use_count: Wrong count for key ..." warnings:
- Added comments.
 - Make SEL_ARG::clone() set SEL_ARG::elements in the created copy.
2006-06-30 09:05:12 +04:00
monty@mysql.com
2356a54ca1 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2006-06-30 04:28:04 +03:00
monty@mysql.com
f25b4e0464 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/my/mysql-4.1
2006-06-30 04:27:19 +03:00
monty@mysql.com
a267b8f33c Don't read ~/.my.cnf in mysqldump.test 2006-06-30 04:10:27 +03:00
monty@mysql.com
d76830faa5 Merge mysql.com:/home/my/mysql-4.1
into  mysql.com:/home/my/mysql-5.0
2006-06-30 02:35:52 +03:00
evgen@moonbone.local
3cc6d95d18 Merge 2006-06-30 02:03:09 +04:00
evgen@moonbone.local
9fd38baf13 Merge moonbone.local:/home/evgen/bk-trees/mysql-5.0-opt
into moonbone.local:/work/merge-5.0
2006-06-30 02:02:20 +04:00
evgen@moonbone.local
83bc48f38e Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/merge-4.1
2006-06-30 01:12:16 +04:00
konstantin@mysql.com
3010430ddf Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/opt/local/work/mysql-5.0-runtime
2006-06-29 18:17:37 +04:00
konstantin@mysql.com
2d9d740dbe Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/opt/local/work/mysql-5.0-runtime
2006-06-29 16:44:21 +04:00
konstantin@mysql.com
1cb6eb00a5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mysql.com:/opt/local/work/mysql-5.0-runtime
2006-06-29 16:43:23 +04:00
konstantin@mysql.com
5154bc6c47 A post-merge fix. 2006-06-29 16:31:08 +04:00
lars@mysql.com
0e45d26993 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
2006-06-29 14:14:08 +02:00
konstantin@mysql.com
06c2f1a2aa Merge mysql.com:/opt/local/work/mysql-5.0-release
into  mysql.com:/opt/local/work/mysql-5.0-runtime
2006-06-29 15:25:03 +04:00
kroki@mysql.com
621a86ce82 Replace all numeric error code with symbolic names in trigger.test. 2006-06-29 13:45:43 +04:00
knielsen@mysql.com
86268a54df Fix test files to work with non-standard ports (MTR_BUILD_THREAD). 2006-06-29 10:35:16 +02:00
kroki@mysql.com
9c3805c9bb Merge mysql.com:/home/tomash/src/mysql_ab/mysql-5.0
into  mysql.com:/home/tomash/src/mysql_ab/mysql-5.0-bug10946
2006-06-28 23:54:18 +04:00
kroki@mysql.com
3e2e20ecfb Bug#10946: Confusing error messeges in the case of duplicate trigger definition
It was hard to distinguish case, when one was unable to create trigger
on the table because trigger with same action time and event already
existed for this table, from the case, when one tried to create trigger
with name which was already occupied by some other trigger, since in
both these cases we emitted ER_TRG_ALREADY_EXISTS error and message.
Now we emit ER_NOT_SUPPORTED_YET error with appropriate additional
message in the first case. There is no sense in introducing separate
error for this situation since we plan to get rid of this limitation
eventually.
2006-06-28 23:50:50 +04:00
patg@govinda.patg.net
18d264a1ea BUG #19773
Pushbuild fixes to result file, test, and header file for federated.
2006-06-28 12:18:21 -07:00
jimw@mysql.com
9bcb24b65e Merge bk-internal:/home/bk/mysql-5.0-runtime
into  mysql.com:/home/jimw/my/mysql-5.0-18005
2006-06-28 10:55:27 -07:00
patg@govinda.patg.net
87e88fe76b Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.0
into  govinda.patg.net:/home/patg/mysql-build/mysql-5.0-engines-bug19773
2006-06-28 10:11:43 -07:00
lars@mysql.com
6036c30b57 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
2006-06-28 16:18:57 +02:00
lars@mysql.com
38501d8804 Disabled test case for Windows (BUG#20753) 2006-06-28 15:07:41 +02:00
gkodinov@mysql.com
2cda7f5d80 4.1->5.0 merge for bug #16458 2006-06-28 15:53:54 +03:00
tnurnberg@mysql.com
69820afce0 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/tnurnberg/mysql-5.0
2006-06-28 13:37:13 +02:00
tnurnberg@mysql.com
a956e9d638 Merge mysql.com:/home/tnurnberg/work/mysql-5.0-maint-19857
into  mysql.com:/home/tnurnberg/mysql-5.0
2006-06-28 12:43:04 +02:00
tnurnberg@mysql.com
763752ef2e Bug#19857: When a user with CREATE ROUTINE priv creates a routine it results in NULL p/w
sp_grant_privileges(), the function that GRANTs EXECUTE + ALTER privs on a SP,
did so creating a user-entry with not password; mysql_routine_grant() would then
write that "change" to the user-table.
2006-06-28 12:40:17 +02:00
knielsen@mysql.com
529a2d1291 BUG#20739: __NT__ not probably defined for mysys project.
Make sure for the mysys project that __NT__ is defined in *nt solution
configurations (but not in other configurations).
2006-06-28 12:30:14 +02:00
gluh@mysql.com
e5dbc49bb0 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/gluh/MySQL/Merge/5.0-kt
2006-06-28 14:23:33 +05:00
patg@govinda.patg.net
d2df283b78 BUG #19773
Final-review fixes per Monty, pre-push. OK'd for 
push. Please see each file's comments.
2006-06-27 23:49:48 -07:00
jimw@mysql.com
5d2c0de578 Bug #18005: Creating a trigger on mysql.event leads to server crash on scheduler startup
Bug #18361: Triggers on mysql.user table cause server crash

 Because they do not work, we do not allow creating triggers on tables
 within the 'mysql' schema.

 (They may be made to work and re-enabled at some later date, but not
 in 5.0 or 5.1.)
2006-06-27 17:16:02 -07:00
kroki@mysql.com
08f192f81b Bug#17203: "sql_no_cache sql_cache" in views created from prepared statement
The problem was that we restored SQL_CACHE, SQL_NO_CACHE flags in SELECT
statement from internal structures based on value set later at runtime, not
the original value set by the user.

The solution is to remember that original value.
2006-06-27 21:28:32 +04:00
svoj@may.pils.ru
ffd8ed1716 BUG#1662 - ALTER TABLE LIKE ignores DATA/INDEX DIRECTPORY
Produce a warning if DATA/INDEX DIRECTORY is specified in
ALTER TABLE statement.

Ignoring of these options is documented in the symbolic links
section of the manual.
2006-06-27 22:22:43 +05:00
gkodinov@mysql.com
be3c4a154f Merge mysql.com:/home/kgeorge/mysql/4.1/teamclean
into  mysql.com:/home/kgeorge/mysql/4.1/B16458
2006-06-27 18:47:22 +03:00
kroki@mysql.com
49cc2904d2 Dec. 31st, 9999 is still a valid date, only starting with Jan 1st 10000 things become invalid (Bug #12356) 2006-06-27 19:33:59 +04:00
gkodinov@mysql.com
7149f48d97 Merge mysql.com:/home/kgeorge/mysql/4.1/B16458
into  mysql.com:/home/kgeorge/mysql/5.0/B16458
2006-06-27 17:59:49 +03:00
gkodinov@mysql.com
9ec681ef35 Bug #16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" error
'SELECT DISTINCT a,b FROM t1' should not use temp table if there is unique 
index (or primary key) on a.
There are a number of other similar cases that can be calculated without the
use of a temp table : multi-part unique indexes, primary keys or using GROUP BY 
instead of DISTINCT.
When a GROUP BY/DISTINCT clause contains all key parts of a unique
index, then it is guaranteed that the fields of the clause will be
unique, therefore we can optimize away GROUP BY/DISTINCT altogether.
This optimization has two effects:
* there is no need to create a temporary table to compute the
   GROUP/DISTINCT operation (or the temporary table will be smaller if only GROUP 
   is removed and DISTINCT stays or if DISTINCT is removed and GROUP BY stays)
* this causes the statement in effect to become updatable in Connector/Java
because the result set columns will be direct reference to the primary key of 
the table (instead to the temporary table that it currently references). 

Implemented a check that will optimize away GROUP BY/DISTINCT for queries like 
the above.
Currently it will work only for single non-constant table in the FROM clause.
2006-06-27 17:40:19 +03:00
holyfoot@deer.(none)
475911d178 merging fix 2006-06-27 17:00:24 +05:00
konstantin@mysql.com
3cf181bb64 Fix compilation failures on Windows caused by the patch for Bug#17199.
Fix a minor issue with Bug#16206 (bdb.test failed if the tree is compiled 
without blackhole).
2006-06-27 14:56:24 +04:00
konstantin@mysql.com
5576ef27c6 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/opt/local/work/mysql-5.0-17199
2006-06-27 03:34:12 +04:00
konstantin@mysql.com
4d25d2154c Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mysql.com:/opt/local/work/mysql-5.0-17199
2006-06-27 00:52:56 +04:00
konstantin@mysql.com
117b76a562 A fix and a test case for
Bug#19022 "Memory bug when switching db during trigger execution"
 Bug#17199 "Problem when view calls function from another database."
 Bug#18444 "Fully qualified stored function names don't work correctly in
            SELECT statements"

 Documentation note: this patch introduces a change in behaviour of prepared
 statements.

 This patch adds a few new invariants with regard to how THD::db should
 be used. These invariants should be preserved in future:

  - one should never refer to THD::db by pointer and always make a deep copy
    (strmake, strdup)
  - one should never compare two databases by pointer, but use strncmp or
    my_strncasecmp
  - TABLE_LIST object table->db should be always initialized in the parser or
    by creator of the object.

    For prepared statements it means that if the current database is changed
    after a statement is prepared, the database that was current at prepare
    remains active. This also means that you can not prepare a statement that
    implicitly refers to the current database if the latter is not set.
    This is not documented, and therefore needs documentation. This is NOT a
    change in behavior for almost all SQL statements except:
     - ALTER TABLE t1 RENAME t2 
     - OPTIMIZE TABLE t1
     - ANALYZE TABLE t1
     - TRUNCATE TABLE t1 --
     until this patch t1 or t2 could be evaluated at the first execution of
     prepared statement. 

     CURRENT_DATABASE() still works OK and is evaluated at every execution
     of prepared statement.

     Note, that in stored routines this is not an issue as the default
     database is the database of the stored procedure and "use" statement
     is prohibited in stored routines.

  This patch makes obsolete the use of check_db_used (it was never used in the
  old code too) and all other places that check for table->db and assign it
  from THD::db if it's NULL, except the parser.

 How this patch was created: THD::{db,db_length} were replaced with a
 LEX_STRING, THD::db. All the places that refer to THD::{db,db_length} were
 manually checked and:
  - if the place uses thd->db by pointer, it was fixed to make a deep copy
  - if a place compared two db pointers, it was fixed to compare them by value
    (via strcmp/my_strcasecmp, whatever was approproate)
 Then this intermediate patch was used to write a smaller patch that does the
 same thing but without a rename.

 TODO in 5.1:
   - remove check_db_used
   - deploy THD::set_db in mysql_change_db

 See also comments to individual files.
2006-06-27 00:47:52 +04:00
tnurnberg@mysql.com
d10bec1c34 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/tnurnberg/review/mysql-5.0-maint-20588
2006-06-26 19:44:27 +02:00
ingo@mysql.com
0acdd0f773 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-bug16986-main
2006-06-26 19:43:28 +02:00