Commit graph

17023 commits

Author SHA1 Message Date
unknown
bfc61f2ea9 Merge damien-katzs-computer.local:/Users/dkatz/mysql50
into  damien-katzs-computer.local:/Users/dkatz/50_win


sql/sql_yacc.yy:
  Auto merged
2007-06-19 18:03:47 -04:00
unknown
cb5f8fa50b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
2007-06-19 14:53:13 +04:00
unknown
fcacd0b271 Merge mysql.com:/home/hf/work/29117/my41-29117
into  mysql.com:/home/hf/work/29117/my50-29117


sql/net_serv.cc:
  Auto merged
2007-06-19 12:31:37 +05:00
unknown
c1cf6e612d Bug #29117 (init_file test crashes with embedded server)
we use net->vio in my_net_local_init, but in the my_net_init
implementation we set it after the call, so work with unspecified
net->vio value


sql/net_serv.cc:
  Bug #29117 (init_file test crashes with embedded server)
  
  as we started using net->vio in my_net_local_init, we should set
  it before the call
2007-06-19 11:13:11 +05:00
unknown
5941479ee3 Bug #28921 Queries containing UDF functions are cached
Fixed runtime to no longer allow the caching of queries with UDF calls.


mysql-test/r/udf.result:
  Added a test that turns on caching and checks that querys calling UDFs don't get cached.
mysql-test/t/udf.test:
  Added a test that turns on caching and checks that querys calling UDFs don't get cached.
sql/sql_yacc.yy:
  Fixed code to set safe_to_cache_query=0 regardless if the function call is a UDF or SP. Where it was placed previously -- at the very end of the else testing for UDFs -- it only executed the statement if the function call was a stored procedure call.
2007-06-18 17:55:12 -04:00
unknown
c6d220e9fb Fix typo in the patch for BUG#25411 on 24-Apr-2007.
sql/handler.cc:
  Polishing to have the consistent code.
sql/sp_head.cc:
  Polishing to have the consistent code.
sql/sql_error.cc:
  Polishing to have the consistent code.
sql/sql_trigger.cc:
  Polishing to have the consistent code.
2007-06-19 01:54:35 +04:00
unknown
2a9bb27424 Bug #29053 SQL_CACHE in UNION causes non-deterministic functions to be cached
Changed code to enforce that SQL_CACHE only in the first SELECT is used to turn on caching(as documented), but any SQL_NO_CACHE will turn off caching (not documented, but a useful behaviour, especially for machine generated queries). Added test cases to explicitly test the documented caching behaviour and test cases for the reported bug. 


mysql-test/r/query_cache.result:
  Added non-bug specific tests that ensure that only SQL_CACHE in the first SELECT is respected when encountered by the parser. These tests validate what is already documented, that only the outer most SELECTS can use the SQL_CACHE option to turn on caching. Because it would break existing SQL applications, we do not return an error if the SQL_CACHE expression is found in nested SELECTs. Also added test to validate nested SELECT can contain SQL_NO_CACHE and it will always turn off caching for the whole query. 
  
  Also added a bug specific test case to validate that the buggy behavior as reported has been fixed.
mysql-test/t/query_cache.test:
  Added non-bug specific tests that ensure that only SQL_CACHE in the first SELECT is respected when encountered by the parser. These tests validate what is already documented, that only the outer most SELECTS can use the SQL_CACHE option to turn on caching. Because it would break existing SQL applications, we do not return an error if the SQL_CACHE expression is found in nested SELECTs. Also added test to validate nested SELECT can contain SQL_NO_CACHE and it will always turn off caching for the whole query. 
  
  Also added a bug specific test case to validate that the buggy behavior as reported has been fixed.
sql/sql_yacc.yy:
  Added an explicit check to make sure "SELECT SQL_CACHE" only works on the first select in a query.
  
  The parser will always hit the outermost SELECT first, and if the SQL_CACHE option is found it sets the safe_to_query flag in the lex. Then, if there are subseqent "uncachable" subqueries or functions, as it parses those elements it sets the safe_to_query to 0. However, this cause problems if nested SELECTs also used the SQL_CACHE option, because then it would set back safe_to_query to 1, even though there are uncacheable expressions previously parsed.
  
  By adding the check to ensure only the first SELECT can turn caching on, it means a subsequent SQL_CACHE option can't turn caching back on after a uncacheable subsequery was already encountered.
2007-06-18 17:16:20 -04:00
unknown
059b70d428 Merge trift2.:/MySQL/M41/clone-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-06-18 19:16:12 +02:00
unknown
ccae0cf8b2 Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt


sql/item_func.cc:
  Auto merged
2007-06-18 18:45:55 +05:00
unknown
3d31e3d641 Bug#28677: SELECT on missing column gives extra error
The method select_insert::send_error does two things, it rolls back a statement
being executed and outputs an error message. But when a 
nonexistent column is referenced, an error message has been published already and
there is no need to publish another.
Fixed by moving all functionality beyond publishing an error message into 
select_insert::abort() and calling only that function.


mysql-test/r/errors.result:
  Bug#28677: test result
mysql-test/t/errors.test:
  Bug#28677: test case
sql/sql_class.h:
  Bug#28677: overriding abort()
sql/sql_insert.cc:
  Bug#28677: 
  - moved everything beyond producing an error message out of select_insert::send_error 
  and into new override select_insert::abort() 
  - made corresponding move of code from select_create::send_error to select_create::abort
sql/sql_select.cc:
  Bug#28677: No need to pusblish an error here
2007-06-18 16:35:01 +03:00
unknown
6633093592 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-06-18 12:02:39 +02:00
unknown
4a56e7ccbf Merge trift2.:/MySQL/M41/mysql-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-06-18 11:25:26 +02:00
unknown
caf55fffef Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge


mysql-test/t/innodb.test:
  Auto merged
2007-06-18 09:33:43 +02:00
unknown
145696de54 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug27130


mysql-test/r/func_str.result:
  Manual merge
mysql-test/t/func_str.test:
  Manual merge
2007-06-17 11:35:14 -07:00
unknown
a07b055b9a Fixed bug #27130. If the third argument of the function SUBSTR was
represented by an expression of the type UNSIGNED INT and this 
expression was evaluated to 0 then the function erroneously returned
the value of the first argument instead of an empty string. 

This problem was introduced by the patch for bug 10963.

The problem has been resolved by a proper modification of the code of
Item_func_substr::val_str.


mysql-test/r/func_str.result:
  Added a test case for bug #27130.
mysql-test/t/func_str.test:
  Added a test case for bug #27130.
2007-06-17 11:23:19 -07:00
unknown
2eb468f322 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-engines


sql/handler.h:
  Auto merged
2007-06-17 19:52:01 +02:00
unknown
3e2e6ea9e3 Merge chilla.local:/home/mydev/mysql-5.0-amain
into  chilla.local:/home/mydev/mysql-5.0-axmrg


configure.in:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-06-16 11:34:21 +02:00
unknown
b1dc106bf0 Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.0-opt-28625


sql/item_func.cc:
  Auto merged
2007-06-16 13:49:26 +05:00
unknown
1b9f594f4a Fixed bug #28625:
DECIMAL column was used instead of BIGINT for the minimal possible
BIGINT (-9223372036854775808).

The Item_func_neg::fix_length_and_dec has been adjusted to
to inherit the type of the argument in the case when it's an 
Item_int object whose value is equal to LONGLONG_MIN.


sql/item_func.cc:
  Fixed bug #28625.
  The Item_func_neg::fix_length_and_dec has been adjusted to
  to inherit the type of the argument in the case when it's an 
  Item_int object whose value is equal to LONGLONG_MIN.
mysql-test/t/bigint.test:
  Added test result for bug #28625.
mysql-test/r/bigint.result:
  Added test case for bug #28625.
2007-06-16 13:05:07 +05:00
unknown
c2db927bf7 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun14/50


configure.in:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-06-15 17:59:04 +02:00
unknown
30057f678b Merge chilla.local:/home/mydev/mysql-5.0-amain
into  chilla.local:/home/mydev/mysql-5.0-axmrg


mysql-test/r/view.result:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-06-15 17:47:02 +02:00
unknown
352d6489d2 Merge chilla.local:/home/mydev/mysql-5.0-ateam
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2007-06-15 17:45:50 +02:00
unknown
f67e46d374 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge


sql/field.cc:
  Auto merged
2007-06-15 08:56:40 -06:00
unknown
82f757ff0f Merge chilla.local:/home/mydev/mysql-4.1-amain
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-06-15 16:24:43 +02:00
unknown
39700afdb9 Bug#28862 Extended Latin1 characters get lost in CVS engine
Problem: Temporary buffer which is used for quoting and escaping
  was initialized to character set utf8, and thus didn't allow
  to store data in other character sets.
  Fix: changing character set of the buffer to be able to
  store any arbitrary sequence of bytes.


mysql-test/r/csv.result:
  Adding test case
mysql-test/t/csv.test:
  Adding test case
sql/examples/ha_tina.cc:
  Changing character set of the buffer to "binary".
2007-06-15 11:19:35 +05:00
unknown
36f8bfb22e Fixed bug #27932: the function LOCATE returned NULL if any
of its arguments was evaluated to NULL, while the predicate
LOCATE(str,NULL) IS NULL erroneously was evaluated to FALSE.

This happened because the Item_func_locate::fix_length_and_dec
method by mistake set the value of the maybe_null flag for 
the function item to 0. In consequence of this the function 
was considered as the one that could not ever return NULL.


mysql-test/r/func_str.result:
  Added a test case for bug #27932.
mysql-test/t/func_str.test:
  Added a test case for bug #27932.
2007-06-14 18:55:07 -07:00
unknown
578b81bb5b Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint


configure.in:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-06-14 18:17:26 -04:00
unknown
cb93ff4d02 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun14/50


configure.in:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/binlog.result:
  Auto merged
mysql-test/r/have_log_bin.require:
  Auto merged
BitKeeper/deleted/.del-ctype_cp932_notembedded.test:
  Auto merged
mysql-test/t/binlog.test:
  Auto merged
mysql-test/t/ctype_cp932_binlog.test:
  Auto merged
mysql-test/t/ctype_ucs_binlog.test:
  Auto merged
mysql-test/t/flush_block_commit_notembedded.test:
  Auto merged
mysql-test/t/insert_select-binlog.test:
  Auto merged
mysql-test/t/mysqlbinlog-cp932.test:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/t/sp_trans.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/mix_innodb_myisam_binlog.result:
  Use local
mysql-test/t/blackhole.test:
  manual merge
mysql-test/t/drop_temp_table.test:
  manual merge
mysql-test/t/mix_innodb_myisam_binlog.test:
  Use local
mysql-test/t/mysqlbinlog.test:
  Use local
2007-06-14 23:23:30 +02:00
unknown
e4c320bfea Merge trift2.:/MySQL/M41/mysql-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-06-14 21:27:33 +02:00
unknown
4a009817ab Bug#21723: Should be able to dump core after setuid() under Linux
In many cases, binaries can no longer dump core after calling setuid().

Where the PR_SET_DUMPABLE macro is set, use the prctl() system call 
to tell the kernel that it's allowed to dump the core of the server.


configure.in:
  Test system for "sys/prctl.h", to get access to prctl().
sql/mysqld.cc:
  Add a process-control operation that tells the Linux kernel that it 
  is allowed to dump core after setuid().
2007-06-14 14:24:59 -04:00
unknown
6f168d1255 Merge bk@192.168.21.1:mysql-5.0
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt


client/mysqltest.c:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/innodb_mysql.result:
  merging
mysql-test/t/innodb_mysql.test:
  merging
sql/sql_select.cc:
  merging
2007-06-14 16:41:10 +05:00
unknown
95d439d375 Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/d2/hf/mrg/mysql-4.1-opt
2007-06-14 16:35:46 +05:00
unknown
5bc3eb2e11 BUG#26976 - Missing table in merge not noted in related error msg +
SHOW CREATE TABLE fails
Addition to the fix: report db name + table name instead of table path.
This solves embedded merge test failure.


mysql-test/r/merge.result:
  BUG#26976 - Missing table in merge not noted in related error msg +
              SHOW CREATE TABLE fails
  Addition to the fix: report db name + table name instead of table path.
sql/ha_myisammrg.cc:
  BUG#26976 - Missing table in merge not noted in related error msg +
              SHOW CREATE TABLE fails
  Addition to the fix: report db name + table name instead of table path.
2007-06-14 16:18:01 +05:00
unknown
40ebf3b70b Bug #28897 UUID() returns non-unique values when query cache is enabled
Removed the ability to cache queries containing "UUID()".


mysql-test/r/query_cache.result:
  Added test to ensure "select UUID(), a from t1" is different each time.
mysql-test/t/query_cache.test:
  Added test to ensure "select UUID(), a from t1" is different each time.
sql/item_create.cc:
  Removed the ability to cache queries with UUID().
2007-06-13 14:23:25 -04:00
unknown
c0ebdff9c7 Fixed bug #28980: the result of ROUND(<decimal expr>,<int column>)
was erroneously converted to double, while the result of
ROUND(<decimal expr>, <int literal>) was preserved as decimal.
As a result of such a conversion the value of ROUND(D,A) could
differ from the value of ROUND(D,val(A)) if D was a decimal expression.

Now the result of the ROUND function is never converted to 
double if the first argument is decimal.  


mysql-test/r/type_decimal.result:
  Added a test case for bug #28980.
mysql-test/t/type_decimal.test:
  Added a test case for bug #28980.
2007-06-13 09:32:36 -07:00
unknown
9cbd0ae4b3 sql/item_func.cc
Improved check for thread identity in the "embedded" case,
    provided by Monty.
    
    This finishes the fixes for bug#27078.


sql/item_func.cc:
  Improved check for thread identity in the "embedded" case,
  provided by Monty.
  
  This finishes the fixes for bug#27078.
2007-06-13 13:33:00 +02:00
unknown
5965e8879b Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint-2
2007-06-12 10:33:39 -04:00
unknown
7c81e00235 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint-2


sql/sql_parse.cc:
  Auto merged
2007-06-12 08:48:30 -04:00
unknown
3a364d5172 Bug#28984: crasher on connect with out of range password length in \
protocol

Fixed duplicated code, same as last commit.

One could send a malformed packet that caused the server to SEGV.  In 
recent versions of the password protocol, the client tells the server 
what length the ciphertext is (almost always 20).  If that length was
large enough to overflow a signed char, then the number would jump to 
very large after being casted to unsigned int.

Instead, cast the *passwd char to uchar.


sql/sql_parse.cc:
  Additional location of signed-char casted to uint.
2007-06-12 08:47:36 -04:00
unknown
e4cd7e985f Merge bk-internal:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B28992-5.0-opt
2007-06-12 14:37:14 +03:00
unknown
030bb02b69 Bug #28992: trigger fails in pushbuild
- fixed wrong test case for bug 20903
 - closed the dangling connections in trigger.test
 - GET_LOCK() and RELEASE_LOCK() now produce more detailed log
 - fixed an omission in GET_LOCK() : assign the thread_id when
    acquiring the lock.


mysql-test/r/trigger.result:
  Bug #28992: test case updated
mysql-test/t/trigger.test:
  Bug #28992: test case updated. dangling connections closed.
sql/item_func.cc:
  Bug #28992: 
   - GET_LOCK() and RELEASE_LOCK() now produce more detailed log
   - fixed an omission in GET_LOCK() : assign the thread_id when
      acquiring the lock.
2007-06-12 14:35:36 +03:00
unknown
e43380e8b7 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B28934-5.0-opt
2007-06-12 11:11:12 +03:00
unknown
e164c08eaf Bug #28934: server crash when receiving malformed com_execute packets
Sometimes a parameter slot may not get a value because of the protocol
 data being plain wrong.
 Such cases should be detected and handled by returning an error.
 Fixed by checking data stream constraints where possible (like maximum
 length) and reacting to the case where a value cannot be constructed.


sql/sql_prepare.cc:
  Bug #28934: 
   - check for a parameter slot not being set because 
      of wrong data
   - check if the length read from the stream is not
      greater than the maximum length of the field
tests/mysql_client_test.c:
  Bug #28934: test case
2007-06-12 11:02:34 +03:00
unknown
d447929a02 Merge polly.local:/home/kaa/src/maint/bug28895/my50-bug28895
into  polly.local:/home/kaa/src/maint/mysql-5.0-maint


sql/sql_select.cc:
  Auto merged
2007-06-12 11:42:39 +04:00
unknown
ccf393b67a Bug#28904: INSERT .. ON DUPLICATE was silently updating rows when it shouldn't.
When the INSERT .. ON DUPLICATE KEY UPDATE has to update a matched row but
the new data is the same as in the record then it returns as if
no rows were inserted or updated. Nevertheless the row is silently
updated. This leads to a situation when zero updated rows are reported 
in the case when data has actually been changed.

Now the write_record function updates a row only if new data differs from
that in the record.


sql/sql_insert.cc:
  Bug#28904: INSERT .. ON DUPLICATE was silently updating rows when it shouldn't.
  Now the write_record function updates a row only if new data differs from
  that in the record.
mysql-test/r/insert_update.result:
  Added a test case for the bug#28904: INSERT .. ON DUPLICATE was silently
  updating rows when it shouldn't.
mysql-test/t/insert_update.test:
  Added a test case for the bug#28904: INSERT .. ON DUPLICATE was silently
  updating rows when it shouldn't.
2007-06-12 01:41:23 +04:00
unknown
1c4ab3106e Fix for bug #29015 "Stack overflow in processing temporary table name when tmpdir path is long"
In create_tmp_table() don't set full table path as a table name. Other code assumes table names to not exceed NAME_LEN bytes.


sql/sql_select.cc:
  In create_tmp_table() don't set full table path as a table name. Other code assumes table names to not exceed NAME_LEN bytes.
mysql-test/r/long_tmpdir.result:
  Added testcase for bug #29015 "Stack overflow in processing temporary table name when tmpdir path is long"
mysql-test/t/long_tmpdir-master.opt:
  Added testcase for bug #29015 "Stack overflow in processing temporary table name when tmpdir path is long"
mysql-test/t/long_tmpdir-master.sh:
  Added testcase for bug #29015 "Stack overflow in processing temporary table name when tmpdir path is long"
mysql-test/t/long_tmpdir.test:
  Added testcase for bug #29015 "Stack overflow in processing temporary table name when tmpdir path is long"
2007-06-11 23:06:20 +04:00
unknown
5afdd974c8 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge


sql/field.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
2007-06-11 11:32:10 -06:00
unknown
84910c5a87 Merge chilla.local:/home/mydev/mysql-5.0-amain
into  chilla.local:/home/mydev/mysql-5.0-axmrg


configure.in:
  Auto merged
2007-06-11 17:40:01 +02:00
unknown
62b7d367e0 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-06-11 16:42:24 +02:00
unknown
7da98b93e1 Merge chilla.local:/home/mydev/mysql-4.1-amain
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-06-11 16:24:29 +02:00