Commit graph

32561 commits

Author SHA1 Message Date
unknown
a71a44296e Merge siva.hindu.god:/usr/home/tim/m/bk/b19764/50
into  siva.hindu.god:/usr/home/tim/m/bk/tmp/50


sql/sql_parse.cc:
  Auto merged
2006-10-11 23:38:15 -06:00
unknown
e9b7cc09e5 Revert patch for bug #19764, which did not work with prepared statements.
BitKeeper/deleted/.del-show_check-master.opt:
  Delete: mysql-test/t/show_check-master.opt
2006-10-11 23:35:52 -06:00
unknown
92a6bd28fe Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  example.com:/work/bug23074/my50-bug23074
2006-10-11 12:32:18 +02:00
unknown
ca3cafc006 Merge example.com:/work/bug23074/my41-bug23074
into  example.com:/work/bug23074/my50-bug23074


myisam/sort.c:
  Auto merged
2006-10-11 11:14:42 +02:00
unknown
a4a319cf0c Fix a typo regarding checking whether HA_VAR_LENGTH_KEY is
set. This has always worked because when flag is !=0 then
HA_VAR_LENGTH_KEY is always set. Therefore, a test case cannot
reveal a faulty behavior.

Fix for bug#23074: typo in myisam/sort.c


myisam/sort.c:
  fix typo. Nevertheless, it has worked as expected
  because when a bit in flag is set HA_VAR_LENGTH_KEY has
  been always set too. Actually, no problem exposed through
  DDL.
2006-10-11 11:07:25 +02:00
unknown
1e0ebb9105 Merge naruto.:C:/cpp/bug21811/my50-bug21811
into  naruto.:C:/cpp/mysql-5.0-maint


mysql-test/r/func_time.result:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
2006-10-11 10:41:22 +02:00
unknown
87ae7cb978 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug17583/my50-bug17583


BitKeeper/etc/collapsed:
  auto-union
client/mysql.cc:
  Auto merged
2006-10-09 18:54:48 -04:00
unknown
6c91170e3f Bug#17583: mysql drops connection when stdout is not writable
Porting forward tests to replacement files.


mysql-test/r/mysql.result:
  Ported changes from previous commit to new file.
mysql-test/t/mysql.test:
  Ported changes from previous commit to new file.
2006-10-09 18:50:12 -04:00
unknown
426b0f45a6 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug17583/my41-bug17583
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug17583/my50-bug17583


BitKeeper/deleted/.del-collapsed~fbec3523369aae99:
  Delete: BitKeeper/etc/collapsed
BitKeeper/etc/collapsed:
  'Auto converge'
client/mysql.cc:
  Auto merged
BitKeeper/deleted/.del-mysql_client.result:
  File is gone.
BitKeeper/deleted/.del-mysql_client.test:
  File is gone.
2006-10-09 18:46:28 -04:00
unknown
76b353d307 Bug#17583: mysql drops connection when stdout is not writable
When the client program had its stdout file descriptor closed by the calling
shell, after some amount of work (enough to fill a socket buffer) the server 
would complain about a packet error and then disconnect the client.

This is a serious security problem.  If stdout is closed before the mysql is
exec()d, then the first socket() call allocates file number 1 to communicate
with the server.  Subsequent write()s to that file number (as when printing
results that come back from the database) go back to the server instead in 
the command channel.  So, one should be able to craft data which, upon being
selected back from the server to the client, and injected into the command
stream become valid MySQL protocol to do something nasty when sent /back/ to 
the server.

The solution is to close explicitly the file descriptor that we *printf() to, 
so that the libc layer and the OS layer both agree that the file is closed.


BitKeeper/etc/collapsed:
  BitKeeper file /home/cmiller/work/mysql/bug17583/my41-bug17583/BitKeeper/etc/collapsed
client/mysql.cc:
  If standard output is not open (specifically, if dup() of its file number 
  fails) then we explicitly close it so that future uses of the file descriptor
  behave correctly for a closed file.
mysql-test/r/mysql_client.result:
  Prove that the problem of writing SQL output to the command socket no longer
  exists.
mysql-test/t/mysql_client.test:
  Prove that the problem of writing SQL output to the command socket no longer
  exists.
2006-10-09 18:28:06 -04:00
unknown
28b3dba139 Merge siva.hindu.god:/usr/home/tim/m/bk/b19764/50
into  siva.hindu.god:/usr/home/tim/m/bk/tmp/50


sql/sql_parse.cc:
  Auto merged
2006-10-09 16:16:47 -06:00
unknown
b5b5e902af Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/bug19660/my50-bug19660
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-5.0-maint


client/mysqldump.c:
  manula merge
2006-10-04 16:44:51 -04:00
unknown
d3144a9d6c Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/bug19660/my41-bug19660
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/bug19660/my50-bug19660


client/mysqldump.c:
  Auto merged
2006-10-04 15:31:14 -04:00
unknown
835fb47111 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug19356/my50-bug19356


BitKeeper/etc/collapsed:
  auto-union
2006-10-04 12:32:42 -04:00
unknown
f60ea28841 Bug#19356: Assert on undefined @uservar in prepared statement execute
The executing code had a safety assertion so that it refused to free Items
that it didn't create.  However, there is a case, undefined user variables,
which would put Items into the list to be freed.

Instead, do something that is more risky in expectation that the code will 
be refactored soon, as Kostja wants to do:  Remove the assertions from 
prepare() and execute().  Put one assertion at a higher level, before 
stmt->set_params_from_vars(), which may then create new to-be-freed Items .


mysql-test/r/ps_11bugs.result:
  Create tests to prove that undefined variables work, as keys and not, and 
  that variables explicitly assigned to Null work.
mysql-test/t/ps_11bugs.test:
  Create tests to prove that undefined variables work, as keys and not, and 
  that variables explicitly assigned to Null work.
sql/sql_prepare.cc:
  Move a safety assertion up one level and higher, because there is 
  legitimately a case where thd->free_list is not NULL going into 
  Prepared_statement::{prepare,execute} methods.
  
  Kostja plans to refactor this code so that it is both safe and works.  
  (Now it works, but isn't very safe.)
2006-10-04 11:19:23 -04:00
unknown
b056cc3bd1 Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/bug19024/my50-bug19024
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-5.0-maint


sql/set_var.cc:
  Auto merged
2006-10-04 11:00:24 -04:00
unknown
aaef575f9f Bug #19024- SHOW COUNT(*) WARNINGS not return Errors
The server variable warning_count should include the number of warnings, errors and notes according to the manual


mysql-test/r/user_var.result:
  Added warning_count results.
mysql-test/t/user_var.test:
  Added test case for warning_count.
sql/set_var.cc:
  Added number errors to warning_count.
2006-10-04 10:49:39 -04:00
unknown
0d833887e2 Bug #19764: SHOW commands end up in the slow log as table scans
Set a flag when a SHOW command is parsed, and check it in log_slow_statement().  SHOW commands are not counted as slow queries, even if they use table scans.


mysql-test/t/show_check-master.opt:
  BitKeeper file /usr/home/tim/m/bk/b19764/50/mysql-test/t/show_check-master.opt
mysql-test/r/show_check.result:
  Add test for bug #19764
mysql-test/t/show_check.test:
  Add test for bug #19764
sql/sql_lex.cc:
  Set lex->is_show_command= FALSE in lex_start
sql/sql_lex.h:
  Add LEX->is_slow_command flag to prevent SHOW commands from being written to the slow queries log
sql/sql_parse.cc:
  Don't log slow statement if it is a SHOW command
sql/sql_yacc.yy:
  Set lex->is_show_command for all SHOW commands
2006-10-03 21:26:55 -06:00
unknown
78f47b1b10 Bug#19660 mysqldump --single-transaction should be with CONSISTENT SNAPSHOT
client/mysqldump.c:
  Bug#19660 mysqldump --single-transaction should be with CONSISTENT SNAPSHOT
  
  - Remove old BEGIN syntax and replace with START TRANSATION. Add CONSISTENT SNAPSHOT option for servers that support it.
2006-10-03 11:26:50 -04:00
unknown
1535da6592 Merge bk-internal:/home/bk/mysql-5.0-runtime
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


BitKeeper/etc/collapsed:
  auto-union
mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
2006-10-03 14:26:11 +02:00
unknown
7d74876585 Merge bk-internal:/home/bk/mysql-5.0-rpl
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


client/mysql.cc:
  Auto merged
include/m_ctype.h:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/strict.result:
  Auto merged
mysql-test/r/warnings.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
2006-10-03 14:24:43 +02:00
unknown
b274c522ec Merge shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


scripts/mysqlhotcopy.sh:
  Auto merged
2006-10-03 09:05:34 +02:00
unknown
c317c2d224 Merge mysql.com:/usr/home/bar/mysql-4.1-rpl.b8663
into  mysql.com:/usr/home/bar/mysql-5.0-rpl


mysql-test/r/cast.result:
  null merge for bug#8663
  It will beed another fix for 5.0
  - changes in new DECIMAL instead of FLOAT
mysql-test/r/ps.result:
  null merge
mysql-test/t/cast.test:
  null merge
mysql-test/t/count_distinct3.test:
  null merge
sql/item_func.cc:
  null merge
2006-10-03 12:03:35 +05:00
unknown
2f0405283f Merge bk-internal:/home/bk/mysql-5.0-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-10-03 09:03:28 +02:00
unknown
387aa13c95 Merge bk-internal:/home/bk/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-10-03 08:59:00 +02:00
unknown
dc62ff5560 Merge mysql.com:/usr/home/bar/mysql-4.1.b8663
into  mysql.com:/usr/home/bar/mysql-4.1-rpl


mysql-test/r/cast.result:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
sql/item_func.cc:
  Auto merged
2006-10-03 11:53:01 +05:00
unknown
f0cd4a8311 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/usr/home/ram/work/bug22271/my50-bug22271


sql/field.cc:
  Auto merged
2006-10-03 09:00:03 +05:00
unknown
55badb1211 Merge shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


include/m_ctype.h:
  Auto merged
include/my_global.h:
  Manual merge
2006-10-03 01:04:18 +02:00
unknown
5d5ef8469a Merge shellback.(none):/home/msvensson/mysql/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


BitKeeper/etc/ignore:
  auto-union
sql/item_func.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2006-10-03 01:01:06 +02:00
unknown
e9275f4720 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0
2006-10-03 00:58:13 +02:00
unknown
61758d08bf Merge bk-internal:/home/bk/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-10-03 00:51:23 +02:00
unknown
cdec7323ec Add ATTRIBUTE_FORMAT_FPTR macro for setting format specifier also on function pointers
This was available from gcc 3.1, so diable it before that
Update m_ctype.h to use the new macro


include/m_ctype.h:
  Use macro ATTRIBUTE_FORMAT_FPTR on function pointer
include/my_global.h:
  Add ATTRIBUTE_FORMAT_FPTR macro for setting format specifier also on function pointers
  This was available from gcc 3.1, so diable it before that
2006-10-03 00:48:26 +02:00
unknown
1b665fa7ce Merge siva.hindu.god:/usr/home/tim/m/bk/40
into  siva.hindu.god:/usr/home/tim/m/bk/41


scripts/mysqlhotcopy.sh:
  Auto merged
2006-10-02 16:18:42 -06:00
unknown
ce1a7d9975 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1
into  siva.hindu.god:/usr/home/tim/m/bk/41
2006-10-02 16:16:24 -06:00
unknown
2f7849dfd5 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.0
into  siva.hindu.god:/usr/home/tim/m/bk/40
2006-10-02 16:13:58 -06:00
unknown
b200331618 Merge siva.hindu.god:/usr/home/tim/m/bk/50
into  siva.hindu.god:/usr/home/tim/m/bk/wl3516/50
2006-10-02 13:29:55 -06:00
unknown
2e2198633e Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mockturtle.local:/home/dlenev/src/mysql-5.0-rt-merge


mysql-test/r/ps.result:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2006-10-02 22:53:10 +04:00
unknown
60dc71eb95 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


include/my_global.h:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Manual merge
sql/mysqld.cc:
  Manual merge
2006-10-02 18:46:41 +02:00
unknown
72bff0c960 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21081
2006-10-02 18:01:04 +04:00
unknown
84000c374b Raise version number 2006-10-02 15:15:16 +02:00
unknown
990763fe89 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-real-bug21726


sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-10-02 17:00:39 +04:00
unknown
0ca2e21b5e Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge


mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
2006-10-02 14:19:51 +02:00
unknown
c71ecd928f Remove faulty merge 2006-10-02 14:05:36 +02:00
unknown
5bd5f55eee When compiling with qcc on QNC the define __GNUC__will be set although it doesn't support full GNU syntax
- disable __attribute__ when using qcc


include/my_global.h:
  Disable __attribute__ when compiling with qcc
2006-10-02 13:53:10 +02:00
unknown
4c59fceab0 Remove faulty merge causing ctype_utf8 failure 2006-10-02 13:47:18 +02:00
unknown
bde5116b51 Fix __attribute__(A) macro (it formerly used bogus __cplusplus__ symbol) 2006-10-02 13:46:40 +02:00
unknown
b85d803458 Merge bk-internal:/home/bk/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint


mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
2006-10-02 13:36:30 +02:00
unknown
1672af1fcb Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint


mysql-test/r/ctype_utf8.result:
  Manual merge
mysql-test/t/ctype_utf8.test:
  Manual merge
2006-10-02 13:18:54 +02:00
unknown
5e71afcbe7 Bug#21811 Odd casting with date + INTERVAL arithmetic
- Type casting was not consequent, thus when adding a DATE type with
  a WEEK interval the result type was DATETIME and not DATE as is the
  norm.
- By changing the order of the date internal enumerations the deviant
  type casting is resolved (Item_date_add_interval::fix_length_and_dec()
  which determines result type for this operation assumes that addition
  of any interval with value <= INTERVAL_DAY to date value will result
  in date). There are two independant places to change:
  interval_names[] and interval_type.


mysql-test/r/func_date_add.result:
  Updated result file for type casting test
mysql-test/r/func_time.result:
  Updated result file for type casting test
mysql-test/t/func_date_add.test:
  Added test for type casting when adding intervals to date.
sql/item_timefunc.cc:
  Changed order of "week" key word to match the date interval enumeration.
sql/item_timefunc.h:
  Changed the order of the enumeration to better follow interval sizes.
2006-10-02 12:37:01 +02:00
unknown
be929087ec BUG#21726: Incorrect result with multiple invocations of LAST_INSERT_ID
Non-upper-level INSERTs (the ones in the body of stored procedure,
stored function, or trigger) into a table that have AUTO_INCREMENT
column didn't affected the result of LAST_INSERT_ID() on this level.

The problem was introduced with the fix of bug 6880, which in turn was
introduced with the fix of bug 3117, where current insert_id value was
remembered on the first call to LAST_INSERT_ID() (bug 3117) and was
returned from that function until it was reset before the next
_upper-level_ statement (bug 6880).

The fix for bug#21726 brings back the behaviour of version 4.0, and
implements the following: remember insert_id value at the beginning
of the statement or expression (which at that point equals to
the first insert_id value generated by the previous statement), and
return that remembered value from LAST_INSERT_ID() or @@LAST_INSERT_ID.

Thus, the value returned by LAST_INSERT_ID() is not affected by values
generated by current statement, nor by LAST_INSERT_ID(expr) calls in
this statement.

Version 5.1 does not have this bug (it was fixed by WL 3146).


mysql-test/r/rpl_insert_id.result:
  Add results for bug#21726: Incorrect result with multiple invocations
  of LAST_INSERT_ID, and bug#20339: stored procedure using LAST_INSERT_ID()
  does not replicate statement-based.
mysql-test/t/rpl_insert_id.test:
  Add test cases for bug#21726: Incorrect result with multiple invocations
  of LAST_INSERT_ID, and bug#20339: stored procedure using LAST_INSERT_ID()
  does not replicate statement-based.
sql/item_func.cc:
  Add implementation of Item_func_last_insert_id::fix_fields(), where we
  remember in THD::current_insert_id the first value generated during
  execution of the previous statement, which is returned then from
  Item_func_last_insert_id::val_int().
sql/item_func.h:
  Add declaration of Item_func_last_insert_id::fix_fields().
sql/log_event.cc:
  Do not set THD::last_insert_id_used on LAST_INSERT_ID_EVENT.  Though we
  know the statement will call LAST_INSERT_ID(), it wasn't called yet.
sql/set_var.cc:
  In sys_var_last_insert_id::value_ptr() remember in
  THD::current_insert_id the first value generated during execution of the
  previous statement, and return this value for @@LAST_INSERT_ID.
sql/sql_class.cc:
  Reset THD::last_insert_id_used after each statement execution.
sql/sql_class.h:
  Rather then remember current insert_id value on first invocation of
  THD::insert_id(), remember it in Item_func_last_insert_id::fix_fields(),
  sys_var_last_insert_id::value_ptr(), or mysql_execute_command().
  Remove THD::insert_id(), as it lost its value now.
sql/sql_insert.cc:
  THD::insert_id() is removed, use THD::last_insert_id directly.
sql/sql_load.cc:
  THD::insert_id() is removed, using THD::last_insert_id directly is OK.
sql/sql_parse.cc:
  Remember in THD::current_insert_id first generated insert id value of
  the previous statement in mysql_execute_command().
  No need to reset THD::last_insert_id_used in
  mysql_reset_thd_for_next_command(), it will be reset after each
  statement.
sql/sql_select.cc:
  If "IS NULL" is replaced with "= <LAST_INSERT_ID>", use right value,
  which is THD::current_insert_id, and also set THD::last_insert_id_used
  to issue binary log LAST_INSERT_ID_EVENT.
sql/sql_update.cc:
  THD::insert_id() is removed, use THD::last_insert_id directly.
tests/mysql_client_test.c:
  Add test case for bug#21726: Incorrect result with multiple invocations
  of LAST_INSERT_ID.
2006-10-02 14:28:23 +04:00