Commit graph

8849 commits

Author SHA1 Message Date
unknown
2b548fe935 Bug#10413 - Invalid column name is not rejected
Stop ignoring name parts and check for validity


mysql-test/r/create.result:
  Test for bug#10413
mysql-test/t/create.test:
  Test for bug#10413
sql/sql_yacc.yy:
  Bug#10413
    Stop ignoring parts of fully qualified names.
2005-05-31 18:06:54 +01:00
unknown
c744e27479 BUG# 10181-mysqld.exe crash with an access vioation after INSERT INTO mysql.host
this is a followup cset after changes suggested by Serg.


sql/sql_acl.cc:
  removed extra parameters used in sql_print_warning
  added code to output "" when host.db is null in the top sql_print_warning call
2005-05-31 07:21:10 -05:00
unknown
6474d27412 Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-4.1
into mdk10.(none):/home/reggie/bk/41test3
2005-05-31 06:07:44 -05:00
unknown
cf2188ca39 Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
1.) Added a new option to mysql_lock_tables() for ignoring FLUSH TABLES.
Used the new option in create_table_from_items().
It is necessary to prevent the SELECT table from being reopend.
It would get new storage assigned for its fields, while the
SELECT part of the command would still use the old (freed) storage.
2.) Protected the CREATE TABLE and CREATE TABLE ... SELECT commands
against a global read lock. This prevents a deadlock in
CREATE TABLE ... SELECT in conjunction with FLUSH TABLES WITH READ LOCK
and avoids the creation of new tables during a global read lock.
3.) Replaced set_protect_against_global_read_lock() and
unset_protect_against_global_read_lock() by
wait_if_global_read_lock() and start_waiting_global_read_lock()
in the INSERT DELAYED handling.


mysql-test/r/create.result:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Added test results.
mysql-test/t/create.test:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Added tests which do not require concurrency.
sql/lock.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Added a new option to mysql_lock_tables() for ignoring FLUSH TABLES.
  Changed the parameter list.
  Removed two unnecessary functions. Their functionality is included in
  wait_if_global_read_lock() and start_waiting_global_read_lock().
sql/mysql_priv.h:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Changed the declaration of mysql_lock_tables().
  Added definitions for the new options.
sql/sql_acl.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Adjusted mysql_lock_tables() calls to the new argument list.
sql/sql_base.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Adjusted mysql_lock_tables() calls to the new argument list.
sql/sql_handler.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Adjusted mysql_lock_tables() calls to the new argument list.
sql/sql_insert.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Replaced set_protect_against_global_read_lock() and
  unset_protect_against_global_read_lock() by
  wait_if_global_read_lock() and start_waiting_global_read_lock()
  in the INSERT DELAYED handling.
  Adjusted mysql_lock_tables() calls to the new argument list.
sql/sql_parse.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Protected the CREATE TABLE and CREATE TABLE ... SELECT commands
  against a global read lock. This prevents a deadlock in
  CREATE TABLE ... SELECT in conjunction with FLUSH TABLES WITH READ LOCK
  and avoids the creation of new tables during a global read lock.
sql/sql_table.cc:
  Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
  Adjusted mysql_lock_tables() calls to the new argument list.
  Used the new option in create_table_from_items().
2005-05-31 11:08:14 +02:00
unknown
7b4385f472 a fix (bug #7405: group_concat with distinct and rollup => ignores distinct in some rows).
sql/item_sum.cc:
  a fix (bug #7405: group_concat with distinct and rollup => ignores distinct in some rows).
  Code changed in order to work with rollup extension.
2005-05-31 10:54:33 +05:00
unknown
25841aa9ad sql_select.cc:
Post-review modifications for the fix of bug #7894.


sql/sql_select.cc:
  Post-review modifications for the fix of bug #7894.
2005-05-30 05:25:12 -07:00
unknown
5a54820003 olap.result, olap.test:
Added test cases for bug #7894.
sql_select.cc:
  Fixed bug #7894: GROUP BY queries with ROLLUP returned
  wrong results for expressions containing group by columns.
  The fix ensured correct results by replacement of all
  occurrences of group by fields in non-aggregate expressions
  for corresponding ref objects and preventing creation of
  fields in temporary tables for expression containing group
  by fields.


sql/sql_select.cc:
  Fixed bug #7894: GROUP BY queries with ROLLUP returned
  wrong results for expressions containing group by columns.
  The fix ensured correct results by replacement of all
  occurrences of group by fields in non-aggregate expressions
  for corresponding ref objects and preventing creation of
  fields in temporary tables for expression containing group
  by fields.
mysql-test/t/olap.test:
  Added test cases for bug #7894.
mysql-test/r/olap.result:
  Added test cases for bug #7894.
2005-05-30 03:01:51 -07:00
unknown
755d2018ad forgotten s/__GNUC__/USE_PRAGMA_INTERFACE/ causes compilation faliures 2005-05-27 14:15:08 +02:00
unknown
8dcb03f7a2 Merge serg@bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1


sql/ha_innodb.cc:
  Auto merged
2005-05-27 12:48:36 +02:00
unknown
360d1cd06d don't downgrade the lock for CREATE ... SELECT (bug#6678) 2005-05-27 12:38:29 +02:00
unknown
6e7dd94ea4 BUG#6883: Added implicit commit for CREATE TABLE, TRUNCATE TABLE and DROP/CREATE DATABASE
mysql-test/r/innodb.result:
  Truncate table now work even if there is open trx
mysql-test/r/innodb_cache.result:
  One query in cache
mysql-test/t/innodb.test:
  Truncate table now succeed even if there is an open transaction
sql/sql_parse.cc:
  Added implicit commit for temp table CREATE TABLE, TRUNCATE TABLE, CREATE/DROP DATABASE.
2005-05-27 04:17:33 +02:00
unknown
ac55fc7adb Bug #10181 mysqld.exe crash with an access violation after INSERT INTO mysql.host
sql_acl.cc:
  Make sure host.db is a valid string pointer before we do our lower_case_table_names comparison


sql/sql_acl.cc:
  Make sure host.db is a valid string pointer before we do our lower_case_table_names comparison
2005-05-26 14:02:18 -05:00
unknown
5f767b11e4 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/msvensson/mysql/mysql-4.1


sql/item.cc:
  Auto merged
2005-05-26 20:02:21 +02:00
unknown
e547fbea68 Cleanups to patch for bug #9660 after review by Monty.
sql/sql_table.cc:
  Make return value of build_table_path() useful
  Eliminate some unnecessary casts
2005-05-26 10:01:26 -07:00
unknown
604799534a merge
sql/item.cc:
  Auto merged
2005-05-26 18:33:57 +03:00
unknown
80b0baa740 fixed problem with long string results of expressions in UNIONS (BUG#10025)
mysql-test/r/union.result:
  test for Bug #10025
mysql-test/t/union.test:
  test for Bug #10025
sql/item.cc:
  set HA_OPTION_PACK_RECORD and change type to MYSQL_TYPE_STRING, to allow correct field creation in case of length more then 255 (creation STRING field with length more then 255)
2005-05-26 17:30:12 +03:00
unknown
7d7b5dbcae Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/msvensson/mysql/mysql-4.1


include/my_global.h:
  Auto merged
sql/ha_myisammrg.cc:
  Auto merged
sql/item.cc:
  Auto merged
2005-05-26 12:10:05 +02:00
unknown
22944a9563 Add ifdefs to control when "#pragma implementation" should be used
Added some more ifdefs for "#pragma interface"


client/sql_string.cc:
  USE_PRAGMA_IMPLEMENTATION
client/sql_string.h:
  USE_PRAGMA_INTERFACE
include/my_global.h:
  Use pragma implementation for gcc pre version 3
mysys/raid.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/field.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/ha_berkeley.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/ha_blackhole.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/ha_heap.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/ha_innodb.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/ha_isam.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/ha_isammrg.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/ha_myisam.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/ha_myisammrg.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/ha_ndbcluster.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/handler.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/hash_filo.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/item.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/item_cmpfunc.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/item_func.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/item_geofunc.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/item_strfunc.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/item_subselect.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/item_sum.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/item_timefunc.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/item_uniq.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/item_uniq.h:
  USE_PRAGMA_INTERFACE
sql/log_event.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/log_event.h:
  USE_PRAGMA_INTERFACE
sql/opt_range.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/procedure.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/protocol.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/protocol_cursor.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/set_var.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/sql_analyse.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/sql_analyse.h:
  USE_PRAGMA_INTERFACE
sql/sql_class.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/sql_crypt.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/sql_crypt.h:
  USE_PRAGMA_IMPLEMENTATION
sql/sql_list.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/sql_map.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/sql_map.h:
  USE_PRAGMA_INTERFACE
sql/sql_olap.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/sql_select.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/sql_string.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/sql_udf.cc:
  USE_PRAGMA_IMPLEMENTATION
sql/tztime.cc:
  USE_PRAGMA_IMPLEMENTATION
2005-05-26 12:09:14 +02:00
unknown
8ac75806e2 Fix table renaming to not lowercase table names for all storage
engines when lower_case_table_names == 2, as it did previously
for InnoDB and MEMORY. (Bug #9660)


mysql-test/r/lowercase_table2.result:
  Fix results
sql/sql_table.cc:
  Add build_table_path() function to construct the path to
  a table, and use it to replace nearly all of the places
  where this was done with similar code.
  
  Fix mysql_rename_table() to not lowercase the .frm file
  name when lower_case_table_names == 2 and the storage
  engine does not set the HA_FILE_BASED flag (such as InnoDB).
2005-05-25 20:26:40 -07:00
unknown
aa3a934b9d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


sql/sql_parse.cc:
  Auto merged
2005-05-25 12:57:29 +03:00
unknown
549f56dc3d Cleanup during code review
Faster detection of wrong table names (like PRN) on windows


include/my_sys.h:
  Added check_if_legal_filename()
mysys/my_access.c:
  Added check_if_legal_filename()
  Set errno if my_access() fails
mysys/my_fopen.c:
  USe check_if_legal_filename() instead of my_access() to detect wrong file names on windows
mysys/my_open.c:
  USe check_if_legal_filename() instead of my_access() to detect wrong file names on windows
sql/sql_lex.cc:
  Portability fix
sql/sql_parse.cc:
  Simple cleanup
sql/sql_repl.cc:
  Cleanup during code review
2005-05-25 12:56:47 +03:00
unknown
6ae9eb48d5 Increase limit of partial key length in MEMORY storage engine
to the same as a full key. (Bug #10566)


mysql-test/r/heap.result:
  Update results
mysql-test/t/heap.test:
  Add test for bug #10566
sql/ha_heap.h:
  Add max_supported_key_part_length() method.
2005-05-24 12:21:15 -07:00
unknown
75e8f8372e Fix error reporting for 'OPTIMIZE TABLE' on InnoDB tables. (Bug #8135)
sql/sql_table.cc:
  Pass through errors from InnoDB in OPTIMIZE TABLE.
2005-05-24 11:11:40 -07:00
unknown
be9845b004 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
2005-05-24 19:47:18 +03:00
unknown
edcc645b8e Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-4.1
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
2005-05-24 18:23:31 +03:00
unknown
801c2c275a Added a test case for Bug#8009.
sql/item.cc:
  Fixed Bug#8009.
2005-05-24 17:50:17 +03:00
unknown
3a23b67566 Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-4.1
into xiphis.org:/usr/home/antony/work2/p3-bug7241.5
2005-05-24 13:40:25 +01:00
unknown
1a8f64d715 Add comments 2005-05-24 13:38:46 +01:00
unknown
efc7b884eb Bug#7241 - Invalid response when DELETE .. USING and LOCK TABLES used.
Only acquire necessary write lock for multi-delete


mysql-test/r/lock.result:
  Test for Bug#7241
mysql-test/t/lock.test:
  Test for Bug#7241
sql/sql_parse.cc:
  Bug#7241
    Don't acquire write lock on all tables.
    Make sure to set lock_type on real table_list
2005-05-24 11:44:34 +01:00
unknown
d81bee6ec1 Merge mysql.com:/home/bkroot/mysql-4.1 into mysql.com:/home/bk/c4944-4.1 2005-05-23 21:05:30 +02:00
unknown
67c5514b90 BUG#10687 - Merge engine fails under Windows
This final cset is to fix a syntax problem in ha_myisammrg.cc where a / was left out of a format string.
It also adds a check in has_path to avoid a possible redundant comparison.

ha_myisammrg.cc:
  Replaced missing / in format string
my_getwd.c:
  Added test to see if FN_LIBCHAR != '/' before doing comparison to avoid redundant comparison


mysys/my_getwd.c:
  Added test to see if FN_LIBCHAR != '/' before doing comparison to avoid redundant comparison
sql/ha_myisammrg.cc:
  Replaced missing / in format string
2005-05-23 12:31:22 -05:00
unknown
1b2a2c8647 Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-4.1
into mdk10.(none):/home/reggie/bk/mysql-4.1
2005-05-23 12:08:57 -05:00
unknown
36b3f0a052 BUG# 10687: Merge engine fails under Windows
This cset is to roll out the cset applied earlier from Ingo.
This bug has been fixed with a different cset.



sql/ha_myisammrg.cc:
  removed the patch applied earlier
strings/my_vsnprintf.c:
  removed the patch applied earlier.  The patch was to add %c ability.  
  Monty has already done this.
2005-05-23 12:05:15 -05:00
unknown
bc40c03d3a Merge mysql.com:/home/bkroot/mysql-4.1 into mysql.com:/home/bk/c4944-4.1 2005-05-23 16:23:05 +02:00
unknown
c1ae672add BUG# 9148: Denial of service
The problem was that on Windows the access method indicates that access to file 
such as "com1" and "lpt1" is allowed (since they are device names) and
this causes mysql to attempt to open them as databases or tables.

The fix was to write our own my_access method that uses other Win32 functions
to determine if the given argument is indeed a file and has to requested
mode.


VC++Files/mysys/mysys.dsp:
  added my_access
VC++Files/mysys/mysys_ia64.dsp:
  added my_access.c
include/my_sys.h:
  if on windows, we use my_access.
  if not on windows, then my_access points to the native access method
mysys/Makefile.am:
  added my_access to mysys build file
mysys/mf_pack.c:
  changed call to access to my_access
sql/sql_db.cc:
  changed call to access to my_access
2005-05-20 16:04:10 -05:00
unknown
355000fa4e Merge mysql.com:/home/bkroot/mysql-4.1 into mysql.com:/home/bk/c4944-4.1 2005-05-20 15:30:15 +02:00
unknown
1da5382a9f BUG# 10687 - MERGE engine fails under Windows
This patch was submitted by Ingo and it appears to work correctly.


sql/ha_myisammrg.cc:
  use FN_LIBCHAR instead of / so buff works correctly on Windows
strings/my_vsnprintf.c:
  add support for %c to my_vsnprintf
2005-05-19 16:02:14 -05:00
unknown
f4a584f501 This fixed a compile problem on Windows
sql_udf.cc:
  changed dl_name to udf->dl in mysql_create_function


sql/sql_udf.cc:
  changed dl_name to udf->dl in mysql_create_function
2005-05-19 15:18:49 -05:00
unknown
fea271c3b5 Merge mysql.com:/usr/home/ram/work/mysql-4.1-build
into mysql.com:/usr/home/ram/work/mysql-4.1
2005-05-19 23:31:40 +05:00
unknown
b8d22413c0 hf's fix for bug #10626 ( gis.test fails)
sql/spatial.cc:
  just float8get doesn't work well with the local variables -                     
  they can be of processor-specific floating type - not the                       
  standard decimal (by hf)
2005-05-19 22:53:35 +05:00
unknown
9364130a1a Merge mysql.com:/home/bkroot/mysql-4.1 into mysql.com:/home/bk/c4944-4.1 2005-05-19 12:59:46 +02:00
unknown
e439e7c649 CSC#4944: Adding File_size to output of SHOW BINARY lOGS
mysql-test/r/rpl_log.result:
  Adding File_size to output of SHOW BINARY lOGS
mysql-test/r/rpl_rotate_logs.result:
  Adding File_size to output of SHOW BINARY lOGS
sql/sql_repl.cc:
  Adding File_size to output of SHOW BINARY lOGS
2005-05-19 12:34:15 +02:00
unknown
27378545f9 Merge serg@bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2005-05-19 09:50:43 +02:00
unknown
275aa24740 after merge fix 2005-05-19 09:47:13 +02:00
unknown
7e507270b8 merged
sql/unireg.cc:
  Auto merged
2005-05-18 22:14:08 +02:00
unknown
dae940d11e Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2005-05-18 21:36:46 +02:00
unknown
e507f6a15e udf: when banning paths from soname in CREATE FUNCTION, check for \ on windows.
when reporting an error, use an appropriate buffer for udf->name
2005-05-18 21:31:39 +02:00
unknown
7a223fe8c9 Merge mysql.com:/home/mydev/mysql-4.1
into mysql.com:/home/mydev/mysql-4.1-4100
2005-05-18 19:45:59 +02:00
unknown
0461b482cb Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
After review version.
Added a condition for MERGE tables. These do not have unique
indexes. But every key could be a unique key on the underlying
MyISAM table. So get the maximum key length for MERGE tables
instead of the maximum unique key length. This is used for
buffer allocation in write_record().


mysql-test/r/merge.result:
  Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
  The test result.
mysql-test/t/merge.test:
  Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
  The test case does not in all cases show the problem
  without the bugfix. The improper memory allocation
  might get through undetected in many cases.
sql/ha_myisammrg.h:
  Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
  Set a table_flag for the MERGE engine telling that any index
  might be unique without being specified as such.
sql/handler.h:
  Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
  Added a new table_flag telling that any index
  might be unique without being specified as such.
sql/sql_insert.cc:
  Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
  Changed the freeing of the memory to be symmetric to its
  allocation (my_safe_alloc -> my_safe_afree).
  This is not directly related to the bug.
sql/table.cc:
  Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
  Added a condition for MERGE tables. These do not have unique
  indexes. But every key could be a unique key on the underlying
  MyISAM table. So get the maximum key length for MERGE tables
  instead of the maximum unique key length. This is used for
  buffer allocation in write_record().
2005-05-18 19:40:39 +02:00
unknown
a217404883 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
2005-05-18 19:43:48 +03:00