1
0
mirror of https://github.com/MariaDB/server.git synced 2025-10-27 05:56:07 +03:00
Commit Graph

14923 Commits

Author SHA1 Message Date
unknown
750a2a0b86 BUG#14019 : group by converts literal string to column name
When resolving unqualified name references MySQL was not
   checking what is the item type for the reference. Thus
   e.g a string literal item that has by convention a name
   equal to its string value will also work as a reference to 
   a SELECT list item or a table field.
   Fixed by allowing only Item_ref or Item_field to referenced by
   (unqualified) name.


mysql-test/r/func_gconcat.result:
  Bug #14019: group by converts literal string to column name
   - removed undeterministic testcase : order by a constant 
     means no order.
mysql-test/r/group_by.result:
  Bug #14019: group by converts literal string to column name
   - test case
mysql-test/t/func_gconcat.test:
  Bug #14019: group by converts literal string to column name
   - removed undeterministic testcase : order by a constant 
     means no order.
mysql-test/t/group_by.test:
  Bug #14019: group by converts literal string to column name
   - test case
sql/sql_base.cc:
  Bug #14019: group by converts literal string to column name
   - resolve unqualified by name refs only for real references
2006-10-16 13:10:25 +03:00
unknown
63814890d1 Bug #21072 Duplicate key error in NDB references wrong key: re-generated test results 2006-10-16 11:54:54 +02:00
unknown
afc81b7e37 Merge orca.ndb.mysql.com:/export/home/space/pekka/ndb/version/my51-ndb
into  orca.ndb.mysql.com:/export/home/space/pekka/ndb/version/my51-bug21191
2006-10-16 11:44:53 +02:00
unknown
8a88e57c28 Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0


mysql-test/r/ndb_charset.result:
  Auto merged
mysql-test/r/ndb_index_unique.result:
  Auto merged
mysql-test/r/ndb_update.result:
  Auto merged
sql/ha_ndbcluster.cc:
  Merg
sql/handler.cc:
  Merge
2006-10-16 10:07:19 +02:00
unknown
0079ce3b2c Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0


sql/ha_ndbcluster.cc:
  Auto merged
2006-10-16 08:33:22 +02:00
unknown
b8177c3ead Cleanup mtr_timer
Add verbose printouts making it possible to see what happens.
Make it an error if trying to stop a non existing timer
Print warning if fork fails.
2006-10-15 15:38:56 +02:00
unknown
44520da500 Merge orca.ndb.mysql.com:/export/home/space/pekka/ndb/version/my51-ndb
into  orca.ndb.mysql.com:/export/home/space/pekka/ndb/version/my51-bug21191


sql/mysqld.cc:
  Auto merged
2006-10-15 12:11:52 +02:00
unknown
b2bf4843c7 Merge shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


client/mysql.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqltest.c:
  Auto merged
include/my_dbug.h:
  Auto merged
mysql-test/lib/mtr_cases.pl:
  Auto merged
mysql-test/lib/mtr_report.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/csv.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/t/csv.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Manual merge
mysql-test/t/func_time.test:
  Manual merge, test already there
mysql-test/t/innodb_mysql.test:
  Manual merge
2006-10-14 19:55:06 +02:00
unknown
9a506df0c2 Merge bk-internal:/home/bk/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-10-14 17:49:14 +02:00
unknown
591d09a960 Merge shellback.(none):/home/msvensson/mysql/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


Makefile.am:
  Auto merged
sql/sql_select.cc:
  Auto merged
vio/viosocket.c:
  Auto merged
2006-10-14 17:31:04 +02:00
unknown
ad4d813024 No need to continue in 'mtr_report_test_failed' after timeout detected, return immediately after 2006-10-14 17:14:03 +02:00
unknown
8ec4020e25 Use char as datatype for the byte that are read with my_fgetc, fixes problem with
mysqltest.test on Solaris and Mac. write_file produced nice files with all zeroes.


client/mysqltest.c:
  Use char as datatype for the byte that are read with my_fgetc
mysql-test/mysql-test-run.pl:
  Fix typo, add missing $
2006-10-14 17:09:06 +02:00
unknown
0d9e6366a8 Skip looking for mysql_client_test in 4.1 on windows as it's not built by default 2006-10-14 16:31:20 +02:00
unknown
00e327ed88 Look for client bindirs client_release and client_debug before other directories. 2006-10-13 20:29:27 +02:00
unknown
7e73af6342 rpl_empty_master_crash need a master restart so that all log files are deleted
mysql-test/t/rpl_empty_master_crash-master.opt:
  New BitKeeper file ``mysql-test/t/rpl_empty_master_crash-master.opt''
2006-10-13 20:22:56 +02:00
unknown
67770b7671 Bug#14959: ALTER TABLE isn't able to rename a view
The mysql_alter_table() was able to rename only a table.

The view/table renaming code is moved from the function rename_tables 
to the new function called do_rename().
The mysql_alter_table() function calls it when it needs to rename a view.


mysql-test/t/rename.test:
  Added a test case for bug#14959: ALTER TABLE isn't able to rename a view
mysql-test/r/rename.result:
  Added a test case for bug#14959: ALTER TABLE isn't able to rename a view
sql/mysql_priv.h:
  Bug#14959: ALTER TABLE isn't able to rename a view
  Added the prototype of the do_rename() function.
sql/sql_rename.cc:
  Bug#14959: ALTER TABLE isn't able to rename a view
  The view/table renaming code is moved from the function rename_tables
  to the new function called do_rename().
sql/sql_table.cc:
  Bug#14959: ALTER TABLE isn't able to rename a view
  Added handling of a view rename to the mysql_alter_table() function.
2006-10-13 21:59:52 +04:00
unknown
e767ab6df8 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/usr/home/ram/work/bug23254/my41-bug23254
2006-10-13 21:12:07 +05:00
unknown
f202c9d2b2 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/usr/home/ram/work/bug23254/my50-bug23254
2006-10-13 21:09:20 +05:00
unknown
9f46532730 merging
mysql-test/r/type_enum.result:
  test result fixed
2006-10-13 19:36:19 +05:00
unknown
20a2a99789 Merge mysql.com:/usr/home/ram/work/bug23254/my50-bug23254
into  mysql.com:/usr/home/ram/work/bug23254/my51-bug23254


mysql-test/r/func_compress.result:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
2006-10-13 19:33:28 +05:00
unknown
0ace2b44ba Merge mysql.com:/usr/home/ram/work/bug23254/my41-bug23254
into  mysql.com:/usr/home/ram/work/bug23254/my50-bug23254


sql/item_strfunc.cc:
  Auto merged
mysql-test/r/func_compress.result:
  SCCS merged
mysql-test/t/func_compress.test:
  SCCS merged
2006-10-13 19:09:22 +05:00
unknown
60a21d1697 Fix for bug #23254: COMPRESS(NULL) makes all futher COMPRESS() calls on same Item return NULL
We don't set null_value to 0 in the Item_func_compress::val_str() for 
not-NULL results.


mysql-test/r/func_compress.result:
  Fix for bug #23254: COMPRESS(NULL) makes all futher COMPRESS() calls on same Item return NULL
    - test result.
mysql-test/t/func_compress.test:
  Fix for bug #23254: COMPRESS(NULL) makes all futher COMPRESS() calls on same Item return NULL
    - test case.
sql/item_strfunc.cc:
  Fix for bug #23254: COMPRESS(NULL) makes all futher COMPRESS() calls on same Item return NULL
    - set null_value.
2006-10-13 19:05:54 +05:00
unknown
9438b98519 Fix for Bug #17544 "Cannot do atomic log rotate",
Bug #21785 "Server crashes after rename of the log table" and
Bug #21966 "Strange warnings on create like/repair of the log
            tables"

According to the patch, from now on, one should use RENAME to
perform a log table rotation (this should also be reflected in
the manual).

Here is a sample:

use mysql;
CREATE TABLE IF NOT EXISTS general_log2 LIKE general_log;
RENAME TABLE general_log TO general_log_backup, general_log2 TO general_log;

The rules for Rename of the log tables are following:
      IF   1. Log tables are enabled
      AND  2. Rename operates on the log table and nothing is being
              renamed to the log table.
      DO   3. Throw an error message.
      ELSE 4. Perform rename.
 
The very RENAME query will go the the old (backup) table. This is
consistent with the behavoiur we have with binlog ROTATE LOGS
statement.

Other problems, which are solved by the patch are:

1) Now REPAIR of the log table is exclusive operation (as it should be), this
   also eliminates lock-related warnings. and
2) CREATE LIKE TABLE now usese usual read lock on the source table rather
   then name lock, which is too restrictive. This way we get rid of another
   log table-related warning, which occured because of the above fact
   (as a side-effect, name lock resulted in a warning).


mysql-test/r/log_tables.result:
  update result file
mysql-test/t/log_tables.test:
  Add tests for the bugs
sql/handler.cc:
  update comment
sql/handler.h:
  update function to reflect changes in log tables
  locking logic.
sql/lock.cc:
  Now we allow locking of the log tables for "privileged" threads
  Privileged thread must explicitly close and lock log tables. This
  is required for admin operations such as REPAIR.
sql/log.cc:
  Changes to the file:
  1) Add checks for table schema. It's more important now,
     as we allow rename of the log tables. Since we should
     check for schema when writing to a log table.
     E.g. if one created a table with one-only comlumn and
     renamed it to general_log, the server should cope with
     it.
  2) refactor LOGGER::flush(), so that we can now use the same
     machinery as we use in FLUSH LOGS in other statements:
     whenever we have to perform  a serious operation on the log
     tables, we have to
     (a) lock logger, which blocks other concurrent statements (such 
     as selects) (b) close logs. Then perform an
     exclusive operation, c) reenable logs and d) unlock logger.
  3) Add a function to check if a given table is a log table.
  4) Add support for "privileged" thread
  5) merge is_[general/slow]_log_table_enabled() into one function.
  6) Add new function: reopen _log_tables, which reopens the tables,
     which were enabled (after temporary close, required for admin
     operation)
sql/log.h:
  1) add a new call close_n_lock_tables(). Now we use it instead of
     LOGGER::flush() in FLUSH LOGS implementation.
  2) add a prototype for the function to check if a given
     table is a log table;
  3) add privileged table flag to table logger
  4) merge is_[general/slow]_log_table_enabled()
     into one function.
sql/mysql_priv.h:
  move log table defines to log.h
sql/sql_delete.cc:
  use new function check_if_log_table() instead of direct strcmp
sql/sql_rename.cc:
  Traverse the list of tables in mysql_rename_tables
  to make sure that log tables are processed correctly
  (that is, according to the rules specified in the
  main CS comment)
sql/sql_table.cc:
  1) mysql_admin_table() should disable logs if it performs
     exclusive admin operation on a log table. This way we
     also eliminate warning on REPAIR of the log table.
  2) mysql_create_like_table should read-lock the source table
     instead getting name lock on it. Name lock is too restrictive
     in this case.
sql/share/errmsg.txt:
  Add a new error message for rename of the log tables
sql/table.cc:
  use new function instead of direct strcmp.
  change my_strcasecmp() -> strcmp(), when
  comparing system db and table names
storage/csv/ha_tina.cc:
  update function to reflect changes in log tables
  locking logic.
storage/myisam/ha_myisam.cc:
  update function to reflect changes in log tables
  locking logic.
2006-10-13 17:26:46 +04:00
unknown
be831d7306 Optimize restarts by using --force-restart option 2006-10-13 11:53:19 +02:00
unknown
b35617cdba Improve the function that parses test files looking for what features it uses
Now also detects "source nnnn;" command, previous version only detected
"--source"
2006-10-13 11:05:46 +02:00
unknown
a4c972bcf7 Improve function that finds the reason why test was skipped, the old version only looked at the ast line, but there might be some additional debug info there so it's better to scan the whole file.
There should be only one line that says "reason: <reason>"
2006-10-13 10:41:40 +02:00
unknown
e3516186d5 Add missing semicolon in test file
mysql-test/r/csv.result:
  Update result after add of missing semicolon
2006-10-13 08:48:47 +02:00
unknown
99d42667d6 Bug #19764: SHOW commands end up in the slow log as table scans
Do not consider SHOW commands slow queries, just because they don't use proper indexes.

This bug fix is not needed in 5.1, and the code changes will be null merged.  However, the test cases will be propogated up to 5.1.


mysql-test/t/show_check-master.opt:
  Rename: BitKeeper/deleted/.del-show_check-master.opt -> mysql-test/t/show_check-master.opt
mysql-test/r/ps.result:
  Add test case for bug 19764
mysql-test/r/show_check.result:
  Add test case for bug 19764
mysql-test/r/union.result:
  Adjust test case results based on bug #19764 changes
mysql-test/t/ps.test:
  Add test case for bug 19764
mysql-test/t/show_check.test:
  Add test case for bug 19764
sql/sql_parse.cc:
  Do not log SHOW commands as slow queries just because they don't use indexes.
sql/sql_prepare.cc:
  Save stmt_backup.lex->orig_sql_command for use in log_slow_statement()
mysql-test/t/ps-master.opt:
  Add log-slow-queries and --log-queries-not-using indexes, to test bug #19764
2006-10-12 17:10:34 -06:00
unknown
7a9085c68b Skip looking for ndbapi-examples in 4.1, not part of dist 2006-10-12 20:52:53 +02:00
unknown
f371303eaf Merge bk-internal:/home/bk/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-10-12 18:48:03 +02:00
unknown
0e33031804 Merge shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint-new


mysql-test/r/mysql.result:
  Auto merged
mysql-test/t/mysql.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-10-12 17:37:59 +02:00
unknown
1c1fd2a46e Fix after manual merge.
mysql-test/t/sp-error.test:
  Move test for bug#20953 to the end of file.
2006-10-12 19:36:43 +04:00
unknown
649f3d5479 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug20953


mysql-test/r/view.result:
  Auto merged
mysql-test/t/sp-error.test:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/sp-error.result:
  Manual merge.
2006-10-12 18:33:07 +04:00
unknown
788c31022e Fix after manual merge.
mysql-test/r/sp-error.result:
  After merge fix.
mysql-test/t/sp-error.test:
  Fix delimiter restoration.
2006-10-12 18:30:59 +04:00
unknown
f104a7a9bd Merge shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.1-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2006-10-12 16:18:14 +02:00
unknown
a4f01a94b4 Merge shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2006-10-12 16:17:31 +02:00
unknown
e203f0e578 Add missing semicolon 2006-10-12 16:17:09 +02:00
unknown
8acc9a9612 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug20953
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug20953


mysql-test/r/view.result:
  Auto merged
mysql-test/t/sp-error.test:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/sp-error.result:
  Manual merge.
2006-10-12 18:06:26 +04:00
unknown
6d1fdc7308 BUG#20953: create proc with a create view that uses local vars/params
should fail to create

The problem was that this type of errors was checked during view
creation, which doesn't happen when CREATE VIEW is a statement of
a created stored routine.

The solution is to perform the checks at parse time.  The idea of the
fix is that the parser checks if a construction just parsed is allowed
in current circumstances by testing certain flags, and this flags are
reset for VIEWs.

The side effect of this change is that if the user already have
such bogus routines, it will now get a error when trying to do

  SHOW CREATE PROCEDURE proc;

(and some other) and when trying to execute such routine he will get

  ERROR 1457 (HY000): Failed to load routine test.p5. The table mysql.proc is missing, corrupt, or contains bad data (internal code -6)

However there should be very few such users (if any), and they may
(and should) drop these bogus routines.


mysql-test/r/sp-error.result:
  Add result for bug#20953: create proc with a create view that uses
  local vars/params should fail to create.
mysql-test/r/view.result:
  Update results.
mysql-test/t/sp-error.test:
  Add test case for bug#20953: create proc with a create view that uses
  local vars/params should fail to create.
mysql-test/t/view.test:
  Add second test for variable in a view.
  Remove SP variable in a view test, as it tests wrong behaviour.
  Add test for derived table in a view.
sql/sql_lex.cc:
  Remove LEX::variables_used.
sql/sql_lex.h:
  Remove LEX::variables_used and add st_parsing_options structure and
  LEX::parsing_options member.
sql/sql_view.cc:
  Move some error checking to sql/sql_yacc.yy.
sql/sql_yacc.yy:
  Check for disallowed syntax in a CREATE VIEW at parse time to rise a
  error when it is used inside CREATE PROCEDURE and CREATE FUNCTION, as
  well as by itself.
2006-10-12 18:02:57 +04:00
unknown
c81dd9357f Merge shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.1-maint


client/mysqltest.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
2006-10-12 13:53:21 +02:00
unknown
4779978bdc Merge shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


client/mysqltest.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
2006-10-12 13:51:54 +02:00
unknown
8461716962 Add win paths for mysql_client_test 2006-10-12 13:49:12 +02:00
unknown
89d5a1a541 Merge mysql.com:/home/hf/mysql-5.0.mrg
into  mysql.com:/home/hf/mysql-5.1.mrg


include/m_ctype.h:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/type_enum.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
strings/CHARSET_INFO.txt:
  Auto merged
strings/ctype-mb.c:
  Auto merged
strings/ctype-utf8.c:
  Auto merged
2006-10-12 15:42:05 +05:00
unknown
21ca14f0b7 Merge shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.1-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2006-10-12 12:21:16 +02:00
unknown
be4d02864a Merge shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2006-10-12 12:19:52 +02:00
unknown
1bb09d53ad Look for mysql_client_test in $path_client_bindir 2006-10-12 12:19:23 +02:00
unknown
6b328fc4a6 Merge bk-internal:/home/bk/mysql-5.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.1-maint
2006-10-12 11:57:50 +02:00
unknown
72a997c0ea Merge polly.local:/tmp/maint/bug22728/my41-bug22728
into  polly.local:/home/kaa/src/maint/m41-maint--07OGk


sql/handler.cc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Manually merged
mysql-test/t/innodb_mysql.test:
  Manually merged
2006-10-12 13:39:52 +04:00
unknown
450eab19a3 Merge shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.1-maint


client/mysqltest.c:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Auto merged
sql-common/client.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Use remote
2006-10-12 11:39:41 +02:00
unknown
4d45abc5d2 Merge shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


client/mysqltest.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Auto merged
sql-common/client.c:
  Auto merged
2006-10-12 11:30:07 +02:00