Commit graph

12218 commits

Author SHA1 Message Date
andrey@example.com
44656a234c Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  example.com:/work/bug22369-v2/my51
2006-12-04 18:31:24 +01:00
andrey@example.com
e6a4727779 Fix for bug#22369: Alter table rename combined
with other alterations causes lost tables

Using RENAME clause combined with other clauses of ALTER TABLE led to
data loss (the data was there but not accessible). This could happen if the
changes do not change the table much. Adding and droppping of fields and
indices was safe. Renaming a column with MODIFY or CHANGE was unsafe operation,
if the actual column didn't change (changing from int to int, which is a noop)
  
Depending on the storage engine (SE) the behavior is different:
1)MyISAM/MEMORY - the ALTER TABLE statement completes
  without any error but next SELECT against the new table fails.
2)InnoDB (and every other transactional table) - The ALTER TABLE statement
  fails. There are the the following files in the db dir -
  `new_table_name.frm` and a temporary table's frm. If the SE is file
  based, then the data and index files will be present but with the old
  names. What happens is that for InnoDB the table is not renamed in the
  internal DDIC.

Fixed by adding additional call to mysql_rename_table() method, which should
not include FRM file rename, because it has been already done during file
names juggling.
2006-12-04 18:22:38 +01:00
Kristofer.Pettersson@naruto.
be5da5a152 Merge naruto.:C:/cpp/bug17733/my51-bug17733
into  naruto.:C:/cpp/mysql-5.1-maint
2006-12-04 14:34:56 +01:00
malff/marcsql@weblab.(none)
6e3f6b049b Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-new-maint
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-maint-24736
2006-12-02 11:54:18 -07:00
andrey@example.com
32dedbe62d Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  example.com:/work/bug24395-v2/my51
2006-12-02 15:18:51 +01:00
malff/marcsql@weblab.(none)
88ba7676c1 Bug#24736: UDF functions parsed as Stored Functions
Before this fix, a call to a User Defined Function (UDF) could,
under some circumstances, be interpreted as a call to a Stored function
instead. This occurred if a native function was invoked in the parameters
for the UDF, as in "select my_udf(abs(x))".

The root cause of this defect is the introduction, by the fix for Bug 21809,
of st_select_lex::udf_list, and it's usage in the parser in sql_yacc.yy
in the rule function_call_generic (in 5.1).

While the fix itself for Bug 21809 is correct in 5.0, the code change
merged into the 5.1 release created the issue, because the calls in 5.1 to :
- lex->current_select->udf_list.push_front(udf)
- lex->current_select->udf_list.pop()
are not balanced in case of native functions, causing the udf_list,
which is really a stack, to be out of sync with the internal stack
maintained by the bison parser.

Instead of moving the call to udf_list.pop(), which would have fixed the
symptom, this patch goes further and removes the need for udf_list.

This is motivated by two reasons:

a) Maintaining a stack in the MySQL code in sync with the stack maintained
internally in sql_yacc.cc (not .yy) is extremely dependent of the
implementation of yacc/bison, and extremely difficult to maintain.
It's also totally dependent of the structure of the grammar, and has a risk
to break with regression defects each time the grammar itself is changed.

b) The previous code did report construct like "foo(expr AS name)" as
syntax errors (ER_PARSER_ERROR), which is incorrect, and misleading.
The syntax is perfectly valid, as this expression is valid when "foo" is
a UDF. Whether this syntax is legal or not depends of the semantic of "foo".

With this change:

a) There is only one stack (in bison), and no List<udf_func> to maintain.

b) "foo(expr AS name)", when used incorrectly, is reported as semantic error:
- ER_WRONG_PARAMETERS_TO_NATIVE_FCT (for native functions)
- ER_WRONG_PARAMETERS_TO_STORED_FCT (for stored functions)
This is achieved by the changes implemented in item_create.cc
2006-12-01 19:16:03 -07:00
thek@kpdesk.mysql.com
f74e1d2696 Merge kpdesk.mysql.com:/home/thek/dev/bug22043/my51-bug22043
into  kpdesk.mysql.com:/home/thek/dev/mysql-5.1-maint
2006-12-01 18:08:47 +01:00
thek@kpdesk.mysql.com
620a989133 Bug#22043 MySQL don't add "USE <DATABASE>" before "DROP PROCEDURE IF EXISTS"
- Merged; updated test case.
2006-12-01 17:36:51 +01:00
thek@kpdesk.mysql.com
46de7157bd Merge kpdesk.mysql.com:/home/thek/dev/bug22043/my50-bug22043
into  kpdesk.mysql.com:/home/thek/dev/bug22043/my51-bug22043
2006-12-01 17:23:12 +01:00
andrey@example.com
8fcf14210d Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  example.com:/work/bug24395-v2/my51
2006-12-01 16:27:48 +01:00
thek@kpdesk.mysql.com
b201d4ef93 Bug#22043 MySQL don't add "USE <DATABASE>" before "DROP PROCEDURE IF EXISTS"
- Refactoring of duplicate code
- Modified bad test cases
- Changed expected error when operating on information_schema.
2006-12-01 12:50:57 +01:00
andrey@example.com
afb930947d Merge example.com:/work/bug24395-v2/my50
into  example.com:/work/bug24395-v2/my51
2006-12-01 11:37:33 +01:00
Kristofer.Pettersson@naruto.
70c450a18a Merge naruto.:C:/cpp/bug17733/my50-bug17733
into  naruto.:C:/cpp/bug17733/my51-bug17733
2006-12-01 11:17:34 +01:00
Kristofer.Pettersson@naruto.
6c8d7ea894 Bug#17733 Flushing logs causes daily server crash
Server crashes if a flush commmand is issued and binlog is closed.
- added check to prevent binlog access when binlog file isn't opened.
2006-12-01 09:49:19 +01:00
andrey@example.com
dec1ebf6e3 Merge example.com:/work/bug24395-v2/my41
into  example.com:/work/bug24395-v2/my50

fix for bug#24395 merged into 5.0
2006-11-30 18:36:15 +01:00
msvensson@neptunus.(none)
dc88e57744 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-maint
2006-11-30 13:04:24 +01:00
msvensson@neptunus.(none)
e36384fdce Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-11-30 12:14:28 +01:00
msvensson@neptunus.(none)
fb2ffbf203 Merge neptunus.(none):/home/msvensson/mysql/bug10608/my41-bug10608
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-11-30 11:58:23 +01:00
msvensson@neptunus.(none)
af5882a175 Merge neptunus.(none):/home/msvensson/mysql/bug20589/my50-bug20589
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-11-30 11:40:13 +01:00
msvensson@neptunus.(none)
1daff38fd8 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-maint
2006-11-30 11:31:51 +01:00
msvensson@neptunus.(none)
f883d68ad6 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-11-30 10:57:40 +01:00
msvensson@neptunus.(none)
a743e17d8c Add "chmod" command to mysqltest 2006-11-30 10:54:50 +01:00
msvensson@neptunus.(none)
b5603af7d5 Merge 192.168.0.5:mysql/mysql-5.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-maint
2006-11-29 23:53:07 +01:00
msvensson@neptunus.(none)
741eb0179a Update result to 5.1 version format 2006-11-29 23:48:39 +01:00
msvensson@neptunus.(none)
298edec4c1 Merge neptunus.(none):/home/msvensson/mysql/bug19731/my51-bug19731
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-maint
2006-11-29 23:09:57 +01:00
msvensson@neptunus.(none)
d3090cc3fe Merge neptunus.(none):/home/msvensson/mysql/bug19731/my50-bug19731
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-11-29 23:08:35 +01:00
msvensson@neptunus.(none)
a50f80636c Merge neptunus.(none):/home/msvensson/mysql/bug19731/my50-bug19731
into  neptunus.(none):/home/msvensson/mysql/bug19731/my51-bug19731
2006-11-29 23:05:33 +01:00
msvensson@neptunus.(none)
db863d826c Add command "chmod" to mysqltest 2006-11-29 23:02:06 +01:00
msvensson@shellback.(none)
f7bbcb71cc Merge shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.1-merge-from5.0-maint
2006-11-29 21:31:05 +01:00
cmiller@zippy.cornsilk.net
42291995c3 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
2006-11-29 12:50:07 -05:00
cmiller@zippy.cornsilk.net
d577e3d4a8 Fix merges. 2006-11-29 12:49:21 -05:00
msvensson@shellback.(none)
e9d526f50a Merge fixes for new test cases 2006-11-29 18:35:33 +01:00
msvensson@shellback.(none)
7ddc43e305 Merge shellback.(none):/home/msvensson/mysql/mysql-5.1
into  shellback.(none):/home/msvensson/mysql/mysql-5.1-maint
2006-11-29 15:44:09 +01:00
thek@kpdesk.mysql.com
a17c01ff5c Merge kpdesk.mysql.com:/home/thek/dev/bug22043/my51-bug22043
into  kpdesk.mysql.com:/home/thek/dev/mysql-5.1-maint
2006-11-29 13:07:50 +01:00
thek@kpdesk.mysql.com
4debf85521 Merge kpdesk.mysql.com:/home/thek/dev/bug22043/my50-bug22043
into  kpdesk.mysql.com:/home/thek/dev/mysql-5.0-maint
2006-11-29 12:57:43 +01:00
msvensson@neptunus.(none)
dcf0f346cf Bug#20589 Missing some table level privileges after upgrade
- The table_priv column of table_privs table was altered to a enum type
   with fewer enums causing the SHOW/CREATE VIEW grants to be truncated.
 - Improved comments and moved all declarations for table_privs, column_privs
   and proc_privs to one section for each table making it easy to see hat alterations
   are performed on each table
 - Reduced the number of ALTER's slightly, but as this is an upgrade script we need
   to take all possibilites into account.
2006-11-29 12:04:29 +01:00
thek@kpdesk.mysql.com
ea6a91757b Bug#22043 MySQL don't add "USE <DATABASE>" before "DROP PROCEDURE IF EXISTS"
- Merge patch.
- Test case needed update because event number were off.
- Error code has changed because db name validation rules
  changes between 5.0 and 5.1
2006-11-29 11:45:29 +01:00
msvensson@shellback.(none)
ebee55f48a Merge bk-internal:/home/bk/mysql-5.1-maint
into  shellback.(none):/home/msvensson/mysql/yassl_import/my51-yassl_import
2006-11-29 11:18:06 +01:00
ramil/ram@mysql.com/myoffice.izhnet.ru
b1664c220c Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/usr/home/ram/work/bug22229/my50-bug22229
2006-11-29 13:41:03 +04:00
msvensson@shellback.(none)
72ad912b0b Update result file for func_misc to 5.1 version format 2006-11-29 10:11:36 +01:00
ramil/ram@myoffice.izhnet.ru
e4c17c72b7 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  mysql.com:/usr/home/ram/work/bug22229/my51-bug22229
2006-11-29 10:59:52 +04:00
ramil/ram@myoffice.izhnet.ru
726af26ac7 Merge mysql.com:/usr/home/ram/work/bug22229/my50-bug22229
into  mysql.com:/usr/home/ram/work/bug22229/my51-bug22229
2006-11-29 09:42:59 +04:00
tsmith/tim@siva.hindu.god
2a0e2d1d38 rpl_init_slave.result:
Update test result due to fix for bug 23883.
2006-11-28 16:39:04 -07:00
msvensson@neptunus.(none)
ef582b9fa6 Merge bk-internal:/home/bk/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-11-28 22:35:00 +01:00
msvensson@neptunus.(none)
cc747a02b3 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-11-28 21:11:05 +01:00
cmiller@zippy.cornsilk.net
f983166c01 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
2006-11-28 15:08:16 -05:00
msvensson@neptunus.(none)
04d5a42bbf Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-11-28 20:59:57 +01:00
cmiller@zippy.cornsilk.net
45ea756c5f Revert charset breakage. 2006-11-28 13:08:41 -05:00
andrey@example.com
100dd45ec4 Fix for bug#24395:
ALTER TABLE DISABLE KEYS doesn't work when modifying the table
  
ENABLE|DISABLE KEYS combined with another ALTER TABLE option, different
than RENAME TO did nothing. Also, if the table had disabled keys
and was ALTER-ed then the end table was with enabled keys.
  
Fixed by checking whether the table had disabled keys and enabling them
in the copied table.
2006-11-28 18:27:32 +01:00
thek@kpdesk.mysql.com
81420d5e38 Merge kpdesk.mysql.com:/home/thek/dev/bug22043/my50-bug22043
into  kpdesk.mysql.com:/home/thek/dev/bug22043/my51-bug22043
2006-11-28 17:34:03 +01:00