Commit graph

8724 commits

Author SHA1 Message Date
unknown
a6c7fb455a Fix bug #9728 decreased functionality in "on duplicate key update"
Remove changes made by bug fix #8147. They strips list of insert_table_list to
only insert table, which results in error reported in bug #9728.
Added flag to Item to resolve ambigous fields reported in bug #8147.


sql/item.h:
  Fix bug#9728  decreased functionality in "on duplicate key update".
sql/item.cc:
  Fix bug#9728  decreased functionality in "on duplicate key update"
sql/sql_parse.cc:
  Fix bug#9728  decreased functionality in "on duplicate key update"
sql/sql_base.cc:
  Fix bug#9728  decreased functionality in "on duplicate key update".
sql/sql_yacc.yy:
  Fix bug#9728  decreased functionality in "on duplicate key update"
mysql-test/t/insert_select.test:
  Test case for bug#9728 Decreased functionality in "on duplicate key update".
mysql-test/r/insert_select.result:
  Test case for bug#9728 Decreased functionality in "on duplicate key update".
2005-06-22 07:18:42 +04:00
unknown
d785fc60ab BUG#10442 Minor changes from code review
mysql-test/r/rpl_multi_update3.result:
  Changes from code review
mysql-test/t/rpl_multi_update3.test:
  Changes from code review
sql/sql_parse.cc:
  Changes from code review
2005-06-21 15:40:58 -04:00
unknown
5031e9adc8 Merge mysql.com:/Users/emurphy/src/bk-clean/mysql-4.1
into  mysql.com:/Users/emurphy/src/work/mysql-4.1-bug10442
2005-06-21 14:28:55 -04:00
unknown
a23bf16577 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  moonbone.local:/work/mysql-4.1-bug-10886


sql/sql_insert.cc:
  Auto merged
2005-06-21 22:25:49 +04:00
unknown
8e45c0572b Fix bug #10886 - INSERT ... SELECT ... ON DUPLICATE KEY UPDATE produces bad results
Temporary field wasn't restored to default values after ON DUPLICATE KEY
 UPDATE event, which results in wrong data being inserted in new record.


sql/sql_insert.cc:
  Fix bug #10886 - INSERT ... SELECT ... ON DUPLICATE KEY UPDATE produces bad results
mysql-test/t/insert_select.test:
  Test case for bug #10886 - INSERT ... SELECT ... ON DUPLICATE KEY 
  UPDATE produces bad results
mysql-test/r/insert_select.result:
  Test case for bug #10886 - INSERT ... SELECT ... ON DUPLICATE KEY UPDATE 
  produces bad results
2005-06-21 22:24:58 +04:00
unknown
9f4db56284 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into rurik.mysql.com:/home/igor/mysql-4.1
2005-06-21 06:19:06 -07:00
unknown
472a2b511c Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-1
2005-06-21 04:31:07 -07:00
unknown
7b1ec02732 group_by.result, group_by.test:
Added a test case for bug #11295.
item_buff.cc:
  Fixed bug #11295.
  This a correction for the patch of bug #11088 that takes into
  account a possible NULL values of the BLOB column.


sql/item_buff.cc:
  Fixed bug #11295.
  This a correction for the patch of bug #11088 that takes into
  account a possible NULL values of the BLOB column.
mysql-test/t/group_by.test:
  Added a test case for bug #11295.
mysql-test/r/group_by.result:
  Added a test case for bug #11295.
2005-06-21 04:24:21 -07:00
unknown
06b1e94109 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1
2005-06-21 10:35:22 +02:00
unknown
bcec3fa575 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1
2005-06-20 21:25:54 +02:00
unknown
36dcc209b6 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into rurik.mysql.com:/home/igor/mysql-4.1
2005-06-20 10:52:38 -07:00
unknown
15b113e186 group_by.result:
Added  a test case for bug #11385.
group_by.test:
  Added  a test case for bug #11385.
field.h:
  Fixed bug #11385.
  The bug was due to not defined method decimals for the class
  Field_datetime.


sql/field.h:
  Fixed bug #11385.
  The bug was due to not defined method decimals for the class
  Field_datetime.
mysql-test/t/group_by.test:
  Added  atest case for bug #11385.
mysql-test/r/group_by.result:
  Added  a test case for bug #11385.
2005-06-20 10:49:04 -07:00
unknown
0f5b946ccf Makefile.am:
Corrected dependency for "lex_hash.h", to avoid occasional make failure


sql/Makefile.am:
  Corrected dependency for "lex_hash.h", to avoid occasional make failure
2005-06-20 18:03:30 +02:00
unknown
84da8b22d5 ha_ndbcluster.cc:
Added CR for readability


sql/ha_ndbcluster.cc:
  Added CR for readability
2005-06-20 17:17:44 +02:00
unknown
b8cbed7c36 Added comment to store_lock 2005-06-20 17:16:22 +02:00
unknown
e0e1adc329 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1
2005-06-20 16:13:34 +02:00
unknown
2c7095c82e Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into igor-inspiron.creware.com:/home/igor/mysql-4.1


sql/sql_select.cc:
  Auto merged
2005-06-20 06:13:30 -07:00
unknown
79444fa535 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bg11060
2005-06-20 16:07:36 +04:00
unknown
78e6794b63 Fix for bug #11060 "Server crashes on re-execution of prepared
INSERT ... SELECT with UNION" (reviewed version).

Altough bug manifest itself only starting from 5.0 it is better to
apply fix to 4.1 to keep some assumptions true and make code more
future-proof.


mysql-test/r/ps.result:
  Added test case for bug #11060 "Server crashes on re-execution of
  prepared INSERT ... SELECT with UNION".
mysql-test/t/ps.test:
  Added test case for bug #11060 "Server crashes on re-execution of
  prepared INSERT ... SELECT with UNION".
sql/sql_insert.cc:
  select_insert::prepare():
    Item::fix_fields() methods operate assuming that LEX::current_select
    points to the select to which current item belongs. Thus
    during check_insert_fields() routine execution LEX::current_select
    should point ot the first select in query since this is the
    select with which items in insert list is associated.
    But if we have INSERT SELECT UNION SELECT type of query
    LEX::current_select will point to the fake_select_lex instead
    since select_insert::prepare() is called during processing of JOIN
    which corresponds to this select_lex.
    So we have set LEX::current_select before calling check_insert_fields()
    and restore it afterwards.
2005-06-20 16:07:00 +04:00
unknown
f258d561eb Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1


sql/ha_ndbcluster.cc:
  Auto merged
2005-06-20 09:37:31 +02:00
unknown
1bc23847bf ha_ndbcluster.cc:
remove typecheck in ndb handler not needed


sql/ha_ndbcluster.cc:
  remove typecheck in ndb handler not needed
2005-06-20 07:53:53 +02:00
unknown
98ff15531f BUG#10442 Fix replication slave crash when a query with multiupdate and
subselects is used.


sql/sql_parse.cc:
  BUG#10442 Fix crash on replication slave by making sure that table list
  is filled out before it is used.
2005-06-17 11:15:29 -04:00
unknown
5b50ea27ad Fix for bug#10936: Cluster engine shows wrong key value for duplicate key error 2005-06-17 14:45:54 +02:00
unknown
6d41b42e1b Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into rurik.mysql.com:/home/igor/mysql-4.1
2005-06-17 03:56:24 -07:00
unknown
6de6d3ad5c sql_select.cc:
fixed 64bit bug in lenght store/retrive in cache


sql/sql_select.cc:
  fixed 64bit bug in lenght store/retrive in cache
2005-06-17 12:36:09 +02:00
unknown
c0484a301f Fix Bug#9334 "PS API queries in log file" and
Bug#8367 "low log doesn't gives complete information about prepared 
statements"
Implement status variables for prepared statements commands (a port of
the patch by Andrey Hristov).
See details in comments to the changed files.
No test case as there is no way to test slow log/general log in 
mysqltest.


mysql-test/r/ps_grant.result:
  Now execute is logged with tag 'Execute' (changed result file).
sql/mysql_priv.h:
  - remove obsolete macro.
  - add declarations for new status variables.
  - export function log_slow_statement, which now is used in sql_prepare.cc
sql/mysqld.cc:
  Add status variables for prepared statements API: now we record
  mysql_stmt_close, mysql_stmt_reset, mysql_stmt_prepare, mysql_stmt_execute
  mysql_stmt_send_long_data, PREPARE, EXECUTE, DEALLOCATE.
sql/sql_parse.cc:
  - account DEALLOCATE prepare as a Com_stmt_close command (close of a
  prepared statement).
sql/sql_prepare.cc:
  - fix a bug in SQL syntax for prepared statements + logging:
    if we use --log and EXECUTE stmt USING @no_such_variable;, the
    server crashed because the old code assumed that the variable 
    returned by get_var_with_binlog is never NULL.
  - account statistics for 
    mysql_stmt_{prepare,execute,close,reset,send_long_data} in
    Com_stmt_{prepare,execute,close,reset,send_long_data} correspondingly.
  - log slow statements into the slow log early, when thd->query
    points to a valid (with expanded placeholder values) query.
    The previous version was logging it in sql_parse, when thd->query
    is empty. Prevent the server from logging the statement twice by 
    setting thd->enable_slow_log= FALSE.
  - now in case of EXECUTE stmt in SQL syntax for prepared statements the 
    general log gets two queries, e.g.
    Query    EXECUTE stmt USING @a, @b, @c
    Execute  INSERT INTO t1 VALUES (1, 2, 3)
    This makes the behavior consistent with PREPARE command, which
    also logs the statement twice.
2005-06-17 00:11:48 +04:00
unknown
51cd70da3d A fix for Bug#9141 "4.1 does not log into slow log
ALTER, OPTIMIZE and ANALYZE statements".
In 4.1 we disabled logging of slow admin statements. The fix adds an 
option to enable it back.
No test case (slow log is not tested in the test suite), but tested
manually.
+ post-review fixes (word police mainly).


sql/mysql_priv.h:
  - declaration for a new option
sql/mysqld.cc:
  Add server option '--log-slow-admin-statements' to log slow
  optimize/alter/etc statements to the slow log if it's enabled.
  Add warnings that this option works only if the slow log is open.
sql/sql_class.h:
  Rename 'thd->slow_command' to thd->enable_slow_log (negates
  the meaning of this variable, and so resolves the need to negate
  value opt_log_slow_admin_statements when setting it).
sql/sql_parse.cc:
  Implement optional logging of administrative statements in the slow log.
2005-06-16 23:05:38 +04:00
unknown
0812385dcc group_by.result, group_by.test:
Added a test case for bug #8614.
sql_select.cc:
  Fixed bug #8614.
  SELECT DISTINCT ... GROUP BY 'const' must be equivalent to
  SELECT ... GROUP BY 'const'.


sql/sql_select.cc:
  Fixed bug #8614.
  SELECT DISTINCT ... GROUP BY 'const' must be equivalent to
  SELECT ... GROUP BY 'const'.
mysql-test/t/group_by.test:
  Added a test case for bug #8614.
mysql-test/r/group_by.result:
  Added a test case for bug #8614.
2005-06-16 09:45:41 -07:00
unknown
17b55ca39b for consictency, changed to use memcpy_fixed. 2005-06-16 13:39:54 +02:00
unknown
9fb9133f2c cleanup for bug#11167.
portability alignment issues.
2005-06-15 22:49:52 +02:00
unknown
3fe4e30c3d Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1
2005-06-14 10:29:47 +02:00
unknown
89906482e0 func_if.result, func_if.test:
Added a test case for bug #11142.
item_cmpfunc.cc:
  Fixed bug #11142.
  Implementation of Item_func_nullif::is_null was corrected.


sql/item_cmpfunc.cc:
  Fixed bug #11142.
  Implementation of Item_func_nullif::is_null was corrected.
mysql-test/t/func_if.test:
  Added a test case for bug #11142.
mysql-test/r/func_if.result:
  Added a test case for bug #11142.
2005-06-13 11:24:26 -07:00
unknown
e802cd3bc7 Merge igor-inspiron.creware.com:/home/igor/mysql-4.1
into igor-inspiron.creware.com:/home/igor/dev/mysql-4.1-0
2005-06-13 07:35:46 -07:00
unknown
3f483c18bd ctype_utf8.test, ctype_utf8.result:
Added a test case for bug #11167.
sql_select.cc:
  Fixed bug #11167.
  In 4.1 char/varchar fields are limited by 255 characters in
  length that make them longer than 255 bytes in size for such
  character sets as UTF8. The functions store_record_in_cache
  and read_cached_records did not take into account this
  Moreover the code did not take into account that the size
  of the varchar fields in 5.0 can be up to 65535 bytes


sql/sql_select.cc:
  Fixed bug #11167.
  In 4.1 char/varchar fields are limited by 255 characters in
  length that make them longer than 255 bytes in size for such
  character sets as UTF8. The functions store_record_in_cache
  and read_cached_records did not take into account this
  Moreover the code did not take into account that the size
  of the varchar fields in 5.0 can be up to 65535 bytes
mysql-test/r/ctype_utf8.result:
  Added a test case for bug #11167.
mysql-test/t/ctype_utf8.test:
  Added a test case for bug #11167.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2005-06-13 06:10:19 -07:00
unknown
8c4fe301d0 Merge mysql.com:/home/bkroot/mysql-4.1
into mysql.com:/home/bk/b6883-mysql-4.1
2005-06-13 11:12:10 +02:00
unknown
0670a02ca2 Merge mysql.com:/home/jimw/my/mysql-4.1-9500
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-06-10 14:44:25 -07:00
unknown
72724bd84b Merge mysql.com:/home/jimw/my/mysql-4.1-10566
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-06-09 18:03:18 -07:00
unknown
c995109b69 Bug#11028 Crash on create table like
Report error instead of crashing


mysql-test/r/create.result:
  Test for bug 11028
mysql-test/t/create.test:
  Test for bug 11028
sql/sql_table.cc:
  fix for null db name
2005-06-09 16:06:15 +01:00
unknown
a2580e91a1 Disallow TL_WRITE_ALLOW_READ being transformed into TL_WRITE_ALLOW_WRITE 2005-06-09 13:28:29 +02:00
unknown
f160958770 Fix for bug#10732: Set SQL_MODE to NULL gives garbled error message
generate proper error message if we use SET ... = NULL for 'set'
  variables
2005-06-09 14:39:29 +05:00
unknown
c23ef5e1f3 Fix problem with handling of lower_case_table_name == 2 when
the case in the FROM and WHERE clauses didn't agree. (Bug #9500)


mysql-test/r/lowercase_table2.result:
  Update results
mysql-test/t/lowercase_table2.test:
  Fix 'DROP TABLE' to not drop tables with the same name.
sql/mysqld.cc:
  Move initialization of table_alias_charset to after we
  have decided what lower_case_table_names should be.
2005-06-08 14:35:16 -07:00
unknown
31aad78f3a Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-4.1
into mdk10.(none):/home/reggie/bk/41test3


sql/sql_acl.cc:
  Auto merged
2005-06-07 15:45:02 -05:00
unknown
2f7ee68d5c Merge serg@bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2005-06-07 22:45:01 +02:00
unknown
575a46a1ef bug#5373: handler READ NEXT w/o HANDLER READ [FIRST]
check table->file->inited to catch incorrect calling sequence.


mysql-test/r/innodb_handler.result:
  bug#5373: handler READ NEXT w/o HANDLER READ [FIRST]
mysql-test/t/innodb_handler.test:
  bug#5373: handler READ NEXT w/o HANDLER READ [FIRST]
sql/sql_handler.cc:
  cleanup: call index_init *correctly*, not every time.
  check table->file->inited to catch incorrect calling sequence.
2005-06-07 22:43:25 +02:00
unknown
0d2788ba8c Merge mysql.com:/home/bkroot/mysql-4.1
into mysql.com:/home/bk/b6883-mysql-4.1
2005-06-07 16:31:10 +02:00
unknown
d499ead64c Many files:
Fixed bug #9899: erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.


sql/sql_class.cc:
  Fixed bug #9899: erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.
mysql-test/r/ps_1general.result:
  Fixed bug #9899: erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.
mysql-test/r/ps_2myisam.result:
  Fixed bug #9899: erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.
mysql-test/r/ps_3innodb.result:
  Fixed bug #9899: erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.
mysql-test/r/ps_4heap.result:
  Fixed bug #9899: erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.
mysql-test/r/ps_5merge.result:
  Fixed bug #9899: erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.
2005-06-07 06:34:13 -07:00
unknown
8b15aba810 item_buff.cc:
Removed an extra space char.


sql/item_buff.cc:
  Removed an extra space char.
2005-06-07 04:21:19 -07:00
unknown
4da133cabf sql_select.cc, item_buff.cc, item.h:
Fixed bug #11088: a crash for queries with GROUP BY a BLOB column
  + COUNT(DISTINCT...) due to an attempt to allocate a too large
  buffer for the BLOB field.
  Now the size of the buffer is limited by max_sort_length.
group_by.test, group_by.result:
  Added a test case for bug #11088.


mysql-test/r/group_by.result:
  Added a test case for bug #11088.
mysql-test/t/group_by.test:
  Added a test case for bug #11088.
sql/item.h:
  Fixed bug #11088: a crash for queries with GROUP BY a BLOB column
  + COUNT(DISTINCT...) due to an attempt to allocate a too large
  buffer for the BLOB fields.
  Now the size of the buffer is limited by max_sort_length.
sql/item_buff.cc:
  Fixed bug #11088: a crash for queries with GROUP BY a BLOB column
  + COUNT(DISTINCT...) due to an attempt to allocate a too large
  buffer for the BLOB fields.
  Now the size of the buffer is limited by max_sort_length.
sql/sql_select.cc:
  Fixed bug #11088: a crash for queries with GROUP BY a BLOB column
  + COUNT(DISTINCT...) due to an attempt to allocate a too large
  buffer for the BLOB fields.
  Now the size of the buffer is limited by max_sort_length.
2005-06-07 03:05:57 -07:00
unknown
6dc86a20c1 Merge mysql.com:/home/bkroot/mysql-4.1
into mysql.com:/home/bk/b6883-mysql-4.1


mysql-test/r/innodb.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-06-07 11:54:31 +02:00
unknown
f337dd79b9 BUG#6883: Changed comment, style
sql/sql_parse.cc:
  Changed comment, style
2005-06-07 11:47:59 +02:00