Commit graph

39919 commits

Author SHA1 Message Date
Georgi Kodinov
0708ad5f98 Bug #37339: SHOW VARIABLES not working properly with multi-byte datadir
The SHOW VARIABLES LIKE .../SELECT @@/SELECT ... FROM INFORMATION_SCHEMA.VARIABLES
were assuming that all the system variables are in system charset (UTF-8).
However the variables that are settable through command line will have a different
character set (character_set_filesystem).
Fixed the server to remember the correct character set of basedir, datadir, tmpdir,
ssl, plugin_dir, slave_load_tmpdir, innodb variables; init_connect and init_slave 
variables and use it when processing data.
2008-11-28 16:25:16 +02:00
Sergey Vojtovich
85d4cbae24 BUG#37245 - Full text search problem
Certain boolean mode queries with truncation operator did
not return matching records and calculate relevancy
incorrectly.
2008-11-28 18:17:13 +04:00
Sergey Glukhov
68066aa5a1 error code is changed to satisfy Win NT 2008-11-28 17:12:43 +04:00
Sergey Glukhov
17cd69ccf4 pushbuild failure fixes 2008-11-28 14:50:13 +04:00
Tatiana A. Nurnberg
99fe5e523e auto-merge 2008-11-27 17:17:16 +01:00
Sergey Glukhov
63bca358ca Bug#37284 Crash in Field_string::type()
The bug is repeatable with latest(1.0.1) InnoDB plugin on Linux, Win,
If MySQL is compiled with valgrind there are errors about
using of uninitialized variable(orig_table).
The fix is to set field->orig_table correct value.
2008-11-27 18:54:23 +04:00
Sergey Glukhov
861eeb918d removed unused variable 2008-11-27 18:26:22 +04:00
Sergey Glukhov
2fb574214e Bug#37460 Assertion failed: !table->file || table->file->inited == handler::NONE
enable uncacheable flag if we update a view with check option
and check option has a subselect, otherwise, the check option
can be evaluated after the subselect was freed as independent
(See full_local in JOIN::join_free())
2008-11-27 17:57:34 +04:00
Tatiana A. Nurnberg
238c5bfa2f auto-merge 2008-11-27 14:45:41 +01:00
Sergey Glukhov
7b488c46a0 Bug#40365 Prepared statements may insert invalid dates.
set DATE|DATETIME value to 0 if ALLOW_INVALID_DATES sql_mode is not enabled.
2008-11-27 16:41:25 +04:00
Sergey Glukhov
29cced9440 Bug#34825 perror on windows doesn't know about win32 error codes
extended perror to enable printing of Win32 system errors
2008-11-27 16:33:40 +04:00
Tatiana A. Nurnberg
d57c7dcff8 auto-merge 2008-11-27 12:50:51 +01:00
Chad MILLER
0e44a4e94c Bug#32136: mysqld_multi --defaults-file not respected while using \
--mysqld=mysqld_safe

The server run didn't know the correct section to read in a
configuration file, and would read from "[mysqld]" even though
mysqld_multi had already read the defaults and made them into explicit
parameters. 

Worse, the "defaults-file" parameter says that it means "Read only
this configuration file, do not read the standard system-wide and
user-specific files", which should apply not only to mysql-multi, but
to the server also.

So, now if "defaults-file" is given, put "no-defaults" before all the
explicit parameters we read from the defaults-file and feed to the
mysqld or mysqld_safe.
2008-11-26 10:51:59 -05:00
Tatiana A. Nurnberg
ae0c6a949c Bug#37553: MySql Error Compare TimeDiff & Time
We pretended that TIMEDIFF() would always return positive results;
this gave strange results in comparisons of the TIMEDIFF(low,hi)<TIME(0)
type that rendered a negative result, but still gave false in comparison.
We also inadvertantly dropped the sign when converting times to
decimal.

CAST(time AS DECIMAL) handles signs of the times correctly.
TIMEDIFF() marked up as signed. Time/date comparison code switched to
signed for clarity.
2008-11-26 09:28:17 +01:00
Vladislav Vaintroub
c3f07acfdd merge 2008-11-25 20:18:43 +01:00
Matthias Leich
febf42555a Merge of fix for Bug 26890 into GCA tree 2008-11-25 12:52:32 +01:00
Ramil Kalimullin
03a27c45cd Fix for bug#40984: backport fix from 39585 into 5.0
Problem: in 5.0 'check table for upgrade' doesn't detect
incompatible collation changes made in 5.0.48.

Fix: backport #39585 fix to 5.0
2008-11-25 10:22:02 +04:00
Patrick Crews
6d31576682 Bug#40866: mysql-test-run's check of tests provides false failures due to timestamp
Altering how MTR checks global variable status to exclude timestamp
Changed SQL statements to update style.
2008-11-24 16:53:32 -05:00
Georgi Kodinov
8dabe40247 merged bug 39656 to 5.0-bugteam 2008-11-24 17:38:52 +02:00
Georgi Kodinov
f0d5f30ccf Bug #39656: Behaviour different for agg functions with & without where -
ONLY_FULL_GROUP_BY

The check for non-aggregated columns in queries with aggregate function, but without
GROUP BY was treating all the parts of the query as if they are in the SELECT list.
Fixed by ignoring the non-aggregated fields in the WHERE clause.
2008-11-24 17:30:47 +02:00
Alexey Botchkov
52989c445f Bug#25058 ignored return codes in memory allocation functions
memory allocation error checks added for functions
   calling insert_dynamic()

per-file messages:
  myisam/mi_delete.c
Bug#25058 ignored return codes in memory allocation functions
    out-of-memory errors handled
  myisam/mi_write.c
Bug#25058 ignored return codes in memory allocation functions
    out-of-memory errors handled
  server-tools/instance-manager/instance_options.cc
Bug#25058 ignored return codes in memory allocation functions
    out-of-memory errors handled
  sql/slave.cc
Bug#25058 ignored return codes in memory allocation functions
    out-of-memory errors handled
  sql/sp_head.cc
Bug#25058 ignored return codes in memory allocation functions
    out-of-memory errors handled
  sql/sp_head.h
Bug#25058 ignored return codes in memory allocation functions
    out-of-memory errors handled
  sql/sp_pcontext.cc
Bug#25058 ignored return codes in memory allocation functions
    out-of-memory errors handled
  sql/sp_pcontext.h
Bug#25058 ignored return codes in memory allocation functions
    out-of-memory errors handled
  sql/sql_select.cc
Bug#25058 ignored return codes in memory allocation functions
    out-of-memory errors handled
  sql/sql_yacc.yy
Bug#25058 ignored return codes in memory allocation functions
    out-of-memory errors handled
2008-11-21 17:38:42 +04:00
Ramil Kalimullin
ca31fa3591 Auto-merge 2008-11-21 17:20:58 +04:00
Sergey Glukhov
a72c980c74 Bug#34760 Character set autodetection appears to fail
the problem is the same as reported in bug#20835,
so the fix is backport of bug#20835 patch.
2008-11-21 16:39:59 +04:00
Ramil Kalimullin
a78629c40c Fix for bug#36772: When using UTF8, CONVERT with GROUP BY
returns truncated results

Problem: performig conversion from {INT, DECIMAL, REAL} to CHAR
we incorrectly set its max length in some cases that may lead
to truncated results returned.

Fix: properly set CONVERT({INT, DECIMAL, REAL}, CHAR) result's
max length.
2008-11-21 13:48:22 +04:00
Tatiana A. Nurnberg
d1e5808d7e Bug#39591: Crash if table comment is longer than 62 characters
It was possible to crash a mysqld build with EXTRA_DEBUG using
CREATE TABLE ... COMMENT with a specially-crafted UTF-8 string.

This CS removes the check that caused it since it no longer
applies in current servers anyway, and adds comments instead
to avoid future confusion.
2008-11-20 15:39:39 +01:00
Ramil Kalimullin
240d0633b3 Fix for bug#40875: Memory leak in FEDERATED handler
Problem: memory leak occurs when we open a federated table
that has its share in the hash.

Fix: free not used memory.

Note: the fix should NOT be merged to 5.1 (the code changed).
2008-11-20 14:08:36 +04:00
Matthias Leich
177c0c2a3c Fix for Bug#26890 main.multi_update times out
The test itself is not faulty. The testcase timeout
problem happens if this IMHO mid size resource
(space in vardir, virtual memory, amount of disk I/O)
consuming test meets a weak (excessive disk I/O caused
by parallel applications or paging) testing box.

The modifications:
- Move the most time and disk I/O consuming subtest
  for Bug 1820 into its own script (multi_update2)
  This will reduce the likelihood that we exceed the
  testcase timeout.
- Replace error numbers with error names
- Minor improvements of the formatting

-
2008-11-19 19:17:26 +01:00
joerg@mysql.com
b781b3fa58 Merge from mysql-5.0.72-release 2008-11-18 23:37:54 +01:00
Sergey Vojtovich
0001121ccb Merge. 2008-11-18 15:10:52 +04:00
V Narayanan
af2e74f8cb Bug#39616: Missing quotes from .CSV crashes server
When a CSV file contained comma separated elements 
that were not enclosed in quotes, it was causing the
mysql server to crash.
      
The old algorithm that parsed the content of a row in
mysql 5.0 was assuming that the values of the fields
in a .CSV file will be enclosed in quotes and will be
separated by commas.

This was causing the old algorithm to fail when the 
content of the file resembled the following
3,"sans quotes"
The CSV engine that is part of mysql 5.0 was expecting
the above to be
"3","sans quotes"
      
The above is just one example of where the engine was
failing for what would be recognized as a valid .CSV 
file content otherwise.
      
The proposed fix changes the old algorithm being used
to parse rows from the .CSV file to handle two separate
cases

1) When the current field of the row is enclosed in quotes
2) When the current field of the row is not enclosed in 
   quotes
2008-11-18 11:31:03 +05:30
Alexey Botchkov
56dc6b2ecd Bug#31616 div_precision_increment description looks wrong
Item_func_div didn't calculate the precision of the result properly.
  The result of 5/0.0001 is 5000 so we have to add decimals of the divisor
  to the planned precision.

per-file comments:
  mysql-test/r/type_newdecimal.result
Bug#31616 div_precision_increment description looks wrong
    test result fixed

  mysql-test/t/type_newdecimal.test
Bug#31616 div_precision_increment description looks wrong
    test case

  sql/item_func.cc
Bug#31616 div_precision_increment description looks wrong
    precision must be increased with args[1]->decimals parameter
2008-11-17 19:41:09 +04:00
Gleb Shchepa
b82094a0f8 Bug #40021: Renaming view fails, archived .frm for view is
missing after downgrade

Obsolete arc/ directory and view .frm file backup support
has been removed by the patch for bug 17823. However, that
bugfix caused a problem with "live downgrades" of the
server: if we rename some view 4 times under 5.1.29/5.0.72
and then try to rename it under 5.1.28/5.0.70 on the same
database, the server fails with a error:

  query 'RENAME TABLE ... TO ...' failed: 6: Error on
  delete of '....frm-0001' (Errcode: 2)

Also .frm file of that view may be lost (renamed to .frm~).

The server failed because it tried to rename latest 3
backup .frm files renaming the view: the server used an
integer value of the "revision" field of .frm file to
extract those file names. After the fix for bug 17823 those
files were not created/maintained any more, however the
"revision" field was incremented as usual. So, the server
failed renaming non existent files.

This fix solves the problem by removing the support for
"revision" .frm file field:
1. New server silently ignores existent "revision" fields
   in old .frm files and never write it down;
2. Old server assumes, that missing "revision" field in new
   .frm files means default value of 0.
3. Accordingly to the fix for bug 17823 the new server
   drops arc/ directory on alter/rename view, so after
   "live downgrade" old server begins maintenance of the
   arc/ directory from scratch without conflicts with .frm
   files.
2008-11-14 21:25:57 +04:00
Ramil Kalimullin
ee3594b2d7 Test case for bug #34774: key prefix on text field in federated
tables can cause server to crash!

The bug will be fixed by patch for #34779: "crash in checksum table
on federated tables with blobs containing nulls"

Only a test case commited.
2008-11-14 11:42:29 +04:00
Ramil Kalimullin
e0d5a6c15f Fix for bug#37527: mysqlcheck fails to report entire database
when InnoDB frm file corruption

Problem: mysqlcheck runs 'SHOW FULL TABLE' queries to get table lists.
The query may fail for some reasons (e.g. null .frm file) then
mysqlcheck doesn't process the database tables.

Fix: try to run 'SHOW TABLES' if 'SHOW FULL TABLES' failed.
2008-11-14 11:40:46 +04:00
Vladislav Vaintroub
ea0efe4526 Bug #20430 mysqld.exe windows service stuck in "SERVICE_STOP_PENDING"
status

The problem appears to be a race condition, when service is being
stopped right after startup. We set the service status to SERVICE_RUNNING
way too early it cannot yet handle stop requests -  initialization has
not finished and  hEventShutdown  that signals server to stop is not yet
created. If somebody issues "net stop MySQL" at this time, MySQL is not
informed about the stop and continues to run as usual, while
NTService::ServiceMain() stucks forever waiting for mysql's "main" thread
to finish.

Solution is to remain in SERVICE_START_PENDING status until after server
initialization  is fully complete and only then change the status to
SERVICE_RUNNING. In  SERVICE_START_PENDING we do not accept service control
requests, i.e it is not possible to stop service in that time.
2008-11-14 02:01:41 +01:00
Patrick Crews
f88fd3feb7 Bug#40645 Test main.federated_innodb does not always clean up after itself
Reordered include files so that no mess will be left if this test is run without InnoDB
Previously, this test would leave a database named 'federated' in such a case and would
cause tests that examined existing databases to fail.
2008-11-13 16:01:01 -05:00
Sergey Glukhov
90548bc697 Bug#39541 CHECK TABLE on information_schema myisam tables produces error
issue 'The storage engine for the table doesn't support check' note for I_S tables
2008-11-13 17:06:48 +04:00
Alexey Botchkov
953f653121 Bug#31435 ha_innodb.cc:3983: ulint convert_search_mode_to_innobase(ha_rkey_function): Asse
I think we don't need to issue an error statement in the convert_search_mode_to_innobase().
    Returning the PAGE_CUR_UNSUPP value is enough as allows to handle this
    case depending on the requirements.

per-file comments:
  sql/ha_innodb.cc 
Bug#31435 ha_innodb.cc:3983: ulint convert_search_mode_to_innobase(ha_rkey_function): Asse 
     no error issued in convert_search_mode_to_innobase.
     ha_innobase::records_in_range() returns HA_POS_ERROR if search mode isn't supported.
2008-11-11 14:42:32 +04:00
Sergey Vojtovich
83f96dcf47 BUG#38842 - Fix for 25951 seems incorrect
With fix for bug 25951 index hints are ignored for fulltext
searches, as handling of fulltext indexes is different from
handling regular indexes. Meaning it is not possible to
implement true index hints support for fulltext indexes within
the scope of current fulltext architecture.

The problem is that prior to fix for bug 25951, some useful
index hints still could be given for boolean mode searches.

This patch implements special index hints support for fulltext
indexes with the following characteristics:
- all index hints are still ignored for NLQ mode searches -
  it cannot work without an index;
- for 5.1 and up index hints FOR ORDER BY and FOR GROUP BY are
  still ignored for fulltext indexes;
- boolean mode searches honor USE/FORCE/IGNORE INDEX hints;
- as opposed to index hints for regular indexes, index hints
  for fulltext BOOLEAN mode searches affect the usage of the
  index for the whole query.
2008-11-11 13:10:51 +04:00
Vladislav Vaintroub
d60da1c2a7 Bug#36279 - mysql built with Visual Studio 2005 does not display
japanese characters.

Fix - removed obsolvete setlocale from my_init.c . In MBCS 
environments it caused unwanted character-to-byte translations
in fputc()  in client code and wrong output as result.
2008-11-10 21:18:04 +01:00
Joerg Bruehe
4f90ab4df5 Merge main 5.0 -> 5.0-build 2008-11-10 17:01:51 +01:00
Joerg Bruehe
c81061e458 "spec" file for RPM builds:
Fix yesterday's patch so that it also works for the last flag.
Still part of the fix for bug#40546.
2008-11-07 18:38:40 +01:00
Kristofer Pettersson
e70f139d33 automerge 2008-11-07 16:23:01 +01:00
Georgi Kodinov
94ac4f703b merged 5.0-main -> 5.0-bugteam 2008-11-06 20:57:47 +02:00
Joerg Bruehe
54a47dcb30 Merge current 5.0 main tree and fix for bug#40546 2008-11-06 17:42:04 +01:00
Joerg Bruehe
e7fe288054 Bug #40546 Debug server in RPM is built with compiler optimization
Prevent this by modifying CFLAGS and CXXFLAGS.
2008-11-06 16:24:58 +01:00
Georgi Kodinov
f29a569a31 merged 5.0-main -> 5.0-bugteam 2008-11-06 12:54:52 +02:00
Georgi Kodinov
ccef156af4 merged 5.0-bugteam -> bug 33811-5.0-bugteam working tree 2008-11-03 11:50:32 +02:00
Kristofer Pettersson
5ef41db4a3 Fixed race condition in test case status2. A 'disconnect' issues an
implicit command which isn't completed immediately.
2008-10-31 10:25:03 +01:00
Joerg Bruehe
64dc750b17 Merge a correction for the 38098 bug into 5.0-build,
it will also be used in the 5.0.72 release.
2008-10-27 19:52:24 +01:00