Commit graph

14202 commits

Author SHA1 Message Date
unknown
01d69c4b96 This patch does 1) fix my build breakage 2) Complete the removal of all symbols which could clash with another parser.
sql/mysql_priv.h:
  Porting update
sql/mysqld.cc:
  Porting update
sql/sp.cc:
  Porting update
sql/sql_lex.cc:
  Porting update
sql/sql_lex.h:
  Porting update
sql/sql_parse.cc:
  Porting update
sql/sql_prepare.cc:
  Portinng update
sql/sql_trigger.cc:
  Porting update
sql/sql_view.cc:
  Porting update
2006-03-09 16:44:08 -08:00
unknown
85d705b651 Porting fix that allows others to include compiled code with different parsers.
Makes you wonder what I am up to, doesn't?


configure.in:
  Adjusts bison to not create symbols that clash.
sql/sql_analyse.cc:
  Adding define to make sure sql_yacc.h gets included.
sql/sql_lex.cc:
  Fixing it so that sql_yacc.h is included
sql/sql_lex.h:
  Fixing include rules
sql/sql_parse.cc:
  Adding flag to compile sql_yacc.yy
2006-03-09 10:09:52 -08:00
unknown
5e54b63fa3 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/17726-bug-5.0-mysql


sql/item_cmpfunc.cc:
  Auto merged
2006-03-09 14:07:34 +03:00
unknown
6c81f34369 Merge bk@192.168.21.1:mysql-5.0
into mysql.com:/home/hf/work/mysql-5.0.mrg
2006-03-09 10:38:41 +04:00
unknown
bc6b7859ae Fix for multiple test failures on some platforms.
sql/sql_lex.cc:
  Added a debug assertion that the passed string is not empty.
sql/sql_show.cc:
  Do not quote empty string.
2006-03-09 03:10:39 +03:00
unknown
c80332c7b9 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/bug17137/my50-bug17137
2006-03-08 13:31:05 +01:00
unknown
3c83b827be Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/bug17137/my41-bug17137
2006-03-08 11:20:12 +01:00
unknown
c5fcf0fdc9 Merge neptunus.(none):/home/msvensson/mysql/bug17137/my41-bug17137
into  neptunus.(none):/home/msvensson/mysql/bug17137/my50-bug17137


sql/sql_delete.cc:
  Auto merged
2006-03-08 10:17:12 +01:00
unknown
f491db2119 Bug#17137 Running "truncate table" on temporary table leaves the table open on a slave
- Decrease "slave_open_temp_tables" during reopen of truncated table.
 - Add test "rpl_trunc_temp" 


sql/sql_delete.cc:
  Decrease "slave_open_temp_tables" after temporary table has been closed, it will be
  increased again when the temp table is reopened after it's been truncated.
mysql-test/r/rpl_trunc_temp.result:
  New BitKeeper file ``mysql-test/r/rpl_trunc_temp.result''
mysql-test/t/rpl_trunc_temp.test:
  New BitKeeper file ``mysql-test/t/rpl_trunc_temp.test''
2006-03-08 10:15:48 +01:00
unknown
99515a3ac8 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/alik/Documents/AllProgs/MySQL/devel/5.0-rt


mysql-test/r/sp.result:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/skip_grants.result:
  Merge 5.0 and 5.0-runtime.
mysql-test/t/skip_grants.test:
  Merge 5.0 and 5.0-runtime.
2006-03-07 14:28:09 +03:00
unknown
cf4c785c62 merged
mysql-test/t/kill.test:
  Auto merged
2006-03-06 20:53:14 +01:00
unknown
19a1f488a8 merged 2006-03-06 18:34:38 +01:00
unknown
a127344a6c kill (subquery) - three years old bugfix that never worked 2006-03-06 18:26:39 +01:00
unknown
703aeac212 Merge mysql.com:/home/hf/work/mysql-5.0.15745
into mysql.com:/home/hf/work/mysql-5.0.mrg
2006-03-06 19:57:20 +04:00
unknown
f372641876 Fix for bug #17896: MIN of CASE WHEN returns non-minimum value!
sql/item_cmpfunc.cc:
  Fix for bug #17896: MIN of CASE WHEN returns non-minimum value!
  - NULL items should not affect the result type.
2006-03-06 16:38:35 +04:00
unknown
13407f2eca Merge mysql.com:/usr/home/bar/mysql-4.1.b15949
into  mysql.com:/usr/home/bar/mysql-5.0


mysql-test/r/union.result:
  Auto merged
mysql-test/t/union.test:
  Auto merged
sql/item.cc:
  Auto merged
2006-03-06 16:20:15 +04:00
unknown
89378fe8f6 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/gluh/MySQL/Merge/5.0
2006-03-06 15:58:16 +04:00
unknown
9251e7f710 Merge bk-internal:/home/bk/mysql-5.0
into  devsrv-b.mysql.com:/space/magnus/bug17377/my50-bug17377
2006-03-06 12:28:30 +01:00
unknown
5b8d8c919e Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/gluh/MySQL/Merge/5.0
2006-03-06 15:15:23 +04:00
unknown
84168ebac2 Merge devsrv-b.mysql.com:/space/magnus/mysql-5.0
into  devsrv-b.mysql.com:/space/magnus/bug17377/my50-bug17377
2006-03-06 12:04:54 +01:00
unknown
d86a66d483 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b15949
2006-03-06 14:50:34 +04:00
unknown
7d24c7d445 4.1 -> 5.0 merge
mysql-test/t/grant.test:
  Auto merged
mysql-test/r/grant.result:
  manual merge
sql/sql_acl.cc:
  manual merge
2006-03-06 14:38:31 +04:00
unknown
3ecf9f040a Fix for bug#14385 GRANT and mapping to correct user account problems
Check if the host of table hash record exactly matches host from GRANT command


mysql-test/r/grant.result:
  Fix for bug#14385 GRANT and mapping to correct user account problems
    test case
mysql-test/t/grant.test:
  Fix for bug#14385 GRANT and mapping to correct user account problems
    test case
2006-03-06 14:03:40 +04:00
unknown
cda64c11d7 Merge mysql.com:/home/timka/mysql/src/5.0-virgin
into  mysql.com:/home/timka/mysql/src/5.0-bug-15229


mysql-test/r/join.result:
  Auto merged
mysql-test/t/join.test:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
sql/sql_base.cc:
  SCCS merged
2006-03-06 11:41:19 +02:00
unknown
bb453729b8 Fix for bug#16678 FORMAT gives wrong result if client run with default-character-set=utf8
calculate Item_func_format::max_length using charset->mbmaxlen


mysql-test/r/func_math.result:
  Fix for bug#16678 FORMAT gives wrong result if client run with default-character-set=utf8
    test case
mysql-test/t/func_math.test:
  Fix for bug#16678 FORMAT gives wrong result if client run with default-character-set=utf8
    test case
2006-03-06 12:52:38 +04:00
unknown
9c7ef53a65 bug #15745 (COUNT(DISTINCT CONCAT(x,y)) returns wrong result
mysql-test/r/distinct.result:
  result added
mysql-test/t/distinct.test:
  testcase
sql/item_sum.cc:
  MYSQL_TYPE_VARCHAR can't be 'binary' compared even when it is
  binary
2006-03-05 20:48:31 +04:00
unknown
fc969bbcf0 Merge mysql.com:/home/dlenev/src/mysql-5.0-bg17866-2
into  mysql.com:/home/dlenev/src/mysql-5.0-merges


mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2006-03-04 23:58:48 +03:00
unknown
2fe8095662 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/opt/local/work/mysql-4.1-root


mysql-test/r/heap.result:
  Auto merged
mysql-test/t/heap.test:
  Auto merged
2006-03-04 22:33:19 +03:00
unknown
350475fae4 Fix for bug #17866 "Problem with renaming table with triggers with fully
qualified subject table" which was introduced during work on bug #13525
"Rename table does not keep info of triggers".

The bug was caused by the fact that during reconstruction of CREATE TRIGGER
statement stored in .TRG file which happened during RENAME TABLE we damaged
trigger definition in case when it contained fully qualified name of subject
table (see comment for sql_yacc.yy for more info).


mysql-test/r/trigger.result:
  Added test for bug #17866 "Problem with renaming table with triggers with fully
  qualified subject table".
mysql-test/t/trigger.test:
  Added test for bug #17866 "Problem with renaming table with triggers with fully
  qualified subject table".
sql/sql_trigger.cc:
  Table_triggers_list::change_table_name_in_triggers():
    Instead of trying to use pointer to the end of subject table identifier
    we use pointer to the beginning of FOR lexeme now, so during reconstruction
    of CREATE TRIGGER statement in this function we need to add extra space
    before part which begins with FOR to get nice trigger definition.
sql/sql_yacc.yy:
  trigger_tail:
    In this rule we can't rely on using remember_end token after table_ident token,
    since value returned depends on whether table name is fully qualified or not.
    So instead of trying to get pointer to the end of table identifier we use
    pointer to the beginning of FOR lexeme.
2006-03-04 16:55:06 +03:00
unknown
942ba22ee3 Merge mysql.com:/extern/mysql/5.0/bug16887/mysql-5.0-runtime
into  mysql.com:/extern/mysql/5.0/bug16887/mysql-5.0


sql/sql_yacc.yy:
  Auto merged
mysql-test/r/sp.result:
  Manual merge.
mysql-test/t/sp.test:
  Manual merge.
2006-03-03 19:18:17 +01:00
unknown
12e04a4c30 Merge mysql.com:/extern/mysql/5.0/bug16887/mysql-5.0-runtime
into  mysql.com:/extern/mysql/5.0/bug16887/mysql-5.0-release


sql/sql_yacc.yy:
  Auto merged
mysql-test/r/sp.result:
  SCCS merged
mysql-test/t/sp.test:
  SCCS merged
2006-03-03 18:51:13 +01:00
unknown
9f2d21f695 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/ram/work/mysql-5.0
2006-03-03 17:22:20 +04:00
unknown
cc7a75e6fd Fixed bug#17726: Not checked empty list caused endless loop
When the Item_cond::fix_fields() function reduces cond tree, it in loop
scans it's own list and when it founds Item_cond with same function (AND
or OR) it does next things: 1) replaces that item with item's list. 2)
empties item's list. Due to this operation is done twice - for update and
for view, at the update phase cond's list of lower view is already empty.
Empty list returns ref to itself, thus making endless loop by replacing
list with itself, emptying, replacing again and so on. This results in
server hung up.

To the Item_cond::fix_fields() function added check that ensures that
list being replaced with isn't empty.


mysql-test/t/view.test:
  Added test for bug#17726: Not checked empty list caused endless loop
mysql-test/r/view.result:
  Added test for bug#17726: Not checked empty list caused endless loop
sql/item_cmpfunc.cc:
  Fixed bug#17726: Not checked empty list caused endless loop
  To the Item_cond::fix_fields() function added check that ensures that
  list being replaced with isn't empty.
2006-03-03 16:19:57 +03:00
unknown
88d4005b8a Merge joerg@trift2:/M50/patch-17595 into debian.(none):/M50/clone-5.0 2006-03-03 12:50:15 +01:00
unknown
3443a37dea Merge mysql.com:/home/gluh/MySQL/Merge/mysql-5.0-release
into mysql.com:/home/gluh/MySQL/Merge/5.0


mysql-test/r/binary.result:
  Auto merged
mysql-test/t/binary.test:
  Auto merged
sql/field_conv.cc:
  Auto merged
2006-03-03 15:39:38 +04:00
unknown
38af49e6db Merge mysql.com:/usr/home/ram/work/mysql-4.1
into  mysql.com:/usr/home/ram/work/mysql-5.0


sql/hostname.cc:
  Auto merged
2006-03-03 15:32:00 +04:00
unknown
500d6b851c Fix for bug#17826 'type_decimal' fails with ps-protocol
removed unnecessary calculation of cache value 
 otherwise Join::preapre tries to calculate 
 undefined values(filed values)


mysql-test/r/type_decimal.result:
  Fix for bug#17826 'type_decimal' fails with ps-protocol
   test case, this test case reproduce the same bug but without PS protocol
mysql-test/t/type_decimal.test:
  Fix for bug#17826 'type_decimal' fails with ps-protocol
   test case, this test case reproduce the same bug but without PS protocol
2006-03-03 15:29:39 +04:00
unknown
d95921376c Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/ram/work/5.0.b17615


mysql-test/r/sp.result:
  merging
mysql-test/t/sp.test:
  merging
2006-03-03 09:35:25 +04:00
unknown
a63df041da Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/ram/work/4.1.b13659
2006-03-03 09:34:40 +04:00
unknown
25b3bb8bd7 Expanding a binary field should result in 0x00-filled positions, not 0x20
(ASCII space).  For Bug#16857.


sql/field_conv.cc:
  Bug#16857:  Do not expand BINARY fields as if they are strings (which 
  presumably /should/ be filled with spaces).  Instead, fill BINARY fields
  with 0x00 bytes.
2006-03-02 20:49:10 -05:00
unknown
e2ba74b825 Expanding a binary field should result in 0x00-filled positions, not 0x20
(ASCII space).  For Bug#16857.


sql/field_conv.cc:
  Bug#16857:  Do not expand BINARY fields as if they are strings (which 
  presumably /should/ be filled with spaces).  Instead, fill BINARY fields
  with 0x00 bytes.
2006-03-02 19:59:49 -05:00
unknown
44c175b7ef Merge svlasenko@bk-internal.mysql.com:/home/bk/mysql-5.0
into  selena.:H:/MYSQL/src/#17595-mysql-5.0
2006-03-02 20:52:58 +03:00
unknown
7865ce6188 Fixed BUG#17476: Stored procedure not returning data when it is called first
time per connection
  Removed const_string() method from Item_string (it was only used in one
  place, in a bad way). Defer possible SP variable, and access data directly
  instead, in date_format item.


mysql-test/r/sp.result:
  Updated results for new test (BUG#17476).
mysql-test/t/sp.test:
  New test case (BUG#17476)
sql/item.h:
  Removed const_string() from Item_string.
  It was only used in one place, and we can just use str_value in Item directly.
sql/item_timefunc.cc:
  Must defer a (possible) local SP variable to use max_length and str_value
  in Item_func_date_format::fix_length_and_dec(), and refer to str_value
  directly without the const_string() method (now removed); the cast didn't
  work in all cases anyway.
2006-03-02 14:54:04 +01:00
unknown
3dd927cf1c Fix for BUG#13198: SP executes if definer does not exist.
Basically, this fix contains a test case and removing of a workaround
for replication. This fix became possible after pushing WL#2897
(Complete definer support in stored routines).


mysql-test/r/sp-security.result:
  Updated the result file to contain results of test for BUG#13198.
mysql-test/t/sp-security.test:
  Added a test case for BUG#13198.
sql/sp_head.cc:
  Removed the workaround for replication, since WL#2897 is pushed and
  now definer attribute/clause is fully supported in stored routines.
2006-03-02 16:23:42 +03:00
unknown
9a1fed13ee Implementation of WL#2897: Complete definer support in the stored routines.
The idea is to add DEFINER-clause in CREATE PROCEDURE and CREATE FUNCTION
statements. Almost all support of definer in stored routines had been already
done before this patch.

NOTE: this patch changes behaviour of dumping stored routines in mysqldump.
Before this patch, mysqldump did not dump DEFINER-clause for stored routines
and this was documented behaviour. In order to get full information about stored
routines, one should have dumped mysql.proc table. This patch changes this
behaviour, so that DEFINER-clause is dumped.

Since DEFINER-clause is not supported in CREATE PROCEDURE | FUNCTION statements
before this patch, the clause is covered by additional version-specific comments.


client/mysqldump.c:
  Updated the code for dumping stored routines: cover DEFINER-clause
  into version-specific comment.
mysql-test/r/gis.result:
  Updated result file after adding DEFINER-clause.
mysql-test/r/information_schema.result:
  Updated result file after adding DEFINER-clause.
mysql-test/r/mysqldump.result:
  Updated result file after adding DEFINER-clause.
mysql-test/r/rpl_ddl.result:
  Updated result file after adding DEFINER-clause.
mysql-test/r/rpl_sp.result:
  Updated result file after adding DEFINER-clause.
mysql-test/r/rpl_trigger.result:
  Updated result file after adding DEFINER-clause.
mysql-test/r/sp-security.result:
  Updated result file after adding DEFINER-clause.
mysql-test/r/sp.result:
  Updated result file after adding DEFINER-clause.
mysql-test/r/sql_mode.result:
  Updated result file after adding DEFINER-clause.
mysql-test/t/sp-security.test:
  Updated result file after adding DEFINER-clause.
sql/sp.cc:
  Added DEFINER-clause.
sql/sp_head.cc:
  Added a new convenient variant of set_definer() operation.
sql/sp_head.h:
  Updated result file after adding DEFINER-clause.
sql/sql_lex.h:
  Renamed trigger_definition_begin into stmt_definition_begin to be used for
  triggers and stored routines.
sql/sql_parse.cc:
  Check DEFINER-clause.
sql/sql_trigger.cc:
  Renamed trigger_definition_begin into stmt_definition_begin to be used for
  triggers and stored routines.
sql/sql_yacc.yy:
  Added DEFINER-clause.
2006-03-02 15:18:49 +03:00
unknown
fad27ebf57 Fix for BUG#16777: Can not create trigger nor view w/o definer
if --skip-grant-tables specified.

The problem is that there is a check that prevents creating a definer
with empty host name.

In --skip-grant-tables mode this check prevents the user from creating a
trigger/view without explicitly specifying its definer. This happens, because
in --skip-grant-tables mode CURRENT_USER is ''@''. According to Sanja this
check was implemented intentionally.

However, according to the MySQL manual it is possible to specify empty host
name (as well as empty user name). Moreover, the behaviour for stored routines
is different in this aspect -- we allow them to be created with implicit
definer.

Based on this, we believe it is OK to change the behaviour for views to be
similar with the behaviour for stored routines.


mysql-test/r/skip_grants.result:
  Added a test case for BUG#16777.
mysql-test/t/skip_grants.test:
  Added a test case for BUG#16777.
sql/mysql_priv.h:
  Do not check that strlen(host) > 0 in get_default_definer().
sql/sql_parse.cc:
  Do not check that strlen(host) > 0 in get_default_definer().
sql/sql_view.cc:
  Do not check that strlen(host) > 0 in get_default_definer().
2006-03-02 14:17:13 +03:00
unknown
6ea2c3cd57 Fix for bug #17615: invalid handling of function results in UPDATE...SET statement.
sql/item_func.cc:
  Fix for bug #17615: invalid handling of function results in UPDATE...SET statement.
  - set proper collation
2006-03-02 15:05:55 +04:00
unknown
92ead72dc7 Make the define start at "start of line" 2006-03-02 10:55:55 +01:00
unknown
de1e87bbcd Fix for BUG#15229.
The cause of this bug was a design flaw due to which the list of natural
join columns was incorrectly computed and stored for nested joins that
are not natural joins, but are operands (possibly indirect) of nested joins.

The patch corrects the flaw in a such a way, that the result columns of a
table reference are materialized only if it is a leaf table (that is, only
if it is a view, stored table, or natural/using join).


mysql-test/r/join.result:
  Added test for BUG#15229 and uncommented failing test cases of
  BUG#15357 (now fixed by this patch).
mysql-test/t/join.test:
  Added test for BUG#15229 and uncommented failing test cases of
  BUG#15357 (now fixed by this patch).
sql/sql_base.cc:
  - Do not materialize the result columns of regular nested joins
    (that are not natural/using joins).
  - Moved most of the code that creates/adds new natural join column
    references to the method 'get_or_create_column_ref', and simplified
    'mark_common_columns'.
  - Replaced a call to 'get_or_create_column_ref' with 'get_natural_column_ref'
    where it is for sure all columns are alredy created.
sql/table.cc:
  - Modified the method 'get_or_create_column_ref' so that it adds itself
    the newly created natural join columns to the respective table reference.
sql/table.h:
  - Modified the method 'get_or_create_column_ref' so that it adds itself
    the newly created natural join columns to the respective table reference.
2006-03-02 11:50:15 +02:00
unknown
306621137a Merge bk@192.168.21.1:mysql-5.0
into mysql.com:/home/hf/work/mysql-5.0.9088
2006-03-02 12:34:05 +04:00